(58)【調査した分野】(Int.Cl.,DB名)
前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第1領域から前記第2領域に移動した場合で、且つ、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさない場合に、前記タッチ位置情報の示すタッチ位置の移動に基づいて、前記第1領域及び前記第2領域の各々の位置を移動する、
ことを特徴とする、請求項2に記載のプログラム。
前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第1領域から前記第2領域に移動した場合で、且つ、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさない場合に、前記第1領域と前記第2領域との境界線に交差する方向に、前記第1領域及び前記第2領域の各々の位置を移動する、
ことを特徴とする、請求項3に記載のプログラム。
前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第1領域から前記第2領域に移動した場合で、且つ、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさない場合に、所定の点を中心にして、前記第1領域及び前記第2領域を回転移動させる、
ことを特徴とする、請求項2に記載のプログラム。
前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第1領域から前記第2領域に移動した場合で、且つ、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさない場合に、前記タッチ位置情報の示すタッチ位置の移動に基づいて、前記第1領域及び前記第2領域の形状を変形させる、
ことを特徴とする、請求項2に記載のプログラム。
前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさずに、前記タッチ位置情報の示すタッチ位置が前記第1領域から前記第2領域に移動した場合、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たしていない間、前記タッチ位置情報の示すタッチ位置に基づいて、前記第1領域及び前記第2領域の前記タッチパネルへの割り当てを変更する、
ことを特徴とする、請求項2乃至8のうち何れか1項に記載のプログラム。
【発明を実施するための形態】
【0009】
以下、本発明を実施するための形態について図面を参照して説明する。なお、各図において、各部の寸法及び縮尺は、実際のものと適宜に異ならせてある。また、以下に述べる実施の形態は、本発明の好適な具体例であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの形態に限られるものではない。
【0010】
[1.第1実施形態]
先ず、
図1から
図3を参照しながら、第1実施形態に係る端末装置10の概要の一例について説明する。
【0011】
図1は、第1実施形態に係る端末装置10の外観の一例を説明するための説明図である。端末装置10は、例えば、スマートフォン、タブレット端末、又は、携帯用のゲーム装置等の、可搬型の情報処理装置である。但し、端末装置10は、例えば、業務用のゲーム装置、又は、デスクトップ型のパーソナルコンピュータ等の、据置型の情報処理装置であってもよい。
【0012】
端末装置10は、タッチパネル12を有する。タッチパネル12は、各種画像を表示する機能(例えば、
図4に示す表示部120)と、端末装置10に対するユーザからの指示の入力を受け付ける機能(例えば、
図4に示す入力部122)とを有する。具体的には、タッチパネル12は、
図2に示すように、ユーザの指FG等の物体がタッチパネル12に接触している場合に、当該物体のタッチパネル12における接触位置であるタッチ位置Pを検出し、検出したタッチ位置Pを示すタッチ位置情報を周期的に出力する。以下では、タッチパネル12に対して接触する物体が、ユーザの指FGである場合を、一例として説明する。
【0013】
本実施形態では、説明の便宜上、
図1に示すように、タッチパネル12に固定された座標系であるタッチパネル座標系ΣSを導入する。具体的には、タッチパネル座標系ΣSとは、例えば、タッチパネル12の所定箇所に固定された原点Osを有し、互いに直交するXs軸及びYs軸を有する2軸の直交座標系である。また、以下では、Xs軸の矢印の指す方向は+Xs方向と称され、+Xs方向の逆方向は−Xs方向と称される。同様に、Ys軸の矢印の指す方向は+Ys方向と称され、+Ys方向の逆方向は−Ys方向と称される。
【0014】
端末装置10は、所定のゲームに係るプログラム(「プログラム」の一例)を実行することで、所定のゲームに係る画像をタッチパネル12に表示する。例えば、端末装置10は、所定のゲームを実行する場合、所定のゲームに係る仮想空間SPと、当該仮想空間SPに存在する所定のゲームに係るキャラクタCRと、バーチャルパッドとを、タッチパネル12に表示する。以下では、バーチャルパッドが表示される領域を操作領域Vと称する。ここで、バーチャルパッドの表示される操作領域Vとは、ユーザによるキャラクタCRの操作に係る入力を受け付けるための領域である。
【0015】
なお、本実施形態では、操作領域Vが、基準位置Ovを中心とする円BDvの内側の領域である場合を一例として想定する。但し、操作領域Vは、円形に限定されない。例えば、タッチパネル12の画面左半分が操作領域Vに設定されてもよい。また、本実施形態では、操作領域Vが、タッチパネル12において、ユーザに視認可能な態様で表示される場合を、一例として想定する。但し、操作領域Vは、タッチパネル12において、ユーザに視認されないように設けられた仮想的な領域であってもよい。本実施形態では、後述する
図4に示す操作領域割当部(「領域割当部」の一例)が、操作領域Vを、所定のゲームの起動時にタッチパネル12上の所定の位置に割り当てる。
【0016】
本実施形態では、
図1に示すように、操作領域Vが、タッチパネル座標系ΣSにおけるキャラクタCRの顔が向く方向の指示を入力するための領域である2個の入力領域RD(RDr及びRDl)を含む場合を、一例として想定する。但し、入力領域RDは、仮想空間SPにおけるキャラクタCRの顔が向く方向の指示を入力するための領域であってもよい。なお、本実施形態において、キャラクタCRの顔が向く方向とは、「ゲームに係る操作方向」の一例である。「ゲームに係る操作方向」は、「ゲームに係る指示」の内容の一例である。なお、「ゲームに係る指示」は、「ゲームに係る操作方向」に関する指示に限定されず、例えば、所定のゲームに係るキャラクタCRからの質問に対する回答(例えば、YES/NO等)を選択する指示であってもよい。また、入力領域RDr及びRDlの一方は「第1領域」の一例であり、入力領域RDr及びRDlの他方は「第2領域」の一例である。また、入力領域RDr及びRDlの一方に対応付けられた指示は「第1の指示」の一例であり、入力領域RDr及びRDlの他方に対応付けられた指示は「第2の指示」の一例である。
【0017】
本実施形態において、端末装置10は、一例として、基準位置Ovを中心とする円BDvの内側の領域のうち、境界線BDrlよりも+Xs方向に位置する領域を入力領域RDrとして設定し、境界線BDrlよりも−Xs方向に位置する領域を入力領域RDlとして設定する。境界線BDrlは、基準位置Ovを通り、Ys軸に沿って延在する線である。次に、
図2及び
図3を参照して、操作領域Vを用いた操作の概要を説明する。
【0018】
図2は、入力領域RDがタッチされた場合の端末装置10の外観の一例を説明するための説明図である。ユーザは、操作領域Vのうち、入力領域RDr及びRDlの何れかの領域にタッチすることで、キャラクタCRの顔の向きを変えることができる。
図2に示す例では、入力領域RDrがタッチされている。
【0019】
端末装置10は、タッチ位置Pが入力領域RDrに存在する場合、キャラクタCRの顔が向く方向を、+Xs方向とする旨の指示を受け付ける。この結果、+Xs方向を向いた顔のキャラクタCRが、タッチパネル12に表示される。
【0020】
図3は、入力領域RDがタッチされた場合の端末装置10の外観の別の例を説明するための説明図である。
図3に示す例では、入力領域RDlがタッチされている。端末装置10は、タッチ位置Pが入力領域RDlに存在する場合、キャラクタCRの顔が向く方向を、−Xs方向とする旨の指示を受け付ける。この結果、−Xs方向を向いた顔のキャラクタCRが、タッチパネル12に表示される。
【0021】
なお、詳細は後述する
図6から
図9等で説明するが、本実施形態に係る端末装置10は、入力領域RDr及びRDlの一方から他方にタッチ位置Pが移動した場合、タッチ位置Pの移動速度が所定の速度条件を満たすか否かに応じて、キャラクタCRの顔の向きを変更するか維持するかを決定する。
【0022】
また、タッチパネル12から指FGが離れた場合、キャラクタCRの顔の向きは、予め定められた向きに設定されてもよいし、タッチパネル12から指FGが離れる前と同じ向きに維持されてもよい。予め定められた向きは、例えば、タッチパネル座標系ΣSにおける正面方向(
図1に示した向き)であってもよい。以下では、タッチパネル12から指FGが離れた場合に実行される処理は、非タッチ処理とも称される。次に、
図4及び
図5を参照しながら、端末装置10の構成の一例について説明する。
【0023】
図4は、端末装置10の構成の一例を示す機能ブロック図である。端末装置10は、端末装置10の各部を制御する制御部110と、画像を表示するための表示部120と、端末装置10のユーザによる指示の入力を受け付ける入力部122と、各種情報を記憶する記憶部130と、端末装置10を振動させる振動発生部140とを有する。
【0024】
表示部120の機能及び入力部122の機能は、
図1に示したタッチパネル12により実現される。すなわち、タッチパネル12は、各種画像を表示可能な表示部120として機能し、さらに、端末装置10のユーザからの指示の入力を受け付ける入力部122として機能する。例えば、入力部122として機能するタッチパネル12は、
図1で説明したように、タッチパネル12に対して物体が接触している場合に、当該物体のタッチパネル12における接触位置であるタッチ位置Pを検出し、検出したタッチ位置Pを示すタッチ位置情報を周期的に出力する。なお、タッチパネル12は、所定の単位時間(タッチ位置情報を出力する周期より短い時間)内に検出した複数の接触位置の平均をタッチ位置Pとして算出し、算出したタッチ位置Pを示すタッチ位置情報を周期的に出力してもよい。
【0025】
記憶部130は、所定のゲームに係るプログラムと、タッチパネル12から周期的に出力されるタッチ位置情報の示すタッチ位置Pの履歴を示すタッチ位置履歴情報と、タッチパネル座標系ΣSにおける入力領域RDの位置を示す操作領域情報とを含む各種情報を記憶する。振動発生部140は、タッチパネル12を含む端末装置10全体を振動させる。
【0026】
制御部110は、ゲーム制御部111(「指示部」の一例)と、表示制御部112と、タッチ位置情報取得部113(「取得部」の一例)と、操作領域割当部114(「領域割当部」の一例)と、振動制御部115とを有する。
【0027】
ゲーム制御部111は、所定のゲームの進行を制御する。例えば、ゲーム制御部111は、後述するタッチ位置情報取得部113が取得したタッチ位置情報の示すタッチ位置Pに基づいて、所定のゲームに係る指示の内容を決定する。具体的には、ゲーム制御部111は、タッチ位置Pが入力領域RDに存在する場合に、キャラクタCRの顔が向く方向を、タッチ位置Pが存在する入力領域RDに対応する方向に設定する。
【0028】
なお、タッチパネル12に対するタッチが継続されている状態において、タッチ位置Pが入力領域RDr及びRDlの一方から他方に移動した場合、ゲーム制御部111は、例えば、タッチ位置Pの移動速度が所定の速度条件を満たすか否かに応じて、所定のゲームに係る指示を変更するか否かを決定する。所定の速度条件とは、例えば、タッチ位置Pが移動した際の移動速度が予め決められた閾値速度以上であることでもよいし、タッチ位置Pが移動した際の加速度が予め決められた閾値加速度以上であることでもよい。
【0029】
例えば、タッチ位置Pが入力領域RDlから入力領域RDrに移動した場合で、且つ、タッチ位置Pの移動速度が所定の速度条件を満たす場合には、ゲーム制御部111は、所定のゲームに係る指示を、入力領域RDlに対応付けられた指示から、入力領域RDrに対応付けられた指示に変更する。なお、例えば、タッチ位置Pが入力領域RDlから入力領域RDrに移動した場合であっても、タッチ位置Pの移動速度が所定の速度条件を満さない場合には、ゲーム制御部111は、所定のゲームに係る指示を、入力領域RDlに対応付けられた指示に維持する。なお、所定の速度条件は、速度を用いた条件であればよく、上述の例に限定されない。
【0030】
表示制御部112は、表示部120が、仮想空間SP、キャラクタCR、及び、操作領域Vを表示するように、表示部120を制御する。タッチ位置情報取得部113は、指FG等の物体のタッチパネル12に対するタッチのタッチ位置Pを示すタッチ位置情報を取得する。具体的には、タッチ位置情報取得部113は、
図1等で説明したように、入力部122として機能するタッチパネル12から周期的に出力されるタッチ位置情報を取得する。
【0031】
操作領域割当部114は、例えば、所定のゲームの起動時に、タッチパネル12に入力領域RDr及びRDlを割り当てる。入力領域RDrは、キャラクタCRの顔が向く方向を+Xs方向とする旨の指示を、ゲーム制御部111に入力するための領域である。また、入力領域RDlは、キャラクタCRの顔が向く方向を−Xs方向とする旨の指示を、ゲーム制御部111に入力するための領域である。すなわち、入力領域RDrには、キャラクタCRの顔の向きを+Xs方向とする指示が対応付けられ、入力領域RDlには、キャラクタCRの顔の向きを−Xs方向とする指示が対応付けられている。
【0032】
振動制御部115は、ゲーム制御部111が所定のゲームに係る指示を変更した場合、振動発生部140が端末装置10を振動させるように、振動発生部140を制御する。例えば、ゲーム制御部111が、所定のゲームに係る指示を、キャラクタCRの顔が向く方向を+Xs方向とする指示から、キャラクタCRの顔が向く方向を−Xs方向とする指示に変更した場合、振動制御部115は、振動発生部140を制御して端末装置10を振動させる。なお、振動制御部115は、タッチ位置Pが所定の速度条件を満たさずに入力領域RDr及びRDlの一方から他方に移動した場合にも、振動発生部140が端末装置10を振動させるように、振動発生部140を制御してもよい。この場合、タッチ位置Pがずれていることを、ユーザに振動で伝えることができる。
【0033】
また、振動制御部115は、タッチ位置Pが、入力領域RDに存在しない状態から、入力領域RDに存在する状態に変化した場合、振動発生部140が端末装置10を振動させるように、振動発生部140を制御してもよい。あるいは、振動制御部115は、タッチ位置Pが、入力領域RDに存在する状態から、入力領域RDに存在しない状態に変化した場合に、振動発生部140が端末装置10を振動させるように、振動発生部140を制御してもよい。また、振動制御部115は、ユーザの指FGが、タッチパネル12に対して接触していない状態から、接触している状態に変化した場合に、振動発生部140が端末装置10を振動させるように、振動発生部140を制御してもよい。以下では、ユーザの指FGが、タッチパネル12に対して接触していない状態から、接触している状態に変化することを、「タッチイン」とも称する。
【0034】
なお、端末装置10の構成は、
図4に示した例に限定されない。例えば、振動発生部140は、端末装置10から省かれてもよい。この場合、振動制御部115は、制御部110から省かれてもよい。
【0035】
図5は、端末装置10のハードウェア構成の一例を示すハードウェア構成図である。端末装置10は、端末装置10の各部を制御するプロセッサ11(「情報処理装置」の一例)と、各種情報を記憶するメモリ13と、タッチパネル12と、振動発生装置14とを有する。
【0036】
メモリ13は、例えば、プロセッサ11の作業領域として機能するRAM(Random Access Memory)等の揮発性メモリと、所定のゲームに係るプログラム等の各種情報を記憶するEEPROM(Electrically Erasable Programmable Read-Only Memory)等の不揮発性メモリとを含み、記憶部130として機能する。
【0037】
プロセッサ11は、例えば、CPU(Central Processing Unit)であり、メモリ13に記憶された所定のゲームに係るプログラムを実行し、当該プログラムに従って動作することで、制御部110として機能する。タッチパネル12は、上述のとおり、表示部120及び入力部122として機能する。振動発生装置14は、例えば、振動を発生する振動モータであり、振動発生部140として機能する。
【0038】
なお、プロセッサ11は、CPUに加え、又は、CPUに代えて、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)、又は、FPGA(Field Programmable Gate Array)等のハードウェアを含んで構成されるものであってもよい。この場合、プロセッサ11により実現される制御部110の一部又は全部は、DSP等のハードウェアにより実現されてもよい。次に、
図6から
図9を参照しながら、タッチ位置Pが移動する場合の端末装置10の動作について説明する。
【0039】
図6から
図9に示す例では、タッチ位置情報取得部113は、タッチパネル12から時間Tcycの周期で出力されるタッチ位置情報を取得する。なお、以下では、時刻tn(nは、0以上の整数)におけるタッチ位置Pは、タッチ位置P[tn]とも称される。また、以下では、時刻t(m−1)におけるタッチ位置P[t(m−1)]を始点とし、時刻tmにおけるタッチ位置P[tm]を終点とするタッチ位置移動ベクトルMVは、タッチ位置移動ベクトルMV[tm]とも称される(mは、1以上の整数)。また、
図6から
図9に示す例では、時刻t(m−1)から時刻tmまでの時間は、時間Tcycで一定であるため、タッチ位置移動ベクトルMV[tm]の大きさは、タッチ位置P[tm]の移動速度に対応する。例えば、タッチ位置P[tm]の移動速度は、タッチ位置P[t(m−1)]、タッチ位置P[tm]及び時間Tcycに基づいて算出されてもよい。具体的には、タッチ位置P[tm]の移動速度は、式“|MV[tm]|/Tcyc”に基づいて算出されてもよい。
【0040】
図6は、端末装置10の動作の一例を示す説明図である。
図6では、タッチ位置Pの移動速度(|MV|/Tcyc)が閾値速度TV以上であることが所定の速度条件である場合を例にして、端末装置10の動作を説明する。なお、
図6に示す時刻t10から時刻t14までの期間では、タッチパネル12に対するタッチは、継続している。
【0041】
時刻t10において、指FGが入力領域RDl内のタッチ位置P[t10]にタッチインする。このため、ゲーム制御部111は、所定のゲームに係る指示の内容を、キャラクタCRの顔の向きを−Xs方向とする指示(入力領域RDlに対応付けられた指示)に決定する。そして、ゲーム制御部111は、キャラクタCRの顔の向きを、−Xs方向に設定する。
【0042】
時刻t10から時刻t11にかけて、タッチ位置Pは、タッチ位置P[t10]からタッチ位置P[t11]に移動する。タッチ位置P[t11]が入力領域RDlに存在するため、ゲーム制御部111は、所定のゲームに係る指示を、キャラクタCRの顔の向きを−Xs方向とする指示に維持する。従って、時刻t11では、キャラクタCRの顔の向きは、−Xs方向に維持される。
【0043】
時刻t11から時刻t12にかけて、タッチ位置Pは、タッチ位置P[t11]からタッチ位置P[t12]に移動する。タッチ位置P[t12]が入力領域RDlに存在するため、ゲーム制御部111は、所定のゲームに係る指示を、キャラクタCRの顔の向きを−Xs方向とする指示に維持する。従って、時刻t12においても、キャラクタCRの顔の向きは、−Xs方向に維持される。
【0044】
時刻t12から時刻t13にかけて、タッチ位置Pは、タッチ位置P[t12]からタッチ位置P[t13]に移動する。タッチ位置P[t13]は、入力領域RDrに存在する。すなわち、タッチ位置Pは、時刻t12から時刻t13にかけて、入力領域RDlから入力領域RDrに移動する。
【0045】
図6に示す例では、タッチ位置Pがタッチ位置P[t12]からタッチ位置P[t13]に移動した際の移動速度(|MV[t13]|/Tcyc)が閾値速度TV以上である場合を想定する。すなわち、
図6に示す例では、ゲーム制御部111は、タッチ位置Pが入力領域RDlから入力領域RDrに移動した際の移動速度が所定の速度条件を満たしていると判定する。このため、ゲーム制御部111は、所定のゲームに係る指示を、キャラクタCRの顔の向きを−Xs方向とする指示(入力領域RDlに対応付けられた指示)から、キャラクタCRの顔の向きを+Xs方向とする指示(入力領域RDrに対応付けられた指示)に変更する。そして、ゲーム制御部111は、キャラクタCRの顔の向きを、+Xs方向に設定する。従って、時刻t13では、キャラクタCRの顔の向きは、−Xs方向から+Xs方向に変化する。
【0046】
時刻t13から時刻t14にかけて、タッチ位置Pは、タッチ位置P[t13]からタッチ位置P[t14]に移動する。タッチ位置P[t14]が入力領域RDrに存在するため、ゲーム制御部111は、所定のゲームに係る指示を、キャラクタCRの顔の向きを+Xs方向とする指示に維持する。従って、時刻t14では、キャラクタCRの顔の向きは、+Xs方向に維持される。
【0047】
このように、ゲーム制御部111は、タッチパネル12に対するタッチが継続されている状態において、タッチ位置Pが入力領域RDlから入力領域RDrに移動した場合、タッチ位置Pの移動速度が所定の速度条件を満たす場合には、所定のゲームに係る指示を、入力領域RDlに対応付けられた指示から、入力領域RDrに対応付けられた指示に変更する。
【0048】
例えば、ユーザは、指FGをタッチパネル12に接触させた状態で、指FGを入力領域RDlから入力領域RDrに閾値速度TV以上の速度で動かすことにより、キャラクタCRの顔の向きを−Xs方向から+Xs方向に変化させることができる。
【0049】
図6に示した例では、時刻t10から時刻t13までの期間に着目した場合、入力領域RDlが「第1領域」に該当し、入力領域RDrが「第2領域」に該当する。また、キャラクタCRの顔の向きが−Xs方向から+Xs方向に変化した後(時刻t13の直後)から時刻t14までの期間に着目した場合、入力領域RDrが「第1領域」に該当し、入力領域RDlが「第2領域」に該当する。次に、
図7を参照しながら、タッチ位置Pが入力領域RDlから入力領域RDrに移動しても、所定のゲームに係る指示が変更されない場合の端末装置10の動作について説明する。
【0050】
図7は、端末装置10の動作の別の例を示す説明図である。
図7に示す例では、入力領域RDlが「第1領域」に該当し、入力領域RDrが「第2領域」に該当する。
図7においても、タッチ位置Pの移動速度(|MV|/Tcyc)が閾値速度TV以上であることが所定の速度条件である場合を例にして、端末装置10の動作を説明する。
図7に示す時刻t20から時刻t24までの期間では、タッチパネル12に対するタッチは、継続している。
図7では、時刻t20から時刻t22までのタッチ位置Pの動きが、
図6の時刻t10から時刻t12までのタッチ位置Pの動きと同じである場合を想定する。このため、
図7では、端末装置10の時刻t22以降の動作を説明する。
【0051】
時刻t22から時刻t23にかけて、タッチ位置Pは、タッチ位置P[t22]からタッチ位置P[t23]に移動する。タッチ位置P[t23]は、入力領域RDrに存在する。すなわち、タッチ位置Pは、時刻t22から時刻t23にかけて、入力領域RDlから入力領域RDrに移動する。
【0052】
図7に示す例では、タッチ位置Pがタッチ位置P[t22]からタッチ位置P[t23]に移動した際の移動速度(|MV[t23]|/Tcyc)が閾値速度TV未満である場合を想定する。すなわち、
図7に示す例では、ゲーム制御部111は、タッチ位置Pが入力領域RDlから入力領域RDrに移動した際の移動速度が所定の速度条件を満たしていないと判定する。このため、ゲーム制御部111は、所定のゲームに係る指示を、キャラクタCRの顔の向きを−Xs方向とする指示(入力領域RDlに対応付けられた指示)から、キャラクタCRの顔の向きを+Xs方向とする指示(入力領域RDrに対応付けられた指示)に変更しない。すなわち、ゲーム制御部111は、所定のゲームに係る指示を、キャラクタCRの顔の向きを−Xs方向とする指示(入力領域RDlに対応付けられた指示)に維持する。従って、時刻t23では、キャラクタCRの顔の向きは、−Xs方向に維持される。
【0053】
時刻t23から時刻t24にかけて、タッチ位置Pは、タッチ位置P[t23]からタッチ位置P[t24]に移動する。タッチ位置P[t23]及びタッチ位置P[t24]は、入力領域RDrに存在する。すなわち、タッチ位置Pは、時刻t23から時刻t24にかけて、境界線BDrlを跨がずに入力領域RDr内を移動する。
【0054】
図7に示す例では、タッチ位置Pがタッチ位置P[t23]からタッチ位置P[t24]に移動した際の移動速度(|MV[t24]|/Tcyc)が閾値速度TV未満である場合を想定する。すなわち、
図7に示す例では、ゲーム制御部111は、タッチ位置Pの移動速度が所定の速度条件を満たしていないと判定する。このため、ゲーム制御部111は、所定のゲームに係る指示を、キャラクタCRの顔の向きを−Xs方向とする指示(入力領域RDlに対応付けられた指示)に維持する。従って、時刻t24においても、キャラクタCRの顔の向きは、−Xs方向に維持される。
【0055】
このように、ゲーム制御部111は、タッチパネル12に対するタッチが継続されている状態において、タッチ位置Pが入力領域RDlから入力領域RDrに移動した場合、タッチ位置Pの移動速度が所定の速度条件を満たさない場合には、所定のゲームに係る指示を、入力領域RDlに対応付けられた指示に維持する。
【0056】
一般的に、ユーザが所定のゲームに係る指示の内容を変更する場合、指FGをある程度の速度で傾けたり移動したりする可能性が高いため、タッチ位置Pの移動速度もある程度の速度に達する可能性が高い。一方、所定のゲームに係る指示の内容を変更する意思がユーザにない場合、ユーザは現在のタッチ位置Pを維持しようとするため、タッチ位置Pが少しずつ移動してしまうことはあっても、タッチ位置Pの移動速度は一定速度未満となる可能性が高い。このため、所定のゲームに係る指示の内容を変更する意思がユーザにあるのかを、タッチ位置Pの移動速度に基づいて推測することにより、誤った指示の実行を抑止することができる。タッチ位置Pが入力領域RDr及びRDlの境界線BDrl付近に存在する場合、又は、入力領域RDが狭い場合等では、ユーザの意図に反してタッチ位置Pが境界線BDrlを跨いで移動する可能性が高くなる。この場合、ユーザが所定のゲームに係る指示の内容を変更する意思があるのかをタッチ位置Pの移動速度に基づいて推測することは、特に有効である。
【0057】
このため、ゲーム制御部111は、タッチ位置Pが入力領域RDr及びRDlの境界線BDrlを跨いで移動した場合で、且つ、タッチ位置Pの移動速度が所定の速度条件を満たす場合、所定のゲームに係る指示の内容を変更する意思がユーザにあるものとして、所定のゲームの進行を制御する。また、ゲーム制御部111は、タッチ位置Pが入力領域RDr及びRDlの境界線BDrlを跨いで移動した場合であっても、タッチ位置Pの移動速度が所定の速度条件を満たさない場合には、所定のゲームに係る指示の内容を変更する意思がユーザにないものとして、所定のゲームの進行を制御する。
【0058】
例えば、キャラクタCRの顔の向きを変更するつもりがユーザにない場合でも、ゲームに熱中して指に力が入るなどすると、指FGが閾値速度TV未満の速度でゆっくり動く場合がある。この場合、タッチ位置Pが入力領域RDlから入力領域RDrに移動したことに応じて、所定のゲームに係る指示が、キャラクタCRの顔の向きを+Xs方向とする指示(入力領域RDrに対応付けられた指示)に変更されると、ユーザの意図と異なる指示が実行されるという問題が生じる。この問題を解消するために、ゲーム制御部111は、上述したように、タッチ位置Pが入力領域RDlから入力領域RDrに移動した場合であっても、タッチ位置Pの移動速度が所定の速度条件を満たさない場合には、所定のゲームに係る指示を、入力領域RDlに対応付けられた指示に維持する。この結果、ユーザの意図と異なる指示が実行されることを抑止することができる。
【0059】
次に、
図8を参照しながら、タッチ位置Pが入力領域RDlから入力領域RDrに移動した後に、所定のゲームに係る指示が変更される場合の端末装置10の動作について説明する。
【0060】
図8は、端末装置10の動作の別の例を示す説明図である。
図8においても、タッチ位置Pの移動速度(|MV|/Tcyc)が閾値速度TV以上であることが所定の速度条件である場合を例にして、端末装置10の動作を説明する。
図8に示す時刻t30から時刻t34までの期間では、タッチパネル12に対するタッチは、継続している。
図8では、時刻t30から時刻t33までのタッチ位置Pの動きが、
図7の時刻t20から時刻t23までのタッチ位置Pの動きと同じである場合を想定する。このため、
図8では、端末装置10の時刻t33以降の動作を説明する。
【0061】
時刻t33から時刻t34にかけて、タッチ位置Pは、タッチ位置P[t33]からタッチ位置P[t34]に移動する。タッチ位置P[t33]及びタッチ位置P[t34]は、入力領域RDrに存在する。すなわち、タッチ位置Pは、時刻t33から時刻t34にかけて、境界線BDrlを跨がずに入力領域RDr内を移動する。
【0062】
図8に示す例では、タッチ位置Pがタッチ位置P[t33]からタッチ位置P[t34]に移動した際の移動速度(|MV[t34]|/Tcyc)が閾値速度TV以上である場合を想定する。すなわち、
図8に示す例では、ゲーム制御部111は、タッチ位置Pの移動速度が所定の速度条件を満たしていると判定する。このため、ゲーム制御部111は、所定のゲームに係る指示の内容を、キャラクタCRの顔の向きを+Xs方向とする指示(入力領域RDrに対応付けられた指示)に決定する。そして、ゲーム制御部111は、キャラクタCRの顔の向きを、+Xs方向に設定する。従って、時刻t34では、キャラクタCRの顔の向きは、−Xs方向から+Xs方向に変化する。なお、
図7で説明したように、タッチ位置Pの移動速度が閾値速度TV未満である場合には、所定のゲームに係る指示は、変更されずに維持される。
【0063】
このように、タッチパネル12に対するタッチが継続されている状態において、タッチ位置Pの移動速度が所定の速度条件を満たさずに、タッチ位置Pが入力領域RDlから入力領域RDrに移動した後では、ゲーム制御部111は、所定のゲームに係る指示を変更するか維持するかを、タッチ位置Pの移動速度に基づいて決定する。例えば、ゲーム制御部111は、タッチ位置Pの移動速度が所定の速度条件を満たさずに、タッチ位置Pが入力領域RDlから入力領域RDrに移動した後、タッチ位置Pの移動速度が所定の速度条件を満たしたとき、所定のゲームに係る指示を、入力領域RDrに対応付けられた指示に変更する。換言すれば、タッチ位置Pの移動速度が所定の速度条件を満たさずに、タッチ位置Pが入力領域RDlから入力領域RDrに移動した後では、タッチ位置Pの移動速度が所定の速度条件を満たす直前まで、所定のゲームに係る指示は、入力領域RDlに対応付けられた指示に維持される。
【0064】
例えば、ユーザは、時刻t30から時刻t33までの間、意図せず指FGを閾値速度TV未満の速度でゆっくり動かしていた場合でも、時刻t33以降に、指FGを閾値速度TV以上の速度で動かすことにより、キャラクタCRの顔の向きを−Xs方向から+Xs方向に変化させることができる。なお、タッチ位置Pの移動先が入力領域RDlである場合には、キャラクタCRの顔の向きは−Xs方向に維持される。
【0065】
図8に示した例では、時刻t30から時刻t34までの期間に着目した場合、入力領域RDlが「第1領域」に該当し、入力領域RDrが「第2領域」に該当する。また、キャラクタCRの顔の向きが−Xs方向から+Xs方向に変化した時刻t34以降の期間に着目した場合、入力領域RDrが「第1領域」に該当し、入力領域RDlが「第2領域」に該当する。
【0066】
なお、
図6から
図8に示した例では、タッチ位置Pの移動速度は、2点間の座標によって算出されたが、境界線BDrlに直行する方向等の特定方向の移動速度であってもよい。次に、
図9を参照しながら、所定の速度条件がタッチ位置Pの特定方向の移動速度に関する条件である場合の端末装置10の動作について説明する。
【0067】
図9は、端末装置10の動作の別の例を示す説明図である。
図9では、タッチ位置Pにおける+Xs方向の移動速度(MVx/Tcyc)が閾値速度TVx以上であることが所定の速度条件である場合を例にして、端末装置10の動作を説明する。符号MVxは、タッチ位置移動ベクトルMVにおける+Xs方向の成分を示す。以下では、タッチ位置移動ベクトルMV[tn]における+Xs方向の成分Mvxは、成分Mvx[tn]とも称される(nは、0以上の整数)。なお、タッチ位置Pにおける+Xs方向の移動速度は、「タッチ位置の移動速度」の一例である。また、
図9に示す例では、+Xs方向は、入力領域RDr及びRDlの境界線BDrlに垂直な方向に該当する。また、
図9に示す例では、入力領域RDlが「第1領域」に該当し、入力領域RDrが「第2領域」に該当する。
【0068】
図9に示す時刻t40から時刻t44までの期間では、タッチパネル12に対するタッチは、継続している。
図9では、時刻t40から時刻t43までのタッチ位置Pの動きが、
図8の時刻t30から時刻t33までのタッチ位置Pの動きと同じである場合を想定する。また、タッチ位置Pにおける+Xs方向の移動速度は、時刻t40から時刻t41までの期間、時刻t41から時刻t42までの期間、及び、時刻t42から時刻t43までの期間の各々の期間において、所定の速度条件を満たしていない。このため、時刻t40から時刻t43までの端末装置10の動作は、
図8の時刻t30から時刻t33までの端末装置10の動作と同様である。従って、
図9では、端末装置10の時刻t43以降の動作を説明する。
【0069】
時刻t43から時刻t44にかけて、タッチ位置Pは、タッチ位置P[t43]からタッチ位置P[t44]に移動する。タッチ位置P[t43]及びタッチ位置P[t44]は、入力領域RDrに存在する。すなわち、タッチ位置Pは、時刻t43から時刻t44にかけて、境界線BDrlを跨がずに入力領域RDr内を移動する。
【0070】
図9に示す例では、タッチ位置Pがタッチ位置P[t43]からタッチ位置P[t44]に移動した際の+Xs方向の移動速度(MVx[t44]/Tcyc)が閾値速度TVx未満である場合を想定する。すなわち、
図9に示す例では、ゲーム制御部111は、タッチ位置Pの移動速度が所定の速度条件を満たしていないと判定する。このため、ゲーム制御部111は、所定のゲームに係る指示を、キャラクタCRの顔の向きを−Xs方向とする指示(入力領域RDlに対応付けられた指示)から、キャラクタCRの顔の向きを+Xs方向とする指示(入力領域RDrに対応付けられた指示)に変更しない。すなわち、ゲーム制御部111は、所定のゲームに係る指示を、キャラクタCRの顔の向きを−Xs方向とする指示(入力領域RDlに対応付けられた指示)に維持する。従って、時刻t44では、キャラクタCRの顔の向きは、−Xs方向に維持される。なお、
図9の例とは異なるが、時刻t43から時刻t44までの期間におけるタッチ位置Pの+Xs方向の移動速度が閾値速度TVx以上である場合には、所定のゲームに係る指示は、キャラクタCRの顔の向きを+Xs方向とする指示(入力領域RDrに対応付けられた指示)に変更される。
【0071】
このように、タッチパネル12に対するタッチが継続されている状態において、タッチ位置Pの移動速度が所定の速度条件を満たさずに、タッチ位置Pが入力領域RDlから入力領域RDrに移動した後では、ゲーム制御部111は、所定のゲームに係る指示を変更するか維持するかを、タッチ位置Pの+Xs方向の移動速度に基づいて決定する。例えば、ゲーム制御部111は、タッチ位置Pが、+Xs方向の移動速度が閾値速度TVx未満の状態で入力領域RDlから入力領域RDrに移動した後では、タッチ位置Pの+Xs方向の移動速度が閾値速度TVx以上になる直前まで、所定のゲームに係る指示は、入力領域RDlに対応付けられた指示に維持される。すなわち、タッチ位置Pが、+Xs方向の移動速度が閾値速度TVx未満の状態で入力領域RDlから入力領域RDrに移動した場合、タッチ位置Pの+Xs方向の移動速度が閾値速度TVx以上になったとき、所定のゲームに係る指示は、入力領域RDrに対応付けられた指示に変更される。
【0072】
例えば、ユーザが電車内で指FGをタッチパネル12に接触させている場合、電車の揺れ等によって、ユーザが指FGを意図せず動かす場合がある。この場合、例えば、
図8等の所定の速度条件に用いられた閾値速度TV以上の速度で指FGが動いても、タッチ位置Pの+Xs方向の移動速度が閾値速度TVx未満であれば、所定のゲームに係る指示は、変更されずに維持される。
【0073】
ここで、
図9に示す例において、タッチ位置Pがタッチ位置P[t43]からタッチ位置P[t44]に移動した際の移動速度(|MV[t44]|/Tcyc)は、
図8等の所定の速度条件に用いられた閾値速度TV以上である。このため、
図9に示す例において、所定の速度条件が
図8等で想定した所定の速度条件と同じである場合には、時刻t44に、所定のゲームに係る指示は、入力領域RDrに対応付けられた指示に変更される。従って、タッチ位置Pにおける+Xs方向の移動速度(MVx/Tcyc)が閾値速度TVx以上であることが所定の速度条件である場合、タッチ位置Pの移動速度(|MV|/Tcyc)が閾値速度TV以上であることが所定の速度条件である場合に比べて、ユーザの意図と異なる指示が実行されることを低減することができる。
【0074】
なお、タッチ位置Pの移動速度は、例えば、タッチ位置Pが入力領域RDrから入力領域RDlに移動する場合、−Xs方向の移動速度であってもよい。すなわち、タッチ位置Pの移動速度は、境界線BDrlに直行する方向等の特定方向の移動速度であってもよい。
【0075】
図9に示したように、タッチ位置Pの移動速度を特定方向の移動速度とすることにより、ノイズを排除する可能性を高めることができる。例えば、ユーザが所定のゲームに係る指示の内容を変更する場合、ユーザは境界線BDrlに直行する方向(+Xs方向、又は、−Xs方向)に指FGを動かすはずである。なお、ユーザが境界線BDrlに沿う方向(+Ys方向、又は−Ys方向)に指FGを動かしても所定のゲームに係る指示の内容を変更することはできない。このため、境界線BDrlに沿う方向にタッチ位置Pが移動したとしても、この場合のタッチ位置の移動は、端末装置10を保持するユーザの腕又は端末装置10が何かにぶつかった等のノイズである可能性が高いことになる。従って、後述する
図9に示すように、タッチ位置Pが閾値速度TV以上の移動速度で移動した場合であっても、ゲーム制御部111は、境界線BDrlに沿う方向の移動を無視して所定のゲームに係る指示を維持するようにしてもよい。
【0076】
なお、
図6から
図9に示した動作では、所定の速度条件を満たしているか判定するために時刻tmに参照されるタッチ位置Pの移動速度(+Xs方向の移動速度も含む)として、時刻t(m−1)から時刻tmまでの期間におけるタッチ位置Pの移動速度を例示している。しかし、時刻tmに参照されるタッチ位置Pの移動速度は、
図6から
図9に示した例に限定されない。例えば、時刻t43に参照されるタッチ位置Pの移動速度は、時刻t42から時刻t43までの期間より前の期間(例えば、時刻t41から時刻t42までの期間)におけるタッチ位置Pの移動速度でもよい。あるいは、時刻t43に参照されるタッチ位置Pの移動速度は、時刻t42から時刻t43までの期間におけるタッチ位置Pの移動速度と、時刻t41から時刻t42までの期間におけるタッチ位置Pの移動速度との平均でもよい。また、時刻t43に参照されるタッチ位置Pの移動速度は、時刻t42から時刻t43までの期間におけるタッチ位置Pの移動速度と、時刻t41から時刻t42までの期間におけるタッチ位置Pの移動速度と、時刻t40から時刻t41までの期間におけるタッチ位置Pの移動速度との平均でもよい。従って、例えば、タッチ位置Pが境界線BDrlを跨いで移動した場合に着目すると、タッチ位置Pの移動速度は、タッチ位置Pが境界線BDrlを跨いだ時刻に基づく期間の移動速度であってもよい。次に、
図10及び
図11を参照しながら、端末装置10の動作フローについて説明する。
【0077】
図10は、端末装置10の動作の一例を示すフローチャートである。
図10に示すステップS100の処理は、例えば、端末装置10のユーザが、所定のゲームを開始させる旨の所定の開始操作をタッチパネル12から入力した場合に実行される。
【0078】
先ず、ステップS100において、操作領域割当部114は、入力領域RDr及びRDlをタッチパネル12の予め決められた位置(「初期状態」の一例)に割り当てる。例えば、操作領域割当部114は、記憶部130に記憶されている操作領域情報を取得し、入力領域RDr及びRDlの各々が割り当てられる領域を特定する。そして、操作領域割当部114は、タッチパネル12のうちの操作領域情報に基づいて特定した領域に、入力領域RDr及びRDlを割り当てる。これにより、入力領域RDr及びRDlを含む操作領域Vが、タッチパネル12の予め決められた位置に割り当てられる。操作領域割当部114は、ステップS100の処理を実行した後、処理をステップS102に進める。
【0079】
ステップS102において、表示制御部112は、仮想空間SP、キャラクタCR、及び、操作領域Vを表示部120に表示させるための表示情報を生成し、当該表示情報に基づく画像を表示部120が表示するように、表示部120を制御する。なお、所定のゲームの開始時のキャラクタCRの顔の向きは、予め決められている。表示制御部112は、ステップS102の処理を実行した後、処理をステップS104に進める。
【0080】
ステップS104において、タッチ位置情報取得部113は、タッチパネル12がタッチ位置情報を出力したか否かを判定する。ステップS104における判定の結果が肯定の場合、タッチ位置情報取得部113は、処理をステップS106に進める。一方、ステップS104における判定の結果が否定の場合、タッチ位置情報取得部113は、処理をステップS118に進める。
【0081】
ステップS106において、タッチ位置情報取得部113は、タッチパネル12から出力されたタッチ位置情報を取得する。そして、タッチ位置情報取得部113は、ステップS106で取得したタッチ位置情報に基づいて、記憶部130に記憶されているタッチ位置履歴情報を更新する。具体的には、タッチ位置情報取得部113は、ステップS106で取得したタッチ位置情報を、当該タッチ位置情報を取得した時刻と対応付けた上で、タッチ位置履歴情報に含ませる。なお、タッチ位置履歴情報は、各時刻におけるタッチ位置Pが、入力領域RDr及びRDlの何れに存在するかを示す情報を含んでいてもよい。なお、以下の説明では、時刻tmは、ステップS106においてタッチ位置情報取得部113により取得されたタッチ位置情報に対応付けられた時刻を意味する。タッチ位置情報取得部113は、ステップS106の処理を実行した後、処理をステップS108に進める。
【0082】
ステップS108において、ゲーム制御部111は、記憶部130に記憶されている操作領域情報を取得し、入力領域RDr及びRDlの各々の位置を特定する。そして、ゲーム制御部111は、処理をステップS110に進める。
【0083】
ステップS110において、ゲーム制御部111は、ステップS106においてタッチ位置情報取得部113により取得されたタッチ位置情報の示すタッチ位置Pが、入力領域RDr及びRDlの何れかの領域に存在するか否かを判定する。ステップS110における判定の結果が肯定の場合、ゲーム制御部111は、処理をステップS112に進める。一方、ステップS110における判定の結果が否定の場合、ゲーム制御部111は、処理をステップS118に進める。なお、ゲーム制御部111は、ステップS110の判定結果に基づいて、タッチ位置履歴情報を更新してもよい。
【0084】
ステップS112において、ゲーム制御部111は、タッチ位置履歴情報を参照し、タッチパネル12への最新のタッチが入力領域RDへの最初のタッチであるか否かを判定する。なお、タッチパネル12への最新のタッチは、ステップS106においてタッチ位置情報取得部113により取得されたタッチ位置情報に対応するタッチである。
【0085】
例えば、ゲーム制御部111は、時刻tmから時間Tcyc遡った時刻t(m−1)にタッチ位置情報が取得されていない場合、タッチパネル12への最新のタッチが入力領域RDへの最初のタッチであると判定する。また、ゲーム制御部111は、時刻t(m−1)にタッチ位置情報が取得されていた場合、時刻t(m−1)に取得されたタッチ位置情報の示すタッチ位置Pが、入力領域RDr及びRDlの何れかの領域に存在するか否かを判定する。そして、ゲーム制御部111は、時刻t(m−1)に取得されたタッチ位置情報の示すタッチ位置Pが、入力領域RDr及びRDlの何れの領域にも存在しない場合、タッチパネル12への最新のタッチが入力領域RDへの最初のタッチであると判定する。
【0086】
ステップS112における判定の結果が肯定の場合、ゲーム制御部111は、処理をステップS114に進める。一方、ステップS112における判定の結果が否定の場合、ゲーム制御部111は、処理をステップS120に進める。
【0087】
ステップS114において、振動制御部115は、振動発生部140が端末装置10を振動させるように、振動発生部140を制御する。そして、振動制御部115は、処理をステップS116に進める。
【0088】
ステップS116において、ゲーム制御部111は、キャラクタCRの顔が向く方向を決定する。具体的には、ゲーム制御部111は、キャラクタCRの顔が向く方向を、ステップS110で判定されたタッチ位置Pが存在する入力領域RDに対応する方向に設定する。
【0089】
ゲーム制御部111は、ステップS116の処理を実行した後、処理をステップS140に進める。なお、指FGがタッチパネル12に接触していない場合(S104:N)、又は、タッチ位置Pが入力領域RDに存在しない場合(S110:N)には、ゲーム制御部111は、ステップS118において非タッチ処理を実行した後、処理をステップS140に進める。非タッチ処理については、
図3で説明しているため、説明を省略する。また、タッチパネル12への最新のタッチが入力領域RDへの最初のタッチでない場合(S112:N)には、ゲーム制御部111は、ステップS120においてタッチ継続処理を実行した後、処理をステップS140に進める。タッチ継続処理については、
図11で説明する。
【0090】
ステップS140において、表示制御部112は、仮想空間SP、キャラクタCR、及び、操作領域Vを表示部120に表示させるための表示情報を生成し、当該表示情報に基づく画像を表示部120が表示するように、表示部120を制御する。ステップS140の処理が実行されることにより、キャラクタCRの顔が、ステップS116又は後述する
図11のステップS132等で設定された方向を向いた状態で表示される。表示制御部112は、ステップS140の処理を実行した後、処理をステップS142に進める。
【0091】
ステップS142において、ゲーム制御部111は、ユーザが、所定のゲームを終了させる旨の所定の終了操作をタッチパネル12から入力したか否かを判定する。ステップS142における判定の結果が肯定の場合、ゲーム制御部111は、所定のゲームを終了させる。一方、ステップS142における判定の結果が否定の場合、ゲーム制御部111は、処理をステップS104に戻し、ゲームを継続させる。次に、
図11を参照しながら、ステップS120のタッチ継続処理について説明する。
【0092】
図11は、タッチ継続処理の一例を示すフローチャートである。ステップS122の処理は、例えば、
図10のステップS112における判定の結果が否定の場合に実行される。
【0093】
ステップS122において、ゲーム制御部111は、タッチ位置Pが入力領域RDr及びRDlの境界線BDrlを跨いで移動したか否かを判定する。具体的には、ゲーム制御部111は、タッチ位置履歴情報を参照し、タッチ位置Pが入力領域RDr及びRDlの一方から他方に移動したか否かを判定する。例えば、ゲーム制御部111は、
図10のステップS106で取得されたタッチ位置情報の示すタッチ位置P[tm]と、時刻tmから時間Tcyc遡った時刻t(m−1)におけるタッチ位置P[t(m−1)]とが互いに異なる入力領域RDに存在するか否かを判定する。ステップS122における判定の結果が肯定の場合、ゲーム制御部111は、処理をステップS126に進める。一方、ステップS122における判定の結果が否定の場合、ゲーム制御部111は、処理をステップS124に進める。
【0094】
ステップS124において、ゲーム制御部111は、時刻tmから時間Tcyc遡った時刻t(m−1)におけるキャラクタCRの顔の向きが、タッチ位置P[t(m−1)]が存在する入力領域RDに対応する方向と一致しているか否かを判定する。例えば、
図6に示した例において、時刻t14が時刻tmである場合、時刻t13におけるキャラクタCRの顔の向きが、タッチ位置P[t13]が存在する入力領域RDrに対応する+Xs方向に一致しているため、ステップS124における判定の結果は、肯定となる。また、例えば、
図7に示した例において、時刻t24が時刻tmである場合、時刻t23におけるキャラクタCRの顔の向きが、タッチ位置P[t23]が存在する入力領域RDrに対応する+Xs方向に一致していないため、ステップS124における判定の結果は、否定となる。
【0095】
ステップS124における判定の結果が肯定の場合、ゲーム制御部111は、ステップS134においてキャラクタCRの顔が向く方向を変更せずに維持した後、処理を
図10のステップS140に進める。一方、ステップS124における判定の結果が否定の場合、ゲーム制御部111は、処理をステップS126に進める。
【0096】
ステップS126において、ゲーム制御部111は、タッチ位置履歴情報を参照し、タッチ位置Pの移動速度を算出する。例えば、ゲーム制御部111は、
図9で説明したように、時刻t(m−1)におけるタッチ位置P[t(m−1)]と、時刻tmにおけるタッチ位置P[tm]と、時刻tmから時刻t(m−1)までの時間Tcycとに基づいて、タッチ位置Pの移動速度を算出する。なお、ゲーム制御部111は、タッチ位置Pの移動速度として、タッチ位置Pが移動した際の加速度を算出してもよい。ゲーム制御部111は、ステップS126の処理を実行した後、処理をステップS128に進める。
【0097】
ステップS128において、ゲーム制御部111は、ステップS126において算出したタッチ位置Pの移動速度が、所定の速度条件を満たすか否かを判定する。例えば、タッチ位置Pの移動速度(MV/Tcyc)が閾値速度TV以上であることが所定の速度条件である場合、ゲーム制御部111は、ステップS126において算出したタッチ位置Pの移動速度が閾値速度TV以上であるか否かを判定する。また、例えば、タッチ位置Pにおける+Xs方向の移動速度(MVx/Tcyc)が閾値速度TVx以上であることが所定の速度条件である場合、ゲーム制御部111は、ステップS126において算出したタッチ位置Pの移動速度のうちの+Xs方向の成分が閾値速度TVx以上であるか否かを判定する。
【0098】
ステップS128における判定の結果が肯定の場合、ゲーム制御部111は、処理をステップS130に進める。一方、ステップS128における判定の結果が否定の場合、ゲーム制御部111は、ステップS134においてキャラクタCRの顔が向く方向を変更せずに維持した後、処理を
図10のステップS140に進める。
【0099】
ステップS130において、振動制御部115は、振動発生部140が端末装置10を振動させるように、振動発生部140を制御する。そして、振動制御部115は、処理をステップS132に進める。
【0100】
ステップS132において、ゲーム制御部111は、キャラクタCRの顔が向く方向を、
図10のステップS110で判定されたタッチ位置Pが存在する入力領域RDに対応する方向に変更する。すなわち、タッチ位置Pの移動速度が所定の速度条件を満たす場合、キャラクタCRの顔の向きは、タッチ位置P[tm]が存在する入力領域RDに対応する方向に設定される。ゲーム制御部111は、ステップS132の処理を実行した後、処理を
図10のステップS140に進める。
【0101】
このように、ゲーム制御部111は、タッチパネル12に対するタッチが継続されている状態において、タッチ位置Pが入力領域RDr及びRDlの一方から他方に移動した場合、タッチ位置Pの移動速度に基づいて、所定のゲームに係る指示を変更するか否かを決定する。
【0102】
なお、端末装置10の動作は、
図10及び
図11に示した例に限定されない。例えば、
図10のステップS118の非タッチ処理は、省かれてもよい。この場合、例えば、ゲーム制御部111は、ステップS104において、タッチパネル12がタッチ位置情報を出力していないと判定されると、特定の処理を実行することなく、処理をステップS140に進めてもよい。あるいは、ゲーム制御部111は、ステップS110において、最新のタッチ位置Pが入力領域RDの外部に存在すると判定した場合、特定の処理を実行することなく、処理をステップS140に進めてもよい。また、
図11のステップS126及びS128の一連の処理は、ステップS122の処理の前に実行されてもよい。また、ステップS128における判定の結果が否定の場合(すなわち、タッチ位置Pが所定の速度条件を満たさずに境界線BDrlを跨いで移動した場合)、端末装置10を振動させる処理が実行されてもよい。タッチ位置Pが所定の速度条件を満たさずに境界線BDrlを跨いで移動した場合に端末装置10を振動させる際の振動パターンは、ステップS130において端末装置10を振動させる際の振動パターンと同じでもよいし、ステップS130において端末装置10を振動させる際の振動パターンと異なっていてもよい。あるいは、タッチ位置Pが所定の速度条件を満たさずに境界線BDrlを跨いで移動したことに応じて振動制御部115が振動発生部140を制御して端末装置10を振動させる場合、ステップS130の処理は省かれてもよい。
【0103】
以上、第1実施形態では、ゲーム制御部111は、タッチパネル12に対するタッチが継続されている状態において、タッチ位置情報取得部113が取得したタッチ位置情報の示すタッチ位置Pが入力領域RDr及びRDlの一方から他方に移動した場合、タッチ位置Pの移動速度に基づいて、所定のゲームに係る指示を変更するか否かを判定する。具体的には、ゲーム制御部111は、タッチ位置情報の示すタッチ位置Pが入力領域RDr及びRDlの一方から他方に移動した場合であって、タッチ位置Pの移動速度が所定の速度条件を満たす場合には、所定のゲームに係る指示を、入力領域RDr及びRDlの一方に対応付けられた指示から、入力領域RDr及びRDlの他方に対応付けられた指示に変更する。また、ゲーム制御部111は、タッチ位置情報の示すタッチ位置Pが入力領域RDr及びRDlの一方から他方に移動した場合であっても、タッチ位置Pの移動速度が所定の速度条件を満さない場合には、所定のゲームに係る指示を入力領域RDr及びRDlの一方に対応付けられた指示に維持する。
【0104】
このため、本実施形態によれば、例えば、ユーザが所定のゲームに係る指示を変更するつもりがないにもかかわらず、タッチ位置Pが徐々にずれていく場合であっても、タッチ位置Pの移動速度が所定の速度条件を満さない場合には、所定のゲームに係る指示は、変更されない。従って、タッチ位置Pの移動速度が所定の速度条件を満さない場合には所定のゲームに係る指示を変更しない本実施形態によれば、所定のゲームに係る指示の変更にタッチ位置Pの移動速度が考慮されない場合に比べて、誤った入力がなされる可能性を低減することができる。すなわち、本実施形態によれば、タッチパネル12へのタッチ位置Pにずれが生じうる場合であっても、誤った入力がなされる可能性を低減することができる。
【0105】
また、ゲーム制御部111は、タッチ位置Pが、所定の速度条件を満たさない移動速度で入力領域RDr及びRDlの一方から他方に移動した場合、タッチ位置Pの移動速度が所定の速度条件を満たしたとき、所定のゲームに係る指示を、入力領域RDr及びRDlの一方に対応付けられた指示から入力領域RDr及びRDlの他方に対応付けられた指示に変更する。これにより、本実施形態では、例えば、ユーザが所定のゲームに係る指示の内容を変更するつもりで指FGを移動させたにもかかわらず、所定のゲームに係る指示が変更されないことを低減することができる。すなわち、本実施形態によれば、ユーザの意図する指示とは異なる指示が実行なされる可能性を低減することができる。
【0106】
[2.第2実施形態]
次に、
図12から
図18を参照しながら、第2実施形態に係る端末装置10Aについて説明する。
【0107】
図12は、第2実施形態に係る端末装置10Aの構成の一例を示す機能ブロック図である。
図1乃至
図11で説明した要素と同様の要素については、同様の符号を付し、詳細な説明を省略する。また、端末装置10Aのハードウェア構成については、端末装置10のハードウェア構成と同様であるため、説明を省略する。端末装置10Aは、
図4に示した制御部110の代わりに制御部110Aを有することを除いて、
図4に示した端末装置10と同様である。例えば、端末装置10Aは、端末装置10Aの各部を制御する制御部110Aと、画像を表示するための表示部120と、端末装置10Aのユーザによる指示の入力を受け付ける入力部122と、各種情報を記憶する記憶部130と、端末装置10Aを振動させる振動発生部140とを有する。
【0108】
制御部110Aは、ゲーム制御部111と、表示制御部112と、タッチ位置情報取得部113と、操作領域割当部114A(「領域割当部」の一例)と、振動制御部115とを有する。すなわち、制御部110Aは、
図4に示した操作領域割当部114の代わりに操作領域割当部114Aを有することを除いて、
図4に示した制御部110と同様である。このため、
図12では、操作領域割当部114Aについて説明する。
【0109】
操作領域割当部114Aは、タッチパネル12に対するタッチが継続されている状態において、タッチ位置Pが入力領域RDr及びRDlの一方から他方に移動した場合で、且つ、タッチ位置Pの移動速度が所定の速度条件を満たさない場合、最新のタッチ位置Pに基づいて、入力領域RDr及びRDlのタッチパネル12への割り当てを変更する。
図13から
図17を参照しながら、タッチパネル12に対する入力領域RDr及びRDlの割り当ての変更方法について説明する。
【0110】
図13は、タッチパネル12に対する入力領域RDr及びRDlの割り当ての変更方法の一例を示す説明図である。以下では、時刻tnにおける操作領域Vは、操作領域V[tn]とも称され、時刻tnにおける基準位置Ovは、基準位置Ov[tn]とも称される。また、時刻tnにおける入力領域RDrは、入力領域RDr[tn]とも称され、時刻tnにおける入力領域RDlは、入力領域RDl[tn]とも称される。また、時刻tnにおける境界線BDrlは、境界線BDrl[tn]とも称される。
【0111】
図13に示す例では、タッチ位置P[t24]を図示していないが、時刻t20から時刻t24までの期間においてタッチパネル12に対するタッチは、継続している。
図13では、時刻t20から時刻t23までのタッチ位置Pの動きが、
図7の時刻t20から時刻t23までのタッチ位置Pの動きと同じである場合を想定する。このため、時刻t20から時刻t23までの端末装置10Aの動作は、タッチパネル12に対する入力領域RDr及びRDlの割り当てを変更するための処理が時刻t23以降に実行されることを除いて、
図7の時刻t20から時刻t23までの端末装置10の動作と同様である。
【0112】
例えば、時刻t22から時刻t23にかけて、タッチ位置Pは、閾値速度TV未満の移動速度(|MV[t23]|/Tcyc)で、入力領域RDl[t23]内のタッチ位置P[t22]から入力領域RDr[t23]内のタッチ位置P[t23]に移動する。ゲーム制御部111は、タッチ位置Pの移動速度が所定の速度条件を満たしていないため、所定のゲームに係る指示を、キャラクタCRの顔の向きを−Xs方向とする指示(入力領域RDlに対応付けられた指示)に維持する。
【0113】
また、時刻t23では、操作領域割当部114Aは、タッチ位置Pが入力領域RDl[t23]から入力領域RDr[t23]に移動した場合におけるタッチ位置Pの移動速度が所定の速度条件を満たさないため、タッチパネル12に対する入力領域RDr及びRDlの割り当てを変更する処理を開始する。例えば、操作領域割当部114Aは、タッチ位置Pの移動に基づいて、入力領域RDr及びRDlの各々の位置を移動させる。
【0114】
図13に示す例では、操作領域割当部114Aは、先ず、タッチパネル座標系ΣSにおける基準位置Ov[t23]及びタッチ位置P[t23]に基づいて、割り当て変更後の基準位置Ov[t24]を決定する。例えば、操作領域割当部114Aは、タッチ位置P[t23]のXs軸座標値に正の所定値を加算した値を基準位置Ov[t24]のXs軸座標値に決定し、基準位置Ov[t23]のYs軸座標値を基準位置Ov[t24]のYs軸座標値に決定する。そして、操作領域割当部114Aは、基準位置Ov[t23]を始点とし、基準位置Ov[t24]を終点とする操作領域移動ベクトルVmvに対応する移動量だけ、入力領域RDr及びRDlを+Xs方向(境界線BDrlに直行する方向)に移動させる。これにより、操作領域割当部114Aは、タッチ位置P[t23]が入力領域RDl[t24]に存在するように、タッチパネル座標系ΣSにおける基準位置Ov、入力領域RDr及びRDlの位置を修正することができる。
【0115】
図13に示す例では、タッチ位置Pが閾値速度TV未満の移動速度で移動しているため、例えば、指FGの現在(時刻t23)の位置に対応するタッチ位置P[t23]が入力領域RDlに存在しているとユーザが認識している可能性が高い。このため、ユーザの認識に合わせて、タッチパネル12に対する入力領域RDr及びRDlの割り当てを変更することにより、ユーザの操作性を向上させることができる。上述したように、
図13では、入力領域RDr及びRDlを含む操作領域V全体を+Xs方向に移動させている。これにより、例えば、ユーザは、キャラクタCRの顔の向きを+Xs方向に変化させた後に、キャラクタCRの顔の向きを−Xs方向に戻す場合においても、キャラクタCRの顔の向きを−Xs方向とする指示(入力領域RDlに対応付けられた指示)を端末装置10に瞬時に入力することができる。
【0116】
例えば、時刻t23から時刻t24にかけて、タッチ位置Pが閾値速度TV以上の移動速度で入力領域RDl[t24]から入力領域RDr[t24]に移動する場合、時刻t24において、キャラクタCRの顔の向きは、+Xs方向に変化する。この場合、ユーザは、例えば、時刻t24から図示しない時刻t25にかけて、指FGをタッチ位置P[t23]とほぼ同じ位置に戻すことにより、タッチ位置Pを入力領域RDr[t24]から入力領域RDl[t24]に移動させることができる。この結果、キャラクタCRの顔の向きは、−Xs方向に戻る。なお、入力領域RDr及びRDlの位置が固定されている場合、指FGがタッチ位置P[t23]とほぼ同じ位置に戻っても、タッチ位置Pが入力領域RDl(
図13の入力領域RDl[t23])に移動しないため、キャラクタCRの顔は、−Xs方向に向かない。この実施形態では、上述したように、タッチパネル12に対する入力領域RDr及びRDlの割り当てを変更することにより、ユーザの意図した指示が端末装置10に入力されないことを低減することができるため、ユーザの操作性を向上させることができる。
【0117】
なお、入力領域RDr及びRDlの各々の位置の移動方法は、
図13に示した例に限定されない。例えば、入力領域RDr及びRDlの各々の移動方向は、境界線BDrlに直行する方向に限定されない。具体的には、入力領域RDr及びRDlの各々の移動方向は、境界線BDrlと45度で交差する方向であってもよいし、タッチ位置移動ベクトルMV[t23]と同じ方向であってもよい。また、入力領域RDr及びRDlの各々の移動量は、基準位置Ov[t23]及びタッチ位置P[t23]に基づく移動量に限定されない。例えば、入力領域RDr及びRDlの各々の移動量は、タッチ位置移動ベクトルMV[t23]に対応する移動量であってもよい。すなわち、操作領域割当部114Aは、入力領域RDr及びRDlを含む操作領域V全体を、タッチ位置移動ベクトルMV[t23]に対応する移動量だけ、タッチ位置移動ベクトルMVと同じ方向に移動させてもよい。
【0118】
また、操作領域割当部114Aは、タッチ位置P[t23]のXs軸座標値を基準位置Ov[t24]のXs軸座標値(移動後の基準位置OvのXs軸座標値)に決定してもよい。あるいは、操作領域割当部114Aは、タッチ位置P[t23]のXs軸座標値と基準位置Ov[t23]のXs軸座標値との間の値を基準位置Ov[t24]のXs軸座標値に決定してもよい。この場合、タッチ位置P[t23]は境界線BDrl[t24]より+Xs方向に存在するが、キャラクタCRの顔の向きを+Xs方向に変化させた後に−Xs方向に戻す場合の指FGの移動量を、入力領域RDr及びRDlの位置が固定されている場合に比べて、小さくすることができる。次に、
図14を参照しながら、入力領域RDr及びRDlを回転移動させる場合の操作領域割当部114Aの動作について説明する。
【0119】
図14は、タッチパネル12に対する入力領域RDr及びRDlの割り当ての変更方法の別の例を示す説明図である。
図14に示す例では、操作領域割当部114Aは、入力領域RDr及びRDlを含む操作領域V全体を移動させる代わりに、入力領域RDr及びRDlを回転移動させる。すなわち、
図14に示す例では、端末装置10Aの動作は、操作領域V全体を移動させる代わりに入力領域RDr及びRDlを回転移動させることを除いて、
図13で説明した端末装置10Aの動作と同様である。このため、
図14では、入力領域RDr及びRDlを回転移動させる処理について説明する。なお、
図14では、説明の便宜上、線LN1を図示しているが、実際には、線LN1はタッチパネル12に表示されない。
【0120】
時刻t23において、操作領域割当部114Aは、タッチ位置Pの移動に基づいて、入力領域RDr及びRDlを基準位置Ovを中心にして回転移動させる。例えば、操作領域割当部114Aは、基準位置Ov[t23]及びタッチ位置P[t23]を通る線LN1と、入力領域RDr及びRDlの境界線BDrl[t23]とのなす鋭角より所定量だけ大きい角度θを定める。そして、操作領域割当部114Aは、境界線BDrl[t23]を、基準位置Ovを支点にして+Xs方向に角度θだけ傾ける。すなわち、操作領域割当部114Aは、入力領域RDr及びRDlを、基準位置Ovを中心にして反時計回りに角度θだけ回転させる。
【0121】
これにより、操作領域割当部114Aは、操作領域Vの位置を変更することなく、タッチ位置P[t23]が入力領域RDl[t24]に存在するように、タッチパネル座標系ΣSにおける入力領域RDr及びRDlの位置を修正することができる。この結果、入力領域RDr及びRDlを回転移動させる場合においても、
図13に示した動作と同様の効果(操作性の向上)を得ることができる。なお、入力領域RDr及びRDlの回転方向は、タッチ位置P[t23]が入力領域RDl[t24]に存在するようにする方向であり、基準位置Ov[t23]とタッチ位置P[t23]との位置関係によって決まる。例えば、タッチ位置P[t23]が基準位置Ov[t23]より+Ys方向に位置する場合、入力領域RDr及びRDlの回転方向は、時計回りである。
【0122】
なお、入力領域RDr及びRDlの回転移動の方法は、
図14に示した例に限定されない。例えば、入力領域RDr及びRDlを回転させる際の角度θは、線LN1と境界線BDrl[t23]とのなす鋭角と同じ角度であってもよいし、線LN1と境界線BDrl[t23]とのなす鋭角より小さい角度であってもよい。また、入力領域RDr及びRDlを回転させる際の中心は、境界線BDrl[t23]上の基準位置Ov以外の位置であってもよい。例えば、操作領域割当部114Aは、境界線BDrl[t23]における+Ys方向の端点と基準位置Ovとの間の一の位置を中心にして、入力領域RDr及びRDlを回転移動させてもよい。また、入力領域RDr及びRDlを回転させる際の中心は、境界線BDrl[t23]上以外の位置であってもよい。次に、
図15を参照しながら、入力領域RDr及びRDlの形状を変形させる場合の操作領域割当部114Aの動作について説明する。
【0123】
図15は、タッチパネル12に対する入力領域RDr及びRDlの割り当ての変更方法の別の例を示す説明図である。
図15に示す例では、操作領域割当部114Aは、入力領域RDr及びRDlを回転移動させる代わりに、入力領域RDr及びRDlの境界線BDrlの形状を変形させる。すなわち、
図15に示す例では、端末装置10Aの動作は、入力領域RDr及びRDlを回転移動させる代わりに境界線BDrlの形状を変形させることを除いて、
図14で説明した端末装置10Aの動作と同様である。このため、
図15では、境界線BDrlを変形させる処理について説明する。なお、
図15では、説明の便宜上、線LN2を図示しているが、実際には、線LN2はタッチパネル12に表示されない。
【0124】
時刻t23において、操作領域割当部114Aは、タッチ位置Pの移動に基づいて、入力領域RDr及びRDlの形状を変形させる。例えば、操作領域割当部114Aは、基準位置Ov[t23]及びタッチ位置P[t23]を通る線LN2と、入力領域RDr及びRDlの境界線BDrl[t23]とのなす鋭角より所定量だけ大きい角度θを定める。そして、操作領域割当部114Aは、境界線BDrl[t23]のうち、基準位置Ov[t23]よりーYs方向の線を、基準位置Ovを支点にして+Xs方向に角度θだけ傾ける。これにより、操作領域割当部114Aは、操作領域Vの位置を変更することなく、タッチ位置P[t23]が入力領域RDl[t24]に存在するように、タッチパネル座標系ΣSにおける入力領域RDr及びRDlの形状を修正することができる。この結果、入力領域RDr及びRDlの形状を変形させる場合においても、
図13に示した動作と同様の効果(操作性の向上)を得ることができる。
【0125】
なお、入力領域RDr及びRDlの形状を変形させるの方法は、
図15に示した例に限定されない。例えば、境界線BDrl[t23]のうちの基準位置Ov[t23]よりーYs方向の線を傾ける際の角度θは、線LN2と境界線BDrl[t23]とのなす鋭角と同じ角度であってもよいし、線LN2と境界線BDrl[t23]とのなす鋭角より小さい角度であってもよい。また、例えば、操作領域割当部114Aは、
図16に示すように、境界線BDrl[t23]のうちの基準位置Ov[t23]よりーYs方向の線を部分的に変形してもよいし、
図17に示すように、境界線BDrlを移動させてもよい。
【0126】
図16は、タッチパネル12に対する入力領域RDr及びRDlの割り当ての変更方法の別の例を示す説明図である。
図16に示す例では、操作領域割当部114Aは、境界線BDrl[t23]のうちの基準位置Ov[t23]よりーYs方向の線を傾ける代わりに、境界線BDrl[t23]のうちの基準位置Ov[t23]よりーYs方向の線を部分的に変形させる。すなわち、
図16に示す例では、端末装置10Aの動作は、境界線BDrl[t23]を変形させる方法を除いて、
図15で説明した端末装置10Aの動作と同様である。このため、
図16では、境界線BDrlを変形させる処理について説明する。
【0127】
時刻t23において、操作領域割当部114Aは、タッチ位置Pの移動に基づいて、入力領域RDr及びRDlの形状を変形させる。例えば、操作領域割当部114Aは、タッチ位置P[t23]を+Xs方向に所定量だけ移動した位置を頂点とし、境界線BDrl[t23]上に底辺を有する二等辺三角形TRIを定める。そして、操作領域割当部114Aは、境界線BDrl[t23]のうちの二等辺三角形TRIの底辺に対応する部分を除く線と、二等辺三角形TRIの等辺とを含む線を、境界線BDrl[t24]とする。すなわち、操作領域割当部114Aは、入力領域RDl[t23]と二等辺三角形TRIとを含む領域を入力領域RDl[t24]に割り当て、入力領域RDr[t23]から二等辺三角形TRIを除いた領域を入力領域RDr[t24]に割り当てる。
【0128】
これにより、操作領域割当部114Aは、操作領域Vの位置を変更することなく、タッチ位置P[t23]が入力領域RDl[t24]に存在するように、タッチパネル座標系ΣSにおける入力領域RDr及びRDlの形状を修正することができる。この結果、入力領域RDr及びRDlの形状を変形させる場合においても、
図13に示した動作と同様の効果(操作性の向上)を得ることができる。また、
図16に示す方法では、境界線BDrl[t23]を部分的に変形しているため、入力領域RDr及びRDlの形状における初期状態からの変更量を小さくすることができる。初期状態とは、例えば、ユーザの操作によらず、予め決められた状態であってもよい。具体的には、初期状態は、
図10のステップS100で割り当てられた入力領域RDr及びRDlの状態であってもよい。
【0129】
なお、境界線BDrl[t23]を部分的に変形させる方法は、
図16に示した例に限定されない。例えば、入力領域RDl[t24]として、入力領域RDl[t23]に追加される領域の形状は、二等辺三角形TRI以外の形状でもよい。また、入力領域RDl[t24]として、入力領域RDl[t23]に追加される領域の形状は、弾性曲線を利用した形状でもよい。次に、
図17を参照しながら、境界線BDrlを移動させることにより、入力領域RDr及びRDlの形状を変形させる場合の操作領域割当部114Aの動作について説明する。
【0130】
図17は、タッチパネル12に対する入力領域RDr及びRDlの割り当ての変更方法の別の例を示す説明図である。
図17に示す例では、操作領域割当部114Aは、境界線BDrl[t23]のうちの基準位置Ov[t23]よりーYs方向の線を傾ける代わりに、境界線BDrl[t23]の位置を+Xs方向に移動させる。すなわち、
図17に示す例では、端末装置10Aの動作は、境界線BDrl[t23]のうちの基準位置Ov[t23]よりーYs方向の線を傾ける代わりに境界線BDrl[t23]の位置を+Xs方向に移動させることを除いて、
図15で説明した端末装置10Aの動作と同様である。このため、
図17では、境界線BDrlの位置を移動させる処理について説明する。符号Mdは、境界線BDrlの中心を示す。以下では、境界線BDrl[tn]の中心Mdは、中心Md[tn]とも称される。
図17に示す例では、時刻t23における境界線BDrl[t23]の中心Md[t23]は、操作領域Vの中心である基準位置Ovに一致している。
【0131】
時刻t23において、操作領域割当部114Aは、タッチ位置Pの移動に基づいて、入力領域RDr及びRDlの形状を変形させる。例えば、操作領域割当部114Aは、先ず、タッチパネル座標系ΣSにおける中心Md[t23]及びタッチ位置P[t23]に基づいて、境界線BDrlの移動後の中心Md[t24]を決定する。例えば、操作領域割当部114Aは、タッチ位置P[t23]のXs軸座標値に正の所定値を加算した値を中心Md[t24]のXs軸座標値に決定し、中心Md[t23]のYs軸座標値を中心Md[t24]のYs軸座標値に決定する。そして、操作領域割当部114Aは、中心Md[t23]を始点とし、中心Md[t24]を終点とする境界線移動ベクトルVmbに対応する移動量だけ、境界線BDrlの位置を+Xs方向(境界線BDrlに直行する方向)に移動させる。これにより、操作領域割当部114Aは、操作領域Vの位置を変更することなく、タッチ位置P[t23]が入力領域RDl[t24]に存在するように、タッチパネル座標系ΣSにおける入力領域RDr及びRDlの形状を修正することができる。この結果、境界線BDrlの位置を移動させる場合においても、
図13に示した動作と同様の効果(操作性の向上)を得ることができる。
【0132】
なお、タッチパネル12に対する入力領域RDr及びRDlの割り当ての変更方法は、
図13から
図17に示した変更方法に限定されない。次に、
図18を参照しながら、本実施形態におけるタッチ継続処理について説明する。
【0133】
図18は、タッチ継続処理の一例を示すフローチャートである。なお、端末装置10Aの動作は、タッチ継続処理を除いて、
図10に示した端末装置10の動作と同様である。例えば、ステップS122の処理は、
図10のステップS112における判定の結果が否定の場合に実行される。なお、
図18に示すタッチ継続処理では、
図11に示したタッチ継続処理からステップS124の処理が省かれ、ステップS125の処理及びステップS133の処理が
図11に示したタッチ継続処理に追加されている。
図18に示すタッチ継続処理のその他の動作は、
図11に示したタッチ継続処理と同様である。このため
図18では、ステップS125の処理及びステップS133の処理を中心に説明する。先ず、ステップS122における判定の結果が否定の場合に実行されるステップS125の処理について説明する。
【0134】
ステップS125において、操作領域割当部114Aは、例えば、タッチパネル12に対する入力領域RDr及びRDlの現在の割り当てが初期状態(例えば、
図10のステップS100で割り当てられた入力領域RDr及びRDlの状態)と異なるか否かを判定する。ステップS125における判定の結果が否定の場合、操作領域割当部114Aは、処理をステップS134に進める。一方、ステップS125における判定の結果が肯定の場合、操作領域割当部114Aは、処理をステップS133に進める。なお、ステップS133の処理は、ステップS128における判定の結果が肯定の場合にも実行される。
【0135】
ステップS133において、操作領域割当部114Aは、
図10のステップS106においてタッチ位置情報取得部113により取得されたタッチ位置情報の示すタッチ位置Pに基づいて、タッチパネル12に対する入力領域RDr及びRDlの割り当てを変更する。操作領域割当部114Aは、タッチパネル12に対する入力領域RDr及びRDlの割り当ての変更方法として、
図13から
図17に示した各々の方法を含む複数の変更方法から、予め決められた1つの変更方法を選択してもよい。あるいは、操作領域割当部114Aは、タッチパネル12に対する入力領域RDr及びRDlの割り当ての変更方法を、複数の変更方法から入力領域RDの状態に応じて選択してもよい。例えば、操作領域割当部114Aは、入力領域RDr及びRDlの何れもが所定の大きさより大きい場合、境界線BDrlの位置を移動する変更方法(
図17に示した変更方法)を選択してもよい。そして、操作領域割当部114Aは、入力領域RDr及びRDlの何れかが所定の大きさより小さくなる場合、操作領域V全体の位置を移動する変更方法(
図13に示した変更方法)を選択してもよい。操作領域割当部114Aは、ステップS133の処理を実行した後、処理をステップS134に進める。
【0136】
ステップS134において、ゲーム制御部111は、キャラクタCRの顔が向く方向を変更せずに維持する。そして、ゲーム制御部111は、処理を
図10のステップS140に進める。
【0137】
このように、操作領域割当部114Aは、タッチ位置Pが、所定の速度条件を満たさない移動速度で境界線BDrlを跨いで移動した場合、タッチ位置Pの移動速度が所定の速度条件を満たしていない間、タッチパネル12に対する入力領域RDr及びRDlの割り当てをタッチ位置Pに基づいて変更する。これにより、初期状態から変更された入力領域RDr及びRDlの境界線BDrlが最新のタッチ位置Pから所定の距離より離れた位置に維持されることを抑止することができる。例えば、
図13に示した例において、時刻t23から時刻t24にかけてタッチ位置Pがタッチ位置P[t23]と境界線BDrl[t23]との間の位置に移動した場合、操作領域割当部114Aは、時刻t25における境界線BDrlが境界線BDrl[t24]と時刻t24におけるタッチ位置Pとの間に位置するように、操作領域V全体を移動させる。
【0138】
なお、タッチ継続処理は、
図18に示した例に限定されない。例えば、操作領域割当部114Aは、ステップS125における判定の結果が肯定の場合であっても、タッチ位置Pが変化していない場合には、ステップS133の処理をスキップして、処理をステップS134に進めてもよい。また、ステップS125の判定は、省かれてもよい。ステップS125の判定が省かれる場合のタッチ継続処理では、操作領域割当部114Aは、ステップS122における判定の結果が否定の場合、処理をステップS133に進めてもよい。この場合、例えば、
図13に示した例において、時刻t23から時刻t24にかけてタッチ位置Pがタッチ位置P[t23]と境界線BDrl[t23]との間の位置に移動しても、操作領域Vは、時刻t24における操作領域V[t24]の位置から移動しない。
【0139】
以上、第2実施形態においても、第1実施形態と同様の効果を得ることができる。さらに、第1実施形態では、操作領域割当部114Aは、タッチパネル12に対するタッチが継続されている状態において、タッチ位置情報取得部113が取得したタッチ位置情報の示すタッチ位置Pが入力領域RDr及びRDlの一方から他方に移動した場合、タッチ位置Pの移動速度に基づいて、タッチパネル12に対する入力領域RDr及びRDlの割り当てを変更するか否かを判定する。具体的には、操作領域割当部114Aは、タッチ位置Pが入力領域RDr及びRDlの一方から他方に移動した場合で、且つ、タッチ位置Pの移動速度が所定の速度条件を満たさない場合に、タッチ位置Pに基づいて、入力領域RDr及びRDlのタッチパネル12への割り当てを変更する。
【0140】
これにより、本実施形態によれば、例えば、ユーザが所定のゲームに係る指示を変更するつもりがないにもかかわらず、タッチ位置Pが徐々にずれていく場合であっても、タッチパネル12に対する入力領域RDr及びRDlの割り当てが、タッチ位置Pのずれに応じて、変更される。このため、本実施形態では、タッチ位置Pが存在する入力領域RDに対応付けられた指示と、ユーザの意図する指示とが異なる状態になることを低減することができる。
【0141】
この結果、例えば、ユーザは、所定のゲームに係る指示を、入力領域RDlに対応付けられた指示から入力領域RDrに対応付けられた指示に変更するために指FGを移動させた場合、指FGを元のタッチ位置Pとほぼ同じ位置に戻すことにより、タッチ位置Pを入力領域RDlに戻すことができる。すなわち、ユーザは、所定のゲームに係る指示を変更するために指FGを移動させた場合、指FGを元のタッチ位置Pとほぼ同じ位置に戻すことにより、所定のゲームに係る指示を元の指示に戻すことができる。
【0142】
これに対し、入力領域RDr及びRDlの位置が固定されている場合、ユーザが所定のゲームに係る指示を入力領域RDrに対応付けられた指示に変更した後に指FGを元のタッチ位置Pとほぼ同じ位置に戻しても、タッチ位置Pが入力領域RDlに戻らない場合がある。この場合、ユーザの意図した指示とは異なる指示が端末装置10Aに入力される。この実施形態では、上述したように、タッチパネル12に対する入力領域RDr及びRDlの割り当てを変更することにより、ユーザの意図した指示とは異なる指示が端末装置10Aに入力されることを低減することができるため、ユーザの操作性を向上させることができる。
【0143】
[3.変形例]
以上の各形態は多様に変形され得る。具体的な変形の態様を以下に例示する。以下の例示から任意に選択された2以上の態様は、相互に矛盾しない範囲内で適宜に併合され得る。なお、以下に例示する変形例において作用や機能が実施形態と同等である要素については、以上の説明で参照した符号を流用して各々の詳細な説明を適宜に省略する。
【0144】
[変形例1]
上述した第1実施形態及び第2実施形態では、操作領域Vが2個の入力領域RD(RDr及びRDl)を含む場合を例示したが、本発明はこのような態様に限定されるものではない。例えば、操作領域Vは、3個以上の入力領域RDを含んでもよい。
【0145】
図19は、変形例1に係る操作領域Vの一例を示す説明図である。
図19に示す例では、操作領域Vは、4個の入力領域RD(RDr、RDl、RDu及びRDd)を含んでいる。入力領域RDr、RDl、RDu及びRDdの各々は、「第1領域」又は「第2領域」の一例である。変形例1においても、所定のゲームの起動時に入力領域RDをタッチパネル12に割り当てる際の操作領域割当部114Aの動作は、所定のゲームの起動時に入力領域RDをタッチパネル12に割り当てる際の操作領域割当部114の動作と同様である。このため、
図19では、所定のゲームの起動時に入力領域RDをタッチパネル12に割り当てる際の操作領域割当部114の動作の一例を説明する。
【0146】
以下では、説明の便宜上、基準位置Ovを原点とする座標系である操作領域座標系ΣVを導入する。具体的には、操作領域座標系ΣVとは、例えば、基準位置Ovを原点とし、互いに直交するXv軸及びYv軸を有する2軸の直交座標系である。また、以下では、Xv軸の矢印の指す方向は+Xv方向と称され、+Xv方向の逆方向は−Xv方向と称される。同様に、Yv軸の矢印の指す方向は+Yv方向と称され、+Yv方向の逆方向は−Yv方向と称される。変形例1では、Xv軸とXs軸とが平行であり、且つ、Yv軸とYs軸とが平行である場合を、一例として想定する。但し、Xv軸がXs軸とは異なる向きを有し、Yv軸がYs軸とは異なる向きを有していてもよい。
【0147】
変形例1では、入力領域RDrには、キャラクタCRの顔の向きを+Xs方向とする指示が対応付けられ、入力領域RDlには、キャラクタCRの顔の向きを−Xs方向とする指示が対応付けられている。また、入力領域RDuには、キャラクタCRの顔の向きを+Ys方向とする指示が対応付けられ、入力領域RDdには、キャラクタCRの顔の向きを−Ys方向とする指示が対応付けられている。
【0148】
操作領域割当部114は、例えば、入力領域RDrを基準位置Ovよりも+Xv方向に位置する領域として設定し、入力領域RDlを基準位置Ovよりも−Xv方向に位置する領域として設定し、入力領域RDuを基準位置Ovよりも+Yv方向に位置する領域として設定し、入力領域RDdを基準位置Ovよりも−Yv方向に位置する領域として設定する。
【0149】
より具体的には、操作領域割当部114は、基準位置Ovを起点とし、+Xv方向を−Yv側に角度βだけ傾けた方向に延在する境界線BDrdと、基準位置Ovを起点とし、+Yv方向を+Xv側に角度βだけ傾けた方向に延在する境界線BDurと、円BDvと、の間の扇形の領域を、入力領域RDrとして設定する。また、操作領域割当部114は、基準位置Ovを起点とし、−Xv方向を+Yv側に角度βだけ傾けた方向に延在する境界線BDluと、基準位置Ovを起点とし、−Yv方向を−Xv側に角度βだけ傾けた方向に延在する境界線BDdlと、円BDvと、の間の扇形の領域を、入力領域RDlとして設定する。また、操作領域割当部114は、境界線BDurと境界線BDluと円BDvとの間の扇形の領域を、入力領域RDuとして設定する。また、操作領域割当部114は、境界線BDdlと境界線BDrdと円BDvとの間の扇形の領域を、入力領域RDdとして設定する。
【0150】
なお、変形例1では、一例として、角度βが、45度である場合を想定する。但し、角度βは、0度よりも大きく、且つ、90度よりも小さい角度であればよい。また、
図19に示す例では、境界線BDrdと境界線BDurとのなす角は、境界線BDdlと境界線BDluとのなす角と等しい角度であるが、境界線BDrdと境界線BDurとのなす角は、境界線BDdlと境界線BDluとのなす角と異なる角度であってもよい。また、変形例1においても、上述した第2実施形態と同様に、タッチパネル12に対する入力領域RDr、RDl、RDu及びRDdの割り当ては、変更されてもよい。次に、
図20を参照しながら、タッチパネル12に対する入力領域RDr、RDl、RDu及びRDdの割り当てを変更する場合の操作領域割当部114Aの動作の一例を説明する。
【0151】
図20は、変形例1に係る入力領域RDr、RDl、RDu及びRDdの割り当ての変更方法の一例を示す説明図である。
図20に示す変更方法では、上述した
図13に示した変更方法と同様に、操作領域割当部114Aは、操作領域V全体の位置を移動することにより、タッチパネル12に対する入力領域RDr、RDl、RDu及びRDdの割り当てを変更する。なお、変形例1においても、上述した
図14から
図17に示した変更方法と同様に、操作領域割当部114Aは、操作領域Vの位置を変更することなく、タッチパネル12に対する入力領域RDr、RDl、RDu及びRDdの割り当てを変更してもよい。
【0152】
図20には、タッチ位置P[t52]は図示されていないが、時刻t50から時刻t52までの期間においてタッチパネル12に対するタッチは、継続している。また、
図20に示す変更方法では、タッチ位置Pの移動速度(|MV|/Tcyc)が閾値速度TV以上であることが所定の速度条件である場合を想定する。また、以下では、時刻tnにおける入力領域RDuは、入力領域RDu[tn]とも称され、時刻tnにおける入力領域RDdは、入力領域RDd[tn]とも称される。また、時刻tnにおける境界線BDurは、境界線BDur[tn]とも称され、時刻tnにおける境界線BDrdは、境界線BDrd[tn]とも称される。そして、時刻tnにおける境界線BDdlは、境界線BDdl[tn]とも称され、時刻tnにおける境界線BDluは、境界線BDlu[tn]とも称される。
【0153】
図20に示す例では、時刻t50から時刻t51にかけて、タッチ位置Pは、閾値速度TV未満の移動速度で、タッチ位置P[t50]からタッチ位置P[t51]に移動する。時刻t50では、タッチ位置P[t50]は、入力領域RDl(
図20の入力領域RDl[t51])に存在する。また、時刻t51では、タッチ位置P[t51]は、入力領域RDd[t51]に存在する。すなわち、時刻t50から時刻t51にかけて、タッチ位置Pは、閾値速度TV未満の移動速度で、入力領域RDlから入力領域RDdに移動する。操作領域割当部114Aは、タッチ位置Pが入力領域RDlから入力領域RDdに移動した場合におけるタッチ位置Pの移動速度が所定の速度条件を満たさないため、時刻t51において、タッチパネル12に対する入力領域RDr、RDl、RDu及びRDdの割り当てを変更する処理を開始する。
【0154】
例えば、操作領域割当部114Aは、タッチ位置Pの移動に基づいて、入力領域RDr、RDl、RDu及びRDdの各々の位置を移動させる。具体的には、操作領域割当部114Aは、タッチパネル座標系ΣSにおけるタッチ位置P[t51]と境界線BDdl[t51]とに基づいて、操作領域移動ベクトルVmvを定める。
図20に示す例では、操作領域割当部114Aは、基準位置Ov[t51]を始点とし、境界線BDdl[t51]を+Xs側に90度だけ傾けた方向(境界線BDdl[t51]に直行する方向)のベクトルであり、タッチ位置P[t51]と境界線BDdl[t51]との距離より所定量だけ大きいベクトルを、操作領域移動ベクトルVmvとして定める。
【0155】
そして、操作領域割当部114Aは、入力領域RDr、RDl、RDu及びRDdを含む操作領域V全体を、操作領域移動ベクトルVmvに対応する移動量及び方向に従って移動させる。すなわち、操作領域割当部114Aは、時刻t50から時刻t51にかけて移動したタッチ位置Pが跨いだ境界線BDdlに直行する方向に、入力領域RDr、RDl、RDu及びRDdを含む操作領域V全体を移動させる。これにより、操作領域割当部114Aは、タッチ位置P[t51]が入力領域RDd[t52]に存在するように、タッチパネル座標系ΣSにおける基準位置Ov、操作領域V及び操作領域座標系ΣVの位置を修正することができる。なお、変形例1においても、タッチパネル12に対する入力領域RDの割り当ての変更方法は、
図13から
図17、及び
図20に示した変更方法に限定されない。
【0156】
[変形例2]
上述した第1実施形態、第2実施形態及び変形例1では、操作領域Vが、非タッチ処理とは異なる処理を端末装置10又は10Aに実行させる指示(例えば、キャラクタCRの顔が向く方向の指示)を入力するための入力領域RDのみを含む場合を例示したが、本発明はこのような態様に限定されるものではない。例えば、操作領域Vは、非タッチ処理と同じ処理を端末装置10又は10Aに実行させる指示(例えば、キャラクタCRの顔が向く方向を指定しないとうい指示)を入力するためのニュートラル領域RN(「第1領域」又は「第2領域」の一例)を含んでもよい。
【0157】
図21は、変形例2に係る操作領域Vの一例を示す説明図である。
図21に示す例では、操作領域Vは、4個の入力領域RD(RDr、RDl、RDu及びRDd)とニュートラル領域RNとを含んでいる。
【0158】
変形例2では、端末装置10又は10Aは、タッチ位置Pがニュートラル領域RNに存在する場合、非タッチ処理と同じ処理を実行する。従って、例えば、非タッチ処理が、タッチパネル座標系ΣSにおけるキャラクタCRの顔の向きをタッチパネル12から指FGが離れる前と同じ向きに維持する処理である場合、ニュートラル領域RNに指FGがタッチされても、キャラクタCRの顔の向きは変化しない。また、例えば、非タッチ処理が、キャラクタCRの顔の向きを予め定められた向きに設定する処理である場合、ニュートラル領域RNに指FGがタッチされると、キャラクタCRの顔の向きは、予め定められた向きに設定される。
【0159】
変形例2においても、所定のゲームの起動時に入力領域RD及びニュートラル領域RNをタッチパネル12に割り当てる際の操作領域割当部114Aの動作は、所定のゲームの起動時に入力領域RD及びニュートラル領域RNをタッチパネル12に割り当てる際の操作領域割当部114の動作と同様である。また、
図21に示す操作領域Vは、ニュートラル領域RNを含むことを除いて、
図19に示した操作領域Vと同様である。このため、
図21では、所定のゲームの起動時にニュートラル領域RNをタッチパネル12に割り当てる際の操作領域割当部114の動作の一例を説明する。
【0160】
操作領域割当部114は、例えば、入力領域RDr、RDl、RDu及びRDdを含む操作領域Vの中心、すなわち、基準位置Ovを中心とする円BDnの内側の領域を、ニュートラル領域RNとして設定する。円BDnは、円BDvより小さい。円BDvの内側の領域のうちのニュートラル領域RNを除く領域は、入力領域RDr、RDl、RDu及びRDdに割り当てられる。なお、入力領域RD等の形状は、
図20に示した例に限定されない。例えば、入力領域RDは、楕円形の領域であってもよいし、多角形の領域であってもよい。この場合、操作領域Vのうち、入力領域RDを除いた領域が、ニュートラル領域RNに該当する。
【0161】
また、変形例2においても、上述した第2実施形態と同様に、タッチパネル12に対する入力領域RD(RDr、RDl、RDu及びRDd)及びニュートラル領域RNの割り当ては、変更されてもよい。次に、
図22を参照しながら、タッチパネル12に対する入力領域RD(RDr、RDl、RDu及びRDd)及びニュートラル領域RNの割り当てを変更する場合の操作領域割当部114Aの動作の一例を説明する。
【0162】
図22は、変形例2に係る入力領域RD(RDr、RDl、RDu及びRDd)及びニュートラル領域RNの割り当ての変更方法の一例を示す説明図である。
図22に示す変更方法では、上述した
図14から
図17に示した変更方法と同様に、操作領域割当部114Aは、操作領域Vの位置を変更することなく、タッチパネル12に対する入力領域RD(RDr、RDl、RDu及びRDd)及びニュートラル領域RNの割り当てを変更する。なお、変形例2においても、上述した
図13に示した変更方法と同様に、操作領域割当部114Aは、操作領域V全体の位置を移動することにより、タッチパネル12に対する入力領域RD(RDr、RDl、RDu及びRDd)及びニュートラル領域RNの割り当てを変更してもよい。
【0163】
図22には、タッチ位置P[t62]は図示されていないが、時刻t60から時刻t62までの期間においてタッチパネル12に対するタッチは、継続している。また、
図22に示す変更方法では、タッチ位置Pの移動速度(|MV|/Tcyc)が閾値速度TV以上であることが所定の速度条件である場合を想定する。また、以下では、時刻tnにおけるニュートラル領域RNは、ニュートラル領域RN[tn]とも称され、ニュートラル領域RN[tn]を規定する円BDnは、円BDn[tn]とも称される。
【0164】
図22に示す例では、時刻t60から時刻t61にかけて、タッチ位置Pは、閾値速度TV未満の移動速度で、タッチ位置P[t60]からタッチ位置P[t61]に移動する。時刻t60では、タッチ位置P[t60]は、ニュートラル領域RN(
図22のニュートラル領域RN[t61])に存在する。また、時刻t61では、タッチ位置P[t61]は、入力領域RDr(
図22のニュートラル領域RN[t61]に対して+Xs方向の領域)に存在する。すなわち、時刻t60から時刻t61にかけて、タッチ位置Pは、閾値速度TV未満の移動速度で、ニュートラル領域RNから入力領域RDrに移動する。操作領域割当部114Aは、タッチ位置Pがニュートラル領域RNから入力領域RDrに移動した場合におけるタッチ位置Pの移動速度が所定の速度条件を満たさないため、時刻t61において、タッチパネル12に対する入力領域RD(RDr、RDl、RDu及びRDd)及びニュートラル領域RNの割り当てを変更する処理を開始する。
【0165】
例えば、操作領域割当部114Aは、タッチ位置Pの移動に基づいて、ニュートラル領域RNの形状を変形する。これにより、入力領域RDr、RDu及びRDdの各々の形状も変形する。具体的には、操作領域割当部114Aは、タッチ位置P[t61]がニュートラル領域RN[t62]に存在するように、ニュートラル領域RNを規定する円BDnの形状を変形する。このように、操作領域割当部114Aは、タッチ位置P[t61]がニュートラル領域RN[t62]に存在するように、タッチパネル座標系ΣSにおける入力領域RD(RDr、RDl、RDu及びRDd)及びニュートラル領域RNの形状を修正することができる。なお、ニュートラル領域RNから入力領域RDにタッチ位置Pが移動する場合、又は、入力領域RDからニュートラル領域RNにタッチ位置Pが移動する場合には、
図23に示すように、操作領域割当部114Aは、ニュートラル領域RNの位置を操作領域V内で移動させてもよい。
【0166】
図23は、変形例2に係る入力領域RD(RDr、RDl、RDu及びRDd)及びニュートラル領域RNの割り当ての変更方法の別の例を示す説明図である。
図23に示す変更方法では、上述した
図22に示した変更方法と同様に、操作領域割当部114Aは、操作領域Vの位置を変更することなく、タッチパネル12に対する入力領域RD(RDr、RDl、RDu及びRDd)及びニュートラル領域RNの割り当てを変更する。符号Ncは、ニュートラル領域RNの中心を示す。以下では、ニュートラル領域RN[tn]の中心Ncは、中心Nc[tn]とも称される。
図23に示す例では、時刻t61におけるニュートラル領域RN[t61]の中心Nc[t61]は、操作領域Vの中心である基準位置Ovに一致している。
【0167】
操作領域割当部114Aは、タッチ位置Pがニュートラル領域RNから入力領域RDrに移動した場合におけるタッチ位置Pの移動速度が所定の速度条件を満たさないため、時刻t61において、タッチパネル12に対する入力領域RD(RDr、RDl、RDu及びRDd)及びニュートラル領域RNの割り当てを変更する処理を開始する。
【0168】
例えば、操作領域割当部114Aは、タッチ位置Pの移動に基づいて、ニュートラル領域RNの位置を移動させる。具体的には、操作領域割当部114Aは、タッチパネル座標系ΣSにおけるタッチ位置P[t61]と円BDn[t61]とに基づいて、ニュートラル領域移動ベクトルVmnを定める。
図23に示す例では、操作領域割当部114Aは、タッチ位置P[t61]を−Xs方向に円BDn[t61]上まで移動させる場合の移動量より所定量だけ大きいベクトルであり、ニュートラル領域RN[t61]の中心Nc[t61]を始点とし、+Xs方向に向かうベクトルを、ニュートラル領域移動ベクトルVmnとして定める。
【0169】
そして、操作領域割当部114Aは、ニュートラル領域RNの中心Ncを、ニュートラル領域移動ベクトルVmnに対応する移動量及び方向に従って移動させる。これにより、ニュートラル領域RN[t62]が設定される。また、操作領域割当部114Aは、境界線BDur[t61]における円BDv上の端点EDurを始点とし、ニュートラル領域RN[t62]の中心Nc[t62]に向かって、ニュートラル領域RN[t62]まで延在する線を、境界線BDur[t62]として設定する。境界線BDrd[t62]、BDdl[t62]及びBDlu[t62]も、境界線BDur[t62]と同様に設定される。これにより、操作領域割当部114Aは、タッチ位置P[t61]がニュートラル領域RN[t62]に存在するように、タッチパネル座標系ΣSにおける入力領域RD(RDr、RDl、RDu及びRDd)の形状及びニュートラル領域RNの位置を修正することができる。
【0170】
なお、変形例2では、タッチ位置Pの移動先又は移動元がニュートラル領域RNに存在する場合と、タッチ位置Pの移動先又は移動元の何れもニュートラル領域RNに存在しない場合とで、タッチパネル12に対する入力領域RD(RDr、RDl、RDu及びRDd)及びニュートラル領域RNの割り当ての変更方法を異ならせてもよい。また、変形例2においても、タッチパネル12に対する入力領域RD及びニュートラル領域RNの割り当ての変更方法は、
図13から
図17、
図22及び
図23に示した変更方法に限定されない。
【0171】
[変形例3]
上述した第1実施形態、第2実施形態、変形例1及び変形例2では、所定のゲームの起動時にタッチパネル12上の所定の位置に操作領域Vが設定される場合を例示したが、本発明はこのような態様に限定されるものではない。例えば、操作領域割当部114又は114Aは、タッチインが発生する度に、タッチパネル12における指FGのタッチ位置Pを基準位置Ovとして設定し、当該基準位置Ovに基づく位置に対して操作領域Vを設定してもよい。この場合、端末装置10又は10Aは、ユーザの指FGがタッチパネル12に対する接触を維持している期間において、タッチパネル12において操作領域Vが設定された状態を維持する。そして、端末装置10又は10Aは、ユーザの指FGがタッチパネル12に対して接触している状態から、接触していない状態に変化した場合、タッチパネル12に設定されていた操作領域Vを消滅させる。
【0172】
図24は、変形例3に係る端末装置10の動作の一例を示すフローチャートである。
図24に示す動作では、
図10に示した動作からステップS100が省かれ、ステップS107及びS113が
図10に示した動作に追加されている。さらに、
図24に示す動作では、
図10に示したステップS102の処理の代わりにステップS101の処理が実行され、
図10に示したステップS112の処理の代わりにステップS111の処理が実行される。
図24に示すその他の動作は、
図10に示した動作と同様である。
図10で説明した処理については、詳細な説明を省略する。
図24に示すステップS101の処理は、例えば、端末装置10のユーザが、所定のゲームを開始させる旨の所定の開始操作をタッチパネル12から入力した場合に実行される。
【0173】
先ず、ステップS101において、表示制御部112は、仮想空間SP及びキャラクタCRを表示部120に表示させるための表示情報を生成し、当該表示情報に基づく画像を表示部120が表示するように、表示部120を制御する。そして、表示制御部112は、処理をステップS104に進める。
【0174】
ステップS104において、タッチ位置情報取得部113は、タッチパネル12がタッチ位置情報を出力したか否かを判定する。ステップS104における判定の結果が肯定の場合、タッチ位置情報取得部113は、処理をステップS106に進める。一方、ステップS104における判定の結果が否定の場合、タッチ位置情報取得部113は、処理をステップS118に進める。
【0175】
ステップS106において、タッチ位置情報取得部113は、タッチパネル12から出力されたタッチ位置情報を取得する。そして、タッチ位置情報取得部113は、処理をステップS107に進める。
【0176】
ステップS107において、ゲーム制御部111は、タッチ位置履歴情報を参照し、タッチインが発生したか否かを判定する。例えば、ゲーム制御部111は、ステップS106においてタッチ位置情報取得部113により取得されたタッチ位置情報に対応付けられた時刻tmから時間Tcyc遡った時刻t(m−1)にタッチ位置情報が取得されていない場合、タッチインが発生したと判定する。ステップS107における判定の結果が肯定の場合、ゲーム制御部111は、処理をステップS113に進める。一方、ステップS107における判定の結果が否定の場合、ゲーム制御部111は、処理をステップS108に進める。
【0177】
ステップS113において、操作領域割当部114は、ステップS106においてタッチ位置情報取得部113により取得されたタッチ位置情報の示すタッチ位置Pを基準位置Ovとして、入力領域RDを割り当てる。そして、操作領域割当部114は、処理をステップS114に進める。
【0178】
ステップS114からステップS142までの一連の処理は、ステップS116の処理の一部を除いて、
図10のステップS114からステップS142までの一連の処理と同様である。例えば、ステップS107における判定の結果が肯定の場合に、ステップS113及びS114の一連の処理の後に実行されるステップS116では、ゲーム制御部111は、キャラクタCRの顔の向きを、予め決められた方向(例えば、
図1に示した正面方向)に設定してもよいし、タッチイン前のキャラクタCRの顔の向きに維持してもよい。なお、ステップS111における判定の結果が肯定の場合に実行されるステップS116では、
図10のステップS116と同様に、ゲーム制御部111は、キャラクタCRの顔が向く方向を、ステップS110で判定されたタッチ位置Pが存在する入力領域RDに対応する方向に設定する。
【0179】
また、ステップS108及びS110の一連の処理は、ステップS110における判定の結果が肯定の場合に実行される処理を除いて、
図10のステップS108及びS110の一連の処理と同様である。変形例3では、ステップS110における判定の結果が肯定の場合、ステップS111の処理が実行される。
【0180】
ステップS111において、ゲーム制御部111は、タッチ位置履歴情報を参照し、タッチパネル12への最新のタッチが、タッチイン後の最初のタッチであるか否かを判定する。なお、タッチパネル12への最新のタッチは、ステップS106においてタッチ位置情報取得部113により取得されたタッチ位置情報に対応するタッチである。
【0181】
例えば、ゲーム制御部111は、時刻t(m−2)にタッチ位置情報が取得されていない場合、タッチパネル12への最新のタッチがタッチイン後の最初のタッチであると判定する。ステップS111における判定の結果が肯定の場合、ゲーム制御部111は、処理をステップS116に進める。一方、ステップS111における判定の結果が否定の場合、ゲーム制御部111は、処理をステップS120に進める。
図24に示す動作では、ステップS120のタッチ継続処理は、
図11に示したタッチ継続処理である。
【0182】
なお、変形例3に係る端末装置10の動作は、
図24に示した例に限定されない。例えば、端末装置10は、ステップS107における判定の結果が肯定の場合、ステップS113及びS114の一連の処理を実行した後、ステップS116の処理をスキップして、処理をステップS140に進めてもよい。この場合、キャラクタCRの顔の向きは、タッチイン前のキャラクタCRの顔の向きに維持される。また、変形例3に係る端末装置10Aの動作は、ステップS120のタッチ継続処理を除いて、変形例3に係る端末装置10の動作と同様である。変形例3に係る端末装置10Aは、ステップS120のタッチ継続処理として、
図18に示したタッチ継続処理を実行する。
【0183】
[変形例4]
上述した第2実施形態、及び、変形例1乃至変形例3では、タッチパネル12に対する割り当てが変更された入力領域RDの配置を初期状態に戻すことについては特に説明していないが、本発明は、タッチパネル12に対する割り当てが変更された入力領域RDの配置を初期状態に戻さない態様に限定されるものではない。例えば、操作領域割当部114Aは、タッチ位置Pに関するタッチ条件が満たされる場合、タッチパネル12に対する入力領域RDの割り当てを初期状態に戻してもよい。
【0184】
具体的には、操作領域割当部114Aは、タッチ位置Pが検出されない場合(例えば、
図10のS104:N)、タッチパネル12に対する入力領域RDの割り当てを初期状態に戻してもよい。あるいは、操作領域割当部114Aは、タッチ位置Pが閾値速度TV以上の移動速度で境界線BDrl等の境界線を跨いで移動した場合(例えば、
図11のS122:Y、且つ、S128:Y)、タッチパネル12に対する入力領域RDの割り当てを初期状態に戻してもよい。上述の例では、タッチ位置Pが検出されないこと、または、タッチ位置Pが閾値速度TV以上の移動速度で境界線BDrl等の境界線を跨いで移動することが、「タッチ位置に関するタッチ条件」に該当する。なお、「タッチ位置に関するタッチ条件」は、上述の例に限定されない。
【0185】
変形例4では、タッチ位置Pに関するタッチ条件が満たされる場合、タッチパネル12に対する入力領域RDの割り当てが初期状態に戻されるため、タッチパネル12に対する入力領域RDの割り当てが初期状態から変更された状態で維持されること抑止することができる。
【0186】
[変形例5]
上述した第2実施形態、及び、変形例1乃至変形例4では、タッチパネル12に対する入力領域RDの割り当てを変更する際の変更の限界については特に説明していないが、本発明は、タッチパネル12に対する入力領域RDの割り当てを変更する際の変更の限界を設定しない態様に限定されるものではない。例えば、タッチパネル12に対する入力領域RDの割り当ての変更は、変更後の入力領域RDの位置が初期状態における入力領域RDの位置を基準とした所定の範囲に収まるように、制限されてもよい。具体的には、
図13に示した例では、操作領域V全体の移動範囲は、初期状態における操作領域Vの位置から所定の距離(例えば、2センチメートル)以内に制限されてもよい。同様に、
図17に示した例では、境界線BDrlの移動範囲は、初期状態における境界線BDrlの位置からから所定の距離(例えば、2センチメートル)以内に制限されてもよい。また、
図14に示した例では、入力領域RDr及びRDlの回転移動の範囲は、初期状態における入力領域RDr及びRDlの配置に対して所定の角度(例えば、30度)以内に制限されてもよい。同様に、
図15に示した例では、境界線BDrlの一部を基準位置Ovを支点にして傾ける際の角度は、初期状態における境界線BDrlに対して所定の角度(例えば、30度)以内に制限されてもよい。
【0187】
変形例5では、タッチパネル12に対する入力領域RDの割り当てを変更する際の変更の限界が設定されているため、入力領域RDが初期状態の配置又は形状から大きく異なる状態になることを抑止することができる。この結果、ユーザの操作性が損なわれることを抑止することができる。
【0188】
[変形例6]
上述した第1実施形態、第2実施形態、及び、変形例1乃至変形例5では、入力領域RDが、キャラクタCRの顔が向く方向の指示を入力するための領域である場合を例示したが、本発明はこのような態様に限定されるものではない。入力領域RDは、所定のゲームに係る指示を入力するための領域であってもよい。例えば、入力領域RDrは、所定のゲームにおいて、キャラクタCRによる攻撃の指示(「第1の指示」の一例)を入力するための領域であり、入力領域RDlは、所定のゲームにおいて、キャラクタCRによる防御の指示(「第2の指示」の一例)を入力するための領域であってもよい。また、例えば、入力領域RDは、タッチパネル座標系ΣS又は仮想空間SPにおける、キャラクタCRの移動方向の指示を入力するための領域であってもよい。具体的には、例えば、入力領域RDrは、キャラクタCRを、タッチパネル座標系ΣS又は仮想空間SPにおける一の方向に移動させる旨の指示を入力するための領域であり、入力領域RDlは、キャラクタCRを、タッチパネル座標系ΣS又は仮想空間SPにおける他の方向に移動させる旨の指示を入力するための領域であってもよい。
【0189】
[変形例7]
上述した第1実施形態、第2実施形態、及び、変形例1乃至変形例6では、プログラムとして、所定のゲームに係るプログラムを例示したが、本発明はこのような態様に限定されるものではない。プログラムは、任意のアプリケーションに係るプログラムであってもよい。また、この場合、第1の指示は、任意のアプリケーションに係る指示であればよく、第2の指示は、任意のアプリケーションに係る指示であって第1の指示とは異なる指示であればよい。
【0190】
[変形例8]
上述した第1実施形態、第2実施形態、及び、変形例1乃至変形例7では、タッチ位置Pの移動速度がタッチ位置P及び時間Tcycに基づいて算出される場合を例示したが、本発明はこのような態様に限定されるものではない。例えば、端末装置10又は10Aは、タッチパネル12に対するタッチにより生じる摩擦等を検出するセンサを有する場合、センサから得られる摩擦等に関する情報に基づいて、タッチ位置Pの移動速度を算出してもよい。
【0191】
[変形例9]
上述した第1実施形態、第2実施形態、及び、変形例1乃至変形例8では、端末装置10又は10Aがタッチパネル12を有する場合を例示したが、本発明はこのような態様に限定されるものではない。例えば、端末装置10又は10Aは、表示部120として機能する表示装置と、入力部122として機能するポインティングデバイスとを、タッチパネル12の代わりに有してもよい。表示装置は、例えば、液晶ディスプレイ、又は、テレビ受像機等が該当する。また、ポインティングデバイスは、マウス、又は、ゲーム装置のリモートコントローラ等が該当する。なお、変形例9では、上述した第1実施形態、第2実施形態、及び、変形例1乃至変形例8における説明の「タッチパネル」は「表示画面」に読み替えられ、「タッチ位置」は「指定位置」に読み替えられる。例えば、端末装置10又は10Aは、表示画面において指定された指定位置を示す指定位置情報を取得してもよい。「指定位置」は、ポインティングデバイスにより操作される、表示画面上のポインタの位置であってもよい。
【0192】
[変形例10]
上述した第1実施形態、第2実施形態、及び、変形例1乃至変形例9では、所定のゲームが端末装置10又は10Aにおいて実行される場合を例示したが、本発明はこのような態様に限定されるものではない。所定のゲームは、端末装置10及び10A以外の構成要素において実行されてもよい。
【0193】
図25は、変形例10に係る情報処理システムSYSの概要を示す説明図である。情報処理システムSYSは、サーバ装置20Bと、端末装置10Bとを有する。サーバ装置20Bは、所定のゲームを実行することができ、また、ネットワークNWを介して端末装置10Bと通信可能である。具体的には、サーバ装置20Bは、サーバ装置20Bの各部を制御する制御部110と、所定のゲームに係るプログラム等の各種情報を記憶する記憶部230と、端末装置10B等の外部装置との間の通信を実行するための通信部250とを有する。また、端末装置10Bは、表示部120、入力部122、及び、振動発生部140に加えて、サーバ装置20B等の外部装置との間の通信を実行するための通信部150を有する。なお、表示部120及び入力部122は、上述したタッチパネル12として実装される。サーバ装置20Bは、端末装置10Bの入力部122から入力される情報に基づいて表示情報を生成する。また、端末装置10Bの有する表示部120は、サーバ装置20Bにおいて生成される表示情報に基づいて、所定のゲームに関する画像を表示する。
【0194】
[4.付記]
以上の記載から、本発明は例えば以下のように把握される。なお、各態様の理解を容易にするために、以下では、図面の参照符号を便宜的に括弧書きで付記するが、本発明を図示の態様に限定する趣旨ではない。
【0195】
[付記1]
本発明の一態様に係るプログラムは、プロセッサを、タッチパネルに対するタッチのタッチ位置を示すタッチ位置情報を取得する取得部と、前記タッチパネルに、第1領域及び第2領域を割り当てる領域割当部と、前記タッチ位置情報の示すタッチ位置に基づいて、ゲームに係る指示の内容を決定する指示部と、して機能させ、前記指示部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第1領域から前記第2領域に移動した場合、前記タッチ位置情報の示すタッチ位置の移動速度が所定の速度条件を満たす場合には、前記ゲームに係る指示を、前記第1領域に対応付けられた第1の指示から、前記第2領域に対応付けられた第2の指示に変更し、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満さない場合には、前記ゲームに係る指示を前記第1の指示に維持する、ことを特徴とする。
【0196】
この態様によれば、指示部は、タッチパネルに対するタッチが継続されている状態でタッチ位置が第1領域から第2領域に移動した場合で、且つ、タッチ位置の移動速度が所定の速度条件を満たす場合に、ゲームに係る指示を第1の指示から第2の指示に変更する。また、指示部は、タッチパネルに対するタッチが継続されている状態でタッチ位置が第1領域から第2領域に移動した場合であっても、タッチ位置の移動速度が所定の速度条件を満さない場合には、ゲームに係る指示を第1の指示に維持する。
【0197】
このため、この態様によれば、例えば、ユーザがゲームに係る指示を変更するつもりがないにもかかわらず、タッチ位置が徐々にずれていく場合であっても、タッチ位置の移動速度が所定の速度条件を満さない場合には、ゲームに係る指示は、変更されない。従って、この態様では、タッチパネルへのタッチ位置にずれが生じうる場合であっても、誤った入力がなされる可能性を低減することができる。
【0198】
なお、上記態様において、「ゲームに係る指示」とは、例えば、タッチパネルを用いて提供されるゲームに関する指示であってもよい。「タッチパネルを用いて提供されるゲームに関する指示」は、例えば、「ゲームに係る操作方向」を指定する指示であってもよいし、「ゲームに係る操作方向」を指定しないとうい指示であってもよい。「ゲームに係る操作方向」とは、例えば、ゲームに係る仮想空間における方向であってもよいし、ゲームに係る画面における方向であってもよい。
【0199】
「ゲームに係る仮想空間における方向」とは、例えば、ゲームに係る仮想空間におけるゲーム要素の位置および姿勢の一方または両方の変化の方向である。ここで、「ゲーム要素」とは、例えば、ゲームに係る仮想空間に存在する仮想的な物体であってもよいし、ゲームに係る仮想空間を撮像する仮想カメラであってもよい。このうち、「ゲームに係る仮想空間に存在する仮想的な物体」とは、例えば、ゲームに係るキャラクタ、及び、ゲームに係るオブジェクトを含む概念であってもよい。
【0200】
「ゲームに係る画面における方向」とは、例えば、ゲームに係る画面において表示される仮想的な物体を示す画像の、当該画面における位置及び姿勢の一方または両方の変化の方向でもよいし、ゲームに係るメニュー画面において表示されるポインタ等の、ゲームの進行に関係しないゲーム要素を示す画像の、当該メニュー画面における移動方向でもよい。なお、「ゲームに係る指示」は、「ゲームに係る操作方向」に関する指示に限定されず、例えば、ゲームに係るキャラクタからの質問に対する回答(例えば、YES/NO等)を選択する指示であってもよい。
【0201】
また、上記態様において、「ゲームに係る第1の指示」は、「ゲームに係る指示」の一例である。例えば、「第1の指示」は、「ゲームに係る操作方向」を指定する指示であってもよいし、「ゲームに係る操作方向」を指定しないとうい指示であってもよい。
【0202】
また、上記態様において、「ゲームに係る第2の指示」とは、「ゲームに係る指示」の他の例である。例えば、「第2の指示」は、第1の指示とは異なる指示であって、タッチパネルを用いて提供されるゲームに関する指示であってもよい。また、「第1の指示」が「ゲームに係る操作方向」として「第1の操作方向」を指定する指示である場合、「第2の指示」は、第1の操作方向と異なる「第2の操作方向」を指定する指示であってもよいし、「ゲームに係る操作方向」を指定しないとうい指示であってもよい。ここで、「第2の操作方向」は、例えば、第1の操作方向とは反対の方向であってもよい。
【0203】
また、上記態様において、「第1領域」とは、例えば、ゲームに係る第1の指示の入力のために、タッチパネルにおいて視認可能な態様で設けられた領域であってもよいし、ゲームに係る第1の指示の入力のために、タッチパネルにおいて視認されない態様で設けられた仮想的な領域であってもよい。「第2領域」とは、例えば、第1領域とは異なる領域であって、ゲームに係る第2の指示の入力のために、タッチパネルにおいて視認可能な態様で設けられた領域であってもよいし、第1領域とは異なる領域であって、ゲームに係る第2の指示の入力のために、タッチパネルにおいて視認されない態様で設けられた仮想的な領域であってもよい。
【0204】
また、上記態様において、「領域割当部」は、タッチパネルの表示領域内の予め決められた初期位置に第1領域及び第1領域を割り当ててもよいし、タッチインの位置を基準にして第1領域及び第1領域を表示領域内に割り当ててもよい。
【0205】
また、上記態様において、「所定の速度条件」は、速度を用いた条件であれば特に限定されない。例えば、「所定の速度条件」とは、タッチ位置が移動した際の移動速度が予め決められた閾値速度以上であることでもよいし、タッチ位置が移動した際の加速度が予め決められた閾値加速度以上であることでもよい。「タッチ位置が移動した際の移動速度」は、タッチ位置が第1領域と第2領域との境界線を跨いで移動した際の移動速度であってもよい。あるいは、「タッチ位置が移動した際の移動速度」は、タッチ位置が第1領域と第2領域との境界線を跨ぐ直前の移動速度であってもよいし、タッチ位置が第1領域と第2領域との境界線を跨いだ直後の移動速度であってもよい。同様に、「タッチ位置が移動した際の加速度」は、タッチ位置が第1領域と第2領域との境界線を跨いで移動した際の加速度であってもよい。あるいは、「タッチ位置が移動した際の加速度」は、タッチ位置が第1領域と第2領域との境界線を跨ぐ直前の加速度であってもよいし、タッチ位置が第1領域と第2領域との境界線を跨いだ直後の加速度であってもよい。
【0206】
ここで、「タッチ位置が第1領域と第2領域との境界線を跨いで移動した際の移動速度」は、例えば、タッチ位置が境界線を跨ぐ前の時刻T1におけるタッチ位置P1と、タッチ位置が境界線を跨いだ後の時刻T2におけるタッチ位置P2とに基づいて算出されてもよい。具体的には、移動速度は、下記の式で表されてもよい。
移動速度=|P2−P1|/(T2−T1)
【0207】
なお、「タッチ位置が境界線を跨ぐ前の時刻T1」は、タッチパネルが複数のタッチ位置の各々を検出した時刻のうち、タッチ位置が境界線を跨ぐ直前の時刻でもよいし、タッチ位置が境界線を跨いだ時刻から第1の所定時間前の時刻に最も近い時刻でもよい。また、「タッチ位置が境界線を跨いだ後の時刻T2」は、タッチパネルが複数のタッチ位置の各々を検出した時刻のうち、タッチ位置が境界線を跨いだ直後の時刻でもよいし、タッチ位置が境界線を跨いだ時刻から第2の所定時間後の時刻に最も近い時刻でもよい。ここで、「タッチ位置が境界線を跨いだ時刻」は、例えば、複数のタッチ位置の時系列の履歴に基づいて、算出されてもよい。また、第2の所定時間は、第1の所定時間と同じ時間でもよいし、異なる時間でもよい。
【0208】
また、「タッチ位置が第1領域と第2領域との境界線を跨いで移動した際の移動速度」は、タッチ位置P1を始点としタッチ位置P2を終点とするタッチ位置移動ベクトルにおける、第1領域と第2領域との境界線に垂直な方向の成分を、時刻T1と時刻T2との差(T2−T1)で除算して算出されてもよい。
【0209】
また、時刻T1から時刻T2までの間に、3つ以上のタッチ位置が検出される場合、「タッチ位置が第1領域と第2領域との境界線を跨いで移動した際の移動速度」は、時刻T1から時刻T2までのタッチ位置の移動速度の平均値であってもよい。
【0210】
「タッチ位置が第1領域と第2領域との境界線を跨いで移動した際の加速度」は、上述のタッチ位置P1及びP2を含む3つ以上のタッチ位置の時系列の履歴に基づいて、算出されてもよい。また、「タッチ位置が第1領域と第2領域との境界線を跨いで移動した際の加速度」は、第1領域と第2領域との境界線に交差する方向、典型的には垂直な方向に対するタッチ位置の移動速度の変化に基づいて算出されてもよい。
【0211】
[付記2]
本発明の他の態様に係るプログラムは、付記1に記載のプログラムであって、前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第1領域から前記第2領域に移動した場合で、且つ、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさない場合に、前記タッチ位置情報の示すタッチ位置に基づいて、前記第1領域及び前記第2領域の前記タッチパネルへの割り当てを変更する、ことを特徴とする。
【0212】
この態様によれば、領域割当部は、タッチ位置が第1領域から第2領域に移動した場合で、且つ、タッチ位置の移動速度が所定の速度条件を満たさない場合に、タッチ位置に基づいて、第1領域及び第2領域のタッチパネルへの割り当てを変更する。これにより、この態様によれば、例えば、ユーザがゲームに係る指示を変更するつもりがないにもかかわらず、タッチ位置が徐々にずれていく場合であっても、タッチパネルに対する第1領域及び第2領域の割り当てが、タッチ位置のずれに応じて、変更される。このため、この態様では、第1領域及び第2領域のうちのタッチ位置が存在する領域に対応付けられた指示と、ユーザの意図する指示とが異なる状態になることを低減することができる。
【0213】
この結果、例えば、ユーザは、ゲームに係る指示を変更するためにタッチ位置を移動させた場合、タッチ位置を元の位置とほぼ同じ位置に戻すことにより、ゲームに係る指示を元の指示に戻すことができる。これに対し、タッチ位置の移動速度に応じてゲームに係る指示を変更するか否かを決定する態様において、第1領域及び第2領域の位置が固定されている場合、例えば、ユーザがタッチ位置を移動させてゲームに係る指示を第1の指示から第2の指示に変更した後にタッチ位置を元の位置とほぼ同じ位置に戻しても、タッチ位置が第1領域に戻らない場合がある。この場合、ユーザの意図した指示とは異なる指示が端末装置に入力される。この態様では、上述したように、タッチパネルに対する第1領域及び第2領域の割り当てを変更することにより、ユーザの意図した指示とは異なる指示が端末装置に入力されることを低減することができるため、ユーザの操作性を向上させることができる。
【0214】
なお、上記態様において、「前記タッチ位置の移動に基づいて、前記第1領域及び前記第2領域の前記タッチパネルへの割り当てを変更する」とは、第1領域から第2領域に移動したタッチ位置を割り当て変更後の第1領域が含むように、第1領域及び第2領域のタッチパネルへの割り当てを変更することであってもよい。
【0215】
また、上記態様において、「前記第1領域及び前記第2領域の前記タッチパネルへの割り当てを変更」とは、例えば、第1領域及び第2領域の各々の位置、第1領域及び第2領域の各々の大きさ及び第1領域及び第2領域の各々の形状の一部又は全部を変更することであってもよい。「第1領域及び第2領域の各々の位置」とは、例えば、第1領域と第2領域との境界線の位置であってもよいし、第1領域の中心及び第2領域の中心であってもよい。
【0216】
[付記3]
本発明の他の態様に係るプログラムは、付記2に記載のプログラムであって、前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第1領域から前記第2領域に移動した場合で、且つ、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさない場合に、前記タッチ位置情報の示すタッチ位置の移動に基づいて、前記第1領域及び前記第2領域の各々の位置を移動する、ことを特徴とする。
【0217】
この態様によれば、領域割当部は、タッチ位置が第1領域から第2領域に移動した場合で、且つ、タッチ位置の移動速度が所定の速度条件を満たさない場合に、タッチ位置の移動に基づいて、第1領域及び第2領域の各々の位置を移動する。これにより、この態様では、第1領域及び第2領域のうちのタッチ位置が存在する領域に対応付けられた指示と、ユーザの意図する指示とが異なる状態になることを低減することができる。この結果、この態様では、ユーザの意図した指示とは異なる指示が端末装置に入力されることを低減することができるため、ユーザの操作性を向上させることができる。
【0218】
なお、上記態様において、「前記タッチ位置の移動に基づいて、前記第1領域及び前記第2領域の各々の位置を移動する」とは、第1領域から第2領域に移動したタッチ位置を移動後の第1領域が含むように、第1領域及び第2領域の各々の位置を移動することであってもよい。また、第1領域及び第2領域の各々の位置の移動方向は、例えば、第1領域と第2領域との境界線に垂直な方向であってもよいし、タッチ位置の移動方向に応じた方向であってもよい。「タッチ位置の移動方向に応じた方向」は、タッチ位置の移動方向と同じ方向であってもよい。
【0219】
[付記4]
本発明の他の態様に係るプログラムは、付記3に記載のプログラムであって、前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第1領域から前記第2領域に移動した場合で、且つ、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさない場合に、前記第1領域と前記第2領域との境界線に交差する方向に、前記第1領域及び前記第2領域の各々の位置を移動する、ことを特徴とする。
【0220】
この態様によれば、領域割当部は、タッチ位置が第1領域から第2領域に移動した場合で、且つ、タッチ位置の移動速度が所定の速度条件を満たさない場合に、第1領域と第2領域との境界線に交差する方向に、第1領域及び第2領域の各々の位置を移動する。これにより、この態様では、第1領域及び第2領域のうちのタッチ位置が存在する領域に対応付けられた指示と、ユーザの意図する指示とが異なる状態になることを低減することができる。この結果、この態様では、ユーザの意図した指示とは異なる指示が端末装置に入力されることを低減することができるため、ユーザの操作性を向上させることができる。
【0221】
なお、上記態様において、「前記第1領域と前記第2領域との境界線に交差する方向」とは、例えば、第1領域と第2領域との境界線に垂直な方向であってもよいし、45度以上135度以下の範囲で境界線に交差する方向であってもよい。
【0222】
[付記5]
本発明の他の態様に係るプログラムは、付記2に記載のプログラムであって、前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第1領域から前記第2領域に移動した場合で、且つ、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさない場合に、所定の点を中心にして、前記第1領域及び前記第2領域を回転移動させる、ことを特徴とする。
【0223】
この態様によれば、領域割当部は、タッチ位置が第1領域から第2領域に移動した場合で、且つ、タッチ位置の移動速度が所定の速度条件を満たさない場合に、所定の点を中心にして、第1領域及び第2領域を回転移動させる。これにより、この態様では、第1領域及び第2領域のうちのタッチ位置が存在する領域に対応付けられた指示と、ユーザの意図する指示とが異なる状態になることを低減することができる。この結果、この態様では、ユーザの意図した指示とは異なる指示が端末装置に入力されることを低減することができるため、ユーザの操作性を向上させることができる。
【0224】
なお、上記態様において、「所定の点」とは、例えば、第1領域と第2領域との境界線上の一の点であってもよい。「第1領域と第2領域との境界線上の一の点」とは、例えば、第1領域と第2領域との境界線における両端の中点であってもよい。また、「第1領域と第2領域との境界線上の一の点」とは、第1領域及び第2領域を含む操作領域の形状が円形状である場合、円形状の操作領域の中心であってもよい。
【0225】
[付記6]
本発明の他の態様に係るプログラムは、付記2に記載のプログラムであって、前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第1領域から前記第2領域に移動した場合で、且つ、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさない場合に、前記タッチ位置情報の示すタッチ位置の移動に基づいて、前記第1領域及び前記第2領域の形状を変形させる、ことを特徴とする。
【0226】
この態様によれば、領域割当部は、タッチ位置が第1領域から第2領域に移動した場合で、且つ、タッチ位置の移動速度が所定の速度条件を満たさない場合に、タッチ位置の移動に基づいて、第1領域及び第2領域の形状を変形させる。これにより、この態様では、第1領域及び第2領域のうちのタッチ位置が存在する領域に対応付けられた指示と、ユーザの意図する指示とが異なる状態になることを低減することができる。この結果、この態様では、ユーザの意図した指示とは異なる指示が端末装置に入力されることを低減することができるため、ユーザの操作性を向上させることができる。
【0227】
[付記7]
本発明の他の態様に係るプログラムは、付記2乃至6のうち何れか1項に記載のプログラムであって、前記領域割当部は、前記タッチ位置に関するタッチ条件が満たされる場合、前記第1領域及び前記第2領域の前記タッチパネルへの割り当てを初期状態に戻す、ことを特徴とする。
【0228】
この態様によれば、領域割当部は、タッチ位置に関するタッチ条件が満たされる場合、第1領域及び第2領域のタッチパネルへの割り当てを初期状態に戻す。これにより、この態様では、タッチパネルに対する第1領域及び第2領域の割り当てが初期状態から変更された状態で維持されること抑止することができる。
【0229】
なお、上記態様において、「前記タッチ位置に関するタッチ条件」とは、タッチ位置が検出されないことであってもよいし、タッチ位置が閾値速度以上の移動速度で第1領域から第2領域に移動することであってもよい。
【0230】
また、上記態様において、「初期状態」とは、例えば、ユーザの操作によらず、予め決められた状態であってもよい。例えば、「初期状態」とは、プロセッサがプログラムを実行した際に、第1領域及び第2領域が、タッチインの位置に関わらず、タッチパネルの所定の位置に割り当てられる場合、第1領域及び第2領域が所定の位置に割り当てられている状態であってもよい。また、「初期状態」とは、例えば、第1領域及び第2領域がタッチインの位置に基づいてタッチパネルに割り当てられる場合、第1領域及び第2領域がタッチイン時に割り当てられた位置と同じ位置に割り当てられている状態であってもよい。なお、「タッチイン」とは、タッチパネルに対するタッチがない状態からタッチがある状態に変化することであってもよい。
【0231】
[付記8]
本発明の他の態様に係るプログラムは、付記1乃至7のうち何れか1項に記載のプログラムであって、前記プロセッサを、前記指示部が前記ゲームに係る指示を前記第1の指示から前記第2の指示に変更する場合に、前記タッチパネルを振動させる振動制御部、として更に機能させる、ことを特徴とする。
【0232】
この態様によれば、例えば、ユーザが指によりタッチパネルにタッチする場合に、ユーザは、ゲームに係る指示が変更されたことを、タッチパネルの振動として、触覚により直感的に把握することが可能となる。
【0233】
[付記9]
本発明の他の態様に係るプログラムは、付記2乃至8のうち何れか1項に記載のプログラムであって、前記領域割当部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさずに、前記タッチ位置情報の示すタッチ位置が前記第1領域から前記第2領域に移動した場合、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たしていない間、前記タッチ位置情報の示すタッチ位置に基づいて、前記第1領域及び前記第2領域の前記タッチパネルへの割り当てを変更する、ことを特徴とする。
【0234】
この態様によれば、領域割当部は、タッチ位置が、所定の速度条件を満たさない移動速度で、第1領域から第2領域に移動した場合、タッチ位置の移動速度が所定の速度条件を満たしていない期間において、タッチ位置に追従して、第1領域及び第2領域のタッチパネルへの割り当てを変更する。これにより、この態様では、タッチパネルに対する割り当てが初期状態から変更された第1領域及び第2領域の境界線が最新のタッチ位置から所定の距離より離れた位置に維持されることを抑止することができる。
【0235】
[付記10]
本発明の他の態様に係るプログラムは、付記1乃至9のうち何れか1項に記載のプログラムであって、前記第1の指示は、前記タッチパネルに対するタッチがない状態において実行される処理と同じ処理を前記プロセッサに実行させる指示である、ことを特徴とする。
【0236】
この態様によれば、例えば、ユーザが第1領域に指を接触させて端末装置を保持した場合でも、端末装置の動作は、タッチパネルに対するタッチがない場合と同じ動作になる。これにより、ユーザは、端末装置の動作をタッチパネルに対するタッチがない場合と同じ動作に維持したい場合においても、第1領域に指を接触させて端末装置を保持できる。
【0237】
なお、上記態様において、「前記タッチパネルに対するタッチがない状態において実行される処理」とは、例えば、ゲーム要素の方向(例えば、キャラクタの顔の向き)を変化させずに維持する処理であってもよいし、ゲーム要素の方向(例えば、キャラクタの顔の向き)を予め定められた向きに設定する処理であってもよい。
【0238】
[付記11]
本発明の他の態様に係るプログラムは、付記1に記載のプログラムであって、前記指示部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たさずに、前記タッチ位置情報の示すタッチ位置が前記第1領域から前記第2領域に移動した場合、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たしたとき、前記ゲームに係る指示を前記第1の指示から前記第2の指示に変更する、ことを特徴とする。
【0239】
この態様によれば、指示部は、タッチ位置が、所定の速度条件を満たさない移動速度で第1領域から第2領域に移動した場合、タッチ位置の移動速度が所定の速度条件を満たしたとき、ゲームに係る指示を第1の指示から第2の指示に変更する。これにより、この態様では、例えば、ユーザがゲームに係る指示の内容を変更するつもりで指を移動させたにもかかわらず、ゲームに係る指示が変更されないことを低減することができる。すなわち、この態様では、ユーザの意図する指示とは異なる指示が実行なされる可能性を低減することができる。
【0240】
[付記12]
本発明の他の態様に係るプログラムは、付記1乃至11のうち何れか1項に記載のプログラムであって、前記指示部は、前記タッチ位置が前記第1領域から前記第2領域に移動した際の移動速度が閾値速度以上である場合、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満たすと判定する、ことを特徴とする。
【0241】
この態様によれば、タッチ位置が第1領域から第2領域に移動した際の移動速度が閾値速度以上である場合に、タッチ位置の移動速度が所定の速度条件を満たすと判定される。このため、この態様では、指示部は、タッチ位置が閾値速度以上の移動速度で第1領域から第2領域に移動した場合、ゲームに係る指示を第1の指示から第2の指示に変更し、タッチ位置が閾値速度未満の移動速度で第1領域から第2領域に移動した場合、ゲームに係る指示を第1の指示に維持する。従って、この態様においても、付記1と同様に、タッチパネルへのタッチ位置にずれが生じうる場合であっても、誤った入力がなされる可能性を低減することができる。
【0242】
[付記13]
本発明の一態様に係る情報処理装置は、タッチパネルに対するタッチのタッチ位置を示すタッチ位置情報を取得する取得部と、前記タッチパネルに、第1領域及び第2領域を割り当てる領域割当部と、前記タッチ位置情報の示すタッチ位置に基づいて、ゲームに係る指示の内容を決定する指示部と、を備え、前記指示部は、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第1領域から前記第2領域に移動した場合、前記タッチ位置情報の示すタッチ位置の移動速度が所定の速度条件を満たす場合には、前記ゲームに係る指示を、前記第1領域に対応付けられた第1の指示から、前記第2領域に対応付けられた第2の指示に変更し、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満さない場合には、前記ゲームに係る指示を前記第1の指示に維持する、ことを特徴とする。
【0243】
この態様によれば、付記1と同様の効果を得ることができる。
【0244】
[付記14]
本発明の一態様に係る情報処理方法では、プロセッサが、タッチパネルに対するタッチのタッチ位置を示すタッチ位置情報を取得し、前記タッチパネルに、第1領域及び第2領域を割り当て、前記タッチ位置情報の示すタッチ位置に基づいて、ゲームに係る指示の内容を決定し、前記タッチパネルに対するタッチが継続されている状態において、前記タッチ位置情報の示すタッチ位置が前記第1領域から前記第2領域に移動した場合、前記タッチ位置情報の示すタッチ位置の移動速度が所定の速度条件を満たす場合には、前記ゲームに係る指示を、前記第1領域に対応付けられた第1の指示から、前記第2領域に対応付けられた第2の指示に変更し、前記タッチ位置情報の示すタッチ位置の移動速度が前記所定の速度条件を満さない場合には、前記ゲームに係る指示を前記第1の指示に維持する、ことを特徴とする。
【0245】
この態様によれば、付記1と同様の効果を得ることができる。
【0246】
[付記15]
本発明の他の態様に係るプログラムは、プロセッサを、表示画面において指定された指定位置を示す指定位置情報を取得する取得部と、前記表示画面内に、第1領域及び第2領域を割り当てる領域割当部と、前記指定位置情報の示す指定位置に基づいて、サービスに係る指示の内容を決定する指示部と、して機能させ、前記指示部は、前記表示画面における位置の指定が継続されている状態において、前記指定位置情報の示す指定位置が前記第1領域から前記第2領域に移動した場合、前記指定位置情報の示す指定位置の移動速度が所定の速度条件を満たす場合には、前記サービスに係る指示を、前記第1領域に対応付けられた第1の指示から、前記第2領域に対応付けられた第2の指示に変更し、前記指定位置情報の示す指定位置の移動速度が前記所定の速度条件を満さない場合には、前記サービスに係る指示を前記第1の指示に維持する、ことを特徴とする。
【0247】
この態様によれば、指示部は、表示画面における位置の指定が継続されている状態で指定位置が第1領域から第2領域に移動した場合で、且つ、指定位置の移動速度が所定の速度条件を満たす場合に、サービスに係る指示を第1の指示から第2の指示に変更する。また、指示部は、表示画面における位置の指定が継続されている状態で指定位置が第1領域から第2領域に移動した場合であっても、指定位置の移動速度が所定の速度条件を満さない場合には、サービスに係る指示を第1の指示に維持する。従って、この態様においても、付記1と同様に、表示画面において指定された指定位置にずれが生じうる場合であっても、誤った入力がなされる可能性を低減することができる。
【0248】
なお、上記態様において、「指定位置」は、マウス又はゲーム装置のリモートコントローラ等のポインティングデバイスにより操作される、表示画面上のポインタの位置であってもよいし、タッチパネルにおけるタッチ位置であってもよい。なお、「表示画面」は、入力装置の機能を含まないディスプレイの表示画面であってもよいし、入力装置の機能を含むタッチパネルの表示画面であってもよい。
【0249】
また、上記態様において、「サービス」は、表示画面を介して提供される任意のサービスであればよい。例えば、「サービス」は、インターネットサービスでもよいし、ゲームでもよい。
【0250】
また、上記態様において、「第1の指示」は、「サービスに係る指示」の一例である。「サービスに係る指示」は、例えば、ゲームに関する指示であってもよいし、任意のサービスに係る指示であってもよい。「第2の指示」は、「サービスに係る指示」の他の例である。例えば、「第2の指示」は、第1の指示とは異なる指示であって、ゲームに関する指示であってもよいし、第1の指示とは異なる指示であって、任意のサービスに係る指示であってもよい。