我想设置一个动画片段按钮的数组,以通过标签在我的时间线上导航,这就是梨形状的位置。AS3流体动画和AT状态下的动画片段按钮阵列
花了三天的时间阅读并尝试了大多数在线解决方案后,我找不到某种方法在不失败的情况下以100%的效率工作。
我已经有一些喜悦下面的方法在看到博客条目涵盖不同的方式来调用框架等,并突出其下面的怪物:
clipArray[i].mouseChildren = false; //Hidden bugbear
我添加了下面这样希望的完整代码它可能会帮助其他类似的人尝试使用hari-kari。
import flash.events.MouseEvent;
import flash.events.Event;
var clipArray:Array = [btn_1,btn_2]; // Movieclip's called btn_1 etc...
var destArray:Array = ["page_1","page_2"]; Labels on timeline...
for (var i:int = 0; i < clipArray.length; i++) {
clipArray[i].buttonMode = true; // Define Button from Movie Clip
clipArray[i].useHandCursor = true; // Enable HandCursor over clip
clipArray[i].mouseChildren = false; // Define clip as single denomination
clipArray[i].addEventListener(MouseEvent.MOUSE_OVER, mouseOverHandler);
clipArray[i].addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler);
clipArray[i].addEventListener(Event.ENTER_FRAME, frameHandler);
clipArray[i].addEventListener(MouseEvent.CLICK,clickHandler, false, 0, true);
}
function clickHandler(event:MouseEvent):void {
for (var i:int = 0; i < clipArray.length; i++) {
if (event.currentTarget == clipArray[i]) {
this.gotoAndStop(destArray[i]);
clipArray[i].mouseEnabled = false;
clipArray[i].useHandCursor = false;
clipArray[i].alpha = 0.5;
} else {
clipArray[i].mouseEnabled = true;
clipArray[i].useHandCursor = true;
clipArray[i].alpha = 1;
}
}
}
function mouseOverHandler(e:MouseEvent){
e.target.onOff = true;
}
function mouseOutHandler(e:MouseEvent){
e.target.onOff = false;
}
function frameHandler(e:Event){
if(e.target.onOff){
e.target.nextFrame();
} else {
e.target.prevFrame();
}
}
这工作得很好,然而现在我是否是“好”的代码或不理解是一个问题,如果能以任何方式我想知道改善为何以及如何作为的问题从2学习AS3是因为你经常使用在线看到的代码,而没有充分掌握细节。
暂时,我很高兴,因为这被证明是一个噩梦发现或解决,并希望它可以帮助任何人处于类似的心态。
添加具有流动性,这从一个数组抵消成为当你学习了三天的使命影片剪辑按钮...
感谢您的答复和你输入。它是一个来自AS2的沉重的学习曲线! 就我个人而言,我仍然有点不确定软件包在Flash中的工作原理。作为新手,我发现它很奇怪,我不确定为什么以及如何对代码进行最佳排序,再加上我试图做的差异更容易内联。 我可以在某些方面看到你的方法中的逻辑,但是当它在包装中时,它有点超出我的把握。希望很快。 – esadude 2012-03-13 20:26:24
同时,您不确定的mouseOverHandler项目是从另一个示例中修改的,我看到它使鼠标悬停以允许流体操作nextFrame代码。 我有一个真正的问题,它要么注册一个框架向前,或类似的整个阵列在parralel工作,一天后,我设法使用这个来启用按钮动画之间的流体运动,同时仍然导航通过destArray没有任何显示错误报告。 我真的很高兴它的工作,如何变得无关紧要... – esadude 2012-03-13 20:26:41
我在我的网站上工作,这是相当沉重,但理解一些AS3行话的技巧是一个杀手,它更加恼人,当你可以发现问题,但无法找到答案。 按钮我也尝试了ROLL_OVER但必须有一些编码错误的地方,因为我把似乎只该为我工作的方式方法。 – esadude 2012-03-13 20:27:32