Blogとは、株式会社LIFULLの社員が記事を共有するブログです。自分の役立つ経験や知識を広めることで世界をもっとFULLにしていきます。GameController.frameworkをつかってG550ゲームパッドとSpriteKitゲームを接続してみよう2014-03-25GameController.frameworkをつかってG550ゲームパッドとSpriteKitゲームを接続してみようiOSサムです。今日はGameController.frameworkについて軽く触れます。GameController.frameworkは、MFiのiPhone/iPod/iPadとBluetoothまたは物理接続したコントローラの入力をアプリケーション側に受信できるものです。GameController.frameworkについて書きます。LibrariesでGameController.frameworkを追加します。importSKSceneクラスを拡張してあるシーンにGameControllerを追加します。ゲームパッド用のプロパティを宣言まず、ゲームパッドのクラスオブジェクトには2タイプあります。Classこちらはとてもシンプルなゲームパットクラスで、次のコントロールを結びつけています。(D-pad).GCExtendedGamepad一方のGCExtendedGamepadクラスは、GCGamepadクラスとは事なり、より多くのコントロールに関連しています。thumbsticks.G550はGCGamepadクラス用のゲームパッドなので、次のように宣言します。ゲームパッドの接続、切断を検出を通知するコードを追加ゲームパッドは、Bluetoothで接続されても、ケーブルを介して直接接続されても、ゲーム上では同じように動作されます。ゲームパッドが接続または切断されたときは、GameController.frameworkからNotificationが発生するので、これを受け取るセレクターを用意します。この通知は、ゲームコントローラの接続/切断が変更されるたびに呼び出されます。ワイヤレスゲームパッドの場合ワイヤレスコントローラは、通常ゲームの外で接続されます(Bluetoothゲームパッドとかを利用したとき?)そのため、ゲームの起動前に接続しておく(または、接続した後にゲームを再起動する)必要があります。startWirelessControllerDiscoveryWithCompletionHandlerクラスメソッドを使うことで、ゲーム内でゲームパッド(優先、無線含む)を直接接続することもできます。この検出プロセスを実行すると、新しいコントローラが自動的に検出され、ゲームパッドとして接続されます。検出プロセスは自動的にタイムアウト(30秒くらい?)されますがstopWirelessControllerDiscoveryクラスメソッドを呼び出すことで、現在実行されている検索プロセスを停止させることができます。これらのクラスメソッドは、アプリケーションで適切なユーザインターフェースを設計して、提供する必要があります。※例えば、ゲーム設定とかに「ワイヤレスコントローラと接続する」的な項目を追加したりとかまとめ以上で、GameController.frameworkを使ってG500ゲームパッドに接続することができます。次回は、ボタンのイベントを取得してみようと思います。これらのソースコードはGitHubで公開しております。Centricで行きたい私たちLIFULLの中島です。iOS開発Gの塙です。本日でWWDCは3日目です。早い...2016-01-05右も左も分からない新卒が純正Objective-CのiOSアプリにSwiftを突っ込んでみた話こんにちは。HOME'SのiOSアプリチームの新卒1年目の塙です。新...2016-01-04画像処理を導入するときに検討すべき10の手法あけましておめでとうございます。株式会社LIFULL「LIFULL」とは、世界中の人々の人生やくらし(LIFE)を満たす(FULL)企業へと成長していきたいという想いをこめた造語です。LIFULLはてなブログをはじめよう!nextdeveloperさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。