Actionscript 3 将光标制作为锤子动画ActionScript 3.0

Actionscript 3 将光标制作为锤子动画ActionScript 3.0,actionscript-3,animation,cursor,movieclip,Actionscript 3,Animation,Cursor,Movieclip,我制作了一个自定义光标-作为锤子,并希望在单击按钮时运行动画。当用户单击任何按钮时,hammer将敲击(hammer)按钮。我在Cursor()类中使用了两个关键帧来制作hammer动画,并在我的程序中使用了几种方法来实现它-如gotoAndStop()、play()等,但没有任何效果 所以,如果你能给我一个解决这个问题的方法,我将不胜感激。 这是我的密码: var menuCursor:MovieClip = new Cursor(); Mouse.hide(); menuCursor.mou

我制作了一个自定义光标-作为锤子,并希望在单击按钮时运行动画。当用户单击任何按钮时,hammer将敲击(hammer)按钮。我在Cursor()类中使用了两个关键帧来制作hammer动画,并在我的程序中使用了几种方法来实现它-如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" );
}

我从来都不喜欢使用gotoAndStop和gotoAndPlay,所以我总是这样做:


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

我使用以下代码解决了问题:

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);
}

我不知道怎么。。。但它始终保持不变。。。如果ActionScript在Unity中有类似于屈服的功能,它可能会解决问题。我停止程序并播放动画。之后继续编程。这行得通吗?ActionScript是否有类似于收益率的功能?这是个好主意,Chev,但会有很多addChild/removeChild。我认为这会导致性能下降,对吗?我不认为添加和删除child会严重降低应用程序的性能,尤其是当您不经常这样做时。这个想法使您在编程时更容易在它们之间切换。它只是使用类似cursor.changeCursor(cursor.POINTER)的东西。以下是一些有趣的阅读: