私はiPhoneゲームを作成するためのフレームワークであるCocos2dを使用しています。 最近、彼らはMacのサポートをリリースしました。私はMac用の簡単なゲームを作っています。Cocos2d - Mac:キーボードイベントを確認しますか?
しかし、私はMacのキーボードでXキーが押されたときをチェックする方法については知らない。
あなたが何をすべきObjective-Cの
私はiPhoneゲームを作成するためのフレームワークであるCocos2dを使用しています。 最近、彼らはMacのサポートをリリースしました。私はMac用の簡単なゲームを作っています。Cocos2d - Mac:キーボードイベントを確認しますか?
しかし、私はMacのキーボードでXキーが押されたときをチェックする方法については知らない。
あなたが何をすべきObjective-Cの
:
self.isKeyboardEnabled = YES;
あなたは、キーの押下のメッセージを受信するために使用することができます。
-(void) ccKeyUp:(NSEvent*)event;
-(void) ccKeyDown:(NSEvent*)event;
これはそれを行う必要があります。
は、詳細についてはこちらを参照してください:ここで
は一例です:
-(id) init
{
if((self=[super init]))
{
.
.
.
self.isKeyboardEnabled = YES ;
.
.
.
}
}
- (void) ccKeyDown : (NSEvent*) KeyDownEvent
{
NSString *str_1 = [KeyDownEvent characters];
unichar ch = [str_1 characterAtIndex:0];
if (ch == 97) // if 'a' Button Pressed Down
{
if (canMoveRight == NO)
{
canMoveLeft = YES ;
}
}
else if (ch == 100) // if 'd' Button Pressed Down
{
if (canMoveLeft == NO)
{
canMoveRight = YES ;
}
}
}
- (void) ccKeyUp : (NSEvent*) KeyDownEvent
{
NSString *str_1 = [KeyDownEvent characters];
unichar ch = [str_1 characterAtIndex:0];
if (ch == 97) // if 'a' Button Released
{
canMoveLeft = NO ;
}
else if (ch == 100) // if 'd' Button Released
{
canMoveRight = NO ;
}
}
PS:文字コードがそのASCIIコードに基づいています。
私はそれに従いました、私は彼がやったことをかなり誓いましたが、私のプレーヤーは動かないでしょう。 私のプレーヤーオブジェクトは、すべてのスプライトアニメーション処理などを含むクラスです。クラスには、右と左の2つの機能があります。キーが検出されると、シーン内で関数が呼び出されます。 しかし、私は代わりにccKeyRightとccKeyLeftを使用していますが、大きな違いはありますか? – Voldemort
ccKeyUpとccKeyDownは、キーボードの上下の矢印ではなく、「キーボードプレス」と「キーボードリリース」用です。上記の2つの方法を使用して、キーコードを確認する必要があります。あなたが "keyCode"の値を比較する場所を見ると、キーボードの各キーには実際に押されたキーを決定する "keyCode"の値が異なります。各キーの "ccKey *"リストはありません。 ccKeyDownキー(任意のキー)が押されたことを判断し、そのキーに関する情報が「イベント」オブジェクトを介して渡される –