Apache flex 如何在Flex 4.5应用程序中使用Tween for MovieClips?
我是Flex新手,正在尝试将纯Flash/AS3移植到Flex4.5 它基本上运行良好,但我遗漏了几个谜题部分: 我基于UIComponent创建了一个自定义组件,该组件表示一副卡片(一组精灵或电影嘴唇): 在最初的pure Flash/AS3游戏中,我将Tween用于桌上的3张牌,以向游戏用户展示谁放了哪张牌(通过将它们滑向游戏桌中间): 但是Flash Builder 4.5似乎根本不知道fl.transitions.*包 请问有人对如何使用这里有什么建议吗 就像我写的其他东西一样(我的自定义Flex组件、移动卡片精灵等)工作得很好。只需对两行之间的内容进行注释 谢谢大家!! 亚历克斯看看谷歌代码课程。使用它,您可以指定和对象,以及其属性及其所需值的映射,以及时间,并且它将这些属性从当前值“过渡”到所需值Apache flex 如何在Flex 4.5应用程序中使用Tween for MovieClips?,apache-flex,flex4,flex4.5,tween,flash-builder4.5,Apache Flex,Flex4,Flex4.5,Tween,Flash Builder4.5,我是Flex新手,正在尝试将纯Flash/AS3移植到Flex4.5 它基本上运行良好,但我遗漏了几个谜题部分: 我基于UIComponent创建了一个自定义组件,该组件表示一副卡片(一组精灵或电影嘴唇): 在最初的pure Flash/AS3游戏中,我将Tween用于桌上的3张牌,以向游戏用户展示谁放了哪张牌(通过将它们滑向游戏桌中间): 但是Flash Builder 4.5似乎根本不知道fl.transitions.*包 请问有人对如何使用这里有什么建议吗 就像我写的其他东西一样(我的自
Tweener.addTween(yourCard, {y:50, time:1});//for a 1 second tween
我的第一个下意识反应是将flash.swc(由flash CS Pro提供)添加到Flex构建路径,然后:
import fl.transitions.*;
import fl.transitions.easing.*;
可以再次使用
但从长远来看,我可能会编写自己的函数来移动扑克牌并运行它。因为我不想仅仅为了卡片滑动而包含Tweener或Tweenlite库
_tween[0] = _card[0].y;
_tween[1] = _card[1].x;
_tween[2] = _card[2].x;
....
_card[0].y = _tween[0] + 20;
addEventListener(Event.ENTER_FRAME, slideCardYou);
_card[1].x = _tween[1] - 20;
addEventListener(Event.ENTER_FRAME, slideCardLeft);
_card[2].x = _tween[2] + 20;
addEventListener(Event.ENTER_FRAME, slideCardRight);
....
private function slideCardYou(event:Event):void {
if (_card[0].y-- < _tween[0])
removeEventListener(Event.ENTER_FRAME, slideCardYou);
}
private function slideCardLeft(event:Event):void {
if (_card[1].x++ > _tween[1])
removeEventListener(Event.ENTER_FRAME, slideCardLeft);
}
private function slideCardRight(event:Event):void {
if (_card[2].x-- < _tween[2])
removeEventListener(Event.ENTER_FRAME, slideCardRight);
}
\u-tween[0]=\u-card[0].y;
_吐温[1]=\U卡[1].x;
_吐温[2]=_卡[2].x;
....
_卡片[0]。y=_tween[0]+20;
addEventListener(Event.ENTER_FRAME,slideCardYou);
_卡片[1].x=_-tween[1]-20;
addEventListener(Event.ENTER_FRAME,slideCardLeft);
_卡片[2].x=_tween[2]+20;
addEventListener(Event.ENTER_FRAME,slideCardRight);
....
私有函数slideCardYou(事件:事件):无效{
如果(_-card[0].y--<\u-tween[0])
removeEventListener(Event.ENTER_FRAME,slideCardYou);
}
专用函数slideCardLeft(事件:事件):无效{
如果(_-card[1].x++>_-tween[1])
removeEventListener(Event.ENTER_FRAME,slideCardLeft);
}
私有函数slideCardRight(事件:事件):无效{
如果(_-card[2].x--<\u-tween[2])
removeEventListener(Event.ENTER_FRAME,slideCardRight);
}
此外,我还研究了mx.effects.Tween和spark.effects.Animate,但它们似乎更适合UIComponents,而不是像我这样的精灵
_tween[0] = _card[0].y;
_tween[1] = _card[1].x;
_tween[2] = _card[2].x;
....
_card[0].y = _tween[0] + 20;
addEventListener(Event.ENTER_FRAME, slideCardYou);
_card[1].x = _tween[1] - 20;
addEventListener(Event.ENTER_FRAME, slideCardLeft);
_card[2].x = _tween[2] + 20;
addEventListener(Event.ENTER_FRAME, slideCardRight);
....
private function slideCardYou(event:Event):void {
if (_card[0].y-- < _tween[0])
removeEventListener(Event.ENTER_FRAME, slideCardYou);
}
private function slideCardLeft(event:Event):void {
if (_card[1].x++ > _tween[1])
removeEventListener(Event.ENTER_FRAME, slideCardLeft);
}
private function slideCardRight(event:Event):void {
if (_card[2].x-- < _tween[2])
removeEventListener(Event.ENTER_FRAME, slideCardRight);
}