0

私はSwift 3でMac OS用のゲームをSpriteKitとGameplayKitで書いています。 キーボードプレスイベントをキャプチャするメソッドを既に作成してあり、マップ上でキャラクターをコントロールできます。キーボードイベントが記録されている場合、すべてのUpdateでMovementComponentを使用してスプライトが移動しています。 しかし、最初のキーを押した直後に文字の移動に遅延があります。 矢印キーを押したままにすると、私のキャラクターは標準的な移動動作の間移動しますが、最初のキーを押した後にキーボードが反復サイクルを開始する前に遅延が約0.5遅れているので、移動が遅くなります。 私の質問は:私は、キーボードの繰り返し率を変更するか、ゲームの実行中にこの遅延を削除するか、またはマックゲームでキーボード経由で連続的な動きをコントロールするためのよりよい方法がありますか?ゲームでキーボードのリピート率を変更するにはどうすればよいですか?

ありがとうございます。

+1

ゲーム内でキーボードイベントに「スウィフト3」とは何が関係していますか?あなたがSwiftを使用していることはすでにタグで明記されていますが、これはフレームワークの使用に関する質問です。 –

+0

繰り返しレートは通常、OSで定義されていますが、私はこれを変更するアプリがないかどうかはわかりません。私はキーダウンとキーアップイベントを監視し、スプライトキットの時間外にポーリングする必要がある場合は 'NSTimer'のようなものを使用するか、必要に応じてSprite Kitの時間にアップデートメソッドを使用してキーの状態をチェックします(上/下)とそれに応じて処理 – Knight0fDragon

+0

あなたのコメントありがとうございます。私はこれに新しく、専門用語ではあまり鋭くないかもしれません。解決策を提案しよう。 –

答えて

0

これはおそらく擬似コードの観点から考えられます。

While key is pressed, do such-and-such 

このようにして、保持されているキープレスのシステムのポーリングとレポートから独立することができます。

関連する問題