查看: 3014|回复: 7

[已经解决] 請教顯示動畫的修改。

[复制链接]
梦石
0
星屑
50
在线时间
226 小时
注册时间
2015-5-8
回帖
295
发表于 2015-6-30 18:05:10 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
默認事件的顯示動畫是直接顯示結束消失動畫。
請問如何修改讓事件的顯示動畫顯示結束后保留動畫的最後一幀。
當需要消失的時候再說明事件腳本消失。

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

我是妖精蕾貝卡,沉默少言,孤獨自卑。完成了一個小遊戲,歡迎試玩。同時也歡迎試玩師傅的遊戲,謝謝。
現正在努力學習事件中,有不明白的地方請各位指教。

素材区好人

梦石
5
星屑
12569
在线时间
4347 小时
注册时间
2011-7-21
回帖
2264

超评测参与极短28参与极短27参与极短26参与极短25参与极短24参与极短23参与极短22参与极短21参与

发表于 2015-6-30 18:40:23 | 显示全部楼层
没明白是什么意思,另外主要想应用到哪里?是战斗还是地图中?
回复

使用道具 举报

梦石
0
星屑
50
在线时间
226 小时
注册时间
2015-5-8
回帖
295
 楼主| 发表于 2015-6-30 19:52:21 | 显示全部楼层
无忧谷主幻 发表于 2015-6-30 18:40
没明白是什么意思,另外主要想应用到哪里?是战斗还是地图中?

地圖上顯示動畫,動畫播放完畢保留該動畫最後一幀。
我是妖精蕾貝卡,沉默少言,孤獨自卑。完成了一個小遊戲,歡迎試玩。同時也歡迎試玩師傅的遊戲,謝謝。
現正在努力學習事件中,有不明白的地方請各位指教。

回复

使用道具 举报

素材区好人

梦石
5
星屑
12569
在线时间
4347 小时
注册时间
2011-7-21
回帖
2264

超评测参与极短28参与极短27参与极短26参与极短25参与极短24参与极短23参与极短22参与极短21参与

发表于 2015-6-30 20:29:36 | 显示全部楼层
妖精蕾贝卡 发表于 2015-6-30 19:52
地圖上顯示動畫,動畫播放完畢保留該動畫最後一幀。

那么做2个动画便可,一个完整的,一个只剩一帧的,记好动画的时间,播放完后循环播放只有一帧的动画

评分

参与人数 1星屑 +60 收起 理由
明特·布兰马修 + 60 我很赞同

查看全部评分

回复

使用道具 举报

梦石
0
星屑
76
在线时间
1379 小时
注册时间
2012-7-5
回帖
1643

开拓者

发表于 2015-6-30 20:42:52 | 显示全部楼层
或者播放完动画后把最后一帧做成单独的图然后[显示图片]

  -fk: -azogi:
回复

使用道具 举报

梦石
0
星屑
50
在线时间
226 小时
注册时间
2015-5-8
回帖
295
 楼主| 发表于 2015-6-30 21:33:43 | 显示全部楼层
@kuerlulu
@无忧谷主幻
的確可行,但是處理很多動畫的話感覺效率不高。

点评

把动画最后那帧的时间做长点。  发表于 2015-7-1 08:20
我是妖精蕾貝卡,沉默少言,孤獨自卑。完成了一個小遊戲,歡迎試玩。同時也歡迎試玩師傅的遊戲,謝謝。
現正在努力學習事件中,有不明白的地方請各位指教。

回复

使用道具 举报

咩

梦石
0
星屑
1640
在线时间
381 小时
注册时间
2010-10-9
回帖
286

开拓者

发表于 2015-7-3 12:42:04 | 显示全部楼层
  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
复制代码
上面只是保留最后一帧
至于如何把最后一帧去掉,比较简单,楼主根据自己的需要去写好了。

评分

参与人数 1梦石 +1 收起 理由
RyanBern + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
226 小时
注册时间
2015-5-8
回帖
295
 楼主| 发表于 2015-7-3 21:18:23 | 显示全部楼层
piaoy 发表于 2015-7-3 12:42
上面只是保留最后一帧
至于如何把最后一帧去掉,比较简单,楼主根据自己的需要去写好了。 ...

感謝,稍微看了下明白了。
我是妖精蕾貝卡,沉默少言,孤獨自卑。完成了一個小遊戲,歡迎試玩。同時也歡迎試玩師傅的遊戲,謝謝。
現正在努力學習事件中,有不明白的地方請各位指教。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部