Project1

标题: 請教顯示動畫的修改。 [打印本页]

作者: 妖精蕾贝卡    时间: 2015-6-30 18:05
标题: 請教顯示動畫的修改。
默認事件的顯示動畫是直接顯示結束消失動畫。
請問如何修改讓事件的顯示動畫顯示結束后保留動畫的最後一幀。
當需要消失的時候再說明事件腳本消失。
作者: 无忧谷主幻    时间: 2015-6-30 18:40
没明白是什么意思,另外主要想应用到哪里?是战斗还是地图中?
作者: 妖精蕾贝卡    时间: 2015-6-30 19:52
无忧谷主幻 发表于 2015-6-30 18:40
没明白是什么意思,另外主要想应用到哪里?是战斗还是地图中?

地圖上顯示動畫,動畫播放完畢保留該動畫最後一幀。
作者: 无忧谷主幻    时间: 2015-6-30 20:29
妖精蕾贝卡 发表于 2015-6-30 19:52
地圖上顯示動畫,動畫播放完畢保留該動畫最後一幀。

那么做2个动画便可,一个完整的,一个只剩一帧的,记好动画的时间,播放完后循环播放只有一帧的动画
作者: kuerlulu    时间: 2015-6-30 20:42
或者播放完动画后把最后一帧做成单独的图然后[显示图片]
作者: 妖精蕾贝卡    时间: 2015-6-30 21:33
@kuerlulu
@无忧谷主幻
的確可行,但是處理很多動畫的話感覺效率不高。
作者: piaoy    时间: 2015-7-3 12:42
  1. #===============================================================================
  2. #最后一帧会被保留的动画的id
  3. $animation_hold = [1,2]
  4. #===============================================================================
  5. module RPG
  6.   class Sprite < ::Sprite
  7. #=================================================================================  
  8.     def update_animation
  9.       if @_animation_duration > 0
  10.         frame_index = @_animation.frame_max - @_animation_duration
  11.         cell_data = @_animation.frames[frame_index].cell_data
  12.         position = @_animation.position
  13.         animation_set_sprites(@_animation_sprites, cell_data, position)
  14.         for timing in @_animation.timings
  15.           if timing.frame == frame_index
  16.             animation_process_timing(timing, @_animation_hit)
  17.           end
  18.         end
  19.       elsif $animation_hold.include?(@_animation.id)
  20.          return
  21.       else
  22.         dispose_animation
  23.       end
  24.     end
  25. end
  26. end
复制代码
上面只是保留最后一帧
至于如何把最后一帧去掉,比较简单,楼主根据自己的需要去写好了。
作者: 妖精蕾贝卡    时间: 2015-7-3 21:18
piaoy 发表于 2015-7-3 12:42
上面只是保留最后一帧
至于如何把最后一帧去掉,比较简单,楼主根据自己的需要去写好了。 ...

感謝,稍微看了下明白了。




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