0

コーディングしたゲームにUIImageViewを接続しています。ただし、ジョイスティック/十字キーを使用してこのUIImageViewを移動する方法を知りたいです。方法がわからないため、JoyStickまたはD-Padをコーディングしていません。どうすればこれができるのか教えていただければ幸いです。


編集:

仮想ジョイスティック(アプリ内)。

4

2 に答える 2

3

ジェイルブレイクされた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ライセンスである必要があるため、アクセサリのファームウェアの作成方法については説明していません。

それで始められるといいのですが。:)

于 2011-04-08T15:39:04.407 に答える
2

仮想十字キーを作成する場合は、次のことを試してください。

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); 
}]; 

さらに詳しい説明が必要な場合はお知らせください。

于 2011-04-08T16:03:15.943 に答える