Project1

标题: 事件位置播放动画脚本编写【悬赏2卡+1V+666exp】 [打印本页]

作者: orzfly    时间: 2011-8-30 00:16
标题: 事件位置播放动画脚本编写【悬赏2卡+1V+666exp】
本帖最后由 orzfly 于 2011-8-30 00:19 编辑

需求:走过地形标志为5的地面时在当前位置播放一个120帧的动画,要求能固定在地图这个位置,不和角色一起移动。切忌不要用一个事件移动过去播放,因为我不知道会同时播放多少个。需要大地图优化即不再屏幕范围内的动画不再刷新,但是又进入显示区域的时候要继续播放。

请尽量给插件式脚本,并请注明修改位置。请勿使用全局变量。如果没有描述清楚问题请回复我。

其实我知道怎么办,但是太懒了而且没时间了。故悬赏。dsu_plus_rewardpost_czw
作者: IamI    时间: 2011-8-30 08:27
深夜发你还以为真会有人夜猫子写脚本不成……
还有 那个太懒没时间是等吐槽的么
  1. class Game_Player
  2.   def move_afterwards(d)
  3.     if passable?(@x,@y,d)
  4.       x = @x + (d == 6 ? 1 : d == 4 ? -1 : 0)
  5.       y = @y + (d == 2 ? 1 : d == 8 ? -1 : 0)
  6.       if $game_map.terrain_tag(x,y) == 5
  7.         s = RPG::Sprite.new()
  8.         s.animation($data_animations[49],false)
  9.         @deal_sprites.push(s)
  10.         @deal_points[s] = [x,y]
  11.       end
  12.     end
  13.   end
  14.   alias afterwards_move_up move_up
  15.   def move_up(b = true)
  16.     move_afterwards(8)
  17.     afterwards_move_up(b)
  18.   end
  19.   alias afterwards_move_down move_down
  20.   def move_down(b = true)
  21.     move_afterwards(2)
  22.     afterwards_move_down(b)
  23.   end
  24.   alias afterwards_move_left move_left
  25.   def move_left(b = true)
  26.     move_afterwards(4)
  27.     afterwards_move_left(b)
  28.   end
  29.   alias afterwards_move_right move_right
  30.   def move_right(b = true)
  31.     move_afterwards(6)
  32.     afterwards_move_right(b)
  33.   end
  34.   alias afterwards_initialize initialize
  35.   def initialize
  36.     afterwards_initialize
  37.     @deal_sprites = []
  38.     @deal_points = {}
  39.   end
  40.   alias afterwards_update update
  41.   def update
  42.     afterwards_update
  43.     sx,sy = $game_map.display_x / 4,$game_map.display_y / 4
  44.     for sprite in @deal_sprites
  45.       sprite.update if sprite.x > 0 && sprite.y > 0 && sprite.x < 640 && sprite.y < 480
  46.       sprite.x = @deal_points[sprite][0] * 32 - sx
  47.       sprite.y = @deal_points[sprite][1] * 32 - sy
  48.     end
  49.     @deal_sprites.reject! {|x| !x.effect? }
  50.   end
  51. end
  52.    
  53.    
  54.    
复制代码
抛砖引玉吧抛砖引玉- -v





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