设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索

请教动画的透明度

查看数: 2117 | 评论数: 4 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2017-6-26 03:57

正文摘要:

大佬们,如何用事件的脚本调整显示动画的透明度. 想在事件的脚本里调整图片中所指的透明度.

回复

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

现在假设读取An ...

简直神了 !!用脚本比直接编辑数据库灵活多了 !!
戴迪 发表于 2017-6-27 02:38:04
本帖最后由 戴迪 于 2017-6-27 02:46 编辑
酋长的图腾 发表于 2017-6-26 14:14
如你上面所说的,在数据库-动画-帧-单元的不透明度,是保存在Animations.rxdata文件里的。

现在假设读取An ...


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

点评

一句话过长,框里放不开.......需要用\来连接两行,不然就会出现SyntaxError  发表于 2017-6-27 07:15
酋长的图腾 发表于 2017-6-26 14:14:06
本帖最后由 酋长的图腾 于 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, 下载次数: 21)

3.png

点评

没错,确乎应该直接修改$data_animations,之前想得繁琐了点  发表于 2017-6-26 23:10
这里应该直接修改 $data_animations  发表于 2017-6-26 21:26

评分

参与人数 1梦石 +1 收起 理由
guoxiaomi + 1 认可答案

查看全部评分

戴迪 发表于 2017-6-26 11:32:02
这问题是不是有点难了,或者告诉我定义动画透明度的脚本在哪也是可以的
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-27 10:20

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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