0

我正在为学校尝试 adobe animate,直到现在我一直在关注一个很酷的 rpg 游戏教程。但是教程很快就结束了,现在我自己浏览互联网了。我想添加一个小星星收集器功能,但我找到的教程是针对闪存的,我不知道如何使用它。

他们的代码差不多

money = 0;

onClipEvent (enterFrame) {
if (_root.move_mc.hitTest (this)) {
_root.money++;
this._x = -50;
this._y = -50;
}
}

我把它挂在

     var star:Number = 0;

    if(linkMc.hitBoxMc.hitTestObject(overworldMc.starMc1))
    {
        star += 1;
        overworldMc.starMc1.alpha = 0;
    }

它可以工作,但现在我需要想办法在角落里设置一个文本,告诉你你有多少颗星星。

[链接到他们的图片](https://www.kirupa.com/developer/actionscript/images/textBox_settings.JPG )((((我还不能发布图片,因为我没有足够的积分))))但我的版本adobe animate 似乎没有 var 选项!那么我该如何设置文本呢?

4

1 回答 1

0

Try some logic like below. The code is untested, but should be useful to you towards a working solution:

var star :int = 0;

//# create an *enterFrame* function for multiple stars
overworldMc.starMc1.addEventListener( Event.ENTER_FRAME, myClipEvent ); 
overworldMc.starMc2.addEventListener( Event.ENTER_FRAME, myClipEvent );
overworldMc.starMc3.addEventListener( Event.ENTER_FRAME, myClipEvent );

function myClipEvent( myEvt:Event ) :void
{
    //# or... myEvt.currentTarget
    if(myEvt.target.hitTestObject(linkMc.hitBoxMc))
    {
        star += 1; //can be... star++;

        myEvt.target.alpha = 0; //# also test replacing *target* with *currentTarget*

        //# use String( xxx ) to cast Numeric data type into a Text data type
        money_box.text = String(star) + " " + "Stars..."; 
    }
}
于 2019-04-16T09:19:00.247 回答