我有一些类似于此的代码,但它无效。
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");
}
跟踪传感器或触摸器是否等于“0”但它似乎没有输入if语句?
由于
答案 0 :(得分:1)
它不会输入if
语句,因为您尝试比较字符串和数字。 Split
函数返回一个字符串数组。你应该这样比较:
if (toucher == "0" && sensor == "0")
{
trace("test");
}
我甚至不知道如何将String
分配给Number
。那是一些不好的做法。我建议您阅读有关Casting的更多信息。
顺便说一句,你应该像这样分配:
sensor = parseInt(sensorArray[1]);