Project1

标题: 怎么判断某事件上显示的某编号动画已经播放完毕? [打印本页]

作者: 兔毛鹿    时间: 2012-11-28 14:49
标题: 怎么判断某事件上显示的某编号动画已经播放完毕?
本帖最后由 兔毛鹿 于 2012-11-28 19:50 编辑

以下这个脚本的功能是用 if $game_map.events[1].sprite.anima? 来判断某事件上的动画是否还在播放,那么我需要判断某事件上的某编号动画是否还在播放应该怎么修改?比如判断1号事件上显示的50号动画是否还在播放
  1. module RPG
  2.   class Sprite < ::Sprite
  3.     def anima?
  4.       @_loop_animation or  @_animation
  5.     end
  6.   end
  7. end
  8. class Spriteset_Map
  9.   def initialize
  10.     # 生成显示端口
  11.     @viewport1 = Viewport.new(0, 0, 640, 480)
  12.     @viewport2 = Viewport.new(0, 0, 640, 480)
  13.     @viewport3 = Viewport.new(0, 0, 640, 480)
  14.     @viewport2.z = 200
  15.     @viewport3.z = 5000
  16.     # 生成元件地图
  17.     @tilemap = Tilemap.new(@viewport1)
  18.     @tilemap.tileset = RPG::Cache.tileset($game_map.tileset_name)
  19.     for i in 0..6
  20.       autotile_name = $game_map.autotile_names[i]
  21.       @tilemap.autotiles[i] = RPG::Cache.autotile(autotile_name)
  22.     end
  23.     @tilemap.map_data = $game_map.data
  24.     @tilemap.priorities = $game_map.priorities
  25.     # 生成远景平面
  26.     @panorama = Plane.new(@viewport1)
  27.     @panorama.z = -1000
  28.     # 生成雾平面
  29.     [url=home.php?mod=space&uid=14217]@fog[/url] = Plane.new(@viewport1)
  30.     @fog.z = 3000
  31.     # 生成角色活动块
  32.     @character_sprites = []
  33.     for i in $game_map.events.keys.sort
  34.       sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
  35.       sprite.character.sprite = sprite
  36.       @character_sprites.push(sprite)
  37.     end
  38.     @character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
  39.     # 生成天气
  40.     @weather = RPG::Weather.new(@viewport1)
  41.     # 生成图片
  42.     @picture_sprites = []
  43.     for i in 1..50
  44.       @picture_sprites.push(Sprite_Picture.new(@viewport2,
  45.       $game_screen.pictures[i]))
  46.     end
  47.     # 生成计时器块
  48.     @timer_sprite = Sprite_Timer.new
  49.     # 刷新画面
  50.     update
  51.   end
  52.   def dispose
  53.     # 释放元件地图
  54.     @tilemap.tileset.dispose
  55.     for i in 0..6
  56.       @tilemap.autotiles[i].dispose
  57.     end
  58.     @tilemap.dispose
  59.     # 释放远景平面
  60.     @panorama.dispose
  61.     # 释放雾平面
  62.     @fog.dispose
  63.     # 释放角色活动块
  64.     for sprite in @character_sprites
  65.       sprite.character.sprite = nil
  66.       sprite.dispose
  67.     end
  68.     # 释放天候
  69.     @weather.dispose
  70.     # 释放图片
  71.     for sprite in @picture_sprites
  72.       sprite.dispose
  73.     end
  74.     # 释放计时器块
  75.     @timer_sprite.dispose
  76.     # 释放显示端口
  77.     @viewport1.dispose
  78.     @viewport2.dispose
  79.     @viewport3.dispose
  80.   end
  81. end
  82. class Game_Character
  83.   attr_accessor:sprite
  84. end

复制代码

作者: 晴兰    时间: 2012-11-28 15:44
提示: 作者被禁止或删除 内容自动屏蔽
作者: 兔毛鹿    时间: 2012-11-28 19:49
谢谢楼上!




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