AS3可变的麻烦

时间:2012-09-11 05:43:33

标签: actionscript-3 flash variables

我有一些类似于此的代码,但它无效。

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语句?

由于

1 个答案:

答案 0 :(得分:1)

它不会输入if语句,因为您尝试比较字符串和数字。 Split函数返回一个字符串数组。你应该这样比较:

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

我甚至不知道如何将String分配给Number。那是一些不好的做法。我建议您阅读有关Casting的更多信息。

顺便说一句,你应该像这样分配:

sensor = parseInt(sensorArray[1]);