私はenchant.jsのでRPGゲームを作ってるんだ、と私は、このようなマップ作成:プレイヤーが水を通過することはできませんが、選手たちは船に乗るとき、彼らが通過することができます sample mapenchant.jsの障害物のルールを変更するには?
を。私の質問は、プレーヤーが歩く/ボートするたびにcollistionDataを書き直さなければならないかどうかです。地図が大きい場合は、簡単な方法がありますか?
私はenchant.jsのでRPGゲームを作ってるんだ、と私は、このようなマップ作成:プレイヤーが水を通過することはできませんが、選手たちは船に乗るとき、彼らが通過することができます sample mapenchant.jsの障害物のルールを変更するには?
を。私の質問は、プレーヤーが歩く/ボートするたびにcollistionDataを書き直さなければならないかどうかです。地図が大きい場合は、簡単な方法がありますか?
enchant.jsに精通していませんが、通常、この処理方法は衝突マスクを使用しています。したがって、使用している物理エンジンに応じて、物理マスク本体に衝突マスク値(整数を使用)を設定する方法があります。
カテゴリは、このオブジェクトであることを数値やタイプである:例えばBOX2Dを使用すると、2つの値を持っています。したがって、多くの変数がある場合:
const PLAYER = 1;
const WATER = 2;
const BOAT = 4;
カテゴリビットを1つに設定します。マスクビットは、それが衝突可能なマスクの値です。物理エンジンはこれで、内部で何
const PlayerEntity = {
category: PLAYER,
mask: PLAYER | WATER
};
const WaterEntity = {
category: WATER,
mask: PLAYER
};
は、カテゴリとマスクの値はそれがない場合は、衝突があります0以外の何かに等しいかどうかを確認するために&操作です。
map.itには、ゲームの最初の読み込み時に開発者によって割り当てられた[0,0,0,1,1]のような配列があります(1は通過できません) )、それはゲームで書き直すのは難しいです。あなたの答えは素晴らしいと私に役立つです、ありがとう~~ – undefined000
ああ大丈夫です。私はドキュメントを見ましたが、衝突の多くを見ていませんでした:) – agmcleod
[http://enchantjs.com/tutorial/lets-start-with-enchant-js/#ref_10](http://enchantjs.com/ tutorial/lets-start-with-enchant-js /#ref_10)は、マップ上に衝突を追加する例を示していますが、ゲームの実行中に割り当てを解除するのは難しいでしょう。 – undefined000