【发布时间】:2011-03-14 20:35:29
【问题描述】:
我正面临一个我无法理解的情况......
我正在编写一个带有自己解决方案的拖放小游戏。游戏从第 1 帧开始,第 150 帧的解。
为了展示解决方案,我选择将所有拖动项目显示在其原始位置,然后将它们逐个淡出,同时在另一个实例中的正确位置淡出。
在“游戏”部分,我确保所有被拖动的项目都被添加回舞台,以确保拖动不会通过其他可拖动对象。所以在我的拖动功能的最后,我添加了“this.parent.parent.addChild(this.parent)”这一行。
我感到困惑的是,当我单击解决方案按钮时,所有拖动的实例都保留在原位,不再响应时间轴操作。如果我取出“this.parent.parent.addChild(this.parent)”位,一切正常(除了能够拖到其他对象后面)
有人可以向我解释这种行为吗?
TIA
嗯……我想我说得太早了!
我的场景如下: 我在舞台的第一层放置了 5 个选择 MC。 choice MC 包含 dragButton MC 的实例(映射到它自己的类)和 choiceText MC 的实例看起来像:
[dragButton] 选择文本
目的是让用户将 dragButton MC 拖到 choiceGroup MC 的特定实例之上。
为了确保任何被拖动的项目超过任何其他项目,我添加了
this.parent.parent.addChild(this.parent);
在dragButton 的拖拽函数的最后。这具有重新添加包含所选 dragButton 的 choice MC 的效果。
经过进一步测试,我意识到这些对象被添加到正确的“容器”中,但不再与时间轴偏好“链接”。
这发生在我淡出选择的“更正”区域,然后在另一个实例的预期位置淡出。但是,“淡入淡出”(Classic Tween)不会抓取任何已重新添加到舞台的 MC。
有没有一种解决方法可以解决我的“淡入/淡出”代码而不是使用时间线补间的问题?
TIA
【问题讨论】:
标签: flash actionscript-3