2011-10-23 20 views
0

私はビットマップデータを使用するブリッティングエンジンを使用しています。表示オブジェクトはありません。ピクセル完全な衝突+ブリッティング

このようなゲームシステムでは、高速ピクセル完全衝突検出が利用できますか?

私はすでにCDKを試みましたが、私のオブジェクトが使用しない表示オブジェクトを持っていると仮定しているため、CDKは動作しませんでした。時には私のオブジェクトはかなり大きく、この場合はhitTestがうんざりです。私はすでにサークルとサークルの衝突を試みましたが、それはどちらかといえどもやりませんでした。助けやヒント?

更新:

public function renderTile(canvasBitmapData:BitmapData):void 
    { 
     x = nextX; 
     y = nextY; 

     point.x = x; 
     point.y = y; 

     if (animationCount >= animationDelay) 
     { 
      animationCount = 0; 

      if(reverse) 
      { 
       currentTile--; 
       if (currentTile < 1) 
       { 
        currentTile = tilesLength - 1; 
       } 
      } else { 
       currentTile++; 
       if (currentTile == tilesLength) 
       { 
        currentTile = 0; 
       } 
      } 

     } else { 
      animationCount++; 
     } 

     canvasBitmapData.lock();  
     tileRect.x = int((currentTile % spritesPerRow)) * tileWidth; 
     tileRect.y = int((currentTile/spritesPerRow)) * tileHeight; 
     bitmapData = new BitmapData(tileWidth - oversize, tileHeight - oversize, true, 0x000000); 

     canvasBitmapData.copyPixels(tileSheet, tileRect, point); 
     canvasBitmapData.unlock(); 
    } 

がhitTestを呼び出す:

if (player.bitmapData.hitTest(player.point, 255, tempAsteroid.bitmapData, tempAsteroid.point, 255)) 

現在の衝突がまったく動作しません。私は私のオブジェクトを飛ぶことができ、私は絶対に衝突を起こさない。 Flash Playerスタンドアロンのv10.1にbitmapData.hitTestの問題がありましたが、私は10.3を使用していますので、これは問題ではありません。

+0

何エンジンを使用していますか? –

答えて

1

コメントはまだ投稿できません。だから、答えによってそれをしなければならない。

2つのコードスニペットがどのように関連しているかはあまり明確ではありません。表示されるのは、最初のコードスニペットでbitmapDataが作成されますが、使用されていないか、何も埋められていないことだけです。

したがって、ビットマップデータは透過ピクセルのみで存在するため、hitTestは常に失敗します。

例に従えhitTestがが(速度については考えて)行くんするための方法を思わ示しています。あなたは、ブリット http://www.mikechambers.com/blog/2009/06/24/using-bitmapdata-hittest-for-collision-detection/

+0

はい。あなたが正しいです!確かに私のbitmapDataは空ですので、hitTestは実行時に常に失敗します。どうもありがとうございました!今では小さなblittingエンジンを再構築する必要があります。なぜなら、すべての単一のタイルを配列にキャッシュして、それらのキャッシュされたタイルを私のbitmapData.hitTestに使用する必要があるからです!ありがとう!:) – drpelz

関連する問題