Project1
标题: 请教动画的透明度 [打印本页]
作者: 戴迪 时间: 2017-6-26 03:57
标题: 请教动画的透明度
大佬们,如何用事件的脚本调整显示动画的透明度.
想在事件的脚本里调整图片中所指的透明度.
-
QQ截图20170626035626.png
(24.07 KB, 下载次数: 20)
作者: 戴迪 时间: 2017-6-26 11:32
这问题是不是有点难了,或者告诉我定义动画透明度的脚本在哪也是可以的
作者: 酋长的图腾 时间: 2017-6-26 14:14
本帖最后由 酋长的图腾 于 2017-6-27 07:14 编辑
如你上面所说的,在数据库-动画-帧-单元的不透明度,是保存在Animations.rxdata文件里的。
现在假设读取Animations.rxdata中的内容,存入变量a
a = load_data("Data/Animations.rxdata")
a = load_data("Data/Animations.rxdata")
那么如下就是你要找的不透明度:
a[动画编号].frames[帧数].cell_data[单元编号,6]
a[动画编号].frames[帧数].cell_data[单元编号,6]
其中动画编号与数据库中相同,是从1开始;而单元标号和帧数是从0开始的。
如果想在游戏进程中,统一调整1号动画全部单元的不透明度增大55,如此这般即可:
a = load_data("Data/Animations.rxdata")
for i in 0...a[1].frames.size
for j in 0...a[1].frames[i].cell_max
a[1].frames[i].cell_data[j,6] += 55
end
end
$data_animations = a
a = load_data("Data/Animations.rxdata")
for i in 0...a[1].frames.size
for j in 0...a[1].frames[i].cell_max
a[1].frames[i].cell_data[j,6] += 55
end
end
$data_animations = a
需要注意,这个变化是不会随存档而保存的。
2017/6/26 - 23:11
根据建议,直接修改$data_animations即可。
for i in 0...$data_animations[1].frames.size
for j in 0...$data_animations[1].frames[i].cell_max
$data_animations[1].frames[i].cell_data[j,6] += 55
end
end
for i in 0...$data_animations[1].frames.size
for j in 0...$data_animations[1].frames[i].cell_max
$data_animations[1].frames[i].cell_data[j,6] += 55
end
end
2017/6/27 - 7:13
第二种改法之所以会发生SyntaxError,是因为RMXP事件里的脚本输入框的大小有局限,所以一句话过长的时候,换行后就会发生语法错误。此时用\就可连接两行,就不会出现错误了。
-
3.png
(14.25 KB, 下载次数: 21)
作者: 戴迪 时间: 2017-6-27 02:38
本帖最后由 戴迪 于 2017-6-27 02:46 编辑
灰常感谢,已经达到我想到的效果了,而且也不需要随存档而保存.但是第二种改法不行 出现"SyntaxError"
作者: etu_gamedev 时间: 2017-6-28 09:47
简直神了 !!用脚本比直接编辑数据库灵活多了 !!
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |