привет я очень новичок в Adobe Flash и делаю проект для своего вычислительного класса, я делаю игру, были отображены 2 случайных сгенерированных номера, и пользователь должен введите значение, набрав 10 баллов, если ответ правильный. У меня, однако, есть проблемы с тем, чтобы заставить текстовое поле ввода работать, чтобы дать мне 10 баллов, если ответ правильный, а сейчас я получаю очки только в том случае, если 2 сгенерированных числа имеют сумму 0. Было бы очень полезно помочь, многие Благодарю. Я поставлю код нижеflash AS6- Как проверить правильный ответ в поле ввода
public class Main extends MovieClip {
var Num1:int ;
var Num2:int ;
var Answer:int ;
var Score:int=0;
var UserInput;
public function Main()
{
// constructor code
gotoAndStop(1);
Start.addEventListener(MouseEvent.CLICK, StartFunct);
}
function StartFunct(e:Event)
{
gotoAndStop(2);
button.addEventListener(MouseEvent.CLICK,clickhandler);
button.addEventListener(MouseEvent.CLICK,clickhandler2);
button.addEventListener(MouseEvent.CLICK,checkFunction);
}
function checkFunction(event:MouseEvent):void
{
Answer= Num1*Num2;
if(UserInput == Answer){
Score=Score+10
}
else Score=Score
}
function clickhandler(event:MouseEvent):void
{
Num1 = Math.floor(Math.random()*10);
Num2 = Math.floor(Math.random()*10);
num1Box.text = String(Num1);
num2Box.text = String(Num2);
UserInput = "";
}
function clickhandler2(event:MouseEvent):void
{
Score = Score;
ScoreBox.text = String(Score);
- это 'UserInput' of ** String ** type ?? Почему бы просто не сказать компьютеру, что вы имеете в виду, 'var UserInput: String =" ";' ... В любом случае, я думаю, что ваша проблема - это ** Если ** инструкция в 'checkFunction', она должна быть:' if (int (UserInput) == Answer) 'this говорит компьютеру рассматривать эту текстовую строку как целое число (то есть: casting as integer) –