Project1

标题: 关于图片连播的事件脚本 [打印本页]

作者: zsefvv    时间: 2019-10-28 22:49
标题: 关于图片连播的事件脚本
序列帧特效比较多,用动画显示则分辨率有点低....
打算直接用事件脚本遍历显示图片。
图片名存在严谨的规范。例如blood_1...blood_2这样.....
能否通过事件脚本连播呢.....

不知道下面这样写能不能实现,脚本盲....
先云....


这是第一种

@picmax =15 #此序列帧图片的总帧数
@vfxname ="blood" #序列帧图片所在文件夹与序列帧名称

for pic in @picmax
@vfx = Sprite.new
@vfx.bitmap = Bitmap.new("Graphics/vfx/#{@vfxname}/#{@vfxname}_#{pic}.png")
end
@vfx.dispose

这是第二种

@vfx = []
@picmax =15 #此序列帧图片的总帧数
@vfxname ="blood" #序列帧图片所在文件夹与序列帧名称

for pic in @picmax
@vfx.push =Bitmap.new("Graphics/vfx/#{@vfxname}/#{@vfxname}_#{pic}.png")
end
@vfx.dispose

如果这两种可行,执行效率或者效果上有什么区别?(感觉第一种应该会报错吧)

还有一个问题.....
@vfx.dispose 真的就完全释放了吗?我这边图片用得比较多,很担心执行效率这类问题。
还是说要按步骤释放。
@vfx.bitmap.dispose
@vfx.dispose
作者: soulsaga    时间: 2019-10-28 23:16
萌新路过...
觉得两种都会报错..
作者: 灯笼菜刀王    时间: 2019-10-29 10:01
本帖最后由 灯笼菜刀王 于 2019-10-29 10:05 编辑

事件内容:
jio本: @a = Sprite.new
         @b = 0
循环开始
   jio本:@a.bitmap = RPG::Cache.picture("blood"[email protected]_s)
           @b += 1
   条件分歧: @b > 10086
       jio本:@a.dispose
               @a.bitmap.dispose
               @a = @b = nil
       终止循环
   end
   等待4帧
end
该干嘛干嘛
作者: 寒凌天    时间: 2019-10-29 13:04
虽然3楼大神给出了答案,但我还是要提醒你一下。动画之所以分辨率低,是为了节省计算资源。
如果你全换成了图片,那固然分辨率高,但计算强度也会更大。
假如你把游戏发布出去让别人玩,最好考虑下低配置运行的实际效果,不行就找个人测试下,否则结果很难让人满意。




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