找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 8873|回复: 5

[有回复] 如何预加载游戏的资源以及如何调整screen的坐标

[复制链接]
发表于 2021-8-1 17:27:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
本帖最后由 zsc2015 于 2021-8-1 17:40 编辑

[RenPy] 纯文本查看 复制代码
screen elclong( base, interval, nbFrames ):

    default frame = 1
    timer 0.016 repeat True action If( frame >= nbFrames, Hide( "elclong" ), SetScreenVariable( "frame", frame + 1 ) )

    add base

label ganrao:
    show screen elclong( "electriclong [frame]", float(1)/1, 22, )


我先上代码
首先我用AE逐帧导出了我想要的动画演出设想是每帧1/60秒的动画并在屏幕中心偏右的地方进行演出
但现在有两个问题
第一个问题是第一次推进到相应场景时,帧速明显有降低,如果可以预加载资源的话是不是就不会有这个问题?
第二个问题是这段动画演出的位置不是我想要的位置,但我不知道如何调整他出现的位置
追加:在add base后面写位置坐标就解决了位置的问题,求预加载的问题如何解决



发表于 2021-8-2 09:14:24 | 显示全部楼层
楼主的这个实现思路,可能最终会走进死胡同……

1. 界面语言里的timer并不精准,而且优先级很低,不适合用来播放序列帧。请尝试其他实现方式。
2. 帧率60的动画……把Ren'Py设置成对应的运行帧率么?
3. 解决以上两点后,如果依然出现拖慢,再把Ren'Py的预加载缓存 config.image_cache_size 改大一些试试。
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2021-8-2 11:31:08 | 显示全部楼层
本帖最后由 zsc2015 于 2021-8-2 18:11 编辑
被诅咒的章鱼 发表于 2021-8-2 09:14
楼主的这个实现思路,可能最终会走进死胡同……

1. 界面语言里的timer并不精准,而且优先级很低,不适合用 ...

具体要怎么做呢
https://zhuanlan.zhihu.com/p/362449324
搜索到了这个帖子
按照教程重新做了一次之后
第一次推进到位置的时候还是有拖慢,打开图像加载日志可以看到所有的序列帧都没有缓存成功,并且使用这个帖子的方法的话序列的最后一帧不会自己消失(我想做的是播放一次自己消失的效果)
回复 支持 抱歉

使用道具 举报

发表于 2021-8-3 08:46:04 | 显示全部楼层
楼主已经找到了第一个问题的一种解决方案。
现在可以去解决第二个问题,把Ren'Py设置为匹配的帧率。

最后一帧消失这种需求……最后加个完全透明的帧就行了……
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2021-8-3 12:38:02 | 显示全部楼层
被诅咒的章鱼 发表于 2021-8-3 08:46
楼主已经找到了第一个问题的一种解决方案。
现在可以去解决第二个问题,把Ren'Py设置为匹配的帧率。

检查了一下事先就已经设置过帧率了
执行的时候还是会拖慢
另外那个帖子对帧率设置的单位也是秒吧
没有以帧为单位步进的吧
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2021-8-5 16:56:52 | 显示全部楼层
还是没有人知道怎么解决缓存问题吗
回复 支持 抱歉

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|RenPy中文空间 ( 苏ICP备17067825号|苏公网安备 32092302000068号 )

GMT+8, 2024-4-24 15:44 , Processed in 0.070497 second(s), 14 queries , File On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表