查看: 2347|回复: 7

[已经解决] 关于图片连播的事件脚本

[复制链接]
梦石
1
星屑
985
在线时间
231 小时
注册时间
2006-2-3
回帖
53
发表于 2019-10-28 22:49:27 | 显示全部楼层 |阅读模式

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

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

×
序列帧特效比较多,用动画显示则分辨率有点低....
打算直接用事件脚本遍历显示图片。
图片名存在严谨的规范。例如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
梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2019-10-28 23:16:59 | 显示全部楼层
萌新路过...
觉得两种都会报错..

点评

谦虚……  发表于 2019-10-29 13:02
回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2019-10-29 10:01:50 | 显示全部楼层
本帖最后由 灯笼菜刀王 于 2019-10-29 10:05 编辑

事件内容:
jio本: @a = Sprite.new
         @b = 0
循环开始
   jio本:@a.bitmap = RPG::Cache.picture("blood"+@b.to_s)
           @b += 1
   条件分歧: @b > 10086
       jio本:@a.dispose
               @a.bitmap.dispose
               @a = @b = nil
       终止循环
   end
   等待4帧
end
该干嘛干嘛

评分

参与人数 2星屑 +50 赞 +1 收起 理由
RyanBern + 50 认可答案
zsefvv + 1 很容易理解,十分感谢

查看全部评分

回复

使用道具 举报

梦石
0
星屑
3242
在线时间
205 小时
注册时间
2019-9-16
回帖
195
发表于 2019-10-29 13:04:31 | 显示全部楼层
虽然3楼大神给出了答案,但我还是要提醒你一下。动画之所以分辨率低,是为了节省计算资源。
如果你全换成了图片,那固然分辨率高,但计算强度也会更大。
假如你把游戏发布出去让别人玩,最好考虑下低配置运行的实际效果,不行就找个人测试下,否则结果很难让人满意。

点评

是这样啊,不过测试下终归没错。  发表于 2019-10-29 16:28
视频节省的是空间资源...解码难度一般来说该是图片简单的 但无论视频/图片 一帧不过一个画面 想卡也难哦  发表于 2019-10-29 16:18
我想说全屏显示图片也是无压力的..  发表于 2019-10-29 14:15
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部