Project1

标题: 增加带旋转的远景 [打印本页]

作者: lanyaolove    时间: 2015-5-12 23:46
标题: 增加带旋转的远景
  1. #==============================================================================
  2. # ■ 新增带旋转的远景
  3. #------------------------------------------------------------------------------
  4. # 用法:$game_map.set_parallax(远景图形,旋转速度,位置) 事件脚本中调用
  5. # 旋转速度正负旋转方向相反
  6. # 位置:数组[屏幕X,屏幕Y,原点] 原点 0 = 左上角 1 = 中心 默认为中心
  7. # 范例:$game_map.set_parallax("1.png",0.2) 默认放在画面中间
  8. #       $game_map.set_parallax("1.png",0.2,[320,240,0]) 放置在320,240位置 原点为左上角
  9. #==============================================================================
  10. class Game_Map
  11.   attr_accessor :parallax_2nd
  12.   attr_accessor :parallax_rotate
  13.   attr_accessor :parallax_pos
  14.   #设置新增远景
  15.   def set_parallax(name,rotate,pos = [544/2,416/2,1])
  16.     @parallax_pos = pos
  17.     @parallax_2nd = name
  18.     @parallax_rotate = rotate
  19.   end
  20. end

  21. class Spriteset_Map
  22.   #加入初始化
  23.   alias old_init_lin initialize
  24.   def initialize
  25.     old_init_lin
  26.     create_parallax_2nd
  27.   end
  28.   #创建新远景
  29.   def create_parallax_2nd
  30.     @parallax1 = Sprite.new(@viewport1)
  31.     @parallax1.z = -99
  32.   end  
  33.   #新远景刷新
  34.   def update_parallax_2nd
  35.     if $game_map.parallax_2nd != "" and $game_map.parallax_2nd != nil
  36.       @parallax1.bitmap = Cache.parallax($game_map.parallax_2nd) if @parallax1.bitmap == nil
  37.       if $game_map.parallax_pos[0] != @pos
  38.                   @parallax1.x = $game_map.parallax_pos[0]
  39.                   @parallax1.y = $game_map.parallax_pos[1]
  40.                   if $game_map.parallax_pos[2] == 1
  41.                         @parallax1.ox = @parallax1.bitmap.width/2
  42.                         @parallax1.oy = @parallax1.bitmap.height/2
  43.                   end
  44.       end
  45.       if $game_map.parallax_rotate != 0 and $game_map.parallax_rotate != nil
  46.                   @parallax1.angle += $game_map.parallax_rotate / 2.0
  47.                   while @parallax1.angle < 0
  48.                         @parallax1.angle += 360
  49.                   end
  50.                   @parallax1.angle %= 360
  51.       end
  52.     end
  53.   end
  54.   
  55.   #新远景释放
  56.   def dispose_parallax_2nd
  57.     @parallax1.dispose
  58.   end
  59.   #增加新远景刷新
  60.   alias old_update_lin update
  61.   def update
  62.     old_update_lin
  63.     update_parallax_2nd
  64.   end
  65.   #增加新远景释放
  66.   alias old_dispose_lin dispose
  67.   def dispose
  68.     old_dispose_lin
  69.     dispose_parallax_2nd
  70.   end
  71. end
复制代码

作者: 大云梦泽    时间: 2016-1-13 15:48
怎么用啊?什么效果啊
作者: iop20070710    时间: 2017-2-20 19:11
不好意思請問一下

我用了大大的腳本以後,在切換選單再切換回來的時候發生了錯誤

我把所有腳本都刪除後這個錯誤依然存在,請問該如何修正呢?

16830603_1996969670530330_1994192613_n.png (315.54 KB, 下载次数: 18)

16830603_1996969670530330_1994192613_n.png

16838008_1996969653863665_1771095290_n.png (355.36 KB, 下载次数: 18)

16838008_1996969653863665_1771095290_n.png

16830447_1996950347198929_1260048393_n.png (22.79 KB, 下载次数: 21)

16830447_1996950347198929_1260048393_n.png





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1