0

我制作了一个自定义光标 - 作为锤子,并希望在单击按钮时运行动画。当用户单击任何按钮时,锤子将击中(锤击)该按钮。我在 Cursor() 类中使用了 2 个关键帧来制作锤子动画,并在我的程序中使用了几种方法来实现它——比如 gotoAndStop()、play() 等。但没有任何效果......

因此,如果您向我展示解决此问题的方法,我将不胜感激。这是我的代码:

var menuCursor:MovieClip = new Cursor();
Mouse.hide();
menuCursor.mouseEnabled = false;
addEventListener(Event.ENTER_FRAME, cursorMenuMove);
menuCursor.gotoAndStop(1);
function cursorMenuMove(event:Event )
{
    menuCursor.x = mouseX;
    menuCursor.y = mouseY;
}

.
.
.

howToImageOn.addEventListener( MouseEvent.CLICK, run1HowTo );

.
.
.

function run1HowTo( event:MouseEvent )
{
       menuCursor.gotoAndStop(2);
   //    or   menuCursor.play();
    whackSound.play(0,1);
    menuMusicChannel.stop();
    howToImageOn.removeEventListener( MouseEvent.MOUSE_OUT, howTo1Out );
    playImageOff.removeEventListener( MouseEvent.MOUSE_OVER, play1Over );
    creditsImageOff.removeEventListener( MouseEvent.MOUSE_OVER, credits1Over );
    removeChild( playImageOff );
    removeChild(howToImageOn);
    removeChild( creditsImageOff);
    removeChild( menuCursor );
    gotoAndStop( "HowToPlay" );
}
4

2 回答 2

0

我从不喜欢使用 gotoAndStop 和 gotoAndPlay,所以我一直都是这样:

创建第一个包含非动画版本光标的 MovieClip/Sprite 和第二个包含动画版本(循环动画)的 MovieClip/Sprite,并在应该扩展 MovieClip 的自定义类 Cursor 中在它们之间切换 - 删除第一个,添加第二个 - 对于前任。点击后。通过这种方式,您可以轻松添加更多光标类型(和动画),甚至更轻松地在它们之间切换 :)

于 2012-09-18T23:12:09.617 回答
0

我用这段代码解决了这个问题:

stage.addEventListener(MouseEvent.MOUSE_DOWN, down);
stage.addEventListener(MouseEvent.MOUSE_UP, up);

function down(e:MouseEvent){
    menuCursor.gotoAndStop(2);
}

function up(e:MouseEvent){
    menuCursor.gotoAndStop(1);
}
于 2012-09-19T19:07:16.793 回答