0

私のアプリは AIR for Android を使用しています。ボールが転がるルーレット盤を作成します。ルーレットのセクターとのボールの衝突を検出するために必要です。同時に、ホイールはその軸を中心に回転します。すべて正常に動作します。Flex コンポーネントと AS3 コンポーネントを組み合わせます。連絡先を登録するには、hitTest を使用します。

エミュレーターでデスクトップ上でデバッグすると、すべて問題ありません。しかし、モバイル デバイスでアプリをテストすると、hitTest は特定の時間にのみ発生します。ルーレット ホイールが正常に回転し、ボールがセクターに接触していることがわかりますが、hitTest は発生しません。実際の車輪は、私が見ている他の法則を回転させます。そして、それは実際のデバイス上だけです。

教えてください、どうすれば修正できますか?

ここに私のボールがあります:

<s:BitmapImage id="pend"  smooth="true" source="@Embed('images/pend.png')"/>

以下は、AS3 コンポーネントとして作成されたセクターが配置された wheel コンテナーです。

stageW = stage.stageWidth;
stageH = stage.stageHeight; 
<mx:UIComponent id="con" mouseChildren="false" width="{stageW}" height="{stageW}" x="{stageW*0.5}" y="{stageH*0.5}"/>

ここでセクターを発行するように依頼しました-半径に沿った円の中心の周りのテキスト

回転のアニメーション。

con.rotation = rot;
if (FlexGlobals.topLevelApplication.clockwise){
 rot++;
} else {
 rot--;
}

衝突検出:

for (var i:uint = 0; i <objArray.length; i++){
    var sector:Sector = objArray[i] as Sector;
    if (sector.hitTestPoint(pend.x + pend.width*0.5, pend.y + pend.height*0.5, true)){
        var obj:Object = new Object();
        obj.value = sector.value;
        tempArray.push(obj);
        trace (sector.value);
    }
}
4

0 に答える 0