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

Project1

 找回密码
 注册会员
搜索
查看: 3008|回复: 8
打印 上一主题 下一主题

[已经解决] 怎样将某事件动画的状态复制到另一事件上?

[复制链接]

Lv5.捕梦者

梦石
10
星屑
39587
在线时间
1920 小时
注册时间
2010-11-14
帖子
3320

R考场第七期纪念奖

跳转到指定楼层
1
发表于 2018-12-29 00:05:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 KB.Driver 于 2018-12-29 00:06 编辑

复制动画(animation_id)很简单,但是有没有办法连帧数一起复制过去?
比如有事件A和B,A的动画进行到第10帧的时候,有没有办法让B从动画的第10帧开始?

补充:动画的内容是目标闪烁,因为突然切换动画的话会导致亮度转不过去
主要的目的是想把亮度从A继承到B上

用头画头像,用脚写脚本

Lv3.寻梦者

梦石
0
星屑
4939
在线时间
489 小时
注册时间
2018-6-18
帖子
620
2
发表于 2018-12-29 09:33:37 手机端发表。 | 只看该作者
本帖最后由 RMVXA 于 2018-12-29 09:43 编辑

我的话只能绕开这种麻烦的问题吧,比如用这种效果:做一个奇数帧的动画X,第一帧目标闪烁@1,第二帧不闪烁,第三帧目标闪烁@1……  然后在事件A显示动画X(等待结束)后,事件B再显示X,就能做到类似的效果……
回复 支持 反对

使用道具 举报

Lv6.析梦学徒

老鹰

梦石
40
星屑
34725
在线时间
6740 小时
注册时间
2012-5-26
帖子
3259

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

3
发表于 2018-12-29 13:32:16 | 只看该作者
本帖最后由 百里_飞柳 于 2018-12-29 16:00 编辑

在 Sprite_Base 类里的 @ani_duration 是用于计时的
你在Sprite_Battler类里改一下,把它和id一起赋值过去?




参考流程:
- 在Sprite_Character类里定义方法B,传入另一个Sprite_Character类型参数用于处理动画复制,推荐按照start_animation方法写,再覆盖@ani_duration的值再加1(保证不会因额外调用update导致帧数差异),再调用一次update_animation,确保立即有显示
- 在Spriteset_Map类里定义方法C,传入Game_Character类参数c,返回@character_sprites人物精灵数组中绑定了c对象的精灵
- 在Game_Interpreter类里新建方法A,用于处理动画的复制(从一个Game_Character类的对象复制到另一个),方法传入一个源character对象a1,一个目标对象a2(可能是队列角色,可能是事件),(记得给Scene_Map加上访问spriteset变量的attr_reader)通过调用 SceneManager.scene.spriteset 的方法C获取a1和a2的精灵,再调用a2精灵的方法B(a1)

点评

编辑了,一个可行思路,具体可以对照默认脚本里的看  发表于 2018-12-29 15:59
唔,感觉不知道怎么写了_(:3」∠)_  发表于 2018-12-29 15:18
……行走图的也是这个,不过是要在Sprite_Character类里复制过去,另,默认只有Sprite绑定game类,没有反过来的操作,所以可能要在Spriteset里一个个找  发表于 2018-12-29 15:16
好像不是这样,我是在行走图上显示动画,但是Game_Character相关的类里都没有出现Sprite,感觉好像没办法从事件身上得知Sprite的信息  发表于 2018-12-29 15:11

评分

参与人数 2星屑 +30 +1 收起 理由
VIPArcher + 30 认可答案
KB.Driver + 1 精品文章

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
10
星屑
39587
在线时间
1920 小时
注册时间
2010-11-14
帖子
3320

R考场第七期纪念奖

4
 楼主| 发表于 2018-12-29 22:20:58 | 只看该作者
百里_飞柳 发表于 2018-12-29 13:32
在 Sprite_Base 类里的 @ani_duration 是用于计时的
你在Sprite_Battler类里改一下,把它和id一起赋值过去 ...

照着写了然后测试了一下,动画确实可以按帧数复制过去√

可惜的是我做的是闪烁对象,那个好像不是复制动画就可以的……
到底是哪个参数呢……要是找到了就能一起复制过去了

点评

默认代码好像没有公开闪烁的相关变量,只能看到self.flash……  发表于 2018-12-29 22:32
用头画头像,用脚写脚本
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-17 02:38

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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