1

これに似たコードがいくつかありますが、機能していません。

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ステートメントに入らないようです?

ありがとう

4

1 に答える 1

1

if文字列と数値を比較しようとするため、ステートメントには入りません。Split関数は文字列の配列を返します。次のように比較する必要があります。

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

Stringaを a に割り当てる方法さえわかりませんNumber。それはあそこの悪い習慣です。Castingについてもっと読むことをお勧めします。

ところで、次のように割り当てる必要があります。

sensor = parseInt(sensorArray[1]);
于 2012-09-11T14:26:35.640 に答える