2017-11-01 12 views
0

입력 텍스트 필드를 사용하여 사용자로부터 입력을 받겠다는 데이터입니다.이 데이터는 숫자입니다. 사용자가 올바른 번호 (이 경우 1)를 입력 한 다음 예 y를 인쇄하길 원합니다.Actionscript 입력 받아 Int와 비교하십시오

그러나 작동하지 않습니다. 어떤 도움이라도 대단히 감사합니다.

나는 int와 문자열을 비교하는 것과 관련이 있다고 가정하지만 솔직히 더 이상 확실하지 않습니다.

import flash.events.MouseEvent; 
import flash.text.TextField; 

var dayVar:String = dayInput.text; 
var dayNum:Number = Number(dayVar); 


stop(); 

button3.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler3); 

function mouseDownHandler3(event:MouseEvent):void 
{ 
    if(dayNum == 1) { 
     trace("yay"); 
    } else { 
     trace("nay"); 
    } 
} 
+0

사용자 입력 후 어떤 시점에서 'dayVar'를 업데이트합니까? 그렇지 않다면 현재 if-condition 대신'if (Number (dayInput.text) == 1) {'을 시도하십시오. – kaarto

+0

@kaarto 감사합니다! 이것이 문제였습니다. – AndyGUY

답변

3

사용자가 입력 한 후에 dayVal 및/또는 dayNum을 업데이트해야합니다. 그래서 최소한의 경우에 당신은 간단하게 할 수 있습니다

function mouseDownHandler3(event:MouseEvent):void{ 
    if(Number(dayInput.text)==1) { 
     trace("yay"); 
    } else { 
     trace("nay"); 
    } 
} 

다른 possibilites은 변수를 갱신하려면 텍스트 입력을위한 Event.CHANGE, 또는 KeyboardEvent을 청취 할 것이지만,이 경우 MouseEvent 핸들러는 작업을 쉽게 수행합니다.

-1

이 같은 텍스트 필드 입력을 제한 속성을 사용할 수 있습니다 :

dayInput.restrict = "0-9"; 

이 숫자 만 입력 생략한다.