我目前正在尝试学习AS3,每当事情看起来有意义时,我就会看到一块看起来很容易执行的东西。
我有一个简单的设置,两个(movieclip)按钮,简单的10帧动画叫做btn_1& btn_2应该导致page_1&我场景的第二页。当鼠标滚过它们时,它们将进行动画和淡入/淡出 - 并且当单击以指向页面时。它们导致页面然而我无法运行动画并且它停止显示错误消息。
我已经单独尝试了按钮数组并且它工作,并且与mouseOver(onEnter)框架选项相同,但它无法运行而没有错误,我要么按钮数组工作,TypeError:#Error填充输出框无论我怎样尝试它都无限。
以下是代码:
var clipArray:Array = [btn_1,btn_2];
var destArray:Array = ["page_1","page_2"];
for (var i:int = 0; i < clipArray.length; i++) {
clipArray[i].buttonMode = true;
clipArray[i].useHandCursor = true;
clipArray[i].addEventListener(MouseEvent.MOUSE_OVER,onOver);
clipArray[i].addEventListener(MouseEvent.MOUSE_OUT,onOut);
clipArray[i].addEventListener(MouseEvent.CLICK,clickHandler);
}
var overBtn:Boolean = false;
function onOver(e:MouseEvent):void {
overBtn = true;
}
function onOut(e:MouseEvent):void {
overBtn = false;
}
clipArray[i].addEventListener(Event.ENTER_FRAME,onEnter);
function onEnter (event:Event):void {
if(overBtn){
clipArray[i].nextFrame();
}else {
clipArray[i].prevFrame();
}
}
clipArray[i].addEventListener(Event.ENTER_FRAME,onEnter);
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;
}
}
}
如果我把它分解成各个部分,即只是作为一个数组运行它工作正常,如果我使用mouseOver运行框架它工作正常,但显然是不对的,我检查了语法和看起来很好,真诚地感谢任何人都可以帮助照亮它,
的Si