(57)【要約】【課題】タッチパネルへのタッチ位置にずれが生じうる場合であっても、誤った入力がなされる可能性を低減する。【解決手段】所定のゲームに係るプログラムは、プロセッサ１１を、タッチパネル１２に対するタッチのタッチ位置Ｐを示す情報を取得するタッチ位置情報取得部１１３と、タッチパネル１２に第１領域及び第２領域を割り当てる操作領域割当部１１４と、タッチ位置Ｐに基づいてゲームに係る指示の内容を決定するゲーム制御部１１１として機能させ、ゲーム制御部１１１は、タッチパネル１２に対するタッチが継続されている状態において、タッチ位置Ｐが第１領域から第２領域に移動した場合、タッチ位置Ｐの移動速度が所定の速度条件を満たす場合にはゲームに係る指示を第１領域に対応する第１の指示から第２領域に対応する第２の指示に変更し、タッチ位置Ｐの移動速度が所定の速度条件を満さない場合にはゲームに係る指示を第１の指示に維持する。【選択図】図４
2020162840.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサを、
タッチパネルに対するタッチのタッチ位置を示すタッチ位置情報を取得する取得部と、
前記タッチパネルに、第１領域及び第２領域を割り当てる領域割当部と、
前記タッチ位置情報の示すタッチ位置に基づいて、ゲームに係る指示の内容を決定する指示部と、
して機能させ、
前記指示部は、
前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合、
前記タッチ位置情報の示すタッチ位置の移動速度が所定の速度条件を満たす場合には、前記ゲームに係る指示を、前記第１領域に対応付けられた第１の指示から、前記第２領域に対応付けられた第２の指示に変更し、
前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満さない場合には、前記ゲームに係る指示を前記第１の指示に維持する、
ことを特徴とする、プログラム。
【請求項２】
前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合で、且つ、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさない場合に、前記タッチ位置情報の示すタッチ位置に基づいて、前記第１領域及び前記第２領域の前記タッチパネルへの割り当てを変更する、
ことを特徴とする、請求項１に記載のプログラム。
【請求項３】
前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合で、且つ、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさない場合に、前記タッチ位置情報の示すタッチ位置の移動に基づいて、前記第１領域及び前記第２領域の各々の位置を移動する、
ことを特徴とする、請求項２に記載のプログラム。
【請求項４】
前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合で、且つ、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさない場合に、前記第１領域と前記第２領域との境界線に交差する方向に、前記第１領域及び前記第２領域の各々の位置を移動する、
ことを特徴とする、請求項３に記載のプログラム。
【請求項５】
前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合で、且つ、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさない場合に、所定の点を中心にして、前記第１領域及び前記第２領域を回転移動させる、
ことを特徴とする、請求項２に記載のプログラム。
【請求項６】
前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合で、且つ、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさない場合に、前記タッチ位置情報の示すタッチ位置の移動に基づいて、前記第１領域及び前記第２領域の形状を変形させる、
ことを特徴とする、請求項２に記載のプログラム。
【請求項７】
前記領域割当部は、前記タッチ位置に関するタッチ条件が満たされる場合、前記第１領域及び前記第２領域の前記タッチパネルへの割り当てを初期状態に戻す、
ことを特徴とする、請求項２乃至６のうち何れか１項に記載のプログラム。
【請求項８】
前記プロセッサを、
前記指示部が前記ゲームに係る指示を前記第１の指示から前記第２の指示に変更する場合に、前記タッチパネルを振動させる振動制御部、
として更に機能させる、
ことを特徴とする、請求項１乃至７のうち何れか１項に記載のプログラム。
【請求項９】
前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさずに、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たしていない間、前記タッチ位置情報の示すタッチ位置に基づいて、前記第１領域及び前記第２領域の前記タッチパネルへの割り当てを変更する、
ことを特徴とする、請求項２乃至８のうち何れか１項に記載のプログラム。
【請求項１０】
前記第１の指示は、前記タッチパネルに対するタッチがない状態において実行される処理と同じ処理を前記プロセッサに実行させる指示である、
ことを特徴とする、請求項１乃至９のうち何れか１項に記載のプログラム。
【請求項１１】
前記指示部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさずに、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たしたとき、前記ゲームに係る指示を前記第１の指示から前記第２の指示に変更する、
ことを特徴とする、請求項１に記載のプログラム。
【請求項１２】
前記指示部は、
前記タッチ位置が前記第１領域から前記第２領域に移動した際の移動速度が閾値速度以上である場合、
前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たすと判定する、
ことを特徴とする、請求項１乃至１１のうち何れか１項に記載のプログラム。
【請求項１３】
タッチパネルに対するタッチのタッチ位置を示すタッチ位置情報を取得する取得部と、
前記タッチパネルに、第１領域及び第２領域を割り当てる領域割当部と、
前記タッチ位置情報の示すタッチ位置に基づいて、ゲームに係る指示の内容を決定する指示部と、
を備え、
前記指示部は、
前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合、
前記タッチ位置情報の示すタッチ位置の移動速度が所定の速度条件を満たす場合には、前記ゲームに係る指示を、前記第１領域に対応付けられた第１の指示から、前記第２領域に対応付けられた第２の指示に変更し、
前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満さない場合には、前記ゲームに係る指示を前記第１の指示に維持する、
ことを特徴とする、情報処理装置。
【請求項１４】
プロセッサが、
タッチパネルに対するタッチのタッチ位置を示すタッチ位置情報を取得し、
前記タッチパネルに、第１領域及び第２領域を割り当て、
前記タッチ位置情報の示すタッチ位置に基づいて、ゲームに係る指示の内容を決定し、
前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合、
前記タッチ位置情報の示すタッチ位置の移動速度が所定の速度条件を満たす場合には、前記ゲームに係る指示を、前記第１領域に対応付けられた第１の指示から、前記第２領域に対応付けられた第２の指示に変更し、
前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満さない場合には、前記ゲームに係る指示を前記第１の指示に維持する、
ことを特徴とする、情報処理方法。
【請求項１５】
プロセッサを、
表示画面において指定された指定位置を示す指定位置情報を取得する取得部と、
前記表示画面内に、第１領域及び第２領域を割り当てる領域割当部と、
前記指定位置情報の示す指定位置に基づいて、サービスに係る指示の内容を決定する指示部と、
して機能させ、
前記指示部は、
前記表示画面における位置の指定が継続されている状態において、前記指定位置情報の示す指定位置が前記第１領域から前記第２領域に移動した場合、
前記指定位置情報の示す指定位置の移動速度が所定の速度条件を満たす場合には、前記サービスに係る指示を、前記第１領域に対応付けられた第１の指示から、前記第２領域に対応付けられた第２の指示に変更し、
前記指定位置情報の示す指定位置の移動速度が前記所定の速度条件を満さない場合には、前記サービスに係る指示を前記第１の指示に維持する、
ことを特徴とする、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
タッチパネルを用いて、ユーザからの指示の入力を受け付ける機器が普及している（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−０４４４５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、タッチパネルに、所望の指示を入力するための所定の入力領域が設けられている場合がある。このような場合、ユーザは、タッチパネルの所定の入力領域をタッチすることで、所望の指示を入力することができる。
【０００５】
しかし、例えば、ユーザが所望の指示を変更するつもりがない場合でも、ユーザのタッチ位置が、所定の入力領域とは異なる位置にずれてしまうことがある。ユーザのタッチ位置が、所定の入力領域からずれてしまう場合、ユーザの所望する指示と異なる指示が入力されるという問題があった。
【０００６】
本発明は、上述した事情を鑑みてなされてものであり、タッチパネルへのタッチ位置にずれが生じうる場合であっても、誤った入力がなされる可能性を低減することを可能とする技術の提供を、解決課題の一つとする。
【課題を解決するための手段】
【０００７】
以上の課題を解決するために、本発明の一態様に係るプログラムは、プロセッサを、タッチパネルに対するタッチのタッチ位置を示すタッチ位置情報を取得する取得部と、前記タッチパネルに、第１領域及び第２領域を割り当てる領域割当部と、前記タッチ位置情報の示すタッチ位置に基づいて、ゲームに係る指示の内容を決定する指示部と、して機能させ、前記指示部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合、前記タッチ位置情報の示すタッチ位置の移動速度が所定の速度条件を満たす場合には、前記ゲームに係る指示を、前記第１領域に対応付けられた第１の指示から、前記第２領域に対応付けられた第２の指示に変更し、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満さない場合には、前記ゲームに係る指示を前記第１の指示に維持する、ことを特徴とする。
【図面の簡単な説明】
【０００８】
【図１】第１実施形態に係る端末装置の外観の一例を示す説明図である。
【図２】入力領域がタッチされた場合の端末装置の外観の一例を示す説明図である。
【図３】入力領域がタッチされた場合の端末装置の外観の別の例を示す説明図である。
【図４】端末装置の構成の一例を示す機能ブロック図である。
【図５】端末装置のハードウェア構成の一例を示すハードウェア構成図である。
【図６】端末装置の動作の一例を示す説明図である。
【図７】端末装置の動作の別の例を示す説明図である。
【図８】端末装置の動作の別の例を示す説明図である。
【図９】端末装置の動作の別の例を示す説明図である。
【図１０】端末装置の動作の一例を示すフローチャートである。
【図１１】タッチ継続処理の一例を示すフローチャートである。
【図１２】第２実施形態に係る端末装置の構成の一例を示す機能ブロック図である。
【図１３】タッチパネルに対する入力領域の割り当ての変更方法の一例を示す説明図である。
【図１４】タッチパネルに対する入力領域の割り当ての変更方法の別の例を示す説明図である。
【図１５】タッチパネルに対する入力領域の割り当ての変更方法の別の例を示す説明図である。
【図１６】タッチパネルに対する入力領域の割り当ての変更方法の別の例を示す説明図である。
【図１７】タッチパネルに対する入力領域の割り当ての変更方法の別の例を示す説明図である。
【図１８】タッチ継続処理の一例を示すフローチャートである。
【図１９】変形例１に係る操作領域の一例を示す説明図である。
【図２０】変形例１に係る入力領域の割り当ての変更方法の一例を示す説明図である。
【図２１】変形例２に係る操作領域の一例を示す説明図である。
【図２２】変形例２に係る入力領域及びニュートラル領域の割り当ての変更方法の一例を示す説明図である。
【図２３】変形例２に係る入力領域及びニュートラル領域の割り当ての変更方法の別の例を示す説明図である。
【図２４】変形例３に係る端末装置の動作の一例を示すフローチャートである。
【図２５】変形例１０に係る情報処理システムの構成の一例を示すブロック図である。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面を参照して説明する。なお、各図において、各部の寸法及び縮尺は、実際のものと適宜に異ならせてある。また、以下に述べる実施の形態は、本発明の好適な具体例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの形態に限られるものではない。
【００１０】
［１．第１実施形態］
先ず、図１から図３を参照しながら、第１実施形態に係る端末装置１０の概要の一例について説明する。
【００１１】
図１は、第１実施形態に係る端末装置１０の外観の一例を説明するための説明図である。端末装置１０は、例えば、スマートフォン、タブレット端末、又は、携帯用のゲーム装置等の、可搬型の情報処理装置である。但し、端末装置１０は、例えば、業務用のゲーム装置、又は、デスクトップ型のパーソナルコンピュータ等の、据置型の情報処理装置であってもよい。
【００１２】
端末装置１０は、タッチパネル１２を有する。タッチパネル１２は、各種画像を表示する機能（例えば、図４に示す表示部１２０）と、端末装置１０に対するユーザからの指示の入力を受け付ける機能（例えば、図４に示す入力部１２２）とを有する。具体的には、タッチパネル１２は、図２に示すように、ユーザの指ＦＧ等の物体がタッチパネル１２に接触している場合に、当該物体のタッチパネル１２における接触位置であるタッチ位置Ｐを検出し、検出したタッチ位置Ｐを示すタッチ位置情報を周期的に出力する。以下では、タッチパネル１２に対して接触する物体が、ユーザの指ＦＧである場合を、一例として説明する。
【００１３】
本実施形態では、説明の便宜上、図１に示すように、タッチパネル１２に固定された座標系であるタッチパネル座標系ΣＳを導入する。具体的には、タッチパネル座標系ΣＳとは、例えば、タッチパネル１２の所定箇所に固定された原点Ｏｓを有し、互いに直交するＸｓ軸及びＹｓ軸を有する２軸の直交座標系である。また、以下では、Ｘｓ軸の矢印の指す方向は＋Ｘｓ方向と称され、＋Ｘｓ方向の逆方向は−Ｘｓ方向と称される。同様に、Ｙｓ軸の矢印の指す方向は＋Ｙｓ方向と称され、＋Ｙｓ方向の逆方向は−Ｙｓ方向と称される。
【００１４】
端末装置１０は、所定のゲームに係るプログラム（「プログラム」の一例）を実行することで、所定のゲームに係る画像をタッチパネル１２に表示する。例えば、端末装置１０は、所定のゲームを実行する場合、所定のゲームに係る仮想空間ＳＰと、当該仮想空間ＳＰに存在する所定のゲームに係るキャラクタＣＲと、バーチャルパッドとを、タッチパネル１２に表示する。以下では、バーチャルパッドが表示される領域を操作領域Ｖと称する。ここで、バーチャルパッドの表示される操作領域Ｖとは、ユーザによるキャラクタＣＲの操作に係る入力を受け付けるための領域である。
【００１５】
なお、本実施形態では、操作領域Ｖが、基準位置Ｏｖを中心とする円ＢＤｖの内側の領域である場合を一例として想定する。但し、操作領域Ｖは、円形に限定されない。例えば、タッチパネル１２の画面左半分が操作領域Ｖに設定されてもよい。また、本実施形態では、操作領域Ｖが、タッチパネル１２において、ユーザに視認可能な態様で表示される場合を、一例として想定する。但し、操作領域Ｖは、タッチパネル１２において、ユーザに視認されないように設けられた仮想的な領域であってもよい。本実施形態では、後述する図４に示す操作領域割当部（「領域割当部」の一例）が、操作領域Ｖを、所定のゲームの起動時にタッチパネル１２上の所定の位置に割り当てる。
【００１６】
本実施形態では、図１に示すように、操作領域Ｖが、タッチパネル座標系ΣＳにおけるキャラクタＣＲの顔が向く方向の指示を入力するための領域である２個の入力領域ＲＤ（ＲＤｒ及びＲＤｌ）を含む場合を、一例として想定する。但し、入力領域ＲＤは、仮想空間ＳＰにおけるキャラクタＣＲの顔が向く方向の指示を入力するための領域であってもよい。なお、本実施形態において、キャラクタＣＲの顔が向く方向とは、「ゲームに係る操作方向」の一例である。「ゲームに係る操作方向」は、「ゲームに係る指示」の内容の一例である。なお、「ゲームに係る指示」は、「ゲームに係る操作方向」に関する指示に限定されず、例えば、所定のゲームに係るキャラクタＣＲからの質問に対する回答（例えば、ＹＥＳ／ＮＯ等）を選択する指示であってもよい。また、入力領域ＲＤｒ及びＲＤｌの一方は「第１領域」の一例であり、入力領域ＲＤｒ及びＲＤｌの他方は「第２領域」の一例である。また、入力領域ＲＤｒ及びＲＤｌの一方に対応付けられた指示は「第１の指示」の一例であり、入力領域ＲＤｒ及びＲＤｌの他方に対応付けられた指示は「第２の指示」の一例である。
【００１７】
本実施形態において、端末装置１０は、一例として、基準位置Ｏｖを中心とする円ＢＤｖの内側の領域のうち、境界線ＢＤｒｌよりも＋Ｘｓ方向に位置する領域を入力領域ＲＤｒとして設定し、境界線ＢＤｒｌよりも−Ｘｓ方向に位置する領域を入力領域ＲＤｌとして設定する。境界線ＢＤｒｌは、基準位置Ｏｖを通り、Ｙｓ軸に沿って延在する線である。次に、図２及び図３を参照して、操作領域Ｖを用いた操作の概要を説明する。
【００１８】
図２は、入力領域ＲＤがタッチされた場合の端末装置１０の外観の一例を説明するための説明図である。ユーザは、操作領域Ｖのうち、入力領域ＲＤｒ及びＲＤｌの何れかの領域にタッチすることで、キャラクタＣＲの顔の向きを変えることができる。図２に示す例では、入力領域ＲＤｒがタッチされている。
【００１９】
端末装置１０は、タッチ位置Ｐが入力領域ＲＤｒに存在する場合、キャラクタＣＲの顔が向く方向を、＋Ｘｓ方向とする旨の指示を受け付ける。この結果、＋Ｘｓ方向を向いた顔のキャラクタＣＲが、タッチパネル１２に表示される。
【００２０】
図３は、入力領域ＲＤがタッチされた場合の端末装置１０の外観の別の例を説明するための説明図である。図３に示す例では、入力領域ＲＤｌがタッチされている。端末装置１０は、タッチ位置Ｐが入力領域ＲＤｌに存在する場合、キャラクタＣＲの顔が向く方向を、−Ｘｓ方向とする旨の指示を受け付ける。この結果、−Ｘｓ方向を向いた顔のキャラクタＣＲが、タッチパネル１２に表示される。
【００２１】
なお、詳細は後述する図６から図９等で説明するが、本実施形態に係る端末装置１０は、入力領域ＲＤｒ及びＲＤｌの一方から他方にタッチ位置Ｐが移動した場合、タッチ位置Ｐの移動速度が所定の速度条件を満たすか否かに応じて、キャラクタＣＲの顔の向きを変更するか維持するかを決定する。
【００２２】
また、タッチパネル１２から指ＦＧが離れた場合、キャラクタＣＲの顔の向きは、予め定められた向きに設定されてもよいし、タッチパネル１２から指ＦＧが離れる前と同じ向きに維持されてもよい。予め定められた向きは、例えば、タッチパネル座標系ΣＳにおける正面方向（図１に示した向き）であってもよい。以下では、タッチパネル１２から指ＦＧが離れた場合に実行される処理は、非タッチ処理とも称される。次に、図４及び図５を参照しながら、端末装置１０の構成の一例について説明する。
【００２３】
図４は、端末装置１０の構成の一例を示す機能ブロック図である。端末装置１０は、端末装置１０の各部を制御する制御部１１０と、画像を表示するための表示部１２０と、端末装置１０のユーザによる指示の入力を受け付ける入力部１２２と、各種情報を記憶する記憶部１３０と、端末装置１０を振動させる振動発生部１４０とを有する。
【００２４】
表示部１２０の機能及び入力部１２２の機能は、図１に示したタッチパネル１２により実現される。すなわち、タッチパネル１２は、各種画像を表示可能な表示部１２０として機能し、さらに、端末装置１０のユーザからの指示の入力を受け付ける入力部１２２として機能する。例えば、入力部１２２として機能するタッチパネル１２は、図１で説明したように、タッチパネル１２に対して物体が接触している場合に、当該物体のタッチパネル１２における接触位置であるタッチ位置Ｐを検出し、検出したタッチ位置Ｐを示すタッチ位置情報を周期的に出力する。なお、タッチパネル１２は、所定の単位時間（タッチ位置情報を出力する周期より短い時間）内に検出した複数の接触位置の平均をタッチ位置Ｐとして算出し、算出したタッチ位置Ｐを示すタッチ位置情報を周期的に出力してもよい。
【００２５】
記憶部１３０は、所定のゲームに係るプログラムと、タッチパネル１２から周期的に出力されるタッチ位置情報の示すタッチ位置Ｐの履歴を示すタッチ位置履歴情報と、タッチパネル座標系ΣＳにおける入力領域ＲＤの位置を示す操作領域情報とを含む各種情報を記憶する。振動発生部１４０は、タッチパネル１２を含む端末装置１０全体を振動させる。
【００２６】
制御部１１０は、ゲーム制御部１１１（「指示部」の一例）と、表示制御部１１２と、タッチ位置情報取得部１１３（「取得部」の一例）と、操作領域割当部１１４（「領域割当部」の一例）と、振動制御部１１５とを有する。
【００２７】
ゲーム制御部１１１は、所定のゲームの進行を制御する。例えば、ゲーム制御部１１１は、後述するタッチ位置情報取得部１１３が取得したタッチ位置情報の示すタッチ位置Ｐに基づいて、所定のゲームに係る指示の内容を決定する。具体的には、ゲーム制御部１１１は、タッチ位置Ｐが入力領域ＲＤに存在する場合に、キャラクタＣＲの顔が向く方向を、タッチ位置Ｐが存在する入力領域ＲＤに対応する方向に設定する。
【００２８】
なお、タッチパネル１２に対するタッチが継続されている状態において、タッチ位置Ｐが入力領域ＲＤｒ及びＲＤｌの一方から他方に移動した場合、ゲーム制御部１１１は、例えば、タッチ位置Ｐの移動速度が所定の速度条件を満たすか否かに応じて、所定のゲームに係る指示を変更するか否かを決定する。所定の速度条件とは、例えば、タッチ位置Ｐが移動した際の移動速度が予め決められた閾値速度以上であることでもよいし、タッチ位置Ｐが移動した際の加速度が予め決められた閾値加速度以上であることでもよい。
【００２９】
例えば、タッチ位置Ｐが入力領域ＲＤｌから入力領域ＲＤｒに移動した場合で、且つ、タッチ位置Ｐの移動速度が所定の速度条件を満たす場合には、ゲーム制御部１１１は、所定のゲームに係る指示を、入力領域ＲＤｌに対応付けられた指示から、入力領域ＲＤｒに対応付けられた指示に変更する。なお、例えば、タッチ位置Ｐが入力領域ＲＤｌから入力領域ＲＤｒに移動した場合であっても、タッチ位置Ｐの移動速度が所定の速度条件を満さない場合には、ゲーム制御部１１１は、所定のゲームに係る指示を、入力領域ＲＤｌに対応付けられた指示に維持する。なお、所定の速度条件は、速度を用いた条件であればよく、上述の例に限定されない。
【００３０】
表示制御部１１２は、表示部１２０が、仮想空間ＳＰ、キャラクタＣＲ、及び、操作領域Ｖを表示するように、表示部１２０を制御する。タッチ位置情報取得部１１３は、指ＦＧ等の物体のタッチパネル１２に対するタッチのタッチ位置Ｐを示すタッチ位置情報を取得する。具体的には、タッチ位置情報取得部１１３は、図１等で説明したように、入力部１２２として機能するタッチパネル１２から周期的に出力されるタッチ位置情報を取得する。
【００３１】
操作領域割当部１１４は、例えば、所定のゲームの起動時に、タッチパネル１２に入力領域ＲＤｒ及びＲＤｌを割り当てる。入力領域ＲＤｒは、キャラクタＣＲの顔が向く方向を＋Ｘｓ方向とする旨の指示を、ゲーム制御部１１１に入力するための領域である。また、入力領域ＲＤｌは、キャラクタＣＲの顔が向く方向を−Ｘｓ方向とする旨の指示を、ゲーム制御部１１１に入力するための領域である。すなわち、入力領域ＲＤｒには、キャラクタＣＲの顔の向きを＋Ｘｓ方向とする指示が対応付けられ、入力領域ＲＤｌには、キャラクタＣＲの顔の向きを−Ｘｓ方向とする指示が対応付けられている。
【００３２】
振動制御部１１５は、ゲーム制御部１１１が所定のゲームに係る指示を変更した場合、振動発生部１４０が端末装置１０を振動させるように、振動発生部１４０を制御する。例えば、ゲーム制御部１１１が、所定のゲームに係る指示を、キャラクタＣＲの顔が向く方向を＋Ｘｓ方向とする指示から、キャラクタＣＲの顔が向く方向を−Ｘｓ方向とする指示に変更した場合、振動制御部１１５は、振動発生部１４０を制御して端末装置１０を振動させる。なお、振動制御部１１５は、タッチ位置Ｐが所定の速度条件を満たさずに入力領域ＲＤｒ及びＲＤｌの一方から他方に移動した場合にも、振動発生部１４０が端末装置１０を振動させるように、振動発生部１４０を制御してもよい。この場合、タッチ位置Ｐがずれていることを、ユーザに振動で伝えることができる。
【００３３】
また、振動制御部１１５は、タッチ位置Ｐが、入力領域ＲＤに存在しない状態から、入力領域ＲＤに存在する状態に変化した場合、振動発生部１４０が端末装置１０を振動させるように、振動発生部１４０を制御してもよい。あるいは、振動制御部１１５は、タッチ位置Ｐが、入力領域ＲＤに存在する状態から、入力領域ＲＤに存在しない状態に変化した場合に、振動発生部１４０が端末装置１０を振動させるように、振動発生部１４０を制御してもよい。また、振動制御部１１５は、ユーザの指ＦＧが、タッチパネル１２に対して接触していない状態から、接触している状態に変化した場合に、振動発生部１４０が端末装置１０を振動させるように、振動発生部１４０を制御してもよい。以下では、ユーザの指ＦＧが、タッチパネル１２に対して接触していない状態から、接触している状態に変化することを、「タッチイン」とも称する。
【００３４】
なお、端末装置１０の構成は、図４に示した例に限定されない。例えば、振動発生部１４０は、端末装置１０から省かれてもよい。この場合、振動制御部１１５は、制御部１１０から省かれてもよい。
【００３５】
図５は、端末装置１０のハードウェア構成の一例を示すハードウェア構成図である。端末装置１０は、端末装置１０の各部を制御するプロセッサ１１（「情報処理装置」の一例）と、各種情報を記憶するメモリ１３と、タッチパネル１２と、振動発生装置１４とを有する。
【００３６】
メモリ１３は、例えば、プロセッサ１１の作業領域として機能するＲＡＭ（Random Access Memory）等の揮発性メモリと、所定のゲームに係るプログラム等の各種情報を記憶するＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）等の不揮発性メモリとを含み、記憶部１３０として機能する。
【００３７】
プロセッサ１１は、例えば、ＣＰＵ（Central Processing Unit）であり、メモリ１３に記憶された所定のゲームに係るプログラムを実行し、当該プログラムに従って動作することで、制御部１１０として機能する。タッチパネル１２は、上述のとおり、表示部１２０及び入力部１２２として機能する。振動発生装置１４は、例えば、振動を発生する振動モータであり、振動発生部１４０として機能する。
【００３８】
なお、プロセッサ１１は、ＣＰＵに加え、又は、ＣＰＵに代えて、ＧＰＵ（Graphics Processing Unit）、ＤＳＰ（Digital Signal Processor）、又は、ＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを含んで構成されるものであってもよい。この場合、プロセッサ１１により実現される制御部１１０の一部又は全部は、ＤＳＰ等のハードウェアにより実現されてもよい。次に、図６から図９を参照しながら、タッチ位置Ｐが移動する場合の端末装置１０の動作について説明する。
【００３９】
図６から図９に示す例では、タッチ位置情報取得部１１３は、タッチパネル１２から時間Ｔｃｙｃの周期で出力されるタッチ位置情報を取得する。なお、以下では、時刻ｔｎ（ｎは、０以上の整数）におけるタッチ位置Ｐは、タッチ位置Ｐ［ｔｎ］とも称される。また、以下では、時刻ｔ（ｍ−１）におけるタッチ位置Ｐ［ｔ（ｍ−１）］を始点とし、時刻ｔｍにおけるタッチ位置Ｐ［ｔｍ］を終点とするタッチ位置移動ベクトルＭＶは、タッチ位置移動ベクトルＭＶ［ｔｍ］とも称される（ｍは、１以上の整数）。また、図６から図９に示す例では、時刻ｔ（ｍ−１）から時刻ｔｍまでの時間は、時間Ｔｃｙｃで一定であるため、タッチ位置移動ベクトルＭＶ［ｔｍ］の大きさは、タッチ位置Ｐ［ｔｍ］の移動速度に対応する。例えば、タッチ位置Ｐ［ｔｍ］の移動速度は、タッチ位置Ｐ［ｔ（ｍ−１）］、タッチ位置Ｐ［ｔｍ］及び時間Ｔｃｙｃに基づいて算出されてもよい。具体的には、タッチ位置Ｐ［ｔｍ］の移動速度は、式“｜ＭＶ［ｔｍ］｜／Ｔｃｙｃ”に基づいて算出されてもよい。
【００４０】
図６は、端末装置１０の動作の一例を示す説明図である。図６では、タッチ位置Ｐの移動速度（｜ＭＶ｜／Ｔｃｙｃ）が閾値速度ＴＶ以上であることが所定の速度条件である場合を例にして、端末装置１０の動作を説明する。なお、図６に示す時刻ｔ１０から時刻ｔ１４までの期間では、タッチパネル１２に対するタッチは、継続している。
【００４１】
時刻ｔ１０において、指ＦＧが入力領域ＲＤｌ内のタッチ位置Ｐ［ｔ１０］にタッチインする。このため、ゲーム制御部１１１は、所定のゲームに係る指示の内容を、キャラクタＣＲの顔の向きを−Ｘｓ方向とする指示（入力領域ＲＤｌに対応付けられた指示）に決定する。そして、ゲーム制御部１１１は、キャラクタＣＲの顔の向きを、−Ｘｓ方向に設定する。
【００４２】
時刻ｔ１０から時刻ｔ１１にかけて、タッチ位置Ｐは、タッチ位置Ｐ［ｔ１０］からタッチ位置Ｐ［ｔ１１］に移動する。タッチ位置Ｐ［ｔ１１］が入力領域ＲＤｌに存在するため、ゲーム制御部１１１は、所定のゲームに係る指示を、キャラクタＣＲの顔の向きを−Ｘｓ方向とする指示に維持する。従って、時刻ｔ１１では、キャラクタＣＲの顔の向きは、−Ｘｓ方向に維持される。
【００４３】
時刻ｔ１１から時刻ｔ１２にかけて、タッチ位置Ｐは、タッチ位置Ｐ［ｔ１１］からタッチ位置Ｐ［ｔ１２］に移動する。タッチ位置Ｐ［ｔ１２］が入力領域ＲＤｌに存在するため、ゲーム制御部１１１は、所定のゲームに係る指示を、キャラクタＣＲの顔の向きを−Ｘｓ方向とする指示に維持する。従って、時刻ｔ１２においても、キャラクタＣＲの顔の向きは、−Ｘｓ方向に維持される。
【００４４】
時刻ｔ１２から時刻ｔ１３にかけて、タッチ位置Ｐは、タッチ位置Ｐ［ｔ１２］からタッチ位置Ｐ［ｔ１３］に移動する。タッチ位置Ｐ［ｔ１３］は、入力領域ＲＤｒに存在する。すなわち、タッチ位置Ｐは、時刻ｔ１２から時刻ｔ１３にかけて、入力領域ＲＤｌから入力領域ＲＤｒに移動する。
【００４５】
図６に示す例では、タッチ位置Ｐがタッチ位置Ｐ［ｔ１２］からタッチ位置Ｐ［ｔ１３］に移動した際の移動速度（｜ＭＶ［ｔ１３］｜／Ｔｃｙｃ）が閾値速度ＴＶ以上である場合を想定する。すなわち、図６に示す例では、ゲーム制御部１１１は、タッチ位置Ｐが入力領域ＲＤｌから入力領域ＲＤｒに移動した際の移動速度が所定の速度条件を満たしていると判定する。このため、ゲーム制御部１１１は、所定のゲームに係る指示を、キャラクタＣＲの顔の向きを−Ｘｓ方向とする指示（入力領域ＲＤｌに対応付けられた指示）から、キャラクタＣＲの顔の向きを＋Ｘｓ方向とする指示（入力領域ＲＤｒに対応付けられた指示）に変更する。そして、ゲーム制御部１１１は、キャラクタＣＲの顔の向きを、＋Ｘｓ方向に設定する。従って、時刻ｔ１３では、キャラクタＣＲの顔の向きは、−Ｘｓ方向から＋Ｘｓ方向に変化する。
【００４６】
時刻ｔ１３から時刻ｔ１４にかけて、タッチ位置Ｐは、タッチ位置Ｐ［ｔ１３］からタッチ位置Ｐ［ｔ１４］に移動する。タッチ位置Ｐ［ｔ１４］が入力領域ＲＤｒに存在するため、ゲーム制御部１１１は、所定のゲームに係る指示を、キャラクタＣＲの顔の向きを＋Ｘｓ方向とする指示に維持する。従って、時刻ｔ１４では、キャラクタＣＲの顔の向きは、＋Ｘｓ方向に維持される。
【００４７】
このように、ゲーム制御部１１１は、タッチパネル１２に対するタッチが継続されている状態において、タッチ位置Ｐが入力領域ＲＤｌから入力領域ＲＤｒに移動した場合、タッチ位置Ｐの移動速度が所定の速度条件を満たす場合には、所定のゲームに係る指示を、入力領域ＲＤｌに対応付けられた指示から、入力領域ＲＤｒに対応付けられた指示に変更する。
【００４８】
例えば、ユーザは、指ＦＧをタッチパネル１２に接触させた状態で、指ＦＧを入力領域ＲＤｌから入力領域ＲＤｒに閾値速度ＴＶ以上の速度で動かすことにより、キャラクタＣＲの顔の向きを−Ｘｓ方向から＋Ｘｓ方向に変化させることができる。
【００４９】
図６に示した例では、時刻ｔ１０から時刻ｔ１３までの期間に着目した場合、入力領域ＲＤｌが「第１領域」に該当し、入力領域ＲＤｒが「第２領域」に該当する。また、キャラクタＣＲの顔の向きが−Ｘｓ方向から＋Ｘｓ方向に変化した後（時刻ｔ１３の直後）から時刻ｔ１４までの期間に着目した場合、入力領域ＲＤｒが「第１領域」に該当し、入力領域ＲＤｌが「第２領域」に該当する。次に、図７を参照しながら、タッチ位置Ｐが入力領域ＲＤｌから入力領域ＲＤｒに移動しても、所定のゲームに係る指示が変更されない場合の端末装置１０の動作について説明する。
【００５０】
図７は、端末装置１０の動作の別の例を示す説明図である。図７に示す例では、入力領域ＲＤｌが「第１領域」に該当し、入力領域ＲＤｒが「第２領域」に該当する。図７においても、タッチ位置Ｐの移動速度（｜ＭＶ｜／Ｔｃｙｃ）が閾値速度ＴＶ以上であることが所定の速度条件である場合を例にして、端末装置１０の動作を説明する。図７に示す時刻ｔ２０から時刻ｔ２４までの期間では、タッチパネル１２に対するタッチは、継続している。図７では、時刻ｔ２０から時刻ｔ２２までのタッチ位置Ｐの動きが、図６の時刻ｔ１０から時刻ｔ１２までのタッチ位置Ｐの動きと同じである場合を想定する。このため、図７では、端末装置１０の時刻ｔ２２以降の動作を説明する。
【００５１】
時刻ｔ２２から時刻ｔ２３にかけて、タッチ位置Ｐは、タッチ位置Ｐ［ｔ２２］からタッチ位置Ｐ［ｔ２３］に移動する。タッチ位置Ｐ［ｔ２３］は、入力領域ＲＤｒに存在する。すなわち、タッチ位置Ｐは、時刻ｔ２２から時刻ｔ２３にかけて、入力領域ＲＤｌから入力領域ＲＤｒに移動する。
【００５２】
図７に示す例では、タッチ位置Ｐがタッチ位置Ｐ［ｔ２２］からタッチ位置Ｐ［ｔ２３］に移動した際の移動速度（｜ＭＶ［ｔ２３］｜／Ｔｃｙｃ）が閾値速度ＴＶ未満である場合を想定する。すなわち、図７に示す例では、ゲーム制御部１１１は、タッチ位置Ｐが入力領域ＲＤｌから入力領域ＲＤｒに移動した際の移動速度が所定の速度条件を満たしていないと判定する。このため、ゲーム制御部１１１は、所定のゲームに係る指示を、キャラクタＣＲの顔の向きを−Ｘｓ方向とする指示（入力領域ＲＤｌに対応付けられた指示）から、キャラクタＣＲの顔の向きを＋Ｘｓ方向とする指示（入力領域ＲＤｒに対応付けられた指示）に変更しない。すなわち、ゲーム制御部１１１は、所定のゲームに係る指示を、キャラクタＣＲの顔の向きを−Ｘｓ方向とする指示（入力領域ＲＤｌに対応付けられた指示）に維持する。従って、時刻ｔ２３では、キャラクタＣＲの顔の向きは、−Ｘｓ方向に維持される。
【００５３】
時刻ｔ２３から時刻ｔ２４にかけて、タッチ位置Ｐは、タッチ位置Ｐ［ｔ２３］からタッチ位置Ｐ［ｔ２４］に移動する。タッチ位置Ｐ［ｔ２３］及びタッチ位置Ｐ［ｔ２４］は、入力領域ＲＤｒに存在する。すなわち、タッチ位置Ｐは、時刻ｔ２３から時刻ｔ２４にかけて、境界線ＢＤｒｌを跨がずに入力領域ＲＤｒ内を移動する。
【００５４】
図７に示す例では、タッチ位置Ｐがタッチ位置Ｐ［ｔ２３］からタッチ位置Ｐ［ｔ２４］に移動した際の移動速度（｜ＭＶ［ｔ２４］｜／Ｔｃｙｃ）が閾値速度ＴＶ未満である場合を想定する。すなわち、図７に示す例では、ゲーム制御部１１１は、タッチ位置Ｐの移動速度が所定の速度条件を満たしていないと判定する。このため、ゲーム制御部１１１は、所定のゲームに係る指示を、キャラクタＣＲの顔の向きを−Ｘｓ方向とする指示（入力領域ＲＤｌに対応付けられた指示）に維持する。従って、時刻ｔ２４においても、キャラクタＣＲの顔の向きは、−Ｘｓ方向に維持される。
【００５５】
このように、ゲーム制御部１１１は、タッチパネル１２に対するタッチが継続されている状態において、タッチ位置Ｐが入力領域ＲＤｌから入力領域ＲＤｒに移動した場合、タッチ位置Ｐの移動速度が所定の速度条件を満たさない場合には、所定のゲームに係る指示を、入力領域ＲＤｌに対応付けられた指示に維持する。
【００５６】
一般的に、ユーザが所定のゲームに係る指示の内容を変更する場合、指ＦＧをある程度の速度で傾けたり移動したりする可能性が高いため、タッチ位置Ｐの移動速度もある程度の速度に達する可能性が高い。一方、所定のゲームに係る指示の内容を変更する意思がユーザにない場合、ユーザは現在のタッチ位置Ｐを維持しようとするため、タッチ位置Ｐが少しずつ移動してしまうことはあっても、タッチ位置Ｐの移動速度は一定速度未満となる可能性が高い。このため、所定のゲームに係る指示の内容を変更する意思がユーザにあるのかを、タッチ位置Ｐの移動速度に基づいて推測することにより、誤った指示の実行を抑止することができる。タッチ位置Ｐが入力領域ＲＤｒ及びＲＤｌの境界線ＢＤｒｌ付近に存在する場合、又は、入力領域ＲＤが狭い場合等では、ユーザの意図に反してタッチ位置Ｐが境界線ＢＤｒｌを跨いで移動する可能性が高くなる。この場合、ユーザが所定のゲームに係る指示の内容を変更する意思があるのかをタッチ位置Ｐの移動速度に基づいて推測することは、特に有効である。
【００５７】
このため、ゲーム制御部１１１は、タッチ位置Ｐが入力領域ＲＤｒ及びＲＤｌの境界線ＢＤｒｌを跨いで移動した場合で、且つ、タッチ位置Ｐの移動速度が所定の速度条件を満たす場合、所定のゲームに係る指示の内容を変更する意思がユーザにあるものとして、所定のゲームの進行を制御する。また、ゲーム制御部１１１は、タッチ位置Ｐが入力領域ＲＤｒ及びＲＤｌの境界線ＢＤｒｌを跨いで移動した場合であっても、タッチ位置Ｐの移動速度が所定の速度条件を満たさない場合には、所定のゲームに係る指示の内容を変更する意思がユーザにないものとして、所定のゲームの進行を制御する。
【００５８】
例えば、キャラクタＣＲの顔の向きを変更するつもりがユーザにない場合でも、ゲームに熱中して指に力が入るなどすると、指ＦＧが閾値速度ＴＶ未満の速度でゆっくり動く場合がある。この場合、タッチ位置Ｐが入力領域ＲＤｌから入力領域ＲＤｒに移動したことに応じて、所定のゲームに係る指示が、キャラクタＣＲの顔の向きを＋Ｘｓ方向とする指示（入力領域ＲＤｒに対応付けられた指示）に変更されると、ユーザの意図と異なる指示が実行されるという問題が生じる。この問題を解消するために、ゲーム制御部１１１は、上述したように、タッチ位置Ｐが入力領域ＲＤｌから入力領域ＲＤｒに移動した場合であっても、タッチ位置Ｐの移動速度が所定の速度条件を満たさない場合には、所定のゲームに係る指示を、入力領域ＲＤｌに対応付けられた指示に維持する。この結果、ユーザの意図と異なる指示が実行されることを抑止することができる。
【００５９】
次に、図８を参照しながら、タッチ位置Ｐが入力領域ＲＤｌから入力領域ＲＤｒに移動した後に、所定のゲームに係る指示が変更される場合の端末装置１０の動作について説明する。
【００６０】
図８は、端末装置１０の動作の別の例を示す説明図である。図８においても、タッチ位置Ｐの移動速度（｜ＭＶ｜／Ｔｃｙｃ）が閾値速度ＴＶ以上であることが所定の速度条件である場合を例にして、端末装置１０の動作を説明する。図８に示す時刻ｔ３０から時刻ｔ３４までの期間では、タッチパネル１２に対するタッチは、継続している。図８では、時刻ｔ３０から時刻ｔ３３までのタッチ位置Ｐの動きが、図７の時刻ｔ２０から時刻ｔ２３までのタッチ位置Ｐの動きと同じである場合を想定する。このため、図８では、端末装置１０の時刻ｔ３３以降の動作を説明する。
【００６１】
時刻ｔ３３から時刻ｔ３４にかけて、タッチ位置Ｐは、タッチ位置Ｐ［ｔ３３］からタッチ位置Ｐ［ｔ３４］に移動する。タッチ位置Ｐ［ｔ３３］及びタッチ位置Ｐ［ｔ３４］は、入力領域ＲＤｒに存在する。すなわち、タッチ位置Ｐは、時刻ｔ３３から時刻ｔ３４にかけて、境界線ＢＤｒｌを跨がずに入力領域ＲＤｒ内を移動する。
【００６２】
図８に示す例では、タッチ位置Ｐがタッチ位置Ｐ［ｔ３３］からタッチ位置Ｐ［ｔ３４］に移動した際の移動速度（｜ＭＶ［ｔ３４］｜／Ｔｃｙｃ）が閾値速度ＴＶ以上である場合を想定する。すなわち、図８に示す例では、ゲーム制御部１１１は、タッチ位置Ｐの移動速度が所定の速度条件を満たしていると判定する。このため、ゲーム制御部１１１は、所定のゲームに係る指示の内容を、キャラクタＣＲの顔の向きを＋Ｘｓ方向とする指示（入力領域ＲＤｒに対応付けられた指示）に決定する。そして、ゲーム制御部１１１は、キャラクタＣＲの顔の向きを、＋Ｘｓ方向に設定する。従って、時刻ｔ３４では、キャラクタＣＲの顔の向きは、−Ｘｓ方向から＋Ｘｓ方向に変化する。なお、図７で説明したように、タッチ位置Ｐの移動速度が閾値速度ＴＶ未満である場合には、所定のゲームに係る指示は、変更されずに維持される。
【００６３】
このように、タッチパネル１２に対するタッチが継続されている状態において、タッチ位置Ｐの移動速度が所定の速度条件を満たさずに、タッチ位置Ｐが入力領域ＲＤｌから入力領域ＲＤｒに移動した後では、ゲーム制御部１１１は、所定のゲームに係る指示を変更するか維持するかを、タッチ位置Ｐの移動速度に基づいて決定する。例えば、ゲーム制御部１１１は、タッチ位置Ｐの移動速度が所定の速度条件を満たさずに、タッチ位置Ｐが入力領域ＲＤｌから入力領域ＲＤｒに移動した後、タッチ位置Ｐの移動速度が所定の速度条件を満たしたとき、所定のゲームに係る指示を、入力領域ＲＤｒに対応付けられた指示に変更する。換言すれば、タッチ位置Ｐの移動速度が所定の速度条件を満たさずに、タッチ位置Ｐが入力領域ＲＤｌから入力領域ＲＤｒに移動した後では、タッチ位置Ｐの移動速度が所定の速度条件を満たす直前まで、所定のゲームに係る指示は、入力領域ＲＤｌに対応付けられた指示に維持される。
【００６４】
例えば、ユーザは、時刻ｔ３０から時刻ｔ３３までの間、意図せず指ＦＧを閾値速度ＴＶ未満の速度でゆっくり動かしていた場合でも、時刻ｔ３３以降に、指ＦＧを閾値速度ＴＶ以上の速度で動かすことにより、キャラクタＣＲの顔の向きを−Ｘｓ方向から＋Ｘｓ方向に変化させることができる。なお、タッチ位置Ｐの移動先が入力領域ＲＤｌである場合には、キャラクタＣＲの顔の向きは−Ｘｓ方向に維持される。
【００６５】
図８に示した例では、時刻ｔ３０から時刻ｔ３４までの期間に着目した場合、入力領域ＲＤｌが「第１領域」に該当し、入力領域ＲＤｒが「第２領域」に該当する。また、キャラクタＣＲの顔の向きが−Ｘｓ方向から＋Ｘｓ方向に変化した時刻ｔ３４以降の期間に着目した場合、入力領域ＲＤｒが「第１領域」に該当し、入力領域ＲＤｌが「第２領域」に該当する。
【００６６】
なお、図６から図８に示した例では、タッチ位置Ｐの移動速度は、２点間の座標によって算出されたが、境界線ＢＤｒｌに直行する方向等の特定方向の移動速度であってもよい。次に、図９を参照しながら、所定の速度条件がタッチ位置Ｐの特定方向の移動速度に関する条件である場合の端末装置１０の動作について説明する。
【００６７】
図９は、端末装置１０の動作の別の例を示す説明図である。図９では、タッチ位置Ｐにおける＋Ｘｓ方向の移動速度（ＭＶｘ／Ｔｃｙｃ）が閾値速度ＴＶｘ以上であることが所定の速度条件である場合を例にして、端末装置１０の動作を説明する。符号ＭＶｘは、タッチ位置移動ベクトルＭＶにおける＋Ｘｓ方向の成分を示す。以下では、タッチ位置移動ベクトルＭＶ［ｔｎ］における＋Ｘｓ方向の成分Ｍｖｘは、成分Ｍｖｘ［ｔｎ］とも称される（ｎは、０以上の整数）。なお、タッチ位置Ｐにおける＋Ｘｓ方向の移動速度は、「タッチ位置の移動速度」の一例である。また、図９に示す例では、＋Ｘｓ方向は、入力領域ＲＤｒ及びＲＤｌの境界線ＢＤｒｌに垂直な方向に該当する。また、図９に示す例では、入力領域ＲＤｌが「第１領域」に該当し、入力領域ＲＤｒが「第２領域」に該当する。
【００６８】
図９に示す時刻ｔ４０から時刻ｔ４４までの期間では、タッチパネル１２に対するタッチは、継続している。図９では、時刻ｔ４０から時刻ｔ４３までのタッチ位置Ｐの動きが、図８の時刻ｔ３０から時刻ｔ３３までのタッチ位置Ｐの動きと同じである場合を想定する。また、タッチ位置Ｐにおける＋Ｘｓ方向の移動速度は、時刻ｔ４０から時刻ｔ４１までの期間、時刻ｔ４１から時刻ｔ４２までの期間、及び、時刻ｔ４２から時刻ｔ４３までの期間の各々の期間において、所定の速度条件を満たしていない。このため、時刻ｔ４０から時刻ｔ４３までの端末装置１０の動作は、図８の時刻ｔ３０から時刻ｔ３３までの端末装置１０の動作と同様である。従って、図９では、端末装置１０の時刻ｔ４３以降の動作を説明する。
【００６９】
時刻ｔ４３から時刻ｔ４４にかけて、タッチ位置Ｐは、タッチ位置Ｐ［ｔ４３］からタッチ位置Ｐ［ｔ４４］に移動する。タッチ位置Ｐ［ｔ４３］及びタッチ位置Ｐ［ｔ４４］は、入力領域ＲＤｒに存在する。すなわち、タッチ位置Ｐは、時刻ｔ４３から時刻ｔ４４にかけて、境界線ＢＤｒｌを跨がずに入力領域ＲＤｒ内を移動する。
【００７０】
図９に示す例では、タッチ位置Ｐがタッチ位置Ｐ［ｔ４３］からタッチ位置Ｐ［ｔ４４］に移動した際の＋Ｘｓ方向の移動速度（ＭＶｘ［ｔ４４］／Ｔｃｙｃ）が閾値速度ＴＶｘ未満である場合を想定する。すなわち、図９に示す例では、ゲーム制御部１１１は、タッチ位置Ｐの移動速度が所定の速度条件を満たしていないと判定する。このため、ゲーム制御部１１１は、所定のゲームに係る指示を、キャラクタＣＲの顔の向きを−Ｘｓ方向とする指示（入力領域ＲＤｌに対応付けられた指示）から、キャラクタＣＲの顔の向きを＋Ｘｓ方向とする指示（入力領域ＲＤｒに対応付けられた指示）に変更しない。すなわち、ゲーム制御部１１１は、所定のゲームに係る指示を、キャラクタＣＲの顔の向きを−Ｘｓ方向とする指示（入力領域ＲＤｌに対応付けられた指示）に維持する。従って、時刻ｔ４４では、キャラクタＣＲの顔の向きは、−Ｘｓ方向に維持される。なお、図９の例とは異なるが、時刻ｔ４３から時刻ｔ４４までの期間におけるタッチ位置Ｐの＋Ｘｓ方向の移動速度が閾値速度ＴＶｘ以上である場合には、所定のゲームに係る指示は、キャラクタＣＲの顔の向きを＋Ｘｓ方向とする指示（入力領域ＲＤｒに対応付けられた指示）に変更される。
【００７１】
このように、タッチパネル１２に対するタッチが継続されている状態において、タッチ位置Ｐの移動速度が所定の速度条件を満たさずに、タッチ位置Ｐが入力領域ＲＤｌから入力領域ＲＤｒに移動した後では、ゲーム制御部１１１は、所定のゲームに係る指示を変更するか維持するかを、タッチ位置Ｐの＋Ｘｓ方向の移動速度に基づいて決定する。例えば、ゲーム制御部１１１は、タッチ位置Ｐが、＋Ｘｓ方向の移動速度が閾値速度ＴＶｘ未満の状態で入力領域ＲＤｌから入力領域ＲＤｒに移動した後では、タッチ位置Ｐの＋Ｘｓ方向の移動速度が閾値速度ＴＶｘ以上になる直前まで、所定のゲームに係る指示は、入力領域ＲＤｌに対応付けられた指示に維持される。すなわち、タッチ位置Ｐが、＋Ｘｓ方向の移動速度が閾値速度ＴＶｘ未満の状態で入力領域ＲＤｌから入力領域ＲＤｒに移動した場合、タッチ位置Ｐの＋Ｘｓ方向の移動速度が閾値速度ＴＶｘ以上になったとき、所定のゲームに係る指示は、入力領域ＲＤｒに対応付けられた指示に変更される。
【００７２】
例えば、ユーザが電車内で指ＦＧをタッチパネル１２に接触させている場合、電車の揺れ等によって、ユーザが指ＦＧを意図せず動かす場合がある。この場合、例えば、図８等の所定の速度条件に用いられた閾値速度ＴＶ以上の速度で指ＦＧが動いても、タッチ位置Ｐの＋Ｘｓ方向の移動速度が閾値速度ＴＶｘ未満であれば、所定のゲームに係る指示は、変更されずに維持される。
【００７３】
ここで、図９に示す例において、タッチ位置Ｐがタッチ位置Ｐ［ｔ４３］からタッチ位置Ｐ［ｔ４４］に移動した際の移動速度（｜ＭＶ［ｔ４４］｜／Ｔｃｙｃ）は、図８等の所定の速度条件に用いられた閾値速度ＴＶ以上である。このため、図９に示す例において、所定の速度条件が図８等で想定した所定の速度条件と同じである場合には、時刻ｔ４４に、所定のゲームに係る指示は、入力領域ＲＤｒに対応付けられた指示に変更される。従って、タッチ位置Ｐにおける＋Ｘｓ方向の移動速度（ＭＶｘ／Ｔｃｙｃ）が閾値速度ＴＶｘ以上であることが所定の速度条件である場合、タッチ位置Ｐの移動速度（｜ＭＶ｜／Ｔｃｙｃ）が閾値速度ＴＶ以上であることが所定の速度条件である場合に比べて、ユーザの意図と異なる指示が実行されることを低減することができる。
【００７４】
なお、タッチ位置Ｐの移動速度は、例えば、タッチ位置Ｐが入力領域ＲＤｒから入力領域ＲＤｌに移動する場合、−Xｓ方向の移動速度であってもよい。すなわち、タッチ位置Ｐの移動速度は、境界線ＢＤｒｌに直行する方向等の特定方向の移動速度であってもよい。
【００７５】
図９に示したように、タッチ位置Ｐの移動速度を特定方向の移動速度とすることにより、ノイズを排除する可能性を高めることができる。例えば、ユーザが所定のゲームに係る指示の内容を変更する場合、ユーザは境界線ＢＤｒｌに直行する方向（＋Xｓ方向、又は、−Ｘｓ方向）に指ＦＧを動かすはずである。なお、ユーザが境界線ＢＤｒｌに沿う方向（＋Ｙｓ方向、又は−Ｙｓ方向）に指ＦＧを動かしても所定のゲームに係る指示の内容を変更することはできない。このため、境界線ＢＤｒｌに沿う方向にタッチ位置Ｐが移動したとしても、この場合のタッチ位置の移動は、端末装置１０を保持するユーザの腕又は端末装置１０が何かにぶつかった等のノイズである可能性が高いことになる。従って、後述する図９に示すように、タッチ位置Ｐが閾値速度ＴＶ以上の移動速度で移動した場合であっても、ゲーム制御部１１１は、境界線ＢＤｒｌに沿う方向の移動を無視して所定のゲームに係る指示を維持するようにしてもよい。
【００７６】
なお、図６から図９に示した動作では、所定の速度条件を満たしているか判定するために時刻ｔｍに参照されるタッチ位置Ｐの移動速度（＋Ｘｓ方向の移動速度も含む）として、時刻ｔ（ｍ−１）から時刻ｔｍまでの期間におけるタッチ位置Ｐの移動速度を例示している。しかし、時刻ｔｍに参照されるタッチ位置Ｐの移動速度は、図６から図９に示した例に限定されない。例えば、時刻ｔ４３に参照されるタッチ位置Ｐの移動速度は、時刻ｔ４２から時刻ｔ４３までの期間より前の期間（例えば、時刻ｔ４１から時刻ｔ４２までの期間）におけるタッチ位置Ｐの移動速度でもよい。あるいは、時刻ｔ４３に参照されるタッチ位置Ｐの移動速度は、時刻ｔ４２から時刻ｔ４３までの期間におけるタッチ位置Ｐの移動速度と、時刻ｔ４１から時刻ｔ４２までの期間におけるタッチ位置Ｐの移動速度との平均でもよい。また、時刻ｔ４３に参照されるタッチ位置Ｐの移動速度は、時刻ｔ４２から時刻ｔ４３までの期間におけるタッチ位置Ｐの移動速度と、時刻ｔ４１から時刻ｔ４２までの期間におけるタッチ位置Ｐの移動速度と、時刻ｔ４０から時刻ｔ４１までの期間におけるタッチ位置Ｐの移動速度との平均でもよい。従って、例えば、タッチ位置Ｐが境界線ＢＤｒｌを跨いで移動した場合に着目すると、タッチ位置Ｐの移動速度は、タッチ位置Ｐが境界線ＢＤｒｌを跨いだ時刻に基づく期間の移動速度であってもよい。次に、図１０及び図１１を参照しながら、端末装置１０の動作フローについて説明する。
【００７７】
図１０は、端末装置１０の動作の一例を示すフローチャートである。図１０に示すステップＳ１００の処理は、例えば、端末装置１０のユーザが、所定のゲームを開始させる旨の所定の開始操作をタッチパネル１２から入力した場合に実行される。
【００７８】
先ず、ステップＳ１００において、操作領域割当部１１４は、入力領域ＲＤｒ及びＲＤｌをタッチパネル１２の予め決められた位置（「初期状態」の一例）に割り当てる。例えば、操作領域割当部１１４は、記憶部１３０に記憶されている操作領域情報を取得し、入力領域ＲＤｒ及びＲＤｌの各々が割り当てられる領域を特定する。そして、操作領域割当部１１４は、タッチパネル１２のうちの操作領域情報に基づいて特定した領域に、入力領域ＲＤｒ及びＲＤｌを割り当てる。これにより、入力領域ＲＤｒ及びＲＤｌを含む操作領域Ｖが、タッチパネル１２の予め決められた位置に割り当てられる。操作領域割当部１１４は、ステップＳ１００の処理を実行した後、処理をステップＳ１０２に進める。
【００７９】
ステップＳ１０２において、表示制御部１１２は、仮想空間ＳＰ、キャラクタＣＲ、及び、操作領域Ｖを表示部１２０に表示させるための表示情報を生成し、当該表示情報に基づく画像を表示部１２０が表示するように、表示部１２０を制御する。なお、所定のゲームの開始時のキャラクタＣＲの顔の向きは、予め決められている。表示制御部１１２は、ステップＳ１０２の処理を実行した後、処理をステップＳ１０４に進める。
【００８０】
ステップＳ１０４において、タッチ位置情報取得部１１３は、タッチパネル１２がタッチ位置情報を出力したか否かを判定する。ステップＳ１０４における判定の結果が肯定の場合、タッチ位置情報取得部１１３は、処理をステップＳ１０６に進める。一方、ステップＳ１０４における判定の結果が否定の場合、タッチ位置情報取得部１１３は、処理をステップＳ１１８に進める。
【００８１】
ステップＳ１０６において、タッチ位置情報取得部１１３は、タッチパネル１２から出力されたタッチ位置情報を取得する。そして、タッチ位置情報取得部１１３は、ステップＳ１０６で取得したタッチ位置情報に基づいて、記憶部１３０に記憶されているタッチ位置履歴情報を更新する。具体的には、タッチ位置情報取得部１１３は、ステップＳ１０６で取得したタッチ位置情報を、当該タッチ位置情報を取得した時刻と対応付けた上で、タッチ位置履歴情報に含ませる。なお、タッチ位置履歴情報は、各時刻におけるタッチ位置Ｐが、入力領域ＲＤｒ及びＲＤｌの何れに存在するかを示す情報を含んでいてもよい。なお、以下の説明では、時刻ｔｍは、ステップＳ１０６においてタッチ位置情報取得部１１３により取得されたタッチ位置情報に対応付けられた時刻を意味する。タッチ位置情報取得部１１３は、ステップＳ１０６の処理を実行した後、処理をステップＳ１０８に進める。
【００８２】
ステップＳ１０８において、ゲーム制御部１１１は、記憶部１３０に記憶されている操作領域情報を取得し、入力領域ＲＤｒ及びＲＤｌの各々の位置を特定する。そして、ゲーム制御部１１１は、処理をステップＳ１１０に進める。
【００８３】
ステップＳ１１０において、ゲーム制御部１１１は、ステップＳ１０６においてタッチ位置情報取得部１１３により取得されたタッチ位置情報の示すタッチ位置Ｐが、入力領域ＲＤｒ及びＲＤｌの何れかの領域に存在するか否かを判定する。ステップＳ１１０における判定の結果が肯定の場合、ゲーム制御部１１１は、処理をステップＳ１１２に進める。一方、ステップＳ１１０における判定の結果が否定の場合、ゲーム制御部１１１は、処理をステップＳ１１８に進める。なお、ゲーム制御部１１１は、ステップＳ１１０の判定結果に基づいて、タッチ位置履歴情報を更新してもよい。
【００８４】
ステップＳ１１２において、ゲーム制御部１１１は、タッチ位置履歴情報を参照し、タッチパネル１２への最新のタッチが入力領域ＲＤへの最初のタッチであるか否かを判定する。なお、タッチパネル１２への最新のタッチは、ステップＳ１０６においてタッチ位置情報取得部１１３により取得されたタッチ位置情報に対応するタッチである。
【００８５】
例えば、ゲーム制御部１１１は、時刻ｔｍから時間Ｔｃｙｃ遡った時刻ｔ（ｍ−１）にタッチ位置情報が取得されていない場合、タッチパネル１２への最新のタッチが入力領域ＲＤへの最初のタッチであると判定する。また、ゲーム制御部１１１は、時刻ｔ（ｍ−１）にタッチ位置情報が取得されていた場合、時刻ｔ（ｍ−１）に取得されたタッチ位置情報の示すタッチ位置Ｐが、入力領域ＲＤｒ及びＲＤｌの何れかの領域に存在するか否かを判定する。そして、ゲーム制御部１１１は、時刻ｔ（ｍ−１）に取得されたタッチ位置情報の示すタッチ位置Ｐが、入力領域ＲＤｒ及びＲＤｌの何れの領域にも存在しない場合、タッチパネル１２への最新のタッチが入力領域ＲＤへの最初のタッチであると判定する。
【００８６】
ステップＳ１１２における判定の結果が肯定の場合、ゲーム制御部１１１は、処理をステップＳ１１４に進める。一方、ステップＳ１１２における判定の結果が否定の場合、ゲーム制御部１１１は、処理をステップＳ１２０に進める。
【００８７】
ステップＳ１１４において、振動制御部１１５は、振動発生部１４０が端末装置１０を振動させるように、振動発生部１４０を制御する。そして、振動制御部１１５は、処理をステップＳ１１６に進める。
【００８８】
ステップＳ１１６において、ゲーム制御部１１１は、キャラクタＣＲの顔が向く方向を決定する。具体的には、ゲーム制御部１１１は、キャラクタＣＲの顔が向く方向を、ステップＳ１１０で判定されたタッチ位置Ｐが存在する入力領域ＲＤに対応する方向に設定する。
【００８９】
ゲーム制御部１１１は、ステップＳ１１６の処理を実行した後、処理をステップＳ１４０に進める。なお、指ＦＧがタッチパネル１２に接触していない場合（Ｓ１０４：Ｎ）、又は、タッチ位置Ｐが入力領域ＲＤに存在しない場合（Ｓ１１０：Ｎ）には、ゲーム制御部１１１は、ステップＳ１１８において非タッチ処理を実行した後、処理をステップＳ１４０に進める。非タッチ処理については、図３で説明しているため、説明を省略する。また、タッチパネル１２への最新のタッチが入力領域ＲＤへの最初のタッチでない場合（Ｓ１１２：Ｎ）には、ゲーム制御部１１１は、ステップＳ１２０においてタッチ継続処理を実行した後、処理をステップＳ１４０に進める。タッチ継続処理については、図１１で説明する。
【００９０】
ステップＳ１４０において、表示制御部１１２は、仮想空間ＳＰ、キャラクタＣＲ、及び、操作領域Ｖを表示部１２０に表示させるための表示情報を生成し、当該表示情報に基づく画像を表示部１２０が表示するように、表示部１２０を制御する。ステップＳ１４０の処理が実行されることにより、キャラクタＣＲの顔が、ステップＳ１１６又は後述する図１１のステップＳ１３２等で設定された方向を向いた状態で表示される。表示制御部１１２は、ステップＳ１４０の処理を実行した後、処理をステップＳ１４２に進める。
【００９１】
ステップＳ１４２において、ゲーム制御部１１１は、ユーザが、所定のゲームを終了させる旨の所定の終了操作をタッチパネル１２から入力したか否かを判定する。ステップＳ１４２における判定の結果が肯定の場合、ゲーム制御部１１１は、所定のゲームを終了させる。一方、ステップＳ１４２における判定の結果が否定の場合、ゲーム制御部１１１は、処理をステップＳ１０４に戻し、ゲームを継続させる。次に、図１１を参照しながら、ステップＳ１２０のタッチ継続処理について説明する。
【００９２】
図１１は、タッチ継続処理の一例を示すフローチャートである。ステップＳ１２２の処理は、例えば、図１０のステップＳ１１２における判定の結果が否定の場合に実行される。
【００９３】
ステップＳ１２２において、ゲーム制御部１１１は、タッチ位置Ｐが入力領域ＲＤｒ及びＲＤｌの境界線ＢＤｒｌを跨いで移動したか否かを判定する。具体的には、ゲーム制御部１１１は、タッチ位置履歴情報を参照し、タッチ位置Ｐが入力領域ＲＤｒ及びＲＤｌの一方から他方に移動したか否かを判定する。例えば、ゲーム制御部１１１は、図１０のステップＳ１０６で取得されたタッチ位置情報の示すタッチ位置Ｐ［ｔｍ］と、時刻ｔｍから時間Ｔｃｙｃ遡った時刻ｔ（ｍ−１）におけるタッチ位置Ｐ［ｔ（ｍ−１）］とが互いに異なる入力領域ＲＤに存在するか否かを判定する。ステップＳ１２２における判定の結果が肯定の場合、ゲーム制御部１１１は、処理をステップＳ１２６に進める。一方、ステップＳ１２２における判定の結果が否定の場合、ゲーム制御部１１１は、処理をステップＳ１２４に進める。
【００９４】
ステップＳ１２４において、ゲーム制御部１１１は、時刻ｔｍから時間Ｔｃｙｃ遡った時刻ｔ（ｍ−１）におけるキャラクタＣＲの顔の向きが、タッチ位置Ｐ［ｔ（ｍ−１）］が存在する入力領域ＲＤに対応する方向と一致しているか否かを判定する。例えば、図６に示した例において、時刻ｔ１４が時刻ｔｍである場合、時刻ｔ１３におけるキャラクタＣＲの顔の向きが、タッチ位置Ｐ［ｔ１３］が存在する入力領域ＲＤｒに対応する＋Ｘｓ方向に一致しているため、ステップＳ１２４における判定の結果は、肯定となる。また、例えば、図７に示した例において、時刻ｔ２４が時刻ｔｍである場合、時刻ｔ２３におけるキャラクタＣＲの顔の向きが、タッチ位置Ｐ［ｔ２３］が存在する入力領域ＲＤｒに対応する＋Ｘｓ方向に一致していないため、ステップＳ１２４における判定の結果は、否定となる。
【００９５】
ステップＳ１２４における判定の結果が肯定の場合、ゲーム制御部１１１は、ステップＳ１３４においてキャラクタＣＲの顔が向く方向を変更せずに維持した後、処理を図１０のステップＳ１４０に進める。一方、ステップＳ１２４における判定の結果が否定の場合、ゲーム制御部１１１は、処理をステップＳ１２６に進める。
【００９６】
ステップＳ１２６において、ゲーム制御部１１１は、タッチ位置履歴情報を参照し、タッチ位置Ｐの移動速度を算出する。例えば、ゲーム制御部１１１は、図９で説明したように、時刻ｔ（ｍ−１）におけるタッチ位置Ｐ［ｔ（ｍ−１）］と、時刻ｔｍにおけるタッチ位置Ｐ［ｔｍ］と、時刻ｔｍから時刻ｔ（ｍ−１）までの時間Ｔｃｙｃとに基づいて、タッチ位置Ｐの移動速度を算出する。なお、ゲーム制御部１１１は、タッチ位置Ｐの移動速度として、タッチ位置Ｐが移動した際の加速度を算出してもよい。ゲーム制御部１１１は、ステップＳ１２６の処理を実行した後、処理をステップＳ１２８に進める。
【００９７】
ステップＳ１２８において、ゲーム制御部１１１は、ステップＳ１２６において算出したタッチ位置Ｐの移動速度が、所定の速度条件を満たすか否かを判定する。例えば、タッチ位置Ｐの移動速度（ＭＶ／Ｔｃｙｃ）が閾値速度ＴＶ以上であることが所定の速度条件である場合、ゲーム制御部１１１は、ステップＳ１２６において算出したタッチ位置Ｐの移動速度が閾値速度ＴＶ以上であるか否かを判定する。また、例えば、タッチ位置Ｐにおける＋Ｘｓ方向の移動速度（ＭＶｘ／Ｔｃｙｃ）が閾値速度ＴＶｘ以上であることが所定の速度条件である場合、ゲーム制御部１１１は、ステップＳ１２６において算出したタッチ位置Ｐの移動速度のうちの＋Ｘｓ方向の成分が閾値速度ＴＶｘ以上であるか否かを判定する。
【００９８】
ステップＳ１２８における判定の結果が肯定の場合、ゲーム制御部１１１は、処理をステップＳ１３０に進める。一方、ステップＳ１２８における判定の結果が否定の場合、ゲーム制御部１１１は、ステップＳ１３４においてキャラクタＣＲの顔が向く方向を変更せずに維持した後、処理を図１０のステップＳ１４０に進める。
【００９９】
ステップＳ１３０において、振動制御部１１５は、振動発生部１４０が端末装置１０を振動させるように、振動発生部１４０を制御する。そして、振動制御部１１５は、処理をステップＳ１３２に進める。
【０１００】
ステップＳ１３２において、ゲーム制御部１１１は、キャラクタＣＲの顔が向く方向を、図１０のステップＳ１１０で判定されたタッチ位置Ｐが存在する入力領域ＲＤに対応する方向に変更する。すなわち、タッチ位置Ｐの移動速度が所定の速度条件を満たす場合、キャラクタＣＲの顔の向きは、タッチ位置Ｐ［ｔｍ］が存在する入力領域ＲＤに対応する方向に設定される。ゲーム制御部１１１は、ステップＳ１３２の処理を実行した後、処理を図１０のステップＳ１４０に進める。
【０１０１】
このように、ゲーム制御部１１１は、タッチパネル１２に対するタッチが継続されている状態において、タッチ位置Ｐが入力領域ＲＤｒ及びＲＤｌの一方から他方に移動した場合、タッチ位置Ｐの移動速度に基づいて、所定のゲームに係る指示を変更するか否かを決定する。
【０１０２】
なお、端末装置１０の動作は、図１０及び図１１に示した例に限定されない。例えば、図１０のステップＳ１１８の非タッチ処理は、省かれてもよい。この場合、例えば、ゲーム制御部１１１は、ステップＳ１０４において、タッチパネル１２がタッチ位置情報を出力していないと判定されると、特定の処理を実行することなく、処理をステップＳ１４０に進めてもよい。あるいは、ゲーム制御部１１１は、ステップＳ１１０において、最新のタッチ位置Ｐが入力領域ＲＤの外部に存在すると判定した場合、特定の処理を実行することなく、処理をステップＳ１４０に進めてもよい。また、図１１のステップＳ１２６及びＳ１２８の一連の処理は、ステップＳ１２２の処理の前に実行されてもよい。また、ステップＳ１２８における判定の結果が否定の場合（すなわち、タッチ位置Ｐが所定の速度条件を満たさずに境界線ＢＤｒｌを跨いで移動した場合）、端末装置１０を振動させる処理が実行されてもよい。タッチ位置Ｐが所定の速度条件を満たさずに境界線ＢＤｒｌを跨いで移動した場合に端末装置１０を振動させる際の振動パターンは、ステップＳ１３０において端末装置１０を振動させる際の振動パターンと同じでもよいし、ステップＳ１３０において端末装置１０を振動させる際の振動パターンと異なっていてもよい。あるいは、タッチ位置Ｐが所定の速度条件を満たさずに境界線ＢＤｒｌを跨いで移動したことに応じて振動制御部１１５が振動発生部１４０を制御して端末装置１０を振動させる場合、ステップＳ１３０の処理は省かれてもよい。
【０１０３】
以上、第１実施形態では、ゲーム制御部１１１は、タッチパネル１２に対するタッチが継続されている状態において、タッチ位置情報取得部１１３が取得したタッチ位置情報の示すタッチ位置Ｐが入力領域ＲＤｒ及びＲＤｌの一方から他方に移動した場合、タッチ位置Ｐの移動速度に基づいて、所定のゲームに係る指示を変更するか否かを判定する。具体的には、ゲーム制御部１１１は、タッチ位置情報の示すタッチ位置Ｐが入力領域ＲＤｒ及びＲＤｌの一方から他方に移動した場合であって、タッチ位置Ｐの移動速度が所定の速度条件を満たす場合には、所定のゲームに係る指示を、入力領域ＲＤｒ及びＲＤｌの一方に対応付けられた指示から、入力領域ＲＤｒ及びＲＤｌの他方に対応付けられた指示に変更する。また、ゲーム制御部１１１は、タッチ位置情報の示すタッチ位置Ｐが入力領域ＲＤｒ及びＲＤｌの一方から他方に移動した場合であっても、タッチ位置Ｐの移動速度が所定の速度条件を満さない場合には、所定のゲームに係る指示を入力領域ＲＤｒ及びＲＤｌの一方に対応付けられた指示に維持する。
【０１０４】
このため、本実施形態によれば、例えば、ユーザが所定のゲームに係る指示を変更するつもりがないにもかかわらず、タッチ位置Ｐが徐々にずれていく場合であっても、タッチ位置Ｐの移動速度が所定の速度条件を満さない場合には、所定のゲームに係る指示は、変更されない。従って、タッチ位置Ｐの移動速度が所定の速度条件を満さない場合には所定のゲームに係る指示を変更しない本実施形態によれば、所定のゲームに係る指示の変更にタッチ位置Ｐの移動速度が考慮されない場合に比べて、誤った入力がなされる可能性を低減することができる。すなわち、本実施形態によれば、タッチパネル１２へのタッチ位置Ｐにずれが生じうる場合であっても、誤った入力がなされる可能性を低減することができる。
【０１０５】
また、ゲーム制御部１１１は、タッチ位置Ｐが、所定の速度条件を満たさない移動速度で入力領域ＲＤｒ及びＲＤｌの一方から他方に移動した場合、タッチ位置Ｐの移動速度が所定の速度条件を満たしたとき、所定のゲームに係る指示を、入力領域ＲＤｒ及びＲＤｌの一方に対応付けられた指示から入力領域ＲＤｒ及びＲＤｌの他方に対応付けられた指示に変更する。これにより、本実施形態では、例えば、ユーザが所定のゲームに係る指示の内容を変更するつもりで指ＦＧを移動させたにもかかわらず、所定のゲームに係る指示が変更されないことを低減することができる。すなわち、本実施形態によれば、ユーザの意図する指示とは異なる指示が実行なされる可能性を低減することができる。
【０１０６】
［２．第２実施形態］
次に、図１２から図１８を参照しながら、第２実施形態に係る端末装置１０Ａについて説明する。
【０１０７】
図１２は、第２実施形態に係る端末装置１０Ａの構成の一例を示す機能ブロック図である。図１乃至図１１で説明した要素と同様の要素については、同様の符号を付し、詳細な説明を省略する。また、端末装置１０Ａのハードウェア構成については、端末装置１０のハードウェア構成と同様であるため、説明を省略する。端末装置１０Ａは、図４に示した制御部１１０の代わりに制御部１１０Ａを有することを除いて、図４に示した端末装置１０と同様である。例えば、端末装置１０Ａは、端末装置１０Ａの各部を制御する制御部１１０Ａと、画像を表示するための表示部１２０と、端末装置１０Ａのユーザによる指示の入力を受け付ける入力部１２２と、各種情報を記憶する記憶部１３０と、端末装置１０Ａを振動させる振動発生部１４０とを有する。
【０１０８】
制御部１１０Ａは、ゲーム制御部１１１と、表示制御部１１２と、タッチ位置情報取得部１１３と、操作領域割当部１１４Ａ（「領域割当部」の一例）と、振動制御部１１５とを有する。すなわち、制御部１１０Ａは、図４に示した操作領域割当部１１４の代わりに操作領域割当部１１４Ａを有することを除いて、図４に示した制御部１１０と同様である。このため、図１２では、操作領域割当部１１４Ａについて説明する。
【０１０９】
操作領域割当部１１４Ａは、タッチパネル１２に対するタッチが継続されている状態において、タッチ位置Ｐが入力領域ＲＤｒ及びＲＤｌの一方から他方に移動した場合で、且つ、タッチ位置Ｐの移動速度が所定の速度条件を満たさない場合、最新のタッチ位置Ｐに基づいて、入力領域ＲＤｒ及びＲＤｌのタッチパネル１２への割り当てを変更する。図１３から図１７を参照しながら、タッチパネル１２に対する入力領域ＲＤｒ及びＲＤｌの割り当ての変更方法について説明する。
【０１１０】
図１３は、タッチパネル１２に対する入力領域ＲＤｒ及びＲＤｌの割り当ての変更方法の一例を示す説明図である。以下では、時刻ｔｎにおける操作領域Ｖは、操作領域Ｖ［ｔｎ］とも称され、時刻ｔｎにおける基準位置Ｏｖは、基準位置Ｏｖ［ｔｎ］とも称される。また、時刻ｔｎにおける入力領域ＲＤｒは、入力領域ＲＤｒ［ｔｎ］とも称され、時刻ｔｎにおける入力領域ＲＤｌは、入力領域ＲＤｌ［ｔｎ］とも称される。また、時刻ｔｎにおける境界線ＢＤｒｌは、境界線ＢＤｒｌ［ｔｎ］とも称される。
【０１１１】
図１３に示す例では、タッチ位置Ｐ［ｔ２４］を図示していないが、時刻ｔ２０から時刻ｔ２４までの期間においてタッチパネル１２に対するタッチは、継続している。図１３では、時刻ｔ２０から時刻ｔ２３までのタッチ位置Ｐの動きが、図７の時刻ｔ２０から時刻ｔ２３までのタッチ位置Ｐの動きと同じである場合を想定する。このため、時刻ｔ２０から時刻ｔ２３までの端末装置１０Ａの動作は、タッチパネル１２に対する入力領域ＲＤｒ及びＲＤｌの割り当てを変更するための処理が時刻ｔ２３以降に実行されることを除いて、図７の時刻ｔ２０から時刻ｔ２３までの端末装置１０の動作と同様である。
【０１１２】
例えば、時刻ｔ２２から時刻ｔ２３にかけて、タッチ位置Ｐは、閾値速度ＴＶ未満の移動速度（｜ＭＶ［ｔ２３］｜／Ｔｃｙｃ）で、入力領域ＲＤｌ［ｔ２３］内のタッチ位置Ｐ［ｔ２２］から入力領域ＲＤｒ［ｔ２３］内のタッチ位置Ｐ［ｔ２３］に移動する。ゲーム制御部１１１は、タッチ位置Ｐの移動速度が所定の速度条件を満たしていないため、所定のゲームに係る指示を、キャラクタＣＲの顔の向きを−Ｘｓ方向とする指示（入力領域ＲＤｌに対応付けられた指示）に維持する。
【０１１３】
また、時刻ｔ２３では、操作領域割当部１１４Ａは、タッチ位置Ｐが入力領域ＲＤｌ［ｔ２３］から入力領域ＲＤｒ［ｔ２３］に移動した場合におけるタッチ位置Ｐの移動速度が所定の速度条件を満たさないため、タッチパネル１２に対する入力領域ＲＤｒ及びＲＤｌの割り当てを変更する処理を開始する。例えば、操作領域割当部１１４Ａは、タッチ位置Ｐの移動に基づいて、入力領域ＲＤｒ及びＲＤｌの各々の位置を移動させる。
【０１１４】
図１３に示す例では、操作領域割当部１１４Ａは、先ず、タッチパネル座標系ΣＳにおける基準位置Ｏｖ［ｔ２３］及びタッチ位置Ｐ［ｔ２３］に基づいて、割り当て変更後の基準位置Ｏｖ［ｔ２４］を決定する。例えば、操作領域割当部１１４Ａは、タッチ位置Ｐ［ｔ２３］のＸｓ軸座標値に正の所定値を加算した値を基準位置Ｏｖ［ｔ２４］のＸｓ軸座標値に決定し、基準位置Ｏｖ［ｔ２３］のＹｓ軸座標値を基準位置Ｏｖ［ｔ２４］のＹｓ軸座標値に決定する。そして、操作領域割当部１１４Ａは、基準位置Ｏｖ［ｔ２３］を始点とし、基準位置Ｏｖ［ｔ２４］を終点とする操作領域移動ベクトルＶｍｖに対応する移動量だけ、入力領域ＲＤｒ及びＲＤｌを＋Ｘｓ方向（境界線ＢＤｒｌに直行する方向）に移動させる。これにより、操作領域割当部１１４Ａは、タッチ位置Ｐ［ｔ２３］が入力領域ＲＤｌ［ｔ２４］に存在するように、タッチパネル座標系ΣＳにおける基準位置Ｏｖ、入力領域ＲＤｒ及びＲＤｌの位置を修正することができる。
【０１１５】
図１３に示す例では、タッチ位置Ｐが閾値速度ＴＶ未満の移動速度で移動しているため、例えば、指ＦＧの現在（時刻ｔ２３）の位置に対応するタッチ位置Ｐ［ｔ２３］が入力領域ＲＤｌに存在しているとユーザが認識している可能性が高い。このため、ユーザの認識に合わせて、タッチパネル１２に対する入力領域ＲＤｒ及びＲＤｌの割り当てを変更することにより、ユーザの操作性を向上させることができる。上述したように、図１３では、入力領域ＲＤｒ及びＲＤｌを含む操作領域Ｖ全体を＋Ｘｓ方向に移動させている。これにより、例えば、ユーザは、キャラクタＣＲの顔の向きを＋Ｘｓ方向に変化させた後に、キャラクタＣＲの顔の向きを−Ｘｓ方向に戻す場合においても、キャラクタＣＲの顔の向きを−Ｘｓ方向とする指示（入力領域ＲＤｌに対応付けられた指示）を端末装置１０に瞬時に入力することができる。
【０１１６】
例えば、時刻ｔ２３から時刻ｔ２４にかけて、タッチ位置Ｐが閾値速度ＴＶ以上の移動速度で入力領域ＲＤｌ［ｔ２４］から入力領域ＲＤｒ［ｔ２４］に移動する場合、時刻ｔ２４において、キャラクタＣＲの顔の向きは、＋Ｘｓ方向に変化する。この場合、ユーザは、例えば、時刻ｔ２４から図示しない時刻ｔ２５にかけて、指ＦＧをタッチ位置Ｐ［ｔ２３］とほぼ同じ位置に戻すことにより、タッチ位置Ｐを入力領域ＲＤｒ［ｔ２４］から入力領域ＲＤｌ［ｔ２４］に移動させることができる。この結果、キャラクタＣＲの顔の向きは、−Ｘｓ方向に戻る。なお、入力領域ＲＤｒ及びＲＤｌの位置が固定されている場合、指ＦＧがタッチ位置Ｐ［ｔ２３］とほぼ同じ位置に戻っても、タッチ位置Ｐが入力領域ＲＤｌ（図１３の入力領域ＲＤｌ［ｔ２３］）に移動しないため、キャラクタＣＲの顔は、−Ｘｓ方向に向かない。この実施形態では、上述したように、タッチパネル１２に対する入力領域ＲＤｒ及びＲＤｌの割り当てを変更することにより、ユーザの意図した指示が端末装置１０に入力されないことを低減することができるため、ユーザの操作性を向上させることができる。
【０１１７】
なお、入力領域ＲＤｒ及びＲＤｌの各々の位置の移動方法は、図１３に示した例に限定されない。例えば、入力領域ＲＤｒ及びＲＤｌの各々の移動方向は、境界線ＢＤｒｌに直行する方向に限定されない。具体的には、入力領域ＲＤｒ及びＲＤｌの各々の移動方向は、境界線ＢＤｒｌと４５度で交差する方向であってもよいし、タッチ位置移動ベクトルＭＶ［ｔ２３］と同じ方向であってもよい。また、入力領域ＲＤｒ及びＲＤｌの各々の移動量は、基準位置Ｏｖ［ｔ２３］及びタッチ位置Ｐ［ｔ２３］に基づく移動量に限定されない。例えば、入力領域ＲＤｒ及びＲＤｌの各々の移動量は、タッチ位置移動ベクトルＭＶ［ｔ２３］に対応する移動量であってもよい。すなわち、操作領域割当部１１４Ａは、入力領域ＲＤｒ及びＲＤｌを含む操作領域Ｖ全体を、タッチ位置移動ベクトルＭＶ［ｔ２３］に対応する移動量だけ、タッチ位置移動ベクトルＭＶと同じ方向に移動させてもよい。
【０１１８】
また、操作領域割当部１１４Ａは、タッチ位置Ｐ［ｔ２３］のＸｓ軸座標値を基準位置Ｏｖ［ｔ２４］のＸｓ軸座標値（移動後の基準位置ＯｖのＸｓ軸座標値）に決定してもよい。あるいは、操作領域割当部１１４Ａは、タッチ位置Ｐ［ｔ２３］のＸｓ軸座標値と基準位置Ｏｖ［ｔ２３］のＸｓ軸座標値との間の値を基準位置Ｏｖ［ｔ２４］のＸｓ軸座標値に決定してもよい。この場合、タッチ位置Ｐ［ｔ２３］は境界線ＢＤｒｌ［ｔ２４］より＋Ｘｓ方向に存在するが、キャラクタＣＲの顔の向きを＋Ｘｓ方向に変化させた後に−Ｘｓ方向に戻す場合の指ＦＧの移動量を、入力領域ＲＤｒ及びＲＤｌの位置が固定されている場合に比べて、小さくすることができる。次に、図１４を参照しながら、入力領域ＲＤｒ及びＲＤｌを回転移動させる場合の操作領域割当部１１４Ａの動作について説明する。
【０１１９】
図１４は、タッチパネル１２に対する入力領域ＲＤｒ及びＲＤｌの割り当ての変更方法の別の例を示す説明図である。図１４に示す例では、操作領域割当部１１４Ａは、入力領域ＲＤｒ及びＲＤｌを含む操作領域Ｖ全体を移動させる代わりに、入力領域ＲＤｒ及びＲＤｌを回転移動させる。すなわち、図１４に示す例では、端末装置１０Ａの動作は、操作領域Ｖ全体を移動させる代わりに入力領域ＲＤｒ及びＲＤｌを回転移動させることを除いて、図１３で説明した端末装置１０Ａの動作と同様である。このため、図１４では、入力領域ＲＤｒ及びＲＤｌを回転移動させる処理について説明する。なお、図１４では、説明の便宜上、線ＬＮ１を図示しているが、実際には、線ＬＮ１はタッチパネル１２に表示されない。
【０１２０】
時刻ｔ２３において、操作領域割当部１１４Ａは、タッチ位置Ｐの移動に基づいて、入力領域ＲＤｒ及びＲＤｌを基準位置Ｏｖを中心にして回転移動させる。例えば、操作領域割当部１１４Ａは、基準位置Ｏｖ［ｔ２３］及びタッチ位置Ｐ［ｔ２３］を通る線ＬＮ１と、入力領域ＲＤｒ及びＲＤｌの境界線ＢＤｒｌ［ｔ２３］とのなす鋭角より所定量だけ大きい角度θを定める。そして、操作領域割当部１１４Ａは、境界線ＢＤｒｌ［ｔ２３］を、基準位置Ｏｖを支点にして＋Ｘｓ方向に角度θだけ傾ける。すなわち、操作領域割当部１１４Ａは、入力領域ＲＤｒ及びＲＤｌを、基準位置Ｏｖを中心にして反時計回りに角度θだけ回転させる。
【０１２１】
これにより、操作領域割当部１１４Ａは、操作領域Ｖの位置を変更することなく、タッチ位置Ｐ［ｔ２３］が入力領域ＲＤｌ［ｔ２４］に存在するように、タッチパネル座標系ΣＳにおける入力領域ＲＤｒ及びＲＤｌの位置を修正することができる。この結果、入力領域ＲＤｒ及びＲＤｌを回転移動させる場合においても、図１３に示した動作と同様の効果（操作性の向上）を得ることができる。なお、入力領域ＲＤｒ及びＲＤｌの回転方向は、タッチ位置Ｐ［ｔ２３］が入力領域ＲＤｌ［ｔ２４］に存在するようにする方向であり、基準位置Ｏｖ［ｔ２３］とタッチ位置Ｐ［ｔ２３］との位置関係によって決まる。例えば、タッチ位置Ｐ［ｔ２３］が基準位置Ｏｖ［ｔ２３］より＋Ｙｓ方向に位置する場合、入力領域ＲＤｒ及びＲＤｌの回転方向は、時計回りである。
【０１２２】
なお、入力領域ＲＤｒ及びＲＤｌの回転移動の方法は、図１４に示した例に限定されない。例えば、入力領域ＲＤｒ及びＲＤｌを回転させる際の角度θは、線ＬＮ１と境界線ＢＤｒｌ［ｔ２３］とのなす鋭角と同じ角度であってもよいし、線ＬＮ１と境界線ＢＤｒｌ［ｔ２３］とのなす鋭角より小さい角度であってもよい。また、入力領域ＲＤｒ及びＲＤｌを回転させる際の中心は、境界線ＢＤｒｌ［ｔ２３］上の基準位置Ｏｖ以外の位置であってもよい。例えば、操作領域割当部１１４Ａは、境界線ＢＤｒｌ［ｔ２３］における＋Ｙｓ方向の端点と基準位置Ｏｖとの間の一の位置を中心にして、入力領域ＲＤｒ及びＲＤｌを回転移動させてもよい。また、入力領域ＲＤｒ及びＲＤｌを回転させる際の中心は、境界線ＢＤｒｌ［ｔ２３］上以外の位置であってもよい。次に、図１５を参照しながら、入力領域ＲＤｒ及びＲＤｌの形状を変形させる場合の操作領域割当部１１４Ａの動作について説明する。
【０１２３】
図１５は、タッチパネル１２に対する入力領域ＲＤｒ及びＲＤｌの割り当ての変更方法の別の例を示す説明図である。図１５に示す例では、操作領域割当部１１４Ａは、入力領域ＲＤｒ及びＲＤｌを回転移動させる代わりに、入力領域ＲＤｒ及びＲＤｌの境界線ＢＤｒｌの形状を変形させる。すなわち、図１５に示す例では、端末装置１０Ａの動作は、入力領域ＲＤｒ及びＲＤｌを回転移動させる代わりに境界線ＢＤｒｌの形状を変形させることを除いて、図１４で説明した端末装置１０Ａの動作と同様である。このため、図１５では、境界線ＢＤｒｌを変形させる処理について説明する。なお、図１５では、説明の便宜上、線ＬＮ２を図示しているが、実際には、線ＬＮ２はタッチパネル１２に表示されない。
【０１２４】
時刻ｔ２３において、操作領域割当部１１４Ａは、タッチ位置Ｐの移動に基づいて、入力領域ＲＤｒ及びＲＤｌの形状を変形させる。例えば、操作領域割当部１１４Ａは、基準位置Ｏｖ［ｔ２３］及びタッチ位置Ｐ［ｔ２３］を通る線ＬＮ２と、入力領域ＲＤｒ及びＲＤｌの境界線ＢＤｒｌ［ｔ２３］とのなす鋭角より所定量だけ大きい角度θを定める。そして、操作領域割当部１１４Ａは、境界線ＢＤｒｌ［ｔ２３］のうち、基準位置Ｏｖ［ｔ２３］よりーＹｓ方向の線を、基準位置Ｏｖを支点にして＋Ｘｓ方向に角度θだけ傾ける。これにより、操作領域割当部１１４Ａは、操作領域Ｖの位置を変更することなく、タッチ位置Ｐ［ｔ２３］が入力領域ＲＤｌ［ｔ２４］に存在するように、タッチパネル座標系ΣＳにおける入力領域ＲＤｒ及びＲＤｌの形状を修正することができる。この結果、入力領域ＲＤｒ及びＲＤｌの形状を変形させる場合においても、図１３に示した動作と同様の効果（操作性の向上）を得ることができる。
【０１２５】
なお、入力領域ＲＤｒ及びＲＤｌの形状を変形させるの方法は、図１５に示した例に限定されない。例えば、境界線ＢＤｒｌ［ｔ２３］のうちの基準位置Ｏｖ［ｔ２３］よりーＹｓ方向の線を傾ける際の角度θは、線ＬＮ２と境界線ＢＤｒｌ［ｔ２３］とのなす鋭角と同じ角度であってもよいし、線ＬＮ２と境界線ＢＤｒｌ［ｔ２３］とのなす鋭角より小さい角度であってもよい。また、例えば、操作領域割当部１１４Ａは、図１６に示すように、境界線ＢＤｒｌ［ｔ２３］のうちの基準位置Ｏｖ［ｔ２３］よりーＹｓ方向の線を部分的に変形してもよいし、図１７に示すように、境界線ＢＤｒｌを移動させてもよい。
【０１２６】
図１６は、タッチパネル１２に対する入力領域ＲＤｒ及びＲＤｌの割り当ての変更方法の別の例を示す説明図である。図１６に示す例では、操作領域割当部１１４Ａは、境界線ＢＤｒｌ［ｔ２３］のうちの基準位置Ｏｖ［ｔ２３］よりーＹｓ方向の線を傾ける代わりに、境界線ＢＤｒｌ［ｔ２３］のうちの基準位置Ｏｖ［ｔ２３］よりーＹｓ方向の線を部分的に変形させる。すなわち、図１６に示す例では、端末装置１０Ａの動作は、境界線ＢＤｒｌ［ｔ２３］を変形させる方法を除いて、図１５で説明した端末装置１０Ａの動作と同様である。このため、図１６では、境界線ＢＤｒｌを変形させる処理について説明する。
【０１２７】
時刻ｔ２３において、操作領域割当部１１４Ａは、タッチ位置Ｐの移動に基づいて、入力領域ＲＤｒ及びＲＤｌの形状を変形させる。例えば、操作領域割当部１１４Ａは、タッチ位置Ｐ［ｔ２３］を＋Ｘｓ方向に所定量だけ移動した位置を頂点とし、境界線ＢＤｒｌ［ｔ２３］上に底辺を有する二等辺三角形ＴＲＩを定める。そして、操作領域割当部１１４Ａは、境界線ＢＤｒｌ［ｔ２３］のうちの二等辺三角形ＴＲＩの底辺に対応する部分を除く線と、二等辺三角形ＴＲＩの等辺とを含む線を、境界線ＢＤｒｌ［ｔ２４］とする。すなわち、操作領域割当部１１４Ａは、入力領域ＲＤｌ［ｔ２３］と二等辺三角形ＴＲＩとを含む領域を入力領域ＲＤｌ［ｔ２４］に割り当て、入力領域ＲＤｒ［ｔ２３］から二等辺三角形ＴＲＩを除いた領域を入力領域ＲＤｒ［ｔ２４］に割り当てる。
【０１２８】
これにより、操作領域割当部１１４Ａは、操作領域Ｖの位置を変更することなく、タッチ位置Ｐ［ｔ２３］が入力領域ＲＤｌ［ｔ２４］に存在するように、タッチパネル座標系ΣＳにおける入力領域ＲＤｒ及びＲＤｌの形状を修正することができる。この結果、入力領域ＲＤｒ及びＲＤｌの形状を変形させる場合においても、図１３に示した動作と同様の効果（操作性の向上）を得ることができる。また、図１６に示す方法では、境界線ＢＤｒｌ［ｔ２３］を部分的に変形しているため、入力領域ＲＤｒ及びＲＤｌの形状における初期状態からの変更量を小さくすることができる。初期状態とは、例えば、ユーザの操作によらず、予め決められた状態であってもよい。具体的には、初期状態は、図１０のステップＳ１００で割り当てられた入力領域ＲＤｒ及びＲＤｌの状態であってもよい。
【０１２９】
なお、境界線ＢＤｒｌ［ｔ２３］を部分的に変形させる方法は、図１６に示した例に限定されない。例えば、入力領域ＲＤｌ［ｔ２４］として、入力領域ＲＤｌ［ｔ２３］に追加される領域の形状は、二等辺三角形ＴＲＩ以外の形状でもよい。また、入力領域ＲＤｌ［ｔ２４］として、入力領域ＲＤｌ［ｔ２３］に追加される領域の形状は、弾性曲線を利用した形状でもよい。次に、図１７を参照しながら、境界線ＢＤｒｌを移動させることにより、入力領域ＲＤｒ及びＲＤｌの形状を変形させる場合の操作領域割当部１１４Ａの動作について説明する。
【０１３０】
図１７は、タッチパネル１２に対する入力領域ＲＤｒ及びＲＤｌの割り当ての変更方法の別の例を示す説明図である。図１７に示す例では、操作領域割当部１１４Ａは、境界線ＢＤｒｌ［ｔ２３］のうちの基準位置Ｏｖ［ｔ２３］よりーＹｓ方向の線を傾ける代わりに、境界線ＢＤｒｌ［ｔ２３］の位置を＋Ｘｓ方向に移動させる。すなわち、図１７に示す例では、端末装置１０Ａの動作は、境界線ＢＤｒｌ［ｔ２３］のうちの基準位置Ｏｖ［ｔ２３］よりーＹｓ方向の線を傾ける代わりに境界線ＢＤｒｌ［ｔ２３］の位置を＋Ｘｓ方向に移動させることを除いて、図１５で説明した端末装置１０Ａの動作と同様である。このため、図１７では、境界線ＢＤｒｌの位置を移動させる処理について説明する。符号Ｍｄは、境界線ＢＤｒｌの中心を示す。以下では、境界線ＢＤｒｌ［ｔｎ］の中心Ｍｄは、中心Ｍｄ［ｔｎ］とも称される。図１７に示す例では、時刻ｔ２３における境界線ＢＤｒｌ［ｔ２３］の中心Ｍｄ［ｔ２３］は、操作領域Ｖの中心である基準位置Ｏｖに一致している。
【０１３１】
時刻ｔ２３において、操作領域割当部１１４Ａは、タッチ位置Ｐの移動に基づいて、入力領域ＲＤｒ及びＲＤｌの形状を変形させる。例えば、操作領域割当部１１４Ａは、先ず、タッチパネル座標系ΣＳにおける中心Ｍｄ［ｔ２３］及びタッチ位置Ｐ［ｔ２３］に基づいて、境界線ＢＤｒｌの移動後の中心Ｍｄ［ｔ２４］を決定する。例えば、操作領域割当部１１４Ａは、タッチ位置Ｐ［ｔ２３］のＸｓ軸座標値に正の所定値を加算した値を中心Ｍｄ［ｔ２４］のＸｓ軸座標値に決定し、中心Ｍｄ［ｔ２３］のＹｓ軸座標値を中心Ｍｄ［ｔ２４］のＹｓ軸座標値に決定する。そして、操作領域割当部１１４Ａは、中心Ｍｄ［ｔ２３］を始点とし、中心Ｍｄ［ｔ２４］を終点とする境界線移動ベクトルＶｍｂに対応する移動量だけ、境界線ＢＤｒｌの位置を＋Ｘｓ方向（境界線ＢＤｒｌに直行する方向）に移動させる。これにより、操作領域割当部１１４Ａは、操作領域Ｖの位置を変更することなく、タッチ位置Ｐ［ｔ２３］が入力領域ＲＤｌ［ｔ２４］に存在するように、タッチパネル座標系ΣＳにおける入力領域ＲＤｒ及びＲＤｌの形状を修正することができる。この結果、境界線ＢＤｒｌの位置を移動させる場合においても、図１３に示した動作と同様の効果（操作性の向上）を得ることができる。
【０１３２】
なお、タッチパネル１２に対する入力領域ＲＤｒ及びＲＤｌの割り当ての変更方法は、図１３から図１７に示した変更方法に限定されない。次に、図１８を参照しながら、本実施形態におけるタッチ継続処理について説明する。
【０１３３】
図１８は、タッチ継続処理の一例を示すフローチャートである。なお、端末装置１０Ａの動作は、タッチ継続処理を除いて、図１０に示した端末装置１０の動作と同様である。例えば、ステップＳ１２２の処理は、図１０のステップＳ１１２における判定の結果が否定の場合に実行される。なお、図１８に示すタッチ継続処理では、図１１に示したタッチ継続処理からステップＳ１２４の処理が省かれ、ステップＳ１２５の処理及びステップＳ１３３の処理が図１１に示したタッチ継続処理に追加されている。図１８に示すタッチ継続処理のその他の動作は、図１１に示したタッチ継続処理と同様である。このため図１８では、ステップＳ１２５の処理及びステップＳ１３３の処理を中心に説明する。先ず、ステップＳ１２２における判定の結果が否定の場合に実行されるステップＳ１２５の処理について説明する。
【０１３４】
ステップＳ１２５において、操作領域割当部１１４Ａは、例えば、タッチパネル１２に対する入力領域ＲＤｒ及びＲＤｌの現在の割り当てが初期状態（例えば、図１０のステップＳ１００で割り当てられた入力領域ＲＤｒ及びＲＤｌの状態）と異なるか否かを判定する。ステップＳ１２５における判定の結果が否定の場合、操作領域割当部１１４Ａは、処理をステップＳ１３４に進める。一方、ステップＳ１２５における判定の結果が肯定の場合、操作領域割当部１１４Ａは、処理をステップＳ１３３に進める。なお、ステップＳ１３３の処理は、ステップＳ１２８における判定の結果が肯定の場合にも実行される。
【０１３５】
ステップＳ１３３において、操作領域割当部１１４Ａは、図１０のステップＳ１０６においてタッチ位置情報取得部１１３により取得されたタッチ位置情報の示すタッチ位置Ｐに基づいて、タッチパネル１２に対する入力領域ＲＤｒ及びＲＤｌの割り当てを変更する。操作領域割当部１１４Ａは、タッチパネル１２に対する入力領域ＲＤｒ及びＲＤｌの割り当ての変更方法として、図１３から図１７に示した各々の方法を含む複数の変更方法から、予め決められた１つの変更方法を選択してもよい。あるいは、操作領域割当部１１４Ａは、タッチパネル１２に対する入力領域ＲＤｒ及びＲＤｌの割り当ての変更方法を、複数の変更方法から入力領域ＲＤの状態に応じて選択してもよい。例えば、操作領域割当部１１４Ａは、入力領域ＲＤｒ及びＲＤｌの何れもが所定の大きさより大きい場合、境界線ＢＤｒｌの位置を移動する変更方法（図１７に示した変更方法）を選択してもよい。そして、操作領域割当部１１４Ａは、入力領域ＲＤｒ及びＲＤｌの何れかが所定の大きさより小さくなる場合、操作領域Ｖ全体の位置を移動する変更方法（図１３に示した変更方法）を選択してもよい。操作領域割当部１１４Ａは、ステップＳ１３３の処理を実行した後、処理をステップＳ１３４に進める。
【０１３６】
ステップＳ１３４において、ゲーム制御部１１１は、キャラクタＣＲの顔が向く方向を変更せずに維持する。そして、ゲーム制御部１１１は、処理を図１０のステップＳ１４０に進める。
【０１３７】
このように、操作領域割当部１１４Ａは、タッチ位置Ｐが、所定の速度条件を満たさない移動速度で境界線ＢＤｒｌを跨いで移動した場合、タッチ位置Ｐの移動速度が所定の速度条件を満たしていない間、タッチパネル１２に対する入力領域ＲＤｒ及びＲＤｌの割り当てをタッチ位置Ｐに基づいて変更する。これにより、初期状態から変更された入力領域ＲＤｒ及びＲＤｌの境界線ＢＤｒｌが最新のタッチ位置Ｐから所定の距離より離れた位置に維持されることを抑止することができる。例えば、図１３に示した例において、時刻ｔ２３から時刻ｔ２４にかけてタッチ位置Ｐがタッチ位置Ｐ［ｔ２３］と境界線ＢＤｒｌ［ｔ２３］との間の位置に移動した場合、操作領域割当部１１４Ａは、時刻ｔ２５における境界線ＢＤｒｌが境界線ＢＤｒｌ［ｔ２４］と時刻ｔ２４におけるタッチ位置Ｐとの間に位置するように、操作領域Ｖ全体を移動させる。
【０１３８】
なお、タッチ継続処理は、図１８に示した例に限定されない。例えば、操作領域割当部１１４Ａは、ステップＳ１２５における判定の結果が肯定の場合であっても、タッチ位置Ｐが変化していない場合には、ステップＳ１３３の処理をスキップして、処理をステップＳ１３４に進めてもよい。また、ステップＳ１２５の判定は、省かれてもよい。ステップＳ１２５の判定が省かれる場合のタッチ継続処理では、操作領域割当部１１４Ａは、ステップＳ１２２における判定の結果が否定の場合、処理をステップＳ１３３に進めてもよい。この場合、例えば、図１３に示した例において、時刻ｔ２３から時刻ｔ２４にかけてタッチ位置Ｐがタッチ位置Ｐ［ｔ２３］と境界線ＢＤｒｌ［ｔ２３］との間の位置に移動しても、操作領域Ｖは、時刻ｔ２４における操作領域Ｖ［ｔ２４］の位置から移動しない。
【０１３９】
以上、第２実施形態においても、第１実施形態と同様の効果を得ることができる。さらに、第１実施形態では、操作領域割当部１１４Ａは、タッチパネル１２に対するタッチが継続されている状態において、タッチ位置情報取得部１１３が取得したタッチ位置情報の示すタッチ位置Ｐが入力領域ＲＤｒ及びＲＤｌの一方から他方に移動した場合、タッチ位置Ｐの移動速度に基づいて、タッチパネル１２に対する入力領域ＲＤｒ及びＲＤｌの割り当てを変更するか否かを判定する。具体的には、操作領域割当部１１４Ａは、タッチ位置Ｐが入力領域ＲＤｒ及びＲＤｌの一方から他方に移動した場合で、且つ、タッチ位置Ｐの移動速度が所定の速度条件を満たさない場合に、タッチ位置Ｐに基づいて、入力領域ＲＤｒ及びＲＤｌのタッチパネル１２への割り当てを変更する。
【０１４０】
これにより、本実施形態によれば、例えば、ユーザが所定のゲームに係る指示を変更するつもりがないにもかかわらず、タッチ位置Ｐが徐々にずれていく場合であっても、タッチパネル１２に対する入力領域ＲＤｒ及びＲＤｌの割り当てが、タッチ位置Ｐのずれに応じて、変更される。このため、本実施形態では、タッチ位置Ｐが存在する入力領域ＲＤに対応付けられた指示と、ユーザの意図する指示とが異なる状態になることを低減することができる。
【０１４１】
この結果、例えば、ユーザは、所定のゲームに係る指示を、入力領域ＲＤｌに対応付けられた指示から入力領域ＲＤｒに対応付けられた指示に変更するために指ＦＧを移動させた場合、指ＦＧを元のタッチ位置Ｐとほぼ同じ位置に戻すことにより、タッチ位置Ｐを入力領域ＲＤｌに戻すことができる。すなわち、ユーザは、所定のゲームに係る指示を変更するために指ＦＧを移動させた場合、指ＦＧを元のタッチ位置Ｐとほぼ同じ位置に戻すことにより、所定のゲームに係る指示を元の指示に戻すことができる。
【０１４２】
これに対し、入力領域ＲＤｒ及びＲＤｌの位置が固定されている場合、ユーザが所定のゲームに係る指示を入力領域ＲＤｒに対応付けられた指示に変更した後に指ＦＧを元のタッチ位置Ｐとほぼ同じ位置に戻しても、タッチ位置Ｐが入力領域ＲＤｌに戻らない場合がある。この場合、ユーザの意図した指示とは異なる指示が端末装置１０Ａに入力される。この実施形態では、上述したように、タッチパネル１２に対する入力領域ＲＤｒ及びＲＤｌの割り当てを変更することにより、ユーザの意図した指示とは異なる指示が端末装置１０Ａに入力されることを低減することができるため、ユーザの操作性を向上させることができる。
【０１４３】
［３．変形例］
以上の各形態は多様に変形され得る。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された２以上の態様は、相互に矛盾しない範囲内で適宜に併合され得る。なお、以下に例示する変形例において作用や機能が実施形態と同等である要素については、以上の説明で参照した符号を流用して各々の詳細な説明を適宜に省略する。
【０１４４】
［変形例１］
上述した第１実施形態及び第２実施形態では、操作領域Ｖが２個の入力領域ＲＤ（ＲＤｒ及びＲＤｌ）を含む場合を例示したが、本発明はこのような態様に限定されるものではない。例えば、操作領域Ｖは、３個以上の入力領域ＲＤを含んでもよい。
【０１４５】
図１９は、変形例１に係る操作領域Ｖの一例を示す説明図である。図１９に示す例では、操作領域Ｖは、４個の入力領域ＲＤ（ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄ）を含んでいる。入力領域ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄの各々は、「第１領域」又は「第２領域」の一例である。変形例１においても、所定のゲームの起動時に入力領域ＲＤをタッチパネル１２に割り当てる際の操作領域割当部１１４Ａの動作は、所定のゲームの起動時に入力領域ＲＤをタッチパネル１２に割り当てる際の操作領域割当部１１４の動作と同様である。このため、図１９では、所定のゲームの起動時に入力領域ＲＤをタッチパネル１２に割り当てる際の操作領域割当部１１４の動作の一例を説明する。
【０１４６】
以下では、説明の便宜上、基準位置Ｏｖを原点とする座標系である操作領域座標系ΣＶを導入する。具体的には、操作領域座標系ΣＶとは、例えば、基準位置Ｏｖを原点とし、互いに直交するＸｖ軸及びＹｖ軸を有する２軸の直交座標系である。また、以下では、Ｘｖ軸の矢印の指す方向は＋Ｘｖ方向と称され、＋Ｘｖ方向の逆方向は−Ｘｖ方向と称される。同様に、Ｙｖ軸の矢印の指す方向は＋Ｙｖ方向と称され、＋Ｙｖ方向の逆方向は−Ｙｖ方向と称される。変形例１では、Ｘｖ軸とＸｓ軸とが平行であり、且つ、Ｙｖ軸とＹｓ軸とが平行である場合を、一例として想定する。但し、Ｘｖ軸がＸｓ軸とは異なる向きを有し、Ｙｖ軸がＹｓ軸とは異なる向きを有していてもよい。
【０１４７】
変形例１では、入力領域ＲＤｒには、キャラクタＣＲの顔の向きを＋Ｘｓ方向とする指示が対応付けられ、入力領域ＲＤｌには、キャラクタＣＲの顔の向きを−Ｘｓ方向とする指示が対応付けられている。また、入力領域ＲＤｕには、キャラクタＣＲの顔の向きを＋Ｙｓ方向とする指示が対応付けられ、入力領域ＲＤｄには、キャラクタＣＲの顔の向きを−Ｙｓ方向とする指示が対応付けられている。
【０１４８】
操作領域割当部１１４は、例えば、入力領域ＲＤｒを基準位置Ｏｖよりも＋Ｘｖ方向に位置する領域として設定し、入力領域ＲＤｌを基準位置Ｏｖよりも−Ｘｖ方向に位置する領域として設定し、入力領域ＲＤｕを基準位置Ｏｖよりも＋Ｙｖ方向に位置する領域として設定し、入力領域ＲＤｄを基準位置Ｏｖよりも−Ｙｖ方向に位置する領域として設定する。
【０１４９】
より具体的には、操作領域割当部１１４は、基準位置Ｏｖを起点とし、＋Ｘｖ方向を−Ｙｖ側に角度βだけ傾けた方向に延在する境界線ＢＤｒｄと、基準位置Ｏｖを起点とし、＋Ｙｖ方向を＋Ｘｖ側に角度βだけ傾けた方向に延在する境界線ＢＤｕｒと、円ＢＤｖと、の間の扇形の領域を、入力領域ＲＤｒとして設定する。また、操作領域割当部１１４は、基準位置Ｏｖを起点とし、−Ｘｖ方向を＋Ｙｖ側に角度βだけ傾けた方向に延在する境界線ＢＤｌｕと、基準位置Ｏｖを起点とし、−Ｙｖ方向を−Ｘｖ側に角度βだけ傾けた方向に延在する境界線ＢＤｄｌと、円ＢＤｖと、の間の扇形の領域を、入力領域ＲＤｌとして設定する。また、操作領域割当部１１４は、境界線ＢＤｕｒと境界線ＢＤｌｕと円ＢＤｖとの間の扇形の領域を、入力領域ＲＤｕとして設定する。また、操作領域割当部１１４は、境界線ＢＤｄｌと境界線ＢＤｒｄと円ＢＤｖとの間の扇形の領域を、入力領域ＲＤｄとして設定する。
【０１５０】
なお、変形例１では、一例として、角度βが、４５度である場合を想定する。但し、角度βは、０度よりも大きく、且つ、９０度よりも小さい角度であればよい。また、図１９に示す例では、境界線ＢＤｒｄと境界線ＢＤｕｒとのなす角は、境界線ＢＤｄｌと境界線ＢＤｌｕとのなす角と等しい角度であるが、境界線ＢＤｒｄと境界線ＢＤｕｒとのなす角は、境界線ＢＤｄｌと境界線ＢＤｌｕとのなす角と異なる角度であってもよい。また、変形例１においても、上述した第２実施形態と同様に、タッチパネル１２に対する入力領域ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄの割り当ては、変更されてもよい。次に、図２０を参照しながら、タッチパネル１２に対する入力領域ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄの割り当てを変更する場合の操作領域割当部１１４Ａの動作の一例を説明する。
【０１５１】
図２０は、変形例１に係る入力領域ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄの割り当ての変更方法の一例を示す説明図である。図２０に示す変更方法では、上述した図１３に示した変更方法と同様に、操作領域割当部１１４Ａは、操作領域Ｖ全体の位置を移動することにより、タッチパネル１２に対する入力領域ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄの割り当てを変更する。なお、変形例１においても、上述した図１４から図１７に示した変更方法と同様に、操作領域割当部１１４Ａは、操作領域Ｖの位置を変更することなく、タッチパネル１２に対する入力領域ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄの割り当てを変更してもよい。
【０１５２】
図２０には、タッチ位置Ｐ［ｔ５２］は図示されていないが、時刻ｔ５０から時刻ｔ５２までの期間においてタッチパネル１２に対するタッチは、継続している。また、図２０に示す変更方法では、タッチ位置Ｐの移動速度（｜ＭＶ｜／Ｔｃｙｃ）が閾値速度ＴＶ以上であることが所定の速度条件である場合を想定する。また、以下では、時刻ｔｎにおける入力領域ＲＤｕは、入力領域ＲＤｕ［ｔｎ］とも称され、時刻ｔｎにおける入力領域ＲＤｄは、入力領域ＲＤｄ［ｔｎ］とも称される。また、時刻ｔｎにおける境界線ＢＤｕｒは、境界線ＢＤｕｒ［ｔｎ］とも称され、時刻ｔｎにおける境界線ＢＤｒｄは、境界線ＢＤｒｄ［ｔｎ］とも称される。そして、時刻ｔｎにおける境界線ＢＤｄｌは、境界線ＢＤｄｌ［ｔｎ］とも称され、時刻ｔｎにおける境界線ＢＤｌｕは、境界線ＢＤｌｕ［ｔｎ］とも称される。
【０１５３】
図２０に示す例では、時刻ｔ５０から時刻ｔ５１にかけて、タッチ位置Ｐは、閾値速度ＴＶ未満の移動速度で、タッチ位置Ｐ［ｔ５０］からタッチ位置Ｐ［ｔ５１］に移動する。時刻ｔ５０では、タッチ位置Ｐ［ｔ５０］は、入力領域ＲＤｌ（図２０の入力領域ＲＤｌ［ｔ５１］）に存在する。また、時刻ｔ５１では、タッチ位置Ｐ［ｔ５１］は、入力領域ＲＤｄ［ｔ５１］に存在する。すなわち、時刻ｔ５０から時刻ｔ５１にかけて、タッチ位置Ｐは、閾値速度ＴＶ未満の移動速度で、入力領域ＲＤｌから入力領域ＲＤｄに移動する。操作領域割当部１１４Ａは、タッチ位置Ｐが入力領域ＲＤｌから入力領域ＲＤｄに移動した場合におけるタッチ位置Ｐの移動速度が所定の速度条件を満たさないため、時刻ｔ５１において、タッチパネル１２に対する入力領域ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄの割り当てを変更する処理を開始する。
【０１５４】
例えば、操作領域割当部１１４Ａは、タッチ位置Ｐの移動に基づいて、入力領域ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄの各々の位置を移動させる。具体的には、操作領域割当部１１４Ａは、タッチパネル座標系ΣＳにおけるタッチ位置Ｐ［ｔ５１］と境界線ＢＤｄｌ［ｔ５１］とに基づいて、操作領域移動ベクトルＶｍｖを定める。図２０に示す例では、操作領域割当部１１４Ａは、基準位置Ｏｖ［ｔ５１］を始点とし、境界線ＢＤｄｌ［ｔ５１］を＋Ｘｓ側に９０度だけ傾けた方向（境界線ＢＤｄｌ［ｔ５１］に直行する方向）のベクトルであり、タッチ位置Ｐ［ｔ５１］と境界線ＢＤｄｌ［ｔ５１］との距離より所定量だけ大きいベクトルを、操作領域移動ベクトルＶｍｖとして定める。
【０１５５】
そして、操作領域割当部１１４Ａは、入力領域ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄを含む操作領域Ｖ全体を、操作領域移動ベクトルＶｍｖに対応する移動量及び方向に従って移動させる。すなわち、操作領域割当部１１４Ａは、時刻ｔ５０から時刻ｔ５１にかけて移動したタッチ位置Ｐが跨いだ境界線ＢＤｄｌに直行する方向に、入力領域ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄを含む操作領域Ｖ全体を移動させる。これにより、操作領域割当部１１４Ａは、タッチ位置Ｐ［ｔ５１］が入力領域ＲＤｄ［ｔ５２］に存在するように、タッチパネル座標系ΣＳにおける基準位置Ｏｖ、操作領域Ｖ及び操作領域座標系ΣＶの位置を修正することができる。なお、変形例１においても、タッチパネル１２に対する入力領域ＲＤの割り当ての変更方法は、図１３から図１７、及び図２０に示した変更方法に限定されない。
【０１５６】
［変形例２］
上述した第１実施形態、第２実施形態及び変形例１では、操作領域Ｖが、非タッチ処理とは異なる処理を端末装置１０又は１０Ａに実行させる指示（例えば、キャラクタＣＲの顔が向く方向の指示）を入力するための入力領域ＲＤのみを含む場合を例示したが、本発明はこのような態様に限定されるものではない。例えば、操作領域Ｖは、非タッチ処理と同じ処理を端末装置１０又は１０Ａに実行させる指示（例えば、キャラクタＣＲの顔が向く方向を指定しないとうい指示）を入力するためのニュートラル領域ＲＮ（「第１領域」又は「第２領域」の一例）を含んでもよい。
【０１５７】
図２１は、変形例２に係る操作領域Ｖの一例を示す説明図である。図２１に示す例では、操作領域Ｖは、４個の入力領域ＲＤ（ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄ）とニュートラル領域ＲＮとを含んでいる。
【０１５８】
変形例２では、端末装置１０又は１０Ａは、タッチ位置Ｐがニュートラル領域ＲＮに存在する場合、非タッチ処理と同じ処理を実行する。従って、例えば、非タッチ処理が、タッチパネル座標系ΣＳにおけるキャラクタＣＲの顔の向きをタッチパネル１２から指ＦＧが離れる前と同じ向きに維持する処理である場合、ニュートラル領域ＲＮに指ＦＧがタッチされても、キャラクタＣＲの顔の向きは変化しない。また、例えば、非タッチ処理が、キャラクタＣＲの顔の向きを予め定められた向きに設定する処理である場合、ニュートラル領域ＲＮに指ＦＧがタッチされると、キャラクタＣＲの顔の向きは、予め定められた向きに設定される。
【０１５９】
変形例２においても、所定のゲームの起動時に入力領域ＲＤ及びニュートラル領域ＲＮをタッチパネル１２に割り当てる際の操作領域割当部１１４Ａの動作は、所定のゲームの起動時に入力領域ＲＤ及びニュートラル領域ＲＮをタッチパネル１２に割り当てる際の操作領域割当部１１４の動作と同様である。また、図２１に示す操作領域Ｖは、ニュートラル領域ＲＮを含むことを除いて、図１９に示した操作領域Ｖと同様である。このため、図２１では、所定のゲームの起動時にニュートラル領域ＲＮをタッチパネル１２に割り当てる際の操作領域割当部１１４の動作の一例を説明する。
【０１６０】
操作領域割当部１１４は、例えば、入力領域ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄを含む操作領域Ｖの中心、すなわち、基準位置Ｏｖを中心とする円ＢＤｎの内側の領域を、ニュートラル領域ＲＮとして設定する。円ＢＤｎは、円ＢＤｖより小さい。円ＢＤｖの内側の領域のうちのニュートラル領域ＲＮを除く領域は、入力領域ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄに割り当てられる。なお、入力領域ＲＤ等の形状は、図２０に示した例に限定されない。例えば、入力領域ＲＤは、楕円形の領域であってもよいし、多角形の領域であってもよい。この場合、操作領域Ｖのうち、入力領域ＲＤを除いた領域が、ニュートラル領域ＲＮに該当する。
【０１６１】
また、変形例２においても、上述した第２実施形態と同様に、タッチパネル１２に対する入力領域ＲＤ（ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄ）及びニュートラル領域ＲＮの割り当ては、変更されてもよい。次に、図２２を参照しながら、タッチパネル１２に対する入力領域ＲＤ（ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄ）及びニュートラル領域ＲＮの割り当てを変更する場合の操作領域割当部１１４Ａの動作の一例を説明する。
【０１６２】
図２２は、変形例２に係る入力領域ＲＤ（ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄ）及びニュートラル領域ＲＮの割り当ての変更方法の一例を示す説明図である。図２２に示す変更方法では、上述した図１４から図１７に示した変更方法と同様に、操作領域割当部１１４Ａは、操作領域Ｖの位置を変更することなく、タッチパネル１２に対する入力領域ＲＤ（ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄ）及びニュートラル領域ＲＮの割り当てを変更する。なお、変形例２においても、上述した図１３に示した変更方法と同様に、操作領域割当部１１４Ａは、操作領域Ｖ全体の位置を移動することにより、タッチパネル１２に対する入力領域ＲＤ（ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄ）及びニュートラル領域ＲＮの割り当てを変更してもよい。
【０１６３】
図２２には、タッチ位置Ｐ［ｔ６２］は図示されていないが、時刻ｔ６０から時刻ｔ６２までの期間においてタッチパネル１２に対するタッチは、継続している。また、図２２に示す変更方法では、タッチ位置Ｐの移動速度（｜ＭＶ｜／Ｔｃｙｃ）が閾値速度ＴＶ以上であることが所定の速度条件である場合を想定する。また、以下では、時刻ｔｎにおけるニュートラル領域ＲＮは、ニュートラル領域ＲＮ［ｔｎ］とも称され、ニュートラル領域ＲＮ［ｔｎ］を規定する円ＢＤｎは、円ＢＤｎ［ｔｎ］とも称される。
【０１６４】
図２２に示す例では、時刻ｔ６０から時刻ｔ６１にかけて、タッチ位置Ｐは、閾値速度ＴＶ未満の移動速度で、タッチ位置Ｐ［ｔ６０］からタッチ位置Ｐ［ｔ６１］に移動する。時刻ｔ６０では、タッチ位置Ｐ［ｔ６０］は、ニュートラル領域ＲＮ（図２２のニュートラル領域ＲＮ［ｔ６１］）に存在する。また、時刻ｔ６１では、タッチ位置Ｐ［ｔ６１］は、入力領域ＲＤｒ（図２２のニュートラル領域ＲＮ［ｔ６１］に対して＋Ｘｓ方向の領域）に存在する。すなわち、時刻ｔ６０から時刻ｔ６１にかけて、タッチ位置Ｐは、閾値速度ＴＶ未満の移動速度で、ニュートラル領域ＲＮから入力領域ＲＤｒに移動する。操作領域割当部１１４Ａは、タッチ位置Ｐがニュートラル領域ＲＮから入力領域ＲＤｒに移動した場合におけるタッチ位置Ｐの移動速度が所定の速度条件を満たさないため、時刻ｔ６１において、タッチパネル１２に対する入力領域ＲＤ（ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄ）及びニュートラル領域ＲＮの割り当てを変更する処理を開始する。
【０１６５】
例えば、操作領域割当部１１４Ａは、タッチ位置Ｐの移動に基づいて、ニュートラル領域ＲＮの形状を変形する。これにより、入力領域ＲＤｒ、ＲＤｕ及びＲＤｄの各々の形状も変形する。具体的には、操作領域割当部１１４Ａは、タッチ位置Ｐ［ｔ６１］がニュートラル領域ＲＮ［ｔ６２］に存在するように、ニュートラル領域ＲＮを規定する円ＢＤｎの形状を変形する。このように、操作領域割当部１１４Ａは、タッチ位置Ｐ［ｔ６１］がニュートラル領域ＲＮ［ｔ６２］に存在するように、タッチパネル座標系ΣＳにおける入力領域ＲＤ（ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄ）及びニュートラル領域ＲＮの形状を修正することができる。なお、ニュートラル領域ＲＮから入力領域ＲＤにタッチ位置Ｐが移動する場合、又は、入力領域ＲＤからニュートラル領域ＲＮにタッチ位置Ｐが移動する場合には、図２３に示すように、操作領域割当部１１４Ａは、ニュートラル領域ＲＮの位置を操作領域Ｖ内で移動させてもよい。
【０１６６】
図２３は、変形例２に係る入力領域ＲＤ（ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄ）及びニュートラル領域ＲＮの割り当ての変更方法の別の例を示す説明図である。図２３に示す変更方法では、上述した図２２に示した変更方法と同様に、操作領域割当部１１４Ａは、操作領域Ｖの位置を変更することなく、タッチパネル１２に対する入力領域ＲＤ（ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄ）及びニュートラル領域ＲＮの割り当てを変更する。符号Ｎｃは、ニュートラル領域ＲＮの中心を示す。以下では、ニュートラル領域ＲＮ［ｔｎ］の中心Ｎｃは、中心Ｎｃ［ｔｎ］とも称される。図２３に示す例では、時刻ｔ６１におけるニュートラル領域ＲＮ［ｔ６１］の中心Ｎｃ［ｔ６１］は、操作領域Ｖの中心である基準位置Ｏｖに一致している。
【０１６７】
操作領域割当部１１４Ａは、タッチ位置Ｐがニュートラル領域ＲＮから入力領域ＲＤｒに移動した場合におけるタッチ位置Ｐの移動速度が所定の速度条件を満たさないため、時刻ｔ６１において、タッチパネル１２に対する入力領域ＲＤ（ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄ）及びニュートラル領域ＲＮの割り当てを変更する処理を開始する。
【０１６８】
例えば、操作領域割当部１１４Ａは、タッチ位置Ｐの移動に基づいて、ニュートラル領域ＲＮの位置を移動させる。具体的には、操作領域割当部１１４Ａは、タッチパネル座標系ΣＳにおけるタッチ位置Ｐ［ｔ６１］と円ＢＤｎ［ｔ６１］とに基づいて、ニュートラル領域移動ベクトルＶｍｎを定める。図２３に示す例では、操作領域割当部１１４Ａは、タッチ位置Ｐ［ｔ６１］を−Ｘｓ方向に円ＢＤｎ［ｔ６１］上まで移動させる場合の移動量より所定量だけ大きいベクトルであり、ニュートラル領域ＲＮ［ｔ６１］の中心Ｎｃ［ｔ６１］を始点とし、＋Ｘｓ方向に向かうベクトルを、ニュートラル領域移動ベクトルＶｍｎとして定める。
【０１６９】
そして、操作領域割当部１１４Ａは、ニュートラル領域ＲＮの中心Ｎｃを、ニュートラル領域移動ベクトルＶｍｎに対応する移動量及び方向に従って移動させる。これにより、ニュートラル領域ＲＮ［ｔ６２］が設定される。また、操作領域割当部１１４Ａは、境界線ＢＤｕｒ［ｔ６１］における円ＢＤｖ上の端点ＥＤｕｒを始点とし、ニュートラル領域ＲＮ［ｔ６２］の中心Ｎｃ［ｔ６２］に向かって、ニュートラル領域ＲＮ［ｔ６２］まで延在する線を、境界線ＢＤｕｒ［ｔ６２］として設定する。境界線ＢＤｒｄ［ｔ６２］、ＢＤｄｌ［ｔ６２］及びＢＤｌｕ［ｔ６２］も、境界線ＢＤｕｒ［ｔ６２］と同様に設定される。これにより、操作領域割当部１１４Ａは、タッチ位置Ｐ［ｔ６１］がニュートラル領域ＲＮ［ｔ６２］に存在するように、タッチパネル座標系ΣＳにおける入力領域ＲＤ（ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄ）の形状及びニュートラル領域ＲＮの位置を修正することができる。
【０１７０】
なお、変形例２では、タッチ位置Ｐの移動先又は移動元がニュートラル領域ＲＮに存在する場合と、タッチ位置Ｐの移動先又は移動元の何れもニュートラル領域ＲＮに存在しない場合とで、タッチパネル１２に対する入力領域ＲＤ（ＲＤｒ、ＲＤｌ、ＲＤｕ及びＲＤｄ）及びニュートラル領域ＲＮの割り当ての変更方法を異ならせてもよい。また、変形例２においても、タッチパネル１２に対する入力領域ＲＤ及びニュートラル領域ＲＮの割り当ての変更方法は、図１３から図１７、図２２及び図２３に示した変更方法に限定されない。
【０１７１】
［変形例３］
上述した第１実施形態、第２実施形態、変形例１及び変形例２では、所定のゲームの起動時にタッチパネル１２上の所定の位置に操作領域Ｖが設定される場合を例示したが、本発明はこのような態様に限定されるものではない。例えば、操作領域割当部１１４又は１１４Ａは、タッチインが発生する度に、タッチパネル１２における指ＦＧのタッチ位置Ｐを基準位置Ｏｖとして設定し、当該基準位置Ｏｖに基づく位置に対して操作領域Ｖを設定してもよい。この場合、端末装置１０又は１０Ａは、ユーザの指ＦＧがタッチパネル１２に対する接触を維持している期間において、タッチパネル１２において操作領域Ｖが設定された状態を維持する。そして、端末装置１０又は１０Ａは、ユーザの指ＦＧがタッチパネル１２に対して接触している状態から、接触していない状態に変化した場合、タッチパネル１２に設定されていた操作領域Ｖを消滅させる。
【０１７２】
図２４は、変形例３に係る端末装置１０の動作の一例を示すフローチャートである。図２４に示す動作では、図１０に示した動作からステップＳ１００が省かれ、ステップＳ１０７及びＳ１１３が図１０に示した動作に追加されている。さらに、図２４に示す動作では、図１０に示したステップＳ１０２の処理の代わりにステップＳ１０１の処理が実行され、図１０に示したステップＳ１１２の処理の代わりにステップＳ１１１の処理が実行される。図２４に示すその他の動作は、図１０に示した動作と同様である。図１０で説明した処理については、詳細な説明を省略する。図２４に示すステップＳ１０１の処理は、例えば、端末装置１０のユーザが、所定のゲームを開始させる旨の所定の開始操作をタッチパネル１２から入力した場合に実行される。
【０１７３】
先ず、ステップＳ１０１において、表示制御部１１２は、仮想空間ＳＰ及びキャラクタＣＲを表示部１２０に表示させるための表示情報を生成し、当該表示情報に基づく画像を表示部１２０が表示するように、表示部１２０を制御する。そして、表示制御部１１２は、処理をステップＳ１０４に進める。
【０１７４】
ステップＳ１０４において、タッチ位置情報取得部１１３は、タッチパネル１２がタッチ位置情報を出力したか否かを判定する。ステップＳ１０４における判定の結果が肯定の場合、タッチ位置情報取得部１１３は、処理をステップＳ１０６に進める。一方、ステップＳ１０４における判定の結果が否定の場合、タッチ位置情報取得部１１３は、処理をステップＳ１１８に進める。
【０１７５】
ステップＳ１０６において、タッチ位置情報取得部１１３は、タッチパネル１２から出力されたタッチ位置情報を取得する。そして、タッチ位置情報取得部１１３は、処理をステップＳ１０７に進める。
【０１７６】
ステップＳ１０７において、ゲーム制御部１１１は、タッチ位置履歴情報を参照し、タッチインが発生したか否かを判定する。例えば、ゲーム制御部１１１は、ステップＳ１０６においてタッチ位置情報取得部１１３により取得されたタッチ位置情報に対応付けられた時刻ｔｍから時間Ｔｃｙｃ遡った時刻ｔ（ｍ−１）にタッチ位置情報が取得されていない場合、タッチインが発生したと判定する。ステップＳ１０７における判定の結果が肯定の場合、ゲーム制御部１１１は、処理をステップＳ１１３に進める。一方、ステップＳ１０７における判定の結果が否定の場合、ゲーム制御部１１１は、処理をステップＳ１０８に進める。
【０１７７】
ステップＳ１１３において、操作領域割当部１１４は、ステップＳ１０６においてタッチ位置情報取得部１１３により取得されたタッチ位置情報の示すタッチ位置Ｐを基準位置Ｏｖとして、入力領域ＲＤを割り当てる。そして、操作領域割当部１１４は、処理をステップＳ１１４に進める。
【０１７８】
ステップＳ１１４からステップＳ１４２までの一連の処理は、ステップＳ１１６の処理の一部を除いて、図１０のステップＳ１１４からステップＳ１４２までの一連の処理と同様である。例えば、ステップＳ１０７における判定の結果が肯定の場合に、ステップＳ１１３及びＳ１１４の一連の処理の後に実行されるステップＳ１１６では、ゲーム制御部１１１は、キャラクタＣＲの顔の向きを、予め決められた方向（例えば、図１に示した正面方向）に設定してもよいし、タッチイン前のキャラクタＣＲの顔の向きに維持してもよい。なお、ステップＳ１１１における判定の結果が肯定の場合に実行されるステップＳ１１６では、図１０のステップＳ１１６と同様に、ゲーム制御部１１１は、キャラクタＣＲの顔が向く方向を、ステップＳ１１０で判定されたタッチ位置Ｐが存在する入力領域ＲＤに対応する方向に設定する。
【０１７９】
また、ステップＳ１０８及びＳ１１０の一連の処理は、ステップＳ１１０における判定の結果が肯定の場合に実行される処理を除いて、図１０のステップＳ１０８及びＳ１１０の一連の処理と同様である。変形例３では、ステップＳ１１０における判定の結果が肯定の場合、ステップＳ１１１の処理が実行される。
【０１８０】
ステップＳ１１１において、ゲーム制御部１１１は、タッチ位置履歴情報を参照し、タッチパネル１２への最新のタッチが、タッチイン後の最初のタッチであるか否かを判定する。なお、タッチパネル１２への最新のタッチは、ステップＳ１０６においてタッチ位置情報取得部１１３により取得されたタッチ位置情報に対応するタッチである。
【０１８１】
例えば、ゲーム制御部１１１は、時刻ｔ（ｍ−２）にタッチ位置情報が取得されていない場合、タッチパネル１２への最新のタッチがタッチイン後の最初のタッチであると判定する。ステップＳ１１１における判定の結果が肯定の場合、ゲーム制御部１１１は、処理をステップＳ１１６に進める。一方、ステップＳ１１１における判定の結果が否定の場合、ゲーム制御部１１１は、処理をステップＳ１２０に進める。図２４に示す動作では、ステップＳ１２０のタッチ継続処理は、図１１に示したタッチ継続処理である。
【０１８２】
なお、変形例３に係る端末装置１０の動作は、図２４に示した例に限定されない。例えば、端末装置１０は、ステップＳ１０７における判定の結果が肯定の場合、ステップＳ１１３及びＳ１１４の一連の処理を実行した後、ステップＳ１１６の処理をスキップして、処理をステップＳ１４０に進めてもよい。この場合、キャラクタＣＲの顔の向きは、タッチイン前のキャラクタＣＲの顔の向きに維持される。また、変形例３に係る端末装置１０Ａの動作は、ステップＳ１２０のタッチ継続処理を除いて、変形例３に係る端末装置１０の動作と同様である。変形例３に係る端末装置１０Ａは、ステップＳ１２０のタッチ継続処理として、図１８に示したタッチ継続処理を実行する。
【０１８３】
［変形例４］
上述した第２実施形態、及び、変形例１乃至変形例３では、タッチパネル１２に対する割り当てが変更された入力領域ＲＤの配置を初期状態に戻すことについては特に説明していないが、本発明は、タッチパネル１２に対する割り当てが変更された入力領域ＲＤの配置を初期状態に戻さない態様に限定されるものではない。例えば、操作領域割当部１１４Ａは、タッチ位置Ｐに関するタッチ条件が満たされる場合、タッチパネル１２に対する入力領域ＲＤの割り当てを初期状態に戻してもよい。
【０１８４】
具体的には、操作領域割当部１１４Ａは、タッチ位置Ｐが検出されない場合（例えば、図１０のＳ１０４：Ｎ）、タッチパネル１２に対する入力領域ＲＤの割り当てを初期状態に戻してもよい。あるいは、操作領域割当部１１４Ａは、タッチ位置Ｐが閾値速度ＴＶ以上の移動速度で境界線ＢＤｒｌ等の境界線を跨いで移動した場合（例えば、図１１のＳ１２２：Ｙ、且つ、Ｓ１２８：Ｙ）、タッチパネル１２に対する入力領域ＲＤの割り当てを初期状態に戻してもよい。上述の例では、タッチ位置Ｐが検出されないこと、または、タッチ位置Ｐが閾値速度ＴＶ以上の移動速度で境界線ＢＤｒｌ等の境界線を跨いで移動することが、「タッチ位置に関するタッチ条件」に該当する。なお、「タッチ位置に関するタッチ条件」は、上述の例に限定されない。
【０１８５】
変形例４では、タッチ位置Ｐに関するタッチ条件が満たされる場合、タッチパネル１２に対する入力領域ＲＤの割り当てが初期状態に戻されるため、タッチパネル１２に対する入力領域ＲＤの割り当てが初期状態から変更された状態で維持されること抑止することができる。
【０１８６】
［変形例５］
上述した第２実施形態、及び、変形例１乃至変形例４では、タッチパネル１２に対する入力領域ＲＤの割り当てを変更する際の変更の限界については特に説明していないが、本発明は、タッチパネル１２に対する入力領域ＲＤの割り当てを変更する際の変更の限界を設定しない態様に限定されるものではない。例えば、タッチパネル１２に対する入力領域ＲＤの割り当ての変更は、変更後の入力領域ＲＤの位置が初期状態における入力領域ＲＤの位置を基準とした所定の範囲に収まるように、制限されてもよい。具体的には、図１３に示した例では、操作領域Ｖ全体の移動範囲は、初期状態における操作領域Ｖの位置から所定の距離（例えば、２センチメートル）以内に制限されてもよい。同様に、図１７に示した例では、境界線ＢＤｒｌの移動範囲は、初期状態における境界線ＢＤｒｌの位置からから所定の距離（例えば、２センチメートル）以内に制限されてもよい。また、図１４に示した例では、入力領域ＲＤｒ及びＲＤｌの回転移動の範囲は、初期状態における入力領域ＲＤｒ及びＲＤｌの配置に対して所定の角度（例えば、３０度）以内に制限されてもよい。同様に、図１５に示した例では、境界線ＢＤｒｌの一部を基準位置Ｏｖを支点にして傾ける際の角度は、初期状態における境界線ＢＤｒｌに対して所定の角度（例えば、３０度）以内に制限されてもよい。
【０１８７】
変形例５では、タッチパネル１２に対する入力領域ＲＤの割り当てを変更する際の変更の限界が設定されているため、入力領域ＲＤが初期状態の配置又は形状から大きく異なる状態になることを抑止することができる。この結果、ユーザの操作性が損なわれることを抑止することができる。
【０１８８】
［変形例６］
上述した第１実施形態、第２実施形態、及び、変形例１乃至変形例５では、入力領域ＲＤが、キャラクタＣＲの顔が向く方向の指示を入力するための領域である場合を例示したが、本発明はこのような態様に限定されるものではない。入力領域ＲＤは、所定のゲームに係る指示を入力するための領域であってもよい。例えば、入力領域ＲＤｒは、所定のゲームにおいて、キャラクタＣＲによる攻撃の指示（「第１の指示」の一例）を入力するための領域であり、入力領域ＲＤｌは、所定のゲームにおいて、キャラクタＣＲによる防御の指示（「第２の指示」の一例）を入力するための領域であってもよい。また、例えば、入力領域ＲＤは、タッチパネル座標系ΣＳ又は仮想空間ＳＰにおける、キャラクタＣＲの移動方向の指示を入力するための領域であってもよい。具体的には、例えば、入力領域ＲＤｒは、キャラクタＣＲを、タッチパネル座標系ΣＳ又は仮想空間ＳＰにおける一の方向に移動させる旨の指示を入力するための領域であり、入力領域ＲＤｌは、キャラクタＣＲを、タッチパネル座標系ΣＳ又は仮想空間ＳＰにおける他の方向に移動させる旨の指示を入力するための領域であってもよい。
【０１８９】
［変形例７］
上述した第１実施形態、第２実施形態、及び、変形例１乃至変形例６では、プログラムとして、所定のゲームに係るプログラムを例示したが、本発明はこのような態様に限定されるものではない。プログラムは、任意のアプリケーションに係るプログラムであってもよい。また、この場合、第１の指示は、任意のアプリケーションに係る指示であればよく、第２の指示は、任意のアプリケーションに係る指示であって第１の指示とは異なる指示であればよい。
【０１９０】
［変形例８］
上述した第１実施形態、第２実施形態、及び、変形例１乃至変形例７では、タッチ位置Ｐの移動速度がタッチ位置Ｐ及び時間Ｔｃｙｃに基づいて算出される場合を例示したが、本発明はこのような態様に限定されるものではない。例えば、端末装置１０又は１０Ａは、タッチパネル１２に対するタッチにより生じる摩擦等を検出するセンサを有する場合、センサから得られる摩擦等に関する情報に基づいて、タッチ位置Ｐの移動速度を算出してもよい。
【０１９１】
［変形例９］
上述した第１実施形態、第２実施形態、及び、変形例１乃至変形例８では、端末装置１０又は１０Ａがタッチパネル１２を有する場合を例示したが、本発明はこのような態様に限定されるものではない。例えば、端末装置１０又は１０Ａは、表示部１２０として機能する表示装置と、入力部１２２として機能するポインティングデバイスとを、タッチパネル１２の代わりに有してもよい。表示装置は、例えば、液晶ディスプレイ、又は、テレビ受像機等が該当する。また、ポインティングデバイスは、マウス、又は、ゲーム装置のリモートコントローラ等が該当する。なお、変形例９では、上述した第１実施形態、第２実施形態、及び、変形例１乃至変形例８における説明の「タッチパネル」は「表示画面」に読み替えられ、「タッチ位置」は「指定位置」に読み替えられる。例えば、端末装置１０又は１０Ａは、表示画面において指定された指定位置を示す指定位置情報を取得してもよい。「指定位置」は、ポインティングデバイスにより操作される、表示画面上のポインタの位置であってもよい。
【０１９２】
［変形例１０］
上述した第１実施形態、第２実施形態、及び、変形例１乃至変形例９では、所定のゲームが端末装置１０又は１０Ａにおいて実行される場合を例示したが、本発明はこのような態様に限定されるものではない。所定のゲームは、端末装置１０及び１０Ａ以外の構成要素において実行されてもよい。
【０１９３】
図２５は、変形例１０に係る情報処理システムＳＹＳの概要を示す説明図である。情報処理システムＳＹＳは、サーバ装置２０Ｂと、端末装置１０Ｂとを有する。サーバ装置２０Ｂは、所定のゲームを実行することができ、また、ネットワークＮWを介して端末装置１０Ｂと通信可能である。具体的には、サーバ装置２０Ｂは、サーバ装置２０Ｂの各部を制御する制御部１１０と、所定のゲームに係るプログラム等の各種情報を記憶する記憶部２３０と、端末装置１０Ｂ等の外部装置との間の通信を実行するための通信部２５０とを有する。また、端末装置１０Ｂは、表示部１２０、入力部１２２、及び、振動発生部１４０に加えて、サーバ装置２０Ｂ等の外部装置との間の通信を実行するための通信部１５０を有する。なお、表示部１２０及び入力部１２２は、上述したタッチパネル１２として実装される。サーバ装置２０Ｂは、端末装置１０Ｂの入力部１２２から入力される情報に基づいて表示情報を生成する。また、端末装置１０Ｂの有する表示部１２０は、サーバ装置２０Ｂにおいて生成される表示情報に基づいて、所定のゲームに関する画像を表示する。
【０１９４】
［４．付記］
以上の記載から、本発明は例えば以下のように把握される。なお、各態様の理解を容易にするために、以下では、図面の参照符号を便宜的に括弧書きで付記するが、本発明を図示の態様に限定する趣旨ではない。
【０１９５】
［付記１］
本発明の一態様に係るプログラムは、プロセッサを、タッチパネルに対するタッチのタッチ位置を示すタッチ位置情報を取得する取得部と、前記タッチパネルに、第１領域及び第２領域を割り当てる領域割当部と、前記タッチ位置情報の示すタッチ位置に基づいて、ゲームに係る指示の内容を決定する指示部と、して機能させ、前記指示部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合、前記タッチ位置情報の示すタッチ位置の移動速度が所定の速度条件を満たす場合には、前記ゲームに係る指示を、前記第１領域に対応付けられた第１の指示から、前記第２領域に対応付けられた第２の指示に変更し、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満さない場合には、前記ゲームに係る指示を前記第１の指示に維持する、ことを特徴とする。
【０１９６】
この態様によれば、指示部は、タッチパネルに対するタッチが継続されている状態でタッチ位置が第１領域から第２領域に移動した場合で、且つ、タッチ位置の移動速度が所定の速度条件を満たす場合に、ゲームに係る指示を第１の指示から第２の指示に変更する。また、指示部は、タッチパネルに対するタッチが継続されている状態でタッチ位置が第１領域から第２領域に移動した場合であっても、タッチ位置の移動速度が所定の速度条件を満さない場合には、ゲームに係る指示を第１の指示に維持する。
【０１９７】
このため、この態様によれば、例えば、ユーザがゲームに係る指示を変更するつもりがないにもかかわらず、タッチ位置が徐々にずれていく場合であっても、タッチ位置の移動速度が所定の速度条件を満さない場合には、ゲームに係る指示は、変更されない。従って、この態様では、タッチパネルへのタッチ位置にずれが生じうる場合であっても、誤った入力がなされる可能性を低減することができる。
【０１９８】
なお、上記態様において、「ゲームに係る指示」とは、例えば、タッチパネルを用いて提供されるゲームに関する指示であってもよい。「タッチパネルを用いて提供されるゲームに関する指示」は、例えば、「ゲームに係る操作方向」を指定する指示であってもよいし、「ゲームに係る操作方向」を指定しないとうい指示であってもよい。「ゲームに係る操作方向」とは、例えば、ゲームに係る仮想空間における方向であってもよいし、ゲームに係る画面における方向であってもよい。
【０１９９】
「ゲームに係る仮想空間における方向」とは、例えば、ゲームに係る仮想空間におけるゲーム要素の位置および姿勢の一方または両方の変化の方向である。ここで、「ゲーム要素」とは、例えば、ゲームに係る仮想空間に存在する仮想的な物体であってもよいし、ゲームに係る仮想空間を撮像する仮想カメラであってもよい。このうち、「ゲームに係る仮想空間に存在する仮想的な物体」とは、例えば、ゲームに係るキャラクタ、及び、ゲームに係るオブジェクトを含む概念であってもよい。
【０２００】
「ゲームに係る画面における方向」とは、例えば、ゲームに係る画面において表示される仮想的な物体を示す画像の、当該画面における位置及び姿勢の一方または両方の変化の方向でもよいし、ゲームに係るメニュー画面において表示されるポインタ等の、ゲームの進行に関係しないゲーム要素を示す画像の、当該メニュー画面における移動方向でもよい。なお、「ゲームに係る指示」は、「ゲームに係る操作方向」に関する指示に限定されず、例えば、ゲームに係るキャラクタからの質問に対する回答（例えば、ＹＥＳ／ＮＯ等）を選択する指示であってもよい。
【０２０１】
また、上記態様において、「ゲームに係る第１の指示」は、「ゲームに係る指示」の一例である。例えば、「第１の指示」は、「ゲームに係る操作方向」を指定する指示であってもよいし、「ゲームに係る操作方向」を指定しないとうい指示であってもよい。
【０２０２】
また、上記態様において、「ゲームに係る第２の指示」とは、「ゲームに係る指示」の他の例である。例えば、「第２の指示」は、第１の指示とは異なる指示であって、タッチパネルを用いて提供されるゲームに関する指示であってもよい。また、「第１の指示」が「ゲームに係る操作方向」として「第１の操作方向」を指定する指示である場合、「第２の指示」は、第１の操作方向と異なる「第２の操作方向」を指定する指示であってもよいし、「ゲームに係る操作方向」を指定しないとうい指示であってもよい。ここで、「第２の操作方向」は、例えば、第１の操作方向とは反対の方向であってもよい。
【０２０３】
また、上記態様において、「第１領域」とは、例えば、ゲームに係る第１の指示の入力のために、タッチパネルにおいて視認可能な態様で設けられた領域であってもよいし、ゲームに係る第１の指示の入力のために、タッチパネルにおいて視認されない態様で設けられた仮想的な領域であってもよい。「第２領域」とは、例えば、第１領域とは異なる領域であって、ゲームに係る第２の指示の入力のために、タッチパネルにおいて視認可能な態様で設けられた領域であってもよいし、第１領域とは異なる領域であって、ゲームに係る第２の指示の入力のために、タッチパネルにおいて視認されない態様で設けられた仮想的な領域であってもよい。
【０２０４】
また、上記態様において、「領域割当部」は、タッチパネルの表示領域内の予め決められた初期位置に第１領域及び第１領域を割り当ててもよいし、タッチインの位置を基準にして第１領域及び第１領域を表示領域内に割り当ててもよい。
【０２０５】
また、上記態様において、「所定の速度条件」は、速度を用いた条件であれば特に限定されない。例えば、「所定の速度条件」とは、タッチ位置が移動した際の移動速度が予め決められた閾値速度以上であることでもよいし、タッチ位置が移動した際の加速度が予め決められた閾値加速度以上であることでもよい。「タッチ位置が移動した際の移動速度」は、タッチ位置が第１領域と第２領域との境界線を跨いで移動した際の移動速度であってもよい。あるいは、「タッチ位置が移動した際の移動速度」は、タッチ位置が第１領域と第２領域との境界線を跨ぐ直前の移動速度であってもよいし、タッチ位置が第１領域と第２領域との境界線を跨いだ直後の移動速度であってもよい。同様に、「タッチ位置が移動した際の加速度」は、タッチ位置が第１領域と第２領域との境界線を跨いで移動した際の加速度であってもよい。あるいは、「タッチ位置が移動した際の加速度」は、タッチ位置が第１領域と第２領域との境界線を跨ぐ直前の加速度であってもよいし、タッチ位置が第１領域と第２領域との境界線を跨いだ直後の加速度であってもよい。
【０２０６】
ここで、「タッチ位置が第１領域と第２領域との境界線を跨いで移動した際の移動速度」は、例えば、タッチ位置が境界線を跨ぐ前の時刻Ｔ１におけるタッチ位置Ｐ１と、タッチ位置が境界線を跨いだ後の時刻Ｔ２におけるタッチ位置Ｐ２とに基づいて算出されてもよい。具体的には、移動速度は、下記の式で表されてもよい。
移動速度＝｜Ｐ２−Ｐ１｜／（Ｔ２−Ｔ１）
【０２０７】
なお、「タッチ位置が境界線を跨ぐ前の時刻Ｔ１」は、タッチパネルが複数のタッチ位置の各々を検出した時刻のうち、タッチ位置が境界線を跨ぐ直前の時刻でもよいし、タッチ位置が境界線を跨いだ時刻から第１の所定時間前の時刻に最も近い時刻でもよい。また、「タッチ位置が境界線を跨いだ後の時刻Ｔ２」は、タッチパネルが複数のタッチ位置の各々を検出した時刻のうち、タッチ位置が境界線を跨いだ直後の時刻でもよいし、タッチ位置が境界線を跨いだ時刻から第２の所定時間後の時刻に最も近い時刻でもよい。ここで、「タッチ位置が境界線を跨いだ時刻」は、例えば、複数のタッチ位置の時系列の履歴に基づいて、算出されてもよい。また、第２の所定時間は、第１の所定時間と同じ時間でもよいし、異なる時間でもよい。
【０２０８】
また、「タッチ位置が第１領域と第２領域との境界線を跨いで移動した際の移動速度」は、タッチ位置Ｐ１を始点としタッチ位置Ｐ２を終点とするタッチ位置移動ベクトルにおける、第１領域と第２領域との境界線に垂直な方向の成分を、時刻Ｔ１と時刻Ｔ２との差（Ｔ２−Ｔ１）で除算して算出されてもよい。
【０２０９】
また、時刻Ｔ１から時刻Ｔ２までの間に、３つ以上のタッチ位置が検出される場合、「タッチ位置が第１領域と第２領域との境界線を跨いで移動した際の移動速度」は、時刻Ｔ１から時刻Ｔ２までのタッチ位置の移動速度の平均値であってもよい。
【０２１０】
「タッチ位置が第１領域と第２領域との境界線を跨いで移動した際の加速度」は、上述のタッチ位置Ｐ１及びＰ２を含む３つ以上のタッチ位置の時系列の履歴に基づいて、算出されてもよい。また、「タッチ位置が第１領域と第２領域との境界線を跨いで移動した際の加速度」は、第１領域と第２領域との境界線に交差する方向、典型的には垂直な方向に対するタッチ位置の移動速度の変化に基づいて算出されてもよい。
【０２１１】
［付記２］
本発明の他の態様に係るプログラムは、付記１に記載のプログラムであって、前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合で、且つ、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさない場合に、前記タッチ位置情報の示すタッチ位置に基づいて、前記第１領域及び前記第２領域の前記タッチパネルへの割り当てを変更する、ことを特徴とする。
【０２１２】
この態様によれば、領域割当部は、タッチ位置が第１領域から第２領域に移動した場合で、且つ、タッチ位置の移動速度が所定の速度条件を満たさない場合に、タッチ位置に基づいて、第１領域及び第２領域のタッチパネルへの割り当てを変更する。これにより、この態様によれば、例えば、ユーザがゲームに係る指示を変更するつもりがないにもかかわらず、タッチ位置が徐々にずれていく場合であっても、タッチパネルに対する第１領域及び第２領域の割り当てが、タッチ位置のずれに応じて、変更される。このため、この態様では、第１領域及び第２領域のうちのタッチ位置が存在する領域に対応付けられた指示と、ユーザの意図する指示とが異なる状態になることを低減することができる。
【０２１３】
この結果、例えば、ユーザは、ゲームに係る指示を変更するためにタッチ位置を移動させた場合、タッチ位置を元の位置とほぼ同じ位置に戻すことにより、ゲームに係る指示を元の指示に戻すことができる。これに対し、タッチ位置の移動速度に応じてゲームに係る指示を変更するか否かを決定する態様において、第１領域及び第２領域の位置が固定されている場合、例えば、ユーザがタッチ位置を移動させてゲームに係る指示を第１の指示から第２の指示に変更した後にタッチ位置を元の位置とほぼ同じ位置に戻しても、タッチ位置が第１領域に戻らない場合がある。この場合、ユーザの意図した指示とは異なる指示が端末装置に入力される。この態様では、上述したように、タッチパネルに対する第１領域及び第２領域の割り当てを変更することにより、ユーザの意図した指示とは異なる指示が端末装置に入力されることを低減することができるため、ユーザの操作性を向上させることができる。
【０２１４】
なお、上記態様において、「前記タッチ位置の移動に基づいて、前記第１領域及び前記第２領域の前記タッチパネルへの割り当てを変更する」とは、第１領域から第２領域に移動したタッチ位置を割り当て変更後の第１領域が含むように、第１領域及び第２領域のタッチパネルへの割り当てを変更することであってもよい。
【０２１５】
また、上記態様において、「前記第１領域及び前記第２領域の前記タッチパネルへの割り当てを変更」とは、例えば、第１領域及び第２領域の各々の位置、第１領域及び第２領域の各々の大きさ及び第１領域及び第２領域の各々の形状の一部又は全部を変更することであってもよい。「第１領域及び第２領域の各々の位置」とは、例えば、第１領域と第２領域との境界線の位置であってもよいし、第１領域の中心及び第２領域の中心であってもよい。
【０２１６】
［付記３］
本発明の他の態様に係るプログラムは、付記２に記載のプログラムであって、前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合で、且つ、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさない場合に、前記タッチ位置情報の示すタッチ位置の移動に基づいて、前記第１領域及び前記第２領域の各々の位置を移動する、ことを特徴とする。
【０２１７】
この態様によれば、領域割当部は、タッチ位置が第１領域から第２領域に移動した場合で、且つ、タッチ位置の移動速度が所定の速度条件を満たさない場合に、タッチ位置の移動に基づいて、第１領域及び第２領域の各々の位置を移動する。これにより、この態様では、第１領域及び第２領域のうちのタッチ位置が存在する領域に対応付けられた指示と、ユーザの意図する指示とが異なる状態になることを低減することができる。この結果、この態様では、ユーザの意図した指示とは異なる指示が端末装置に入力されることを低減することができるため、ユーザの操作性を向上させることができる。
【０２１８】
なお、上記態様において、「前記タッチ位置の移動に基づいて、前記第１領域及び前記第２領域の各々の位置を移動する」とは、第１領域から第２領域に移動したタッチ位置を移動後の第１領域が含むように、第１領域及び第２領域の各々の位置を移動することであってもよい。また、第１領域及び第２領域の各々の位置の移動方向は、例えば、第１領域と第２領域との境界線に垂直な方向であってもよいし、タッチ位置の移動方向に応じた方向であってもよい。「タッチ位置の移動方向に応じた方向」は、タッチ位置の移動方向と同じ方向であってもよい。
【０２１９】
［付記４］
本発明の他の態様に係るプログラムは、付記３に記載のプログラムであって、前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合で、且つ、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさない場合に、前記第１領域と前記第２領域との境界線に交差する方向に、前記第１領域及び前記第２領域の各々の位置を移動する、ことを特徴とする。
【０２２０】
この態様によれば、領域割当部は、タッチ位置が第１領域から第２領域に移動した場合で、且つ、タッチ位置の移動速度が所定の速度条件を満たさない場合に、第１領域と第２領域との境界線に交差する方向に、第１領域及び第２領域の各々の位置を移動する。これにより、この態様では、第１領域及び第２領域のうちのタッチ位置が存在する領域に対応付けられた指示と、ユーザの意図する指示とが異なる状態になることを低減することができる。この結果、この態様では、ユーザの意図した指示とは異なる指示が端末装置に入力されることを低減することができるため、ユーザの操作性を向上させることができる。
【０２２１】
なお、上記態様において、「前記第１領域と前記第２領域との境界線に交差する方向」とは、例えば、第１領域と第２領域との境界線に垂直な方向であってもよいし、４５度以上１３５度以下の範囲で境界線に交差する方向であってもよい。
【０２２２】
［付記５］
本発明の他の態様に係るプログラムは、付記２に記載のプログラムであって、前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合で、且つ、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさない場合に、所定の点を中心にして、前記第１領域及び前記第２領域を回転移動させる、ことを特徴とする。
【０２２３】
この態様によれば、領域割当部は、タッチ位置が第１領域から第２領域に移動した場合で、且つ、タッチ位置の移動速度が所定の速度条件を満たさない場合に、所定の点を中心にして、第１領域及び第２領域を回転移動させる。これにより、この態様では、第１領域及び第２領域のうちのタッチ位置が存在する領域に対応付けられた指示と、ユーザの意図する指示とが異なる状態になることを低減することができる。この結果、この態様では、ユーザの意図した指示とは異なる指示が端末装置に入力されることを低減することができるため、ユーザの操作性を向上させることができる。
【０２２４】
なお、上記態様において、「所定の点」とは、例えば、第１領域と第２領域との境界線上の一の点であってもよい。「第１領域と第２領域との境界線上の一の点」とは、例えば、第１領域と第２領域との境界線における両端の中点であってもよい。また、「第１領域と第２領域との境界線上の一の点」とは、第１領域及び第２領域を含む操作領域の形状が円形状である場合、円形状の操作領域の中心であってもよい。
【０２２５】
［付記６］
本発明の他の態様に係るプログラムは、付記２に記載のプログラムであって、前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合で、且つ、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさない場合に、前記タッチ位置情報の示すタッチ位置の移動に基づいて、前記第１領域及び前記第２領域の形状を変形させる、ことを特徴とする。
【０２２６】
この態様によれば、領域割当部は、タッチ位置が第１領域から第２領域に移動した場合で、且つ、タッチ位置の移動速度が所定の速度条件を満たさない場合に、タッチ位置の移動に基づいて、第１領域及び第２領域の形状を変形させる。これにより、この態様では、第１領域及び第２領域のうちのタッチ位置が存在する領域に対応付けられた指示と、ユーザの意図する指示とが異なる状態になることを低減することができる。この結果、この態様では、ユーザの意図した指示とは異なる指示が端末装置に入力されることを低減することができるため、ユーザの操作性を向上させることができる。
【０２２７】
［付記７］
本発明の他の態様に係るプログラムは、付記２乃至６のうち何れか１項に記載のプログラムであって、前記領域割当部は、前記タッチ位置に関するタッチ条件が満たされる場合、前記第１領域及び前記第２領域の前記タッチパネルへの割り当てを初期状態に戻す、ことを特徴とする。
【０２２８】
この態様によれば、領域割当部は、タッチ位置に関するタッチ条件が満たされる場合、第１領域及び第２領域のタッチパネルへの割り当てを初期状態に戻す。これにより、この態様では、タッチパネルに対する第１領域及び第２領域の割り当てが初期状態から変更された状態で維持されること抑止することができる。
【０２２９】
なお、上記態様において、「前記タッチ位置に関するタッチ条件」とは、タッチ位置が検出されないことであってもよいし、タッチ位置が閾値速度以上の移動速度で第１領域から第２領域に移動することであってもよい。
【０２３０】
また、上記態様において、「初期状態」とは、例えば、ユーザの操作によらず、予め決められた状態であってもよい。例えば、「初期状態」とは、プロセッサがプログラムを実行した際に、第１領域及び第２領域が、タッチインの位置に関わらず、タッチパネルの所定の位置に割り当てられる場合、第１領域及び第２領域が所定の位置に割り当てられている状態であってもよい。また、「初期状態」とは、例えば、第１領域及び第２領域がタッチインの位置に基づいてタッチパネルに割り当てられる場合、第１領域及び第２領域がタッチイン時に割り当てられた位置と同じ位置に割り当てられている状態であってもよい。なお、「タッチイン」とは、タッチパネルに対するタッチがない状態からタッチがある状態に変化することであってもよい。
【０２３１】
［付記８］
本発明の他の態様に係るプログラムは、付記１乃至７のうち何れか１項に記載のプログラムであって、前記プロセッサを、前記指示部が前記ゲームに係る指示を前記第１の指示から前記第２の指示に変更する場合に、前記タッチパネルを振動させる振動制御部、として更に機能させる、ことを特徴とする。
【０２３２】
この態様によれば、例えば、ユーザが指によりタッチパネルにタッチする場合に、ユーザは、ゲームに係る指示が変更されたことを、タッチパネルの振動として、触覚により直感的に把握することが可能となる。
【０２３３】
［付記９］
本発明の他の態様に係るプログラムは、付記２乃至８のうち何れか１項に記載のプログラムであって、前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさずに、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たしていない間、前記タッチ位置情報の示すタッチ位置に基づいて、前記第１領域及び前記第２領域の前記タッチパネルへの割り当てを変更する、ことを特徴とする。
【０２３４】
この態様によれば、領域割当部は、タッチ位置が、所定の速度条件を満たさない移動速度で、第１領域から第２領域に移動した場合、タッチ位置の移動速度が所定の速度条件を満たしていない期間において、タッチ位置に追従して、第１領域及び第２領域のタッチパネルへの割り当てを変更する。これにより、この態様では、タッチパネルに対する割り当てが初期状態から変更された第１領域及び第２領域の境界線が最新のタッチ位置から所定の距離より離れた位置に維持されることを抑止することができる。
【０２３５】
［付記１０］
本発明の他の態様に係るプログラムは、付記１乃至９のうち何れか１項に記載のプログラムであって、前記第１の指示は、前記タッチパネルに対するタッチがない状態において実行される処理と同じ処理を前記プロセッサに実行させる指示である、ことを特徴とする。
【０２３６】
この態様によれば、例えば、ユーザが第１領域に指を接触させて端末装置を保持した場合でも、端末装置の動作は、タッチパネルに対するタッチがない場合と同じ動作になる。これにより、ユーザは、端末装置の動作をタッチパネルに対するタッチがない場合と同じ動作に維持したい場合においても、第１領域に指を接触させて端末装置を保持できる。
【０２３７】
なお、上記態様において、「前記タッチパネルに対するタッチがない状態において実行される処理」とは、例えば、ゲーム要素の方向（例えば、キャラクタの顔の向き）を変化させずに維持する処理であってもよいし、ゲーム要素の方向（例えば、キャラクタの顔の向き）を予め定められた向きに設定する処理であってもよい。
【０２３８】
［付記１１］
本発明の他の態様に係るプログラムは、付記１に記載のプログラムであって、前記指示部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさずに、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たしたとき、前記ゲームに係る指示を前記第１の指示から前記第２の指示に変更する、ことを特徴とする。
【０２３９】
この態様によれば、指示部は、タッチ位置が、所定の速度条件を満たさない移動速度で第１領域から第２領域に移動した場合、タッチ位置の移動速度が所定の速度条件を満たしたとき、ゲームに係る指示を第１の指示から第２の指示に変更する。これにより、この態様では、例えば、ユーザがゲームに係る指示の内容を変更するつもりで指を移動させたにもかかわらず、ゲームに係る指示が変更されないことを低減することができる。すなわち、この態様では、ユーザの意図する指示とは異なる指示が実行なされる可能性を低減することができる。
【０２４０】
［付記１２］
本発明の他の態様に係るプログラムは、付記１乃至１１のうち何れか１項に記載のプログラムであって、前記指示部は、前記タッチ位置が前記第１領域から前記第２領域に移動した際の移動速度が閾値速度以上である場合、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たすと判定する、ことを特徴とする。
【０２４１】
この態様によれば、タッチ位置が第１領域から第２領域に移動した際の移動速度が閾値速度以上である場合に、タッチ位置の移動速度が所定の速度条件を満たすと判定される。このため、この態様では、指示部は、タッチ位置が閾値速度以上の移動速度で第１領域から第２領域に移動した場合、ゲームに係る指示を第１の指示から第２の指示に変更し、タッチ位置が閾値速度未満の移動速度で第１領域から第２領域に移動した場合、ゲームに係る指示を第１の指示に維持する。従って、この態様においても、付記１と同様に、タッチパネルへのタッチ位置にずれが生じうる場合であっても、誤った入力がなされる可能性を低減することができる。
【０２４２】
［付記１３］
本発明の一態様に係る情報処理装置は、タッチパネルに対するタッチのタッチ位置を示すタッチ位置情報を取得する取得部と、前記タッチパネルに、第１領域及び第２領域を割り当てる領域割当部と、前記タッチ位置情報の示すタッチ位置に基づいて、ゲームに係る指示の内容を決定する指示部と、を備え、前記指示部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合、前記タッチ位置情報の示すタッチ位置の移動速度が所定の速度条件を満たす場合には、前記ゲームに係る指示を、前記第１領域に対応付けられた第１の指示から、前記第２領域に対応付けられた第２の指示に変更し、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満さない場合には、前記ゲームに係る指示を前記第１の指示に維持する、ことを特徴とする。
【０２４３】
この態様によれば、付記１と同様の効果を得ることができる。
【０２４４】
［付記１４］
本発明の一態様に係る情報処理方法では、プロセッサが、タッチパネルに対するタッチのタッチ位置を示すタッチ位置情報を取得し、前記タッチパネルに、第１領域及び第２領域を割り当て、前記タッチ位置情報の示すタッチ位置に基づいて、ゲームに係る指示の内容を決定し、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第１領域から前記第２領域に移動した場合、前記タッチ位置情報の示すタッチ位置の移動速度が所定の速度条件を満たす場合には、前記ゲームに係る指示を、前記第１領域に対応付けられた第１の指示から、前記第２領域に対応付けられた第２の指示に変更し、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満さない場合には、前記ゲームに係る指示を前記第１の指示に維持する、ことを特徴とする。
【０２４５】
この態様によれば、付記１と同様の効果を得ることができる。
【０２４６】
［付記１５］
本発明の他の態様に係るプログラムは、プロセッサを、表示画面において指定された指定位置を示す指定位置情報を取得する取得部と、前記表示画面内に、第１領域及び第２領域を割り当てる領域割当部と、前記指定位置情報の示す指定位置に基づいて、サービスに係る指示の内容を決定する指示部と、して機能させ、前記指示部は、前記表示画面における位置の指定が継続されている状態において、前記指定位置情報の示す指定位置が前記第１領域から前記第２領域に移動した場合、前記指定位置情報の示す指定位置の移動速度が所定の速度条件を満たす場合には、前記サービスに係る指示を、前記第１領域に対応付けられた第１の指示から、前記第２領域に対応付けられた第２の指示に変更し、前記指定位置情報の示す指定位置の移動速度が前記所定の速度条件を満さない場合には、前記サービスに係る指示を前記第１の指示に維持する、ことを特徴とする。
【０２４７】
この態様によれば、指示部は、表示画面における位置の指定が継続されている状態で指定位置が第１領域から第２領域に移動した場合で、且つ、指定位置の移動速度が所定の速度条件を満たす場合に、サービスに係る指示を第１の指示から第２の指示に変更する。また、指示部は、表示画面における位置の指定が継続されている状態で指定位置が第１領域から第２領域に移動した場合であっても、指定位置の移動速度が所定の速度条件を満さない場合には、サービスに係る指示を第１の指示に維持する。従って、この態様においても、付記１と同様に、表示画面において指定された指定位置にずれが生じうる場合であっても、誤った入力がなされる可能性を低減することができる。
【０２４８】
なお、上記態様において、「指定位置」は、マウス又はゲーム装置のリモートコントローラ等のポインティングデバイスにより操作される、表示画面上のポインタの位置であってもよいし、タッチパネルにおけるタッチ位置であってもよい。なお、「表示画面」は、入力装置の機能を含まないディスプレイの表示画面であってもよいし、入力装置の機能を含むタッチパネルの表示画面であってもよい。
【０２４９】
また、上記態様において、「サービス」は、表示画面を介して提供される任意のサービスであればよい。例えば、「サービス」は、インターネットサービスでもよいし、ゲームでもよい。
【０２５０】
また、上記態様において、「第１の指示」は、「サービスに係る指示」の一例である。「サービスに係る指示」は、例えば、ゲームに関する指示であってもよいし、任意のサービスに係る指示であってもよい。「第２の指示」は、「サービスに係る指示」の他の例である。例えば、「第２の指示」は、第１の指示とは異なる指示であって、ゲームに関する指示であってもよいし、第１の指示とは異なる指示であって、任意のサービスに係る指示であってもよい。
【符号の説明】
【０２５１】
１０、１０Ａ、１０Ｂ…端末装置、１１…プロセッサ、１２…タッチパネル、１３…メモリ、１４…振動発生装置、２０Ｂ…サーバ装置、１１０、１１０Ａ…制御部、１１１…ゲーム制御部、１１２…表示制御部、１１３…タッチ位置情報取得部、１１４、１１４Ａ…操作領域割当部、１１５…振動制御部、１２０…表示部、１２２…入力部、１３０…記憶部、１４０…振動発生部、１５０…通信部、２５０…通信部。
【図１】
2020162840.tif 000003
【図２】
2020162840.tif 000004
【図３】
2020162840.tif 000005
【図４】
2020162840.tif 000006
【図５】
2020162840.tif 000007
【図６】
2020162840.tif 000008
【図７】
2020162840.tif 000009
【図８】
2020162840.tif 000010
【図９】
2020162840.tif 000011
【図１０】
2020162840.tif 000012
【図１１】
2020162840.tif 000013
【図１２】
2020162840.tif 000014
【図１３】
2020162840.tif 000015
【図１４】
2020162840.tif 000016
【図１５】
2020162840.tif 000017
【図１６】
2020162840.tif 000018
【図１７】
2020162840.tif 000019
【図１８】
2020162840.tif 000020
【図１９】
2020162840.tif 000021
【図２０】
2020162840.tif 000022
【図２１】
2020162840.tif 000023
【図２２】
2020162840.tif 000024
【図２３】
2020162840.tif 000025
【図２４】
2020162840.tif 000026
【図２５】
2020162840.tif 000027