コーディングしたゲームにUIImageViewを接続しています。ただし、ジョイスティック/十字キーを使用してこのUIImageViewを移動する方法を知りたいです。方法がわからないため、JoyStickまたはD-Padをコーディングしていません。どうすればこれができるのか教えていただければ幸いです。
編集:
仮想ジョイスティック(アプリ内)。
コーディングしたゲームにUIImageViewを接続しています。ただし、ジョイスティック/十字キーを使用してこのUIImageViewを移動する方法を知りたいです。方法がわからないため、JoyStickまたはD-Padをコーディングしていません。どうすればこれができるのか教えていただければ幸いです。
編集:
仮想ジョイスティック(アプリ内)。
ジェイルブレイクされたiphoneを使用している場合は、iphone/ipodとのシリアル通信にrs232を使用するための このチュートリアルを試すことができます。
それ以外の場合、合法的に物事を行いたい場合は、iPhoneの30ピンシリアル接続に接続された外部ジョイスティック、またはBluetoothを介して、登録済みiOS開発者(RAD)であり、Made for iPod Program(MFI)の一部である必要があります。
iOSでアクセサリとの通信を設定するには、 ExternalAccessoryFrameworkを使用する必要があります。このうち、AppleのサンプルプロジェクトはEADemoで、AppleのウォークスルーはExternal AccessoryProgrammingTopicsです。
また、 Building iPhone OS Accessoriesと呼ばれるApressの本、およびあなたがやりたいことに似ているポンゲームの関連するデモプロジェクトもあります。この本では、EAAccessoryFramworkコードのセットアップ方法と、ゲームコントローラーハードウェアの構築方法について説明していますが、この情報を取得するにはMFiライセンスである必要があるため、アクセサリのファームウェアの作成方法については説明していません。
それで始められるといいのですが。:)
仮想十字キーを作成する場合は、次のことを試してください。
4つのUIButtonオブジェクトを作成し、方向矢印のグラフィックで設定します(この部分はIBで行うことをお勧めします)。
次に、4つの個別のIBActionメソッドを作成し、IBを介して、またはプログラムでボタンにリンクしますviewDidLoad
。
各IBActionメソッドは次のようになります。
-(IBAction)moveLeft:(id)sender{
myImageView.center = CGPointMake(myImageView.center.x-10, myImageView.center.y);
}
-(IBAction)moveRight:(id)sender{
myImageView.center = CGPointMake(myImageView.center.x+10, myImageView.center.y);
}
-(IBAction)moveUp:(id)sender{
myImageView.center = CGPointMake(myImageView.center.x, myImageView.center.y-10);
}
-(IBAction)moveDown:(id)sender{
myImageView.center = CGPointMake(myImageView.center.x, myImageView.center.y+10);
}
画像を移動させたいピクセル数に10を変更できます。
ビューを移動するときにビューをアニメーション化する場合は、アニメーションブロックを挿入して移動コードをラップできます。
[UIView animateWithDuration:1.0 animations:^{
myImageView.center = CGPointMake(myImageView.center.x, myImageView.center.y+10);
}];
さらに詳しい説明が必要な場合はお知らせください。