2012-09-11 2 views
1

이 코드와 유사한 코드가 있는데 작동하지 않습니다.AS3 변수 문제

var sensor:Number; 
var toucher:Number; 


fixtureB.GetBody().SetUserData("sensortouched-0"; 
var sensorArray:Array = fixtureB.GetUserData().split("-", 2); 
sensor=sensorArray[1]; 


fixtureA.GetBody().SetUserData("sensortouched-0"; 
var sensorArray:Array = fixtureA.GetUserData().split("-", 2); 
toucher=sensorArray[1]; 

if (toucher==0 && sensor==0) 
{ 
trace("test"); 
} 

추적 센서 또는 toucher는 "0"과 같지만 if 문을 입력하는 것처럼 보이지 않습니까? 당신은 문자열과 숫자를 비교하려고하기 때문에

감사

+0

fixtureB.GetBody() SetUserData를 ("sensortouched-0");. – Benny

+0

센서 또는 톱니 바퀴가 "0"이거나 센서 및 톱니 바퀴가 "0"인 경우 – Moorthy

+0

문제가 해결 된 경우 대답을 수락하거나 문제가있는 부분을 알려주십시오. – Gio

답변

1

그것은는 if 문을 입력하지 않습니다. Split 함수는 문자열 배열을 반환합니다. 이 같은 비교해야한다 :

if (toucher == "0" && sensor == "0") 
{ 
    trace("test"); 
} 

심지어 당신이 NumberString을 할당 할 방법을 모르겠어요. 저기있는 나쁜 행동입니다. 나는 Casting에 대해 더 읽고 싶습니다.

그리고 BTW, 당신은 다음과 같이 할당해야합니다

sensor = parseInt(sensorArray[1]);