我正在开发一个桌面应用程序。我通过Adobe Animate CC使用ActionScript 3。我设计了应用程序,为GUI启动了动画,并开始编码。主要功能已成功编码,但我添加了一些超出应用程序原始目标范围的附加功能。所有这些只是将应用程序链接到一个网站和一些其他信息,这让我完全疯狂,因为我花了太多时间用非常简单的if
声明LOGIC!AS3多个(动画片段按钮)动画制作一个动画片段
无论如何,我创建了三个MovieClip
按钮的菜单。这些菜单按钮点击会影响一个MovieClip
,它具有随每次点击而移动的白色背景。我需要有一个背景来显示点击每个按钮时动画补间的easeIn
和easeOut
的美丽效果。
为了便于理解,我重新代码一个非常简单的球和3个按钮。如果你点击第一个按钮,球就会移到第二个按钮的右上方。然后第一个按钮应该是不可点击的,除非另一个按钮被点击。如果第二个按钮被点击,那么球会移动到第三个按钮的右上方。然后,第二个按钮也应该是不可点击的,除非另一个按钮被点击。第三个按钮也是一样的。
现在,如果第一按钮被再次点击,白色背景的动画不应该从默认位置启动应用程序时开始! 应该从当前位置到默认位置动画回来......等等......
我换成了白色背景与球为简单起见
这是很容易的,但我跟丢了它eventListeners
,eventHandlers
和if
声明! :/
我也做了这个表,研究了情况:
我知道我的编码技术是不够聪明,但那是因为我恨使用类,包项目文件夹...等等。
即使代码运行太长&重复,这对我来说会更好,因为编程不是我的日常工作!
请高度赞赏任何帮助和快速反应!
代码:
import flash.ui.Mouse;
import flash.events.MouseEvent;
one.addEventListener(MouseEvent.CLICK, moveToSecondPos);
two.addEventListener(MouseEvent.CLICK, moveToThirdPos);
//three.addEventListener(MouseEvent.CLICK, moveToFirstPos);
var buttonState:Boolean;
one.buttonState = 0;
two.buttonState = 0;
//three.buttonState = 0;
function moveToSecondPos(event:MouseEvent){
if(one.buttonState == 0){
theBall.gotoAndPlay("go1");
one.buttonState = 1;
}
else if(two.buttonState == 1){
theBall.gotoAndPlay("backToOne");
// two.buttonState = 0;
// one.buttonState = 1;
}
else{
//disable About Button
one.removeEventListener(MouseEvent.CLICK, moveToSecondPos);
}
}
function moveToThirdPos(event:MouseEvent){
if((two.buttonState == 0)&&(one.buttonState == 0)){
theBall.gotoAndPlay("goProducts");
two.buttonState = 1;
}
else if(one.buttonState == 1){
theBall.gotoAndPlay("go2");
// two.buttonState = 1;
// one.buttonState = 1;
}
else{
two.removeEventListener(MouseEvent.CLICK, moveToThirdPos);
}
}
//function moveToFirstPos(event:MouseEvent){
// if(three.buttonState == 0){
// theBall.gotoAndPlay("go3");
// three.buttonState = 1;
// }
// else{
// three.removeEventListener(MouseEvent.CLICK, moveToFirstPos);
// }
//}