我使用带有Haxe和OpenFL的OpenFL时钟,为Bitmap对象(使用alpha属性)创建淡入和淡出效果。你有其他方法吗?我使用的是For语句,而不是Sys.sleep(0.2);语句,因为它产生了一个“加载”游标图标,程序被卡住了。位图称为bmp,定时器为tmrSplash。
来源:
tmrSplash.run = function changeAlpha(): Void {
var f: Float = 1;
while (f <= 1 && f >= 0) {
bmp.alpha = f;
var a: Int = 0;
while (a < 500000000) {
a++;
if (a >= 500000000) {
a = 0;
}
f -= 0.0005;
trace(f);
}
tmrSplash.stop();
}
}谢谢。
发布于 2015-02-18 18:03:38
为了手动淡出,您需要在舞台上侦听ENTER_FRAME事件,并随时间改变值,而不是创建这个无限循环。
但是我建议看一看两个引擎,比如Actuate,它简化了语法。您不想自己创建这样的东西,只需使用一个库来动画属性。https://github.com/openfl/actuate
Actuate.tween (mySprite, 1, { alpha: 0 }); // fade out生命太短,不可能再发明另一台发动机,不要把时间浪费在建造这样的发动机上。
https://stackoverflow.com/questions/28566806
复制相似问题