(57)【要約】【課題】１つのボタンでオブジェクトの移動を制御できるようにし、且つ複雑な動きも可能にしたオブジェクト移動制御プログラムを提供する。【解決手段】ユーザによるタップ操作を検出する１つのボタン１０３およびディスプレイを有するコンピュータが以下の手段を実行する。コンピュータは、ディスプレイにオブジェクトを表示し、このオブジェクトを所定の中心方向から正逆所定の旋回角度（例えば１２０度）ずつ旋回させる。コンピュータは、操作部の操作を検出したとき、そのときオブジェクトが向いていた方向を指定方向とし、この指定方向にオブジェクトを所定の移動速度で移動させ、この指定方向を新たな中心方向として設定する。【選択図】図４
2019133208.tif 000002
【特許請求の範囲】
【請求項１】
ユーザによる押し下げ操作または接触操作を検出する１つの操作部およびディスプレイが接続されるコンピュータを、
前記ディスプレイにオブジェクトを表示する第１手段、
前記オブジェクトを所定の中心方向から正逆の旋回方向に所定の旋回角度ずつ旋回させる第２手段、
前記操作部の操作を検出したとき、そのとき前記オブジェクトが向いていた方向を指定方向とし、この指定方向に前記オブジェクトを所定の移動速度で移動させる第３手段、
この指定方向を前記中心方向とする第４手段、
として機能させるオブジェクト移動制御プログラム。
【請求項２】
前記旋回角度は、９０度よりも大きく設定されている請求項１に記載のオブジェクト移動制御プログラム。
【請求項３】
前記移動速度は、所定の初速から徐々に減衰して０になるように変化し、
前記第４手段は、先の操作である第１操作による移動速度が０よりも大きいときに、新たな操作である第２操作がされた場合、第１操作の指定方向向きの第１移動ベクトルと第２操作の指定方向向きの第２移動ベクトルとの合成ベクトルの方向に、前記オブジェクトを移動させる
請求項１または請求項２に記載のオブジェクト移動制御プログラム。
【請求項４】
請求項１乃至請求項３のいずれかに記載のオブジェクト移動制御プログラムを記憶する記憶部と、ユーザによる押し下げ操作または接触操作を検出する１つの操作部と、ディスプレイと、前記オブジェクト移動制御プログラムを実行する制御部と、を備えたゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画面上に表示されたオブジェクトを、ユーザが簡略な操作で移動させることができるオブジェクト移動制御プログラムおよびゲームシステムに関する。
【背景技術】
【０００２】
画面に表示されたオブジェクトをユーザの操作によって移動させるゲームが存在する。例えば、特許文献１のものは、十字ボタンやアナログスティックを前後左右に操作することにより、オブジェクト（キャラクタ）を前後左右に移動させるものである。また、特許文献２のものは、ゲーム装置のコントローラにハンドルを取り付け、ハンドル操作によってオブジェクト（自動車）の移動方向が決定されるものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２３９７６０号公報
【０００４】
【特許文献２】特開２００２−２２４４４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１のものは複数のスイッチを組み合わせて構成された複雑な構造のキースイッチを用いてオブジェクトの移動を制御するものである。また、特許文献２のものは、ユーザによる回転操作を検出する機能を備えた操作検出部を用いてオブジェクトの移動を制御するものである。ともに、複雑な構造の専用のコントローラが必要であり、複雑な機構部を持たないスマートフォンなどの端末で行うゲームに適用するのは困難であった。
【０００６】
そこで本発明は、１つの操作部でオブジェクトの移動を制御できるようにし、且つ複雑な動きも可能にしたオブジェクト移動制御プログラムおよびゲームシステムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の第１の側面によって提供されるオブジェクト移動制御プログラムは、ユーザによる押し下げ操作または接触操作を検出する１つの操作部およびディスプレイが接続されるコンピュータを以下の第１手段〜第４手段として機能させる。なお、操作部はディスプレイに表示されるものであってもよい。第１手段は、ディスプレイにオブジェクトを表示する。第２手段は、オブジェクトを所定の中心方向から正逆の旋回方向に所定の旋回角度ずつ旋回させる。第３手段は、操作部の操作を検出したとき、そのときオブジェクトが向いていた方向を指定方向とし、この指定方向にオブジェクトを所定の移動速度で移動させる。第４手段は、この指定方向を旋回の新たな中心方向として設定する。ユーザは、移動させたい方向にオブジェクトが向いたときに操作部を操作することでその方向に所定速度で移動させることができ、１つの操作部でオブジェクトを所望の方向に移動させることができる。
【０００８】
上記発明において、旋回角度を９０度よりも大きく設定してもよい。これにより、後退する方向への進路変更も可能になる。
【０００９】
上記発明において、移動速度は、所定の初速から徐々に減衰して０になるように変化させてもよい。そして、第４手段は、先の操作である第１操作による移動速度が０よりも大きいときに、新たな操作である第２操作がされた場合、第１操作の指定方向向きの第１移動ベクトルと第２操作の指定方向向きの第２移動ベクトルとの合成ベクトルの方向にオブジェクトを移動させる。これにより、１つの操作部の複数回の操作を合成してオブジェクトを自由な方向且つ速度に制御することが可能になる。
【００１０】
本発明の第２の側面によって提供されるゲームシステムは、上記オブジェクト移動制御プログラムを記憶する記憶部と、ユーザによる押し下げ操作または接触操作を検出する１つの操作部と、ディスプレイと、オブジェクト移動制御プログラムを実行する制御部と、を備えたことを特徴とする。
【発明の効果】
【００１１】
この発明によれば、１つのボタン操作で画面上のオブジェクトの移動を制御し、且つ複雑な動きをさせることが可能になる。
【図面の簡単な説明】
【００１２】
【図１】携帯端末で実行されるゲームの画面を示す図である。
【図２】携帯端末のブロック図である。
【図３】オブジェクトの旋回範囲を説明する図である。
【図４】旋回の中心方向が変ったときの旋回範囲の切り換えについて説明する図である。
【図５】ボタン操作がされたときのオブジェクトの移動速度の変化を示す図である。
【図６】複数の操作（移動ベクトル）が重複した場合の移動方向・移動速度の変化を説明する図である。
【図７】携帯端末の制御部の動作を示すフローチャートである。
【図８】携帯端末の制御部の動作を示すフローチャートである。
【発明を実施するための形態】
【００１３】
図面を参照して本発明の実施形態のゲーム機として機能する携帯端末１およびゲームプログラム５０について説明する。なお、本発明の構成は、実施形態に限定されるものではない。また、各フローチャートの処理手順は、実施形態に限定されるものではなく、矛盾などが生じない限り順不同である。
【００１４】
携帯端末１では、図１に示すゲームが実行される。このゲームでは、ディスプレイ１００上に、所定のコース１０２が表示され、コース１０２上にユーザの操作で移動制御されるオブジェクト１０１が表示される。また、ディスプレイ１００の右下部にはユーザによってタップ操作されるボタン１０３が表示される。オブジェクト１０１は、最初、コース１０２の一端であるスタートライン１０２Ａに表示される。ユーザの操作により、オブジェクト１０１がスタートライン１０２Ａから移動を開始し、コース１０２の他端であるゴールライン１０２Ｂに到達すればゲームクリアである。コース１０２の両側には壁１０２Ｃが設けられており、移動しているオブジェクト１０１が壁１０２Ｃに接触するとクリア失敗となり、スターライン１０２Ａの位置からやり直しとなる。
【００１５】
なお、以下の説明において、図１の左から右方向をＸ軸方向とし、下から上方向をＹ軸方向とする。また原点からＸ軸方向を０度とし、Ｙ軸方向（反時計回り）に正の回転方向とする。図３以下の各図においても同様である。またボタン１０３をタップする操作を「押す」と表現する場合がある。
【００１６】
ユーザは、ディスプレイ１００上に表示されたボタン１０３をタップすることにより、オブジェクト１０１の移動方向を決定する。また、短い間隔でボタン１０３を続けてタップすることにより、移動速度を変化（速く）させることも可能である。図１のゲームでは、１つのボタン１０３のみでオブジェクト１０１の移動方向を含む移動の制御を行えるようにしたことが特徴である。
【００１７】
図２は、ゲームが実行される携帯端末１のブロック図である。この実施形態では、ゲームを実行するゲーム機として、多機能携帯電話（いわゆるスマートフォン）を例にあげて説明する。なお、ゲーム装置はこれに限定されず、たとえば、専用の携帯ゲーム機、パーソナルコンピュータなどでもよい。この場合、ボタン１０３は画面に表示されるものに限定されず、ハードウェアの押しボタンスイッチであってもよい。
【００１８】
携帯端末１は、図２に示すようにバス２６上に制御部２０、操作部３０、外部記憶部３１、Ｗｉ−Ｆｉ通信回路３２および３Ｇ／４Ｇ通信回路３３を有している。制御部２０は、ＣＰＵ２１、ＲＯＭ（フラッシュメモリ）２２、ＲＡＭ２３、画像プロセッサ２４および音声プロセッサ２５を含んでいる。画像プロセッサ２４には、ビデオＲＡＭ（ＶＲＡＭ）４０が接続され、ＶＲＡＭ４０には表示部４１が接続されている。表示部４１は、ディスプレイ１００を含んでいる。音声プロセッサ２５には、Ｄ／Ａコンバータを含むアンプ４２が接続され、アンプ４２にはスピーカ１６およびイヤホン端子１７が接続されている。
【００１９】
Ｗｉ−Ｆｉ通信回路３２は、無線アクセスポイントとの間でデータ通信を行う。通信規格は、ＩＥＥＥ８０２．１１ｇ規格などが適用される。３Ｇ／４Ｇ通信回路３３は、携帯電話通信網を介して、音声通話およびデータ通信を行う。これらデータ通信によってゲームプログラムのダウンロードが行われる。
【００２０】
操作部３０は、タッチパネル３００を含んでいる。タッチパネル３００は、ディスプレイ１００の全面を覆っており、ディスプレイ１００に表示されたボタン１０３が押された（タップされた）ことを検出する。操作部３０は、ユーザによるボタン１０３のタップなどのタッチパネル３００の操作を検出し、その操作情報をＣＰＵ２１に入力する。
【００２１】
外部記憶部３１は、携帯端末１のカードスロットに挿入されているマイクロＳＤカードであり、ダウンロードしたゲームプログラム５０などを記憶する。ゲームプログラム５０は、プログラム本体のほか、ゲームの進行に必要なアイテム画像などのゲームデータを含んでいる。
【００２２】
ＲＡＭ２３には、ＣＰＵ２１がゲームプログラム５０を実行する際に使用されるワークエリアが設定される。ワークエリアには、ゲームの進行に伴って発生する各種パラメータなどが含まれる。ＲＯＭ２２には、携帯端末１の動作を制御するためのシステムプログラムなどが記憶されている。
【００２３】
画像プロセッサ２４は、ゲーム映像を生成可能なＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ，グラフィックス・プロセッシング・ユニット）を備えている。画像プロセッサ２４は、ＣＰＵ２１の指示に従って図１に示すようなゲーム画像を生成し、ＶＲＡＭ４０上に描画する。
【００２４】
音声プロセッサ２５は、ゲーム音声を生成するＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ：デジタル・シグナル・プロセッサ）を有している。音声プロセッサ２５は、生成したゲーム音声をアンプ４２に出力する。アンプ４２は、この音声信号を増幅してスピーカ１６およびイヤホン端子１７に出力する。
【００２５】
図３（Ａ）〜（Ｃ）は、オブジェクト１０１の旋回方向αの範囲を説明する図である。オブジェクト１０１は、所定の中心方向θから左右に１２０度ずつ、２４０度の範囲で旋回（首振り）する。旋回の中心は、オブジェクト１０１自身の中心である。オブジェクト１０１には、自身がどの方向を向いているかをユーザに判らせるために、突起部１０１Ａが設けられている。オブジェクト１０１が、図１のスタートライン１０２Ａにいるときは、図３に示すようにＸ軸方向（右方向）が中心方向である。同図（Ａ）が、オブジェクト１０１が中心方向に向いている状態を示している（α＝θ）。この状態からオブジェクト１０１は、まず左方向（反時計回り：以下、正方向と呼ぶ。）に旋回し、同図（Ｂ）に示す正方向１２０度まで旋回する（α＝θ＋１２０）。ここで旋回方向を右方向（時計回り：以下、逆方向と呼ぶ。）に反転し、同図（Ｃ）に示す逆方向１２０度まで旋回する（α＝θ−１２０）。さらに旋回方向を正方向に反転し、ユーザのボタン１０３操作があるまで、図３（Ｂ）と図３（Ｃ）に示す範囲で旋回を繰り返す。
【００２６】
ユーザは、オブジェクト１０１がどの方向を向いているときでもボタン１０３を押す（タップする）ことができる。ユーザがボタン１０３を押すと、オブジェクト１０１は、そのとき向いていた方向α０を新たな中心方向θとして旋回範囲を更新し、その方向に移動ベクトルｇ（ｔ）を生成してオブジェクト１０１を移動させる。
【００２７】
図４（Ａ），（Ｂ）は、オブジェクト１０１が図３に示した旋回範囲（中心方向θ＝０）で旋回しているときにボタン１０３が押された場合のオブジェクト１０１の旋回範囲の更新を説明する図である。図４（Ａ），（Ｂ）ともにオブジェクト１０１が４５度方向を向いたとき（α＝４５）にボタン１０３が押された場合の例である。図４（Ａ）は、オブジェクト１０１が正方向に旋回して４５度の方向を向いたときにボタン１０３が押された場合の例を示している。ボタン１０３が押された瞬間、旋回の中心方θが０度から４５度に更新される。旋回方向は維持しつつ、新たな旋回範囲（中心方向θ（＝４５）±１２０度）の旋回を開始する。このため、オブジェクト１０１は４５度から正方向にさらに１２０度旋回して、逆方向に折り返す。したがって、この回の正方向への旋回角度は、２８５度（＝１２０＋４５＋１２０）である。その後は、４５度の方向を中心方向として、正逆１２０度の範囲で旋回する。
【００２８】
一方、図４（Ｂ）は、オブジェクト１０１が逆方向に旋回して４５度の方向を向いたときにボタン１０３が押された場合の例を示している。ボタン１０３が押された瞬間、旋回の中心方向が０度から４５度に更新される。旋回方向は維持しつつ、新たな旋回範囲（中心方向θ（＝４５）±１２０度）の旋回を開始する。このため、オブジェクト１０１はここから逆方向に１２０度旋回したところで正方向に折り返す。したがって、この回の逆方向への旋回角度は、１９５度（＝１２０−４５＋１２０）である。その後は、４５度の方向を中心方向として、正逆１２０度の範囲で旋回する。
【００２９】
このように、ボタン１０３が押されたとき、オブジェクト１０１は旋回方向を維持しながら新しい中心方向に旋回範囲の中心を更新する。
【００３０】
次に、図５を参照して、ボタン１０３が押された場合の移動速度の変化について説明する。図５は、ボタン１０３が押された場合のオブジェクト１０１の速度変化を示す図である。オブジェクト１０１は、ボタン１０３が押された瞬間に初速ＶＳで移動を開始する。移動方向は、図３、図４で説明したボタン１０３が押されたときにオブジェクト１０１が向いていた方向である。その後、オブジェクト１０１の移動速度は、関数ｇ（ｔ）・・・（ｔはボタン操作からの時間経過）に基づいて徐々に低下してゆき、最終的に（時間Ｔ後）速度が０になって停止する。ユーザは、旋回しているオブジェクト１０１の向きを見ながら所望の方向（指定方向α０）になったとき、ボタン１０３を押す。これにより、オブジェクト１０１は、指定方向α０に移動速度ｖ＝ｇ（ｔ）で移動する。移動速度ｖをＸ軸、Ｙ軸方向に分解した成分ｖｘ，ｖｙを数式で表現すると以下のようになる。
ｖｘ＝ｇ（ｔ）・ｃｏｓθ，  ｖｙ＝ｇ（ｔ）・ｓｉｎθ
【００３１】
ユーザは、オブジェクト１０１が移動している途中でもさらにボタン１０３を押すことが可能である。その場合、オブジェクト１０１は、先に生成されている移動ベクトルと新たな操作による移動ベクトルの合成方向・合成速度で移動する。このような場合の移動方向・移動操作について図６を参照して説明する。図６は、ボタン１０３が押され（操作１）、この操作１による移動が停止しないうちに次のボタン１０３の押下（操作２）があった場合の移動速度・移動方向を説明する図である。
【００３２】
図６（Ａ）は、一定期間毎の移動距離（移動速度）と移動方向を示した図である。また、図６（Ｂ）は、図６（Ａ）からオブジェクト１０１の移動経路を抜き出した図である。この図では、時刻Ｔｓ０に操作１（指定方向α０１＝０）がされ、時刻Ｔｓ３に操作２（指定方向α０＝４５）がされた場合の例を示している。なお、操作１はオブジェクト１０１が停止している状態でされたものとする。操作１がされると、移動ベクトルｖ１が生成され、角度０の方向（Ｘ軸方向）に、初速ＶＳの速度で移動を開始し、ｖ１＝ｇ（ｔ１）の速度変化で移動を継続する。
【００３３】
そして、時刻Ｔｓ３で操作２がされる。指定方向α０２が４５度であるため、４５度の移動ベクトルｖ２が生成されるが、そのときまだ移動ベクトルｖ１が０でないため、これらの合成ベクトルｖ０の方向にオブジェクト１０１が移動する。なお、このように合成ベクトルｖ０方向に移動する場合でも、オブジェクト１０１の向き（旋回の中心方向θ）は、合成ベクトルｖ０の方向ではなく、操作２の指定方向α０２の方向である。すなわち、図６（Ｂ）の１０１−３に示したように、若干斜めを向いて移動する。
【００３４】
オブジェクト１０１は、時刻Ｔｓ６までは合成ベクトル方向に移動する。Ｔｓ７で操作１による移動ベクトルｖ１が（時間Ｔが経過して）０となるので、これ以後、オブジェクト１０１は、操作２の移動ベクトルｖ２のみで移動する。
【００３５】
図６では、２回のボタン操作が重なった場合の移動制御の例を示したが、３回以上が重なった場合には、３つの移動ベクトルを合成して移動制御をすればよい。
【００３６】
なお、図６の例では、移動ベクトルｖ２と移動ベクトルｖ１との成す角度が鋭角（±９０度未満）であるため、この２回の重なった操作よってオブジェクト１０１の移動速度は単独の操作の場合よりも加速する。一方、２つの移動ベクトルの角度が鈍角であった場合は単独の場合よりも減速する。すなわち、旋回角度を正逆９０度よりも大きくすることで、後退ぎみに進路変更することも可能になっている。
【００３７】
図７、図８のフローチャートを参照して、ゲームプログラム５０との協働によって実行される制御部２０の動作を説明する。図７（Ａ）はボタン検出動作、図７（Ｂ）は旋回制御動作、図８は移動制御動作を示すフローチャートである。これらの処理動作は短時間（たとえば１／６０秒）毎に繰り返し実行される。
【００３８】
まず、図７（Ａ）のボタン検出動作を説明する。Ｓ１１でボタン１０３が押されたか否かを検出する（Ｓ１１）。押されたことを検出した場合（Ｓ１１でＹＥＳ）、そのときの旋回方向αを検出し、検出した旋回方向αをユーザによって指定された指定方向α０とする（Ｓ１２）。そして、旋回制御動作、移動制御動作に対してボタン１０３の操作があった旨を通知する（Ｓ１３）。なお、ボタン１０３がオンされたことを検出しなかった場合には（Ｓ１１でＮＯ）、何もしないで動作を終了する。
【００３９】
図７（Ｂ）の旋回制御動作を説明する。Ｓ２１でボタン検出動作からの通知（操作検出通知）があったか否かを判断する（Ｓ２１）。操作検出通知があった場合には（Ｓ２１でＹＥＳ）、検出された指定方向α０で中心方向θを更新する（Ｓ２２）。通知がない場合には、今までの中心方向θを維持する。
【００４０】
次に、現在の旋回方向が正方向であるか否かを判断する（Ｓ２３）。正方向の場合には（Ｓ２３でＹＥＳ）、オブジェクト１０１の向く方向（角度）αをΔαだけ正方向に旋回させる（Ｓ２４）。この旋回によりオブジェクト１０１の方向αが中心方向θから正方向に１２０度以上開いた場合には（Ｓ２５でＹＥＳ）、旋回角度を逆方向に反転する（Ｓ２６）。オブジェクト１０１の方向αが中心方向θから１２０度未満の場合には（Ｓ２５でＮＯ）、Ｓ２６の動作をスキップする。Ｓ２３で旋回方向が逆方向であった場合には（Ｓ２３でＮＯ）、オブジェクト１０１の向く方向αをΔαだけ逆方向に旋回させる（Ｓ２７）。この旋回によりオブジェクト１０１の方向αが中心方向θから逆方向に１２０度以上開いた場合には（Ｓ２８でＹＥＳ）、旋回方向を正方向に反転する（Ｓ２９）。オブジェクト１０１の方向αが中心方向θから１２０度未満の場合には（Ｓ２８でＮＯ）、Ｓ２９の動作をスキップする。
【００４１】
図８の移動制御動作を説明する。まずオブジェクト１０１が現在移動中か、すなわち、有効な（経過時間ｔがＴ以内で速度が０以上の）移動ベクトルｖ（ｎ）があるかを判断する（Ｓ４１）。ここで、（ｎ）は、新しい方から数えてｎ番目の移動ベクトルであることを示すインデックスである。有効な移動ベクトルがある場合には、その移動ベクトルｖ（ｎ）の経過時間ｔ（ｎ）にΔｔを加算する（Ｓ４２）。有効な移動ベクトルが複数ある場合は全ての経過時間にΔｔを加算する。そしてこの加算により、経過時間ｔ（ｎ）がＴになったものがあればその移動ベクトルｖ（ｎ）を無効ベクトルとして消去する（Ｓ４３）。
【００４２】
そしてボタン検出動作から操作検出通知があったか否かを判断する（Ｓ４４）。操作検出通知があった場合には（Ｓ４４でＹＥＳ）、すでに存在する移動ベクトルのインデックスｎをそれぞれ１ずつ加算して移動ベクトルの番号をシフトし（Ｓ４５）、今回のボタン操作に対応する移動ベクトルｖ（１）を新たに生成する（Ｓ４６）。そして、移動ベクトルｖ（１）の経過時間ｔ（１）に０をセットし、中心方向θ（１）に指定方向α０をセットする。
【００４３】
そして、有効な全移動ベクトルｖ（ｎ）を加算合成した合成ベクトルｖ０を算出し（Ｓ４７）、この合成ベクトルｖ０に基づいてオブジェクト１０１を移動させる（Ｓ４８）。
Ｓ４４で操作検出通知がなかった場合には（Ｓ４４でＮＯ）、Ｓ４４からＳ４７に処理をジャンプさせる。
【００４４】
一方、有効な移動ベクトルがない場合、すなわちオブジェクト１０１が停止している場合には（Ｓ４１でＮＯ）、ボタン検出動作から操作検出通知があったか否かを判断する（Ｓ４９）。操作検出通知があった場合には（Ｓ４９でＹＥＳ）、今回のボタン操作に対応する移動ベクトルｖ（１）を新たに生成し、移動ベクトルｖ（１）の経過時間ｔ（１）に０をセットし、中心方向θ（１）に指定方向α０をセットする（Ｓ５０）。そして、移動ベクトルｖ（１）を算出し（Ｓ５１）、この移動ベクトルｖ（１）に基づいてオブジェクト１０１を移動させる（Ｓ５２）。Ｓ４９で操作検出通知がなかった場合には（Ｓ４９でＮＯ）、何もしないで動作を終了する。
【００４５】
上の実施形態では、３つ以上の移動ベクトルが重複した場合でも、全てを合成して移動方向を決定するようにしているが、新しい２つの移動ベクトルのみ有効として、古い移動ベクトルをキャンセルするようにしてもよい。これにより、制御が簡略化させることができる。この場合でも、古い操作による速度ベクトルは小さいため、キャンセルしても影響が少ない（ユーザに分からない）と思われるためである。
【００４６】
また、一定時間以内（たとえば０．５秒以内など）の連続操作は一回目操作で生成される移動ベクトルの速度を１．５倍にするなど、連続操作によって特殊な移動ベクトルを生成するようにすることも可能である。
【００４７】
実施形態では、オブジェクト１０１の旋回速度を一定にしているが、変化させるようにしてもよい。たとえば、直前のボタン操作からの時間経過ｔに応じて徐々に旋回速度を速くしてもよい。また、オブジェクト１０１の移動速度に対応して（正または負の相関で）揺動速度を変化させるなどである。
【００４８】
また、ボタン操作に対応して移動ベクトルを生成するとき、前回のボタン操作からの経過時間に応じて初速ＶＳを変化させるようにしてもよい。たとえば、短い間隔で操作するほど初速を速くして、タイムトライアルに有利なようにしてもよい。
【００４９】
また、旋回角度は１２０＋１２０＝２４０に限定されない。また正逆とも同じ旋回角度でなくてもよい。
【００５０】
なお、オブジェクト１０１が壁１０２Ｃに接触した場合の処理は以下のような処理のなかから適当なものを選択すればよい。オブジェクト１０１が壁１０２Ｃに接触すると壁１０２Ｃに反射するように移動方向を変化させる。オブジェクト１０１が壁１０２Ｃに接触するとオブジェクト１０１が壁１０２Ｃに沿って進むように移動方向を変化させる。オブジェクト１０１が壁１０２Ｃに接触すると、その位置でオブジェクト１０１を停止させる。
【００５１】
また、この実施形態では、２Ｄ（平面上）における方向制御について説明したが、本発明は３Ｄ（三次元）での方向制御に適用することも可能である。例えば、オブジェクト１０１が中心方向を含む１つの平面（第１平面）内で旋回して、ユーザに第１平面内での指定方向を指定させたのち、中心方向を含み第１平面に直行する第２平面内で旋回して、ユーザに第２平面内での指定方向を指定させ、２つの指定方向を合成した方向を三次元空間内での指定方向とすればよい。または、第１平面、第２平面でそれぞれ別の矢印が異なる速度で旋回し、ユーザの１回のボタン操作で２平面内の指定方向を指定させてもよい。
【符号の説明】
【００５２】
１  ゲーム機
５  ゲームメディア
２０  制御部
５０  ゲームプログラム
１００  ディスプレイ
１０１  オブジェクト
１０２  コース
１０３  押しボタン
【図１】
2019133208.tif 000003
【図２】
2019133208.tif 000004
【図３】
2019133208.tif 000005
【図４】
2019133208.tif 000006
【図５】
2019133208.tif 000007
【図６】
2019133208.tif 000008
【図７】
2019133208.tif 000009
【図８】
2019133208.tif 000010
【手続補正書】
【提出日】平成31年3月14日(2019.3.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザによる押し下げ操作または接触操作を検出する１つの操作部およびディスプレイが接続されるコンピュータを、
前記ディスプレイにオブジェクトを表示する第１手段、
前記オブジェクトを所定の中心方向から正逆の旋回方向に所定の旋回角度ずつ旋回させる第２手段、
前記操作部の操作を検出したとき、そのとき前記オブジェクトが向いていた方向を指定方向とし、この指定方向に前記オブジェクトを所定の移動速度で移動させる第３手段、
この指定方向を前記中心方向とする第４手段、
として機能させ、
前記第３手段は、
前記移動速度を、所定の初速から徐々に減衰して０になるように変化させ、
前回の操作である第１操作による移動速度が０よりも大きいときに、今回の操作である第２操作がされた場合、前記第１操作の指定方向向きの第１移動ベクトルと前記第２操作の指定方向向きの第２移動ベクトルとの合成ベクトルの方向に、前記オブジェクトを移動させるオブジェクト移動制御プログラム。
【請求項２】
請求項１に記載のオブジェクト移動制御プログラムを記憶する記憶部と、ユーザによる押し下げ操作または接触操作を検出する１つの操作部と、ディスプレイと、前記オブジェクト移動制御プログラムを実行する制御部と、を備えたゲームシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
本発明の第１の側面によって提供されるオブジェクト移動制御プログラムは、ユーザによる押し下げ操作または接触操作を検出する１つの操作部およびディスプレイが接続されるコンピュータを以下の第１手段〜第４手段として機能させる。なお、操作部はディスプレイに表示されるものであってもよい。第１手段は、ディスプレイにオブジェクトを表示する。第２手段は、オブジェクトを所定の中心方向から正逆の旋回方向に所定の旋回角度ずつ旋回させる。第３手段は、操作部の操作を検出したとき、そのときオブジェクトが向いていた方向を指定方向とし、オブジェクトの移動速度を、所定の初速から徐々に減衰して０になるように変化させつつ、指定方向にオブジェクトを所定の移動速度で移動させる。ただし、第３手段は、前回の操作である第１操作による移動速度が０よりも大きいときに、今回の操作である第２操作がされた場合、第１操作の指定方向向きの第１移動ベクトルと第２操作の指定方向向きの第２移動ベクトルとの合成ベクトルの方向に、オブジェクトを移動させる。第４手段は、この指定方向を旋回の新たな中心方向として設定する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
ユーザは、移動させたい方向にオブジェクトが向いたときに操作部を操作することでその方向に所定速度で移動させることができ、１つの操作部でオブジェクトを所望の方向に移動させることができる。また、１つの操作部の複数回の操作を合成してオブジェクトを自由な方向且つ速度に制御することが可能になる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】削除
【補正の内容】