最简单的办法。 做两张你需要闪烁的颜色的图片,放到对应的两处位置, 然后初始不透明度为 0 , 闪烁时控制对应图片的透明度增减就行了。 |
miantouchi 发表于 2020-3-12 12:57 所以前面我有提到注意事项, 这里有两种解决方法, 1,增加视口高度把角色跳跃位置包含进去, 2,针对角色视口的闪烁用菜刀之爱的方式去闪个其他视口 如果用2号方法, 那你要想办法判定出该动画是不是要在角色方闪画面, 如果技能是敌人和角色各用各的,那很好处理, 如果同个技能敌我都能用, 那就要想办法给动画一个识别角色的方法了(提示,一样可以用全局变量,在释放技能的时候增加一个开关判定,看对象是角色还是敌人,然后拿到timing里去做区别) |
miantouchi 发表于 2020-3-10 22:15 你 p 看看就知道了, 你保存的变量和调用的变量不是同一个, 当然 spriteset_battle 里的 @a一直是nil啦 跨类调用要用全局变量 |
miantouchi 发表于 2020-3-10 17:38 1,因为你没改坐标咯, 视口高度变了坐标位置自然变了 2,因为你没有设置"菜刀之爱" 这个名字的SE 全屏闪是通过带有这个名字的SE的帧作为判断的, 当然你也可以改成其他判断条件 |
本帖最后由 灯笼菜刀王 于 2020-3-9 19:44 编辑 miantouchi 发表于 2020-3-9 19:10 错了, 这个是"整体画面色调视口", 动画的视口不是它 这段就是动画的闪烁和SE处理, 箭头处就是"画面闪烁", 它指向 对象本身的 viewport, 也就是"战斗图的视口" XP的默认战斗场景, 是把敌人和角色塞到不同的视口里的, 所以你只要分别改它们的视口大小, 就可以做到各自播放的动画闪烁在各自的视口范围内了, 也就是你说的, 上(敌人)下(角色)分别闪烁 而如果需要"全屏", 那可以在上面那段脚本里加个判断, 让"第三者"去闪就行了 比如"闪烁SE名字为"菜刀之爱"时, 把闪烁设置赋予某个变量, if se.name == "菜刀之爱" a = [timing.flash_color,timing.flash_duration * 2] end 然后到Spriteset_battle的updata里去加一句 if a != nil @viewport4.flash(a[0],a[1]) a = nil end 最后,记得屏蔽掉默认的闪烁, 否则它的视口就会和"小三"一起闪了 |
站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作
GMT+8, 2024-11-23 09:59
Powered by Discuz! X3.1
© 2001-2013 Comsenz Inc.