如何将动态文本设置为变量?

时间:2019-04-15 15:14:27

标签: actionscript-3 adobe-animate

我正在尝试在学校使用adobe动画,直到现在,我仍在关注一个很酷的rpg游戏教程。但是教程很快就结束了,现在我自己浏览互联网了。我想添加一点星收集器功能,但是发现的教程适用于Flash,我不知道如何使用它。

他们的代码差不多

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)((((i尚无法发布图像,因为我没有足够的分数)))) 但是我的adobe animate版本似乎没有var选项!那我该如何设置文字呢?

1 个答案:

答案 0 :(得分:0)

尝试以下类似的逻辑。该代码未经测试,但是对于您找到可行的解决方案将很有用:

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..."; 
    }
}