Actionscript 3 如何根据另一层中的值使电影剪辑不可见?
我正在尝试为我的游戏创建一个“成就”页面,如果用户的高分大于100,那么成就就可以解锁。我试着使用这样的代码,但似乎不起作用Actionscript 3 如何根据另一层中的值使电影剪辑不可见?,actionscript-3,flash,Actionscript 3,Flash,我正在尝试为我的游戏创建一个“成就”页面,如果用户的高分大于100,那么成就就可以解锁。我试着使用这样的代码,但似乎不起作用 function Check(); if(endscreen_mc.highscore_txt > 100) { medals.roachLock.visible = false; } else if(endscreen_mc.highscore_txt < 100) { medals.roachLock.visible = true; } else if(e
function Check();
if(endscreen_mc.highscore_txt > 100)
{
medals.roachLock.visible = false;
}
else if(endscreen_mc.highscore_txt < 100)
{
medals.roachLock.visible = true;
}
else if(endscreen_mc.visible == 100)
{
medals.roachLock.visible = true;
}
函数检查();
如果(endscreen\u mc.highscore\u txt>100)
{
.roachLock.visible=false;
}
否则如果(endscreen\u mc.highscore\u txt<100)
{
aclements.roachLock.visible=true;
}
否则如果(endscreen_mc.visible==100)
{
aclements.roachLock.visible=true;
}
高分值保存在共享对象中。我的代码有什么问题,我可以做些什么来修复它?endscreen\u mc.highscore\u txt属性的类型是什么?如果是
TextField
,则首先需要访问TextField的text
属性,并将其转换为数字,如下所示:
var score:Number = Number(endscreen_mc.highscore_txt.text); // this casts the String value of the text property to a Number
if(score > 100)
{
medals.roachLock.visible = false;
}
else
{
medals.roachLock.visible = true;
}
此外,我还简化了if/else语句。现在,如果分数不大于100,锁将可见。ActionScript中的visible属性是布尔类型-这意味着它只能有值“true”或“false”,因此您的第三个语句
否则如果(endscreen_mc.visible==100)
这是行不通的。也许你想放在那里
endscreen_mc.highscore_txt
还有一件重要的事情,你的函数检查();没有主体,这意味着每个actionscript函数如下所示:
function functionName(){}//your if statement goes between curly brackets.
如果我没弄错的话,你的函数应该是这样的:
function Check(){
if(endscreen_mc.highscore_txt > 100){
medals.roachLock.visible = false;
} else {
medals.roachLock.visible = true;
}
}