Egret社区

渐黑的过场如何实现?

2018-10-11 16:52
2679
常常在游戏里看到:
点击一个按钮,就切换到另一个场景, 但是切换不是马上完成,而是旧场景先变黑,然后黑完再慢慢出现新场景

请问这个如何实现?
分享到 :
0 人收藏

9 个回复

倒序浏览
熊猫少女  官方团队 | 2018-10-11 17:05:40
本帖最后由 熊猫少女 于 2018-10-11 17:09 编辑

点击时候绘制一个全屏rect,alpha值为0;egret.Tween.get(rect).to({alpha:1},500).call(()=>{删除旧场景;添加新场景},).to({alpha:0},500)

点评

最佳答案  发表于 2018-10-17 12:36
handa  初学乍练 | 2018-10-11 17:42:47
熊猫少女 发表于 2018-10-11 17:05
点击时候绘制一个全屏rect,alpha值为0;egret.Tween.get(rect).to({alpha:1},500).call(()=>{删除旧场景; ...

赞,非常感谢。
实际上看完您的回答,十分羞愧,这问题不该问
熊猫少女  官方团队 | 2018-10-11 17:49:20
handa 发表于 2018-10-11 17:42
赞,非常感谢。
实际上看完您的回答,十分羞愧,这问题不该问

加油
handa  初学乍练 | 2018-10-16 00:57:40
本帖最后由 handa 于 2018-10-16 00:59 编辑

alpha 从 1 到 0 的效果可以实现;
但是 alpha 从 0 到 1 (渐黑)的效果实现不了。。。表现为:确实有运行那 500ms,但是屏幕并不出现渐黑的遮罩( 即便绘制 rect 的时候 alpha 设置为 0.1,从 0.1 到 1 的渐黑也是没有的)
熊猫少女  官方团队 | 2018-10-16 09:33:11
handa 发表于 2018-10-16 00:57
alpha 从 1 到 0 的效果可以实现;
但是 alpha 从 0 到 1 (渐黑)的效果实现不了。。。表现为:确实有运 ...

哪写错了吧

Test_10_11.zip

972.6 KB, 下载次数: 4, 下载积分: 银子 -1

handa  初学乍练 | 2018-10-16 21:27:41

看了你的代码:
shp.graphics.beginFill( 0x000000, 1);
你也是先把 alpha 设为 1, 后面 1 --> 0 --> 反复

实验中发现:
beginFill 的时候填的 alpha 值是多少,后面变化最多就到那么多
(举个例子说明:
把你的代码改成 shp.graphics.beginFill( 0x000000, 0.1);
运行结果只会在 0 和 0.1 反复微微闪,而不是预期的 0到1 大闪


所以我最后:
shp.graphics.beginFill( 0x000000, 1);
egret.Tween.get(shp).to({alpha: 0}, 10).to({alpha: 1}, 1500).call(()=>{切换})....


应该是 beginFill 的特性如此~ 但文档我读得不够全,没发现相关描述

谢谢熊猫大大! 我正在努力学习中
熊猫少女  官方团队 | 2018-10-17 10:11:04
handa 发表于 2018-10-16 21:27
看了你的代码:
shp.graphics.beginFill( 0x000000, 1);
你也是先把 alpha 设为 1, 后面 1 --> 0 --> 反 ...

解决了的话可以给个最佳答案吗
handa  初学乍练 | 2018-10-17 12:37:10
熊猫少女 发表于 2018-10-17 10:11
解决了的话可以给个最佳答案吗

点评,最佳答案, 是这么操作么?
另外,我尝试 “管理,置顶”, 卡住不响应
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

handa

初学乍练

积分: 6 帖子: 8 精华: 0

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号

Powered by Discuz! X3.2 © 2001-2019 Comsenz Inc.

返回顶部