0

私はカエルと呼ばれるフラッシュゲームを開発していますが、現時点では、カエルとハエの衝突のコードが期待どおりに機能しません。以下にリンクされている方法(最後の例)のように機能するようにしたいと思います。

衝突検出メソッド、hitTestおよびhitTestObjectの代替

どんな助けでもいただければ幸いです。

function hitTargetFunction():void {
    for (i = 0; i < insectsMC.length; i++) {
        for (j = 0; j < insectsMC[i].length; j++) {
            if (frogMC.hitTestObject(insectsMC[i][j])) {
                trace('Target: ' + insectsMC[i][j].name);
                score +=  1;
                trace('Score: '+score);
                insectsMC[i][j].x = 0 - insectsMC[i][j].width * 2;
            }
        }
    }
}
4

3 に答える 3

2

すばらしいCollision Detection Kitを試すことをお勧めしますか?

私はそれがあなたが必要とするすべてを行うと確信しています. コード サンプルが記述されている AS3 でもあるので、お役に立てば幸いです。

于 2012-04-27T13:18:58.327 に答える
1

この状況では、カエルのムービークリップ内にムービークリップ/スプライトを作成するのがおそらく最適です。PixelPerfectCollision は非常に素晴らしく便利ですが (ただし、大規模なゲームでは高価です)、衝突はカエルのどの部分にも起こります。もちろん、カエルのムービークリップをバラバラにして、舌だけで PixelPerfectCollision を実行することもできます。しかし、これがコースワークの場合は、カエル内の何らかの表示オブジェクトで hitTest() を実行することに固執します。

于 2012-05-08T12:22:41.933 に答える
0

授業でサードパーティのライブラリを使用することが許可されていない場合は、ActionScript 3.0 によるピクセルレベルの衝突検出に関するこの優れたチュートリアルをご覧ください。

一般的な考え方は、ベクター グラフィックスの BitmapData コピーを作成し、そのクラスの hitTest メソッドを使用して、ピクセル レベルで衝突をチェックすることです。

于 2012-04-27T20:43:01.757 に答える