我正在尝试为我的游戏制作一个“成就”页面,如果用户的得分高于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(endscreen_mc.visible == 100)
{
medals.roachLock.visible = true;
}
高分值保存在共享对象中。我的代码有什么问题,我该怎么做才能修复它?
答案 0 :(得分:0)
endscreen_mc.highscore_txt
属性的类型是什么?如果是TextField
,您首先需要访问文本字段的text
属性并将其转换为Number
,如下所示:
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,则锁定将可见。
答案 1 :(得分:0)
ActionScript中的可见属性是类型Boolean - 意味着它只能包含值“true”或“false”,因此您的第三个语句
否则if(endscreen_mc.visible == 100)
不起作用。 Mabye你想放在那里
endscreen_mc.highscore_txt
另外,重要一点,你的功能Check();没有正文,这意味着每个动作脚本函数都是这样的:
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;
}
}