2010-12-10 38 views
2

我试图通过编程方式在Action Script 3中模拟一些淡入/淡出效果,使用Timer类并及时控制指定DisplayObject的alpha属性。总的来说,它很有用,看起来很棒正如我所期待的那样。但是,在向父Sprite添加更多子DisplayObjects之后,它开始出现怪异现象。儿童似乎不会像父母对象一样褪色,它看起来很明显,而且很丑。在父母已经开始淡出并且在孩子真正跟随之前,似乎有一小段时间的滞后。我应该采取什么额外措施来避免这种情况?父Sprite和它的孩子DisplayObject不会同时淡入/淡出......?

我只对父对象进行alpha操作。我认为这是合乎逻辑的...

回答

6

设置blendMode图层:

blendMode = BlendMode.LAYER; 
+1

Adob​​e确实应该将其设置为默认设置......很多人在混合时并没有达到他们期望的效果。 – alxx 2010-12-10 11:32:02

2

它可以有简单的答案。假设你的父母是灰色矩形,而孩子是较小的灰色矩形。现在Flash的表现很有趣。它有点儿,设置了孩子(内部?)和父母的阿尔法。所以如果你有parent_.alpha = 0.5,假设父母的RECTANGLE(灰色的)是0.5透明的,那么它的顶部就是它的孩子,也有alpha(内部,alpha属性不会改变)设置为0.5;如果您在另一个0.5矩形的顶部放置一个0.5矩形,交叉字段比其他矩形更加明显。

我希望这个胡言乱语至少有一半是可以理解的,它有点时髦,我不知道如何解释。

+0

是的,我得到了点。非常感谢您的澄清! – jayarjo 2010-12-10 11:35:02