Project1

标题: 请教动画的透明度 [打印本页]

作者: 戴迪    时间: 2017-6-26 03:57
标题: 请教动画的透明度
大佬们,如何用事件的脚本调整显示动画的透明度.
想在事件的脚本里调整图片中所指的透明度.

QQ截图20170626035626.png (24.07 KB, 下载次数: 5)

QQ截图20170626035626.png

作者: 戴迪    时间: 2017-6-26 11:32
这问题是不是有点难了,或者告诉我定义动画透明度的脚本在哪也是可以的
作者: 酋长的图腾    时间: 2017-6-26 14:14
本帖最后由 酋长的图腾 于 2017-6-27 07:14 编辑

如你上面所说的,在数据库-动画-帧-单元的不透明度,是保存在Animations.rxdata文件里的。

现在假设读取Animations.rxdata中的内容,存入变量a
RUBY 代码复制
  1. a = load_data("Data/Animations.rxdata")

那么如下就是你要找的不透明度:
RUBY 代码复制
  1. a[动画编号].frames[帧数].cell_data[单元编号,6]

其中动画编号与数据库中相同,是从1开始;而单元标号和帧数是从0开始的。

如果想在游戏进程中,统一调整1号动画全部单元的不透明度增大55,如此这般即可:
RUBY 代码复制
  1. a = load_data("Data/Animations.rxdata")
  2. for i in 0...a[1].frames.size
  3.   for j in 0...a[1].frames[i].cell_max
  4.     a[1].frames[i].cell_data[j,6] += 55
  5.   end
  6. end
  7. $data_animations = a


需要注意,这个变化是不会随存档而保存的。


2017/6/26 - 23:11
根据建议,直接修改$data_animations即可。
RUBY 代码复制
  1. for i in 0...$data_animations[1].frames.size
  2.   for j in 0...$data_animations[1].frames[i].cell_max
  3.     $data_animations[1].frames[i].cell_data[j,6] += 55
  4.   end
  5. end

2017/6/27 - 7:13
第二种改法之所以会发生SyntaxError,是因为RMXP事件里的脚本输入框的大小有局限,所以一句话过长的时候,换行后就会发生语法错误。此时用\就可连接两行,就不会出现错误了。

3.png (14.25 KB, 下载次数: 4)

3.png

作者: 戴迪    时间: 2017-6-27 02:38
本帖最后由 戴迪 于 2017-6-27 02:46 编辑
酋长的图腾 发表于 2017-6-26 14:14
如你上面所说的,在数据库-动画-帧-单元的不透明度,是保存在Animations.rxdata文件里的。

现在假设读取An ...


灰常感谢,已经达到我想到的效果了,而且也不需要随存档而保存.但是第二种改法不行 出现"SyntaxError"

作者: etu_gamedev    时间: 2017-6-28 09:47
酋长的图腾 发表于 2017-6-26 14:14
如你上面所说的,在数据库-动画-帧-单元的不透明度,是保存在Animations.rxdata文件里的。

现在假设读取An ...

简直神了 !!用脚本比直接编辑数据库灵活多了 !!




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