我有一些代码,这是类似的,它不工作。
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语句?
谢谢
发布于 2012-09-11 22:26:36
它不会输入if语句,因为您试图比较一个字符串和一个数字。Split函数返回字符串数组。你应该像这样比较:
if (toucher == "0" && sensor == "0")
{
trace("test");
}我甚至不知道如何将String分配给Number。这是一些糟糕的做法。我建议你多读一些关于Casting的文章。
顺便说一句,你应该这样分配它:
sensor = parseInt(sensorArray[1]);https://stackoverflow.com/questions/12363412
复制相似问题