| 赞 | 1 |
| VIP | |
| 好人卡 | |
| 积分 | 4 |
| 经验 | |
| 最后登录 | 2026-1-5 |
| 在线时间 | 123 小时 |
- 梦石
- 0
- 星屑
- 448
- 在线时间
- 123 小时
- 注册时间
- 2010-9-27
- 回帖
- 19

|
发表于 2017-6-26 14:14:06
|
显示全部楼层
本帖最后由 酋长的图腾 于 2017-6-27 07:14 编辑
如你上面所说的,在数据库-动画-帧-单元的不透明度,是保存在Animations.rxdata文件里的。
现在假设读取Animations.rxdata中的内容,存入变量a
[pre lang="ruby" line="1"]a = load_data("Data/Animations.rxdata")[/pre]
那么如下就是你要找的不透明度:
[pre lang="ruby" line="1"]a[动画编号].frames[帧数].cell_data[单元编号,6][/pre]
其中动画编号与数据库中相同,是从1开始;而单元标号和帧数是从0开始的。
如果想在游戏进程中,统一调整1号动画全部单元的不透明度增大55,如此这般即可:
[pre lang="ruby" line="1"]a = load_data("Data/Animations.rxdata")
for i in 0...a[1].frames.size
for j in 0...a[1].frames.cell_max
a[1].frames.cell_data[j,6] += 55
end
end
$data_animations = a[/pre]
需要注意,这个变化是不会随存档而保存的。
2017/6/26 - 23:11
根据建议,直接修改$data_animations即可。
[pre lang="ruby" line="1"]
for i in 0...$data_animations[1].frames.size
for j in 0...$data_animations[1].frames.cell_max
$data_animations[1].frames.cell_data[j,6] += 55
end
end
[/pre]
2017/6/27 - 7:13
第二种改法之所以会发生SyntaxError,是因为RMXP事件里的脚本输入框的大小有局限,所以一句话过长的时候,换行后就会发生语法错误。此时用\就可连接两行,就不会出现错误了。
|
评分
-
查看全部评分
|