タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

enchant.jsに関するfoooomioのブックマーク (2)

  • 当たり判定処理 後編

    前編ではキャラクタ同士の当たり判定について考えてみました。 後編ではキャラクタと壁の当たり判定について考えてみます。 当たり判定処理 前編 当たり判定の考え方 キャラクタが現在位置から次に移動しようしている位置について、移動できるかどうかを判定する必要があります。 マップは任意のサイズ(16×16など)のタイル縦横に敷き詰めて表現しています。 タイルとキャラクタのサイズは一致していない、と考えます。 すると、どのタイルをチェックすればいかが分かります。 この図を例に移動をチェックするべきタイルに注目します。 図中のクマの位置は次に移動しようしている位置であることに注意してください。 このとき、クマの上側横2つぶん網掛けされたタイルをチェックすることで上方向の移動が可能かどうかが判定できます。 また、クマの右側縦3つぶんに網掛けされたタイルをチェックすることで右方向の移動が可能かどうかが判定

    当たり判定処理 後編
  • 衝突判定 - 416番地

    enchant.jsには衝突判定の関数が用意されているが、残念ながら透明色が考慮されていない。 例えば公式Materialの「イトカワ」と32x32で抜き出した「はやぶさ」の衝突判定を行うと、見た目上ぶつかっていないのに関数がtrueを返してくる場合がある。 パッと思い付く解決策は2つ。 ひとつ目は画像が重なっている範囲で透明職でない部分があるか判断する方法。 ふたつ目は別途衝突判定用のEntityを用意してやることだ。 ひとつ目だが、残念ながら実装することができない。SurfaceにはgetPixselというピクセル単位の情報を取得する関数があるのだが、何故かロードした画像に対しては無効なのだ。 ではふたつ目は実装することができるのか。これはそんな難しいことではない。 「イトカワ」の形に沿うように円形や矩形を描画したEntityを配置し、それらと衝突判定を実行するのだ。気を付ける点は判定

    衝突判定 - 416番地
  • 1