1

次のように、コードでさまざまなビットマスク カテゴリを宣言しています。

static const uint32_t playerCategory = 1; 
static const uint32_t enemyCategory = 2; 

私のゲームは、これらのカテゴリを使用して問題なく動作しています。

ただし、さまざまなサンプル プロジェクトやチュートリアルでは、ビットマスク値が次のように定義されています。

static const uint32_t playerCategory = (0x01 << 1); // 0010
static const uint32_t enemyCategory = (0x01 << 2); // 0010

質問

これらの値を宣言するためにこのメソッド (ビットごとのシフト) が使用されるのはなぜですか? また、これらの値を宣言し、連絡先デリゲートで比較するのに最適な方法はどれですか?

4

2 に答える 2