首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flixel - Alpha无法正常工作

Flixel - Alpha无法正常工作
EN

Stack Overflow用户
提问于 2012-01-17 08:13:31
回答 2查看 496关注 0票数 2

当我反复更新FlxSprite的alpha以使其淡出时,会发生一些奇怪的事情。它不需要150秒来完全淡出(实际上我想要15秒),它可能会在2秒内淡出。我尝试跟踪实际的alpha值,当alpha值约为0.95时,精灵是看不见的(95%不透明度,即略透明)。

有人知道怎样才能让alpha在Flixel中正常工作吗?

代码语言:javascript
复制
override public function update():void {
    lifespan += FlxG.elapsed;

    if (lifespan > 3) {
        alpha = (1 - ((lifespan - 3) / 150)); // <--- this line

    }

    if (alpha < 0.01) {
        State.s.remove(this, true);
    }
    super.update();     
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-26 01:27:00

目前在Flixel中有一个bug。如果使用了动画精灵,而当前帧在精灵工作表的范围之外,alpha就不能很好地工作。如果使用makeGraphic(),也会发生同样的情况。

这个错误已经被记录在Flixel github问题列表中,希望在下一个版本中可以修复。

票数 1
EN

Stack Overflow用户

发布于 2012-01-19 17:14:23

我将您的代码复制粘贴到一个空的Flixel2.55项目中,它完全按照预期工作。您确定在您的项目中没有任何其他东西干扰寿命变量或sprite的alpha吗?尝试一个新的项目,看看你是否仍然会遇到同样的问题。

提示一下,您可以使用FlxG.state随时引用当前状态,不需要存储单独的引用。此外,alpha会自动钳制为0,1,因此您可以测试'if (alpha == 0)‘,而不必担心alpha值变为负值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8888098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档