(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。本発明に係る移動制御装置(コンピュータ)は、例えば、携帯端末(スマートフォン等の携帯電話機、及び、タブレット型コンピュータ等の携帯情報端末を含む)、ゲーム装置、及びパーソナルコンピュータ等により実現される。本実施形態では、移動制御装置が、携帯端末を用いて実現される場合を説明する。
【0011】
[1.携帯端末のハードウェア構成]
図1は、携帯端末の外観の一例を示す図である。また、
図2は、携帯端末のハードウェア構成の一例を示す図である。
図1及び
図2に示すように、携帯端末10は、制御部11、記憶部12、通信部13、操作部14、タッチパネル15、及び表示部16を含む。
【0012】
制御部11は、例えば、一又は複数のマイクロプロセッサを含む。制御部11は、記憶部12に記憶されたオペレーティングシステム又はその他のプログラムに従って、処理を実行する。
【0013】
記憶部12は、メインメモリと不揮発性メモリとを含む。不揮発性メモリには、制御部11によって実行されるプログラムが記憶される。例えば、このプログラムは、インターネット等の通信ネットワークを介してサーバ装置からダウンロードされて不揮発性メモリに格納される。または、このプログラムは、メモリカード等のコンピュータ読み取り可能な情報記憶媒体から複写されて不揮発性メモリに格納される。メインメモリには、不揮発性メモリから読み出されるプログラムや、制御部11が処理を実行する場合に必要なデータが書き込まれる。
【0014】
通信部13は、データ通信を行うためのものである。例えば、通信部13は、制御部11からの指示に従ってデータ通信を実行する。
【0015】
操作部14は、例えば、ボタン、スティック(レバー)、又はキーボード等を含み、ユーザが操作を行うために用いられる。
【0016】
タッチパネル15は、一般的なタッチパネルであり、ユーザによって接触された複数の位置を検出する。タッチパネル15としては、例えば、静電容量方式のタッチパネルが用いられる。静電容量方式のタッチパネルでは、タッチパネルの表面がユーザによって接触された場合に生じる電荷の変化に基づいて、ユーザによって接触された位置が検出される。ユーザによって接触された位置は、例えば、
図1に示すような、タッチパネル15の左上頂点を原点Oとし、かつ、右方向及び下方向をそれぞれXs軸正方向及びYs軸正方向とするXs−Ys座標系の座標値によって表される。オペレーティングシステムは、タッチパネル15から供給される情報に基づいて、ユーザによって接触されている位置を取得する。
【0017】
なお、タッチパネル15は、仮想空間の様子を表示する表示部16に重畳して設けられる。このため、ユーザはタッチパネル15の表面を触ることによって、表示部16に表示される画面内の位置を指定することができる。なお、ユーザは自らの指(手)をタッチパネル15の表面に接触させるようにしてもよいし、ユーザが指(手)以外の部位をタッチパネル15の表面に接触させるようにしてもよい。他にも例えば、ユーザが把持する物体(タッチペン等)をタッチパネル15の表面に接触させるようにしてもよい。
【0018】
表示部16は、例えば、液晶パネルである。表示部16は、制御部11からの指示に従って画面を表示する。
【0019】
なお、携帯端末10は光ディスクドライブ又はメモリカードスロットを含むようにしてもよい。光ディスクドライブは、光ディスク(情報記憶媒体)に記録されたプログラムやデータを読み出すためのものである。メモリカードスロットは、メモリカード(情報記憶媒体)に記憶されたプログラムやデータを読み出すためのものである。プログラムやデータは、光ディスク又はメモリカードを介して携帯端末10に供給され、記憶部12(不揮発性メモリ)に記憶されるようにしてもよい。また、情報記憶媒体に記憶されているものとして説明するプログラムやデータは、通信部13を介してネットワークから取得されるようにしてもよい。
【0020】
[2.携帯端末において実行されるゲーム]
携帯端末10は、記憶部12から読み出したプログラムを実行することによって、仮想空間において移動対象(例えば、ボール)を移動させるゲームを実行する。本実施形態では、ゲーム空間においてキャラクタがボールを移動させてサッカーの試合を行うサッカーゲームが実行される場合について説明する。サッカーゲームが開始されると、例えば、ゲーム空間が記憶部12に構築される。
【0021】
図3は、ゲーム空間の一例を示す図である。ゲーム空間20は、互いに直交する三つの座標軸(Xw軸、Yw軸、及びZw軸)が設定された仮想的な3次元空間である。ゲーム空間20に配置される各オブジェクトの位置は、例えば、ワールド座標系(Xw−Yw−Zw座標系)の3次元座標で特定される。
【0022】
図3に示すように、ゲーム空間20には、サッカーフィールドを表すオブジェクトであるフィールド22が配置される。フィールド22上では、ユーザが操作するチーム(以降、「ユーザチーム」という。)と、対戦相手(コンピュータ又は他のユーザ)が操作するチーム(以降、「対戦相手チーム」という。)と、の間でサッカーの試合が行われる。
【0023】
フィールド22上には、サッカーのゴールを表すオブジェクトであるゴール24と、ユーザチームに所属するサッカー選手を表すオブジェクトであるキャラクタ26と、対戦相手チームに所属するサッカー選手を表すオブジェクトであるキャラクタ28と、サッカーボールを表すオブジェクトであるボール30と、が配置される。なお、
図3では省略されているが、フィールド22上には、ユーザチームに所属する11体のキャラクタ26と、対戦相手チームに所属する11体のキャラクタ28と、が配置される。
【0024】
ユーザチームに所属するキャラクタ26の何れかは、ユーザの操作に基づいて動作する操作対象となる。ユーザの操作対象は、ユーザが指示した方向に移動したり、ユーザが指示した動作を行ったりする。ユーザの操作対象以外のキャラクタ26及び対戦相手チームに所属するキャラクタ28は、所与の行動アルゴリズムのもとで自律的に動作する。
【0025】
また、キャラクタ26(28)とボール30とが近づくと、所定条件のもとで、キャラクタ26(28)とボール30とが関連付けられる。以降、キャラクタ26(28)とボール30とが関連付けられた状態を、「キャラクタ26(28)がボール30を保持する」と記載する。ボール30を保持するキャラクタ26(28)は、ドリブル動作、パス動作、又はシュート動作をすることにより、ボール30を移動させることができる。
【0026】
また、ゲーム空間20には、仮想カメラ32(視点)が設定される。ゲーム空間20を仮想カメラ32から見た様子を表すゲーム画面が、表示部16に表示される。ゲーム画面は、ゲーム空間20に配置された各オブジェクトの頂点座標が、所定の座標変換演算を用いてワールド座標系からスクリーン座標系に座標変換されることによって生成される。
【0027】
図4〜
図6は、ゲーム画面の一例を示す図である。
図4に示すように、ゲーム画面40には、仮想カメラ32の視野に含まれるオブジェクトが表示される。仮想カメラ32の位置及び視線方向は、例えば、仮想カメラ32の視野にボール30が含まれるように設定される。本実施形態では、ユーザの操作対象がボール30を保持している場合、ユーザの操作対象の足元に仮想カメラが配置され、足元付近からボール30を見るように視線方向が設定される。ユーザの操作対象がボール30を保持している場合、ユーザは、タッチパネル15上で所与の操作をすることで、ボール30を移動させることができる。
【0028】
図5は、ユーザの操作対象がボール30を保持している状態を示している。このような状態において、ユーザが、例えば人差指F1でボール30の近くのフィールド22をタッチし、かつ、中指F2でボール30が表示されている範囲をタッチすると、ユーザの操作対象がボール30を蹴るようにしている。ここでは、ユーザの人差指F1が、操作対象の軸足(例えば、左足)に相当し、ユーザの中指F2が、操作対象の蹴り足(例えば、右足)に相当する。操作対象が蹴ったボール30の軌道は、これら指の接触位置に応じて決まる。
【0029】
図6に示すように、例えば、ユーザがボール30の中心点42付近をタッチした場合(接触位置P
1)、ボール30の移動速度が比較的速くなり、かつ、ボール30があまり回転(自転)しない。この場合、ボール30は、操作対象であるキャラクタ26の足からボール30に向かう方向(以降、基本移動方向という。)に向けてゲーム空間22内を移動する。このようにすることで、例えば、インステップキック(足の甲で蹴るキック)やトゥーキック(つま先で蹴るキック)でボールの中央付近を強く蹴るような直感的な操作を、ユーザに提供することができる。
【0030】
また、ユーザがボール30の中心点42の右側又は左側の位置をタッチした場合(接触位置P
2又は接触位置P
3)、タッチした位置に応じてボール30が右回転(自転)又は左回転(自転)する。ボール30の回転数は、ボール30の中心点42付近をタッチした場合よりも大きくなり、かつ、ボール30の移動速度はボール30の中心点42をタッチした場合よりも遅くなる。この場合、ボール30は、前記基本移動方向よりも、仮想カメラ32から見て左又は右よりにゲーム空間22内を移動する。更に、ボール30の回転方向及び回転数に応じてカーブがかかる。このようにすることで、例えば、インサイドキック(内側の足首で蹴るキック)又はアウトサイドキック(外側の足首で蹴るキック)をして、ボールに回転をかけるような直感的な操作を、ユーザに提供することができる。
【0031】
また、ユーザがボール30の中心点42の下側の位置をタッチした場合(接触位置P
4)、ゲーム空間22内におけるボール30の移動方向が、前記基本移動方向よりも上方向(Yw軸方向)を向き、ボール30が浮くようになる。
図7は、ユーザがボール30の中心点42の下側の位置をタッチした場合にボール30が移動する様子を示す図である。
図7に示すように、ボール30が縦方向(操作対象から見て手前方向)に回転(自転)するため、ボール30が浮くように移動する。このようにすることで、例えば、チップキック(足の甲のつま先付近ですくい上げるように蹴るキック)をしてボールを浮かせるような直感的な操作を、ユーザに提供することができる。
【0032】
また、ユーザがボール30の中心点42の上側の位置をタッチした場合(接触位置P
5)、ゲーム空間22内におけるボール30の移動方向が、前記基本移動方向よりも水平方向(Xw軸又はZw軸方向)を向き、ボール30が浮かないようになる。
図8は、ユーザがボール30の中心点42の上側の位置をタッチした場合にボール30が移動する様子を示す図である。
図8に示すように、ボール30が、
図7で示した方向とは逆方向(操作対象から見て奥側方向)に回転(自転)するため、ボール30があまり浮かずに移動する。このようにすることで、例えば、インステップキックやトゥーキックでボール30を上からたたくような直感的な操作を、ユーザに提供することができる。
【0033】
また、ユーザがボール30の中心点42の更に上側の天辺領域44をタッチした場合(接触位置P
6)、ボール30の移動速度が前記他の位置をタッチした場合に比べて小さくなり、ボール30がフィールド22上を転がるように移動する。天辺領域44は、ゲーム空間22内におけるボール30の上部に基づいて定まる領域であり、ボール30の上部を含む所定領域である。このようにすることで、例えば、足の裏を使ってボール30を転がすような直感的な操作を、ユーザに提供することができる。
【0034】
更に、本実施形態では、ボール30の表示位置に基づいて、ゲーム画面40に基準位置46A,46Bが設定される。基準位置46A,46Bは、ユーザの操作対象がボール30を蹴る場合の軸足の基本位置に相当する。本実施形態では、接触位置と基準位置46A,46Bとの位置関係に応じて、ボール30の移動方向が異なる。
【0035】
例えば、ユーザが基準位置46A,46Bよりも奥側(Ys軸負方向)をタッチした場合(接触位置Q
1,Q
2)、ゲーム空間22内におけるボール30の移動方向が、基本移動方向よりも水平方向を向き、ボール30が浮かないようになる(ボール30の軌道が低くなる)。このようにすることで、例えば、軸足を前方(奥側)に置きつつ、蹴り足をボール30にかぶせながら蹴るような直感的な操作を、ユーザに提供することができる。
【0036】
一方、例えば、ユーザが基準位置46A,46Bよりも手前側(Ys軸正方向)をタッチした場合(接触位置Q
3,Q
4)、ゲーム空間22内におけるボール30の移動方向が、基本移動方向よりも上方向を向き、ボール30が浮くようになる(ボール30の軌道が高くなる)。このようにすることで、例えば、軸足を後方(手前側)に置きつつ、蹴り足で下からボール30をすくい上げるような直感的な操作を、ユーザに提供することができる。
【0037】
上記のように、携帯端末10では、2本の指のうちの一方をキャラクタ26の軸足に見立て、他方をキャラクタ26の蹴り足に見立てることによって、より直感的な操作をユーザに提供し、ボール30を移動させるための操作が簡単になる構成になっている。以降、この構成について、詳細に説明する。
【0038】
[3.携帯端末において実現される機能]
図9は、携帯端末10の機能ブロック図である。
図9に示すように、携帯端末10は、ゲームデータ記憶部50と、接触位置取得部52、決定部54、及び移動制御部56を含む。携帯端末10は、記憶部12に記憶されたプログラムを実行することによって、
図9に示す各機能を実現する。ゲームデータ記憶部50は、例えば、記憶部12を主として実現され、他の各機能は、制御部11を主として実現される。
【0039】
[3−1.ゲームデータ記憶部]
ゲームデータ記憶部50は、サッカーゲームを実現するために必要なデータを記憶する。例えば、ゲームデータ記憶部50は、タッチパネル15上の接触位置と、ボール30の軌道の特徴を示す軌道特徴情報と、の関連付けを記憶する。
【0040】
図10は、接触位置と軌道特徴情報との関連付けを示す図である。この関連付けを示すデータは、数式形式であってもよいし、テーブル形式であってもよい。
図10に示す関連付けには、接触位置に関する接触位置条件が定められている。ここでは、接触位置条件は、ボール30内の接触位置に関する条件、及び、ボール30外の接触位置に関する条件がある。例えば、接触位置条件には、タッチパネル15上の所定位置(例えば、中心点42や基準位置46A,46B)とのずれに関する条件、又は、タッチパネル15上の所定領域に接触位置が含まれるか否かを示す条件が格納される。
【0041】
軌道特徴情報は、ボール30の軌道を定義した情報(ボール30をどのようにゲーム空間22内を移動させるかを定義した情報)であり、ボール30の移動方向、移動速度、及び回転の少なくとも一つに関する特徴を示す情報が格納される。例えば、ボール30の移動方向に関する特徴は、ボール30を移動させるべき方向を示し、例えば、基本移動方向からのずれ具合(ずれ方向及びずれ量)を示す。なお、本実施形態では、基本移動方向が、ユーザの操作対象の足元からボール30に向かう方向である場合を説明するが、基本移動方向は、ボール30に関連付けられた方向であればよく、これに限られない。
【0042】
ボール30の移動速度に関する特徴は、ゲーム空間22内においてボール30を移動させるべき速度を示し、例えば、ボール30の基本移動速度からのずれ具合を示す。ボール30の基本移動速度は、ユーザの操作対象に関連付けられたパラメータ(例えば、能力値)に基づいて定まる速度である。ボール30の回転に関する特徴は、ボール30を回転させるべき方向や回転数(回転速度)を示し、例えば、ボール30の回転方向、及び、ボール30の基本回転数からのずれ具合を示す。基本回転数は、例えば、予め定められた回転数である。
【0043】
また、ゲームデータ記憶部50は、実行中のゲームの状況を示すゲーム状況データを記憶する。ゲーム状況データには、ゲーム空間20の現在の様子を示すデータが格納される。例えば、ゲーム状況データには、ユーザの操作対象を識別する情報、キャラクタ26(28)の状態(例えば、位置、移動方向、及び移動速度)、ボール30の状態(例えば、位置、移動方向、移動速度、回転方向、及び回転数)、仮想カメラ32の状態(例えば、位置及び視線方向等)、及び試合の状況(例えば、残り時間や得点等)が格納される。
【0044】
なお、ゲームデータ記憶部50に記憶されるデータは、上記の例に限られない。例えば、ゲームデータ記憶部50は、各キャラクタ26(28)に関するパラメータ(例えば、能力値)を記憶するようにしてもよい。ゲームデータ記憶部50は、ゲーム空間20においてボール30を移動させるために必要なデータを記憶すればよい。
【0045】
[3−2.接触位置取得部]
接触位置取得部52は、タッチパネル15上の第1の接触位置及び第2の接触位置を取得する。接触位置取得部52は、タッチパネル15からの検出信号に基づいて、ユーザにより接触されたタッチパネル15上の接触位置を示す情報(例えば、座標データ)を取得する。ここでは、タッチパネル15上で第1の接触が行われている場合に、第2の接触が行われる。即ち、第1の接触が解除される前に、第2の接触が開始される。接触位置を示す情報が取得されている状態において、他の接触位置を示す情報が取得された場合に、他の接触位置が第2の接触位置となる。
【0046】
本実施形態では、タッチパネル15は、移動対象(例えば、ボール30)を表す移動対象画像が表示された表示画面(例えば、ゲーム画面40)に重畳するようにして設けられる。このため、接触位置取得部52は、ゲーム画面40に表示されたボール30への接触位置、及び、ボール30付近のフィールド22への接触位置を取得するともいえる。
【0047】
[3−3.決定部]
決定部54は、第1の接触位置と第2の接触位置とに基づいて、移動対象(例えば、ボール30)の軌道に関する情報(例えば、ボール30の移動方向、移動速度、及び回転の少なくとも一つに関する情報)を決定する。例えば、決定部54は、第1の接触位置と第2の接触位置との位置関係に基づいて、ボール30の軌道に関する情報を決定する。本実施形態では、決定部54は、各接触位置が接触位置条件を満たすか否かを判定し、条件を満たすと判定された接触位置条件に関連付けられた軌道特徴情報に基づいて、ボール30の軌道に関する情報を決定する。
【0048】
本実施形態では、決定部54は、第1の接触位置及び第2の接触位置のうち、一方が移動対象画像に対応する領域内(例えば、ボール30が表示された領域)にあり、他方が当該領域外(例えば、フィールド22)にある場合の第1の接触位置と第2の接触位置とに基づいて、移動対象の軌道に関する情報を決定する。ここでは、決定部54は、2つの接触位置のうち、一方の接触位置がボール30が表示されている範囲にあり、かつ、他方の接触位置がフィールド22上にある場合のこれらの接触位置(この状態になった時点、又は、この時点の所定時間前後の時点に取得された接触位置)に基づいて、ボール30の軌道に関する情報を決定する。
【0049】
また、本実施形態では、決定部54は、第1の接触位置及び第2の接触位置のうち、移動対象画像に対応する領域外(例えば、ボール30の周囲のフィールド22)にある接触位置と、移動対象(例えば、ボール30)に関連付けられた表示画面又は仮想空間内の基準位置46A,46Bと、に基づいて、移動対象が移動するときの軌道に関する情報を決定する。決定部54は、接触位置と基準位置46A,46Bとの位置関係に基づいて、ボール30の軌道に関する情報を決定する。ここでは、決定部54は、2つの基準位置46A,46Bのうち、ボール30の外にある接触位置に近い方の基準位置46A又は46Bと、当該接触位置と、の位置関係を判定する。
【0050】
例えば、決定部54は、接触位置が基準位置46A,46Bよりも上(奥)にある場合、ボール30の移動方向が基本移動方向よりも水平方向を向くように、ボール30の軌道に関する情報を決定する。また例えば、決定部54は、接触位置が基準位置46A,46Bよりも下(手前)にある場合、ボール30の移動方向が基本移動方向よりも垂直方向を向くように、ボール30の軌道に関する情報を決定する。
【0051】
また、本実施形態では、決定部54は、第1の接触位置及び第2の接触位置のうち、移動対象画像に対応する領域内(例えば、ボール30が表示された領域)にある接触位置の当該領域内での位置に基づいて、移動対象の軌道に関する情報を決定する。即ち、決定部54は、接触位置とボール30との位置関係に基づいて、ボール30の軌道に関する情報を決定する。
【0052】
例えば、決定部54は、接触位置と中心点42とのずれが所定以下である場合(例えば、
図6の接触位置P
1)、ボール30の移動方向と基本移動方向とのずれが基準以下であり、ボール30の移動速度が基本移動速度よりも速くなり、ボール30の回転数が基本回転数よりも小さくなるように、ボール30の軌道に関する情報を決定する。
【0053】
また例えば、決定部54は、接触位置と中心点42との水平方向のずれが所定以上である場合(例えば、
図6の接触位置P
2又は接触位置P
3)、ボール30の移動方向と基本移動方向とのずれが基準以上であり、ボール30の移動速度が基本移動速度よりも遅くなり、ボール30の回転数が基本回転数よりも大きくなるように、ボール30の軌道に関する情報を決定する。更に、この場合、決定部54は、接触位置が中心点42よりも右側にある場合、ボール30の移動方向が基本移動方向よりも左向きになり、ボール30の回転方向が左回りになるように、ボール30の軌道に関する情報を決定する。また、決定部54は、接触位置が中心点42よりも左側にある場合、ボール30の移動方向が基本移動方向よりも右向きになり、ボール30の回転方向が右回りになるように、ボール30の軌道に関する情報を決定する。
【0054】
また例えば、決定部54は、接触位置が中心点42よりも下にあり、かつ、互いの垂直方向のずれが所定以上である場合(例えば、
図6の接触位置P
4)、ボール30の移動方向が基本移動方向よりも垂直方向(Yw軸方向)を向くように、ボール30の軌道に関する情報を決定する。また例えば、決定部54は、接触位置が中心点42よりも上にあり、かつ、互いの垂直方向のずれが所定以上である場合(例えば、
図6の接触位置P
5)、ボール30の移動方向が基本移動方向よりも水平方向(Xw軸方向又はZw軸方向)を向くように、ボール30の軌道に関する情報を決定する。
【0055】
本実施形態では、決定部54は、第1の接触位置及び第2の接触位置のうち、移動対象画像に対応する領域内(例えば、ボール30が表示された領域)にある接触位置が当該領域内の特定部分(例えば、天辺領域44)にあるか否かを判定する。決定部54は、この判定結果に基づいて、移動対象(例えば、ボール30)の軌道に関する情報を決定する。例えば、決定部54は、ボール30が天辺領域44にある場合、ボール30の移動速度を基本移動速度よりも小さくし、フィールド22上を転がるように、ボール30の軌道に関する情報を決定する。
【0056】
なお、ボール30の軌道に関する情報の決定方法は、上記の例に限られない。決定部54は、ユーザによる2つの接触位置に応じてボール30の軌道に関する情報を決定すればよい。例えば、ボール30が表示された範囲の接触位置が中心点42の右上である場合には、決定部54は、ボール30の移動方向が基本移動方向よりも水平方向を向き、かつ、ボール30の回転方向が左回りになるように、ボール30の軌道に関する情報を決定してもよい。他にも例えば、例えば、ボール30が表示された範囲の接触位置が中心点42の右下である場合には、決定部54は、ボール30の移動方向が基本移動方向よりも垂直方向を向き、かつ、ボール30の回転方向が左回りになるように、ボール30の軌道に関する情報を決定してもよい。
【0057】
[3−4.移動制御部]
移動制御部56は、決定部54により決定された軌道に関する情報(例えば、ボール30の移動方向、移動速度、及び回転の少なくとも一つに関する情報)に基づいて、仮想空間(例えば、ゲーム空間20)において移動対象(例えば、ボール30)を移動させる。移動制御部56は、決定部54が決定した情報が示す各パラメータを、所与の移動アルゴリズムに代入することによって、ボール30を移動させる。
【0058】
[4.携帯端末において実行される処理]
図11は、携帯端末10が実行する処理を示すフロー図である。制御部11は、記憶部12に記憶されたプログラムに従って、
図11に示す処理を実行する。以降説明する処理は、例えば、ゲームの開始指示が行われた場合に実行される。
【0059】
まず、
図11に示すように、制御部11は、ゲームを開始し、ゲーム空間20を構築する(S1)。S1においては、制御部11は、ゲーム状況データを生成して記憶部12に記録する。例えば、制御部11は、各キャラクタ26(28)及びボール30を初期位置に配置する。また例えば、制御部11は、所与の条件のもとでユーザの操作対象を設定し、ユーザの操作対象及びボール30の位置に基づいて、仮想カメラ32の位置及び視線方向を設定する。
【0060】
制御部11は、仮想カメラ32からゲーム空間20を見た様子を示すゲーム画面40を表示させる(S2)。本実施形態では、制御部11は、仮想カメラ32の視野内にボール30が含まれるように、仮想カメラ32の位置及び視線方向が設定する。このため、S2においては、制御部11は、ゲーム画面40にボール30を表示させる。
【0061】
制御部11は、ユーザの操作対象がボール30を保持しているか否かを判定する(S3)。S3においては、制御部11は、ゲーム状況データを参照して、ユーザの操作対象にボール30が関連付けられているか否かを判定する。
【0062】
ユーザの操作対象がボール30を保持していると判定された場合(S3;Y)、制御部11は、ボール30の位置に基づいて、中心点42及び基準位置46A,46Bを設定する(S4)。例えば、制御部11は、ボール30の中心点42を所定方向に所定距離だけ移動させた位置を、基準位置46A,46Bとして設定する。これら所定方向及び所定距離は、例えば、ボール30と仮想カメラ32との位置関係に応じて変化してもよい。
【0063】
制御部11は、タッチパネル15上の複数の位置が接触されたか否かを判定する(S5)。S5においては、制御部11は、タッチパネル15から複数の位置データを取得したか否かを判定する。
【0064】
タッチパネル15上の複数の位置が接触されたと判定された場合(S5;Y)、制御部11は、一の接触位置がボール30の表示範囲に含まれており、かつ、他の接触位置がボール30の表示範囲に含まれていないか否かを判定する(S6)。
【0065】
一の接触位置がボール30の表示範囲に含まれており、かつ、他の接触位置がボール30の表示範囲に含まれていない場合(S6;Y)、制御部11は、ボール30の表示範囲に含まれている接触位置と、ボール30の表示範囲に含まれていない接触位置と、に基づいて、ボール30の軌道に関する情報を決定する(S7)。S7においては、制御部11は、各接触位置が満たす接触位置条件に関連付けられた特徴に基づいて、ボール30の軌道に関する情報を決定する。
【0066】
図12及び
図13は、S7において実行される処理の詳細を示す図である。
図12及び
図13に示すように、制御部11は、ゲーム状況データを参照し、ユーザの操作対象(例えば、足元の位置)からボール30に向けた基本移動方向V
0を取得する(S71)。
【0067】
制御部11は、ゲーム画面40に表示されたボール30の中心点42と、ボール30内の接触位置Pと、を結ぶベクトルV
1Sを取得する(S72)。ベクトルV
1Sは、スクリーン座標系のベクトルであり、接触位置Pと中心点42とのずれを示す。制御部11は、基準位置46A,46Bのうちボール30外の接触位置Qに近い方と、接触位置Qと、を結ぶベクトルV
2Sを取得する(S73)。ベクトルV
2Sは、スクリーン座標系のベクトルであり、接触位置Qと基準位置46A,46Bとのずれを示す。
【0068】
制御部11は、基本移動方向V
0を、ベクトルV
1S及びベクトルV
2Sに基づいて変化させ、ボール30の移動方向V
3に関する情報を決定する(S74)。S74においては、制御部11は、ベクトルV
1Sに基づいて、ゲーム空間20内のベクトルV
1Wを取得し、ベクトルV
2Sに基づいて、ゲーム空間20内のベクトルV
2Wを取得する。ベクトルV
1Wは、接触位置Pに基づいて定まる移動方向の変化を示し、ベクトルV
2Wは、接触位置Qに基づいて定まる移動方向の変化を示す。例えば、ベクトルV
1Sが右下を向いていれば、ベクトルV
1Wはユーザの操作対象から見て左上を向き、ベクトルV
1Sが左下を向いていれば、ベクトルV
1Wはユーザの操作対象から見て右上を向く。また例えば、ベクトルV
2Sが下を向いていれば、ベクトルV
2WはYw軸正方向を向き、ベクトルV
2Sが上を向いていれば、ベクトルV
2WはYw軸負方向を向く。
【0069】
制御部11は、ユーザの操作対象の能力パラメータに基づいて、ボール30の基本移動速度を算出する(S75)。例えば、制御部11は、ユーザの操作対象の能力パラメータが高いほど、ボール30の基本移動速度を速くする。
【0070】
制御部11は、ベクトルV
1Sに基づいて、基本移動速度を変化させ、ボール30の移動速度に関する情報を決定する(S76)。S76においては、制御部11は、ベクトルV
1Sが小さくなるほど移動速度が速くなるように、ボール30の移動速度に関する情報を決定する。
【0071】
制御部11は、ベクトルV
1Sに基づいて、ボール30の基準回転数を変化させ、ボール30の回転方向を決定することによって、ボール30の回転に関する情報を決定する(S77)。S77においては、制御部11は、ベクトルV
1Sが大きくなるほど回転数が高くなるように、ボール30の回転数を決定する。また、制御部11は、ベクトルV
1Sが右方向を向いていれば、ボール30の回転方向を操作対象から見て左回りに決定し、ベクトルV
1Sが左方向を向いていれば、ボール30の回転方向を操作対象から見て右回りに決定する。
【0072】
図11に戻り、制御部11は、S7で決定した情報に基づいて、ボール30を移動させる(S8)。制御部11は、S7で決定した情報に含まれる各パラメータを、移動アルゴリズムに代入することによって、ゲーム空間20においてボール30を移動させる。
【0073】
制御部11は、ゲーム状況データを更新する(S9)。S9においては、制御部11は、ゲーム空間20に配置された各オブジェクトの状態を変化させたり、ゲームの進行に応じて試合の状況を変化させたりする。
【0074】
制御部11は、終了条件が満たされるか否かを判定する(S10)。終了条件は、本処理を終了するための条件であればよく、例えば、試合の終了時間が到来したか否か、又は、ユーザが所与の終了操作を行ったか否かである。終了条件が満たされると判定された場合(S10;Y)、本処理は終了する。一方、終了条件が満たされないと判定された場合(S10;N)、S2の処理に戻る。
【0075】
以上説明した携帯端末10によれば、ユーザにより接触されたタッチパネル15上の複数の接触位置に基づいて、ボール30の軌道に関する情報が決定されるので、ゲーム空間20においてボール30を移動させるための操作を簡単にすることができる。特に、上記のように、キャラクタ26(28)がボール30を蹴るゲームでは、ユーザの指を軸足と蹴り足に見立てた操作を提供するので、より直感的な操作でボール30を移動させることができる。
【0076】
また、ゲーム画面40に表示されたボール30とフィールド22とをユーザが接触することで、ボール30の軌道が決定されるので、タッチパネル15全体のうちでユーザが接触すべき領域が分かりやすくなる。特に、上記のように、キャラクタ26(28)がボール30を蹴るゲームでは、ユーザの操作対象の軸足をフィールド22上に置き、蹴り足でボール30を蹴るような直感的な操作を提供することができ、ボール30を移動させるための操作を簡単にすることができる。
【0077】
また、ゲーム画面40内の基準位置46A,46Bと接触位置Qとの位置関係に応じて、ボール30の軌道が決定されるので、ゲーム空間20においてボール30を移動させるための操作を、基準位置46A,46Bを用いることで、より多様化することができる。特に、上記のように、キャラクタ26(28)がボール30を蹴るゲームでは、ユーザの操作対象が軸足を置く位置をタッチパネル15上で指定するような直感的な操作を提供することができる。
【0078】
また、接触位置Pがボール30が表示された範囲のどこにあるかに応じて、ボール30の軌道が変化するので、接触位置Pのボール30内での位置を考慮することで、ボール30を移動させる際の指示を多様化することができる。特に、上記のように、キャラクタ26(28)がボール30を蹴るゲームでは、ユーザの操作対象の蹴り足がボール30に触れる位置をタッチパネル15上で指定するような直感的な操作を提供することができる。
【0079】
また、接触位置Pが天辺領域44にある場合には、ボール30をあまり移動させないようにするので、天辺領域44を用いることで、ボール30を移動させる際の指示を多様化することができる。特に、上記のように、キャラクタ26(28)がボール30を蹴るゲームでは、ユーザの操作対象がボール30の天辺を足の裏で転がしてドリブルをするような直感的な操作を提供することができる。
【0080】
また、ボール30の軌道に関する情報のうち、ボール30の移動方向、移動速度、及び回転の少なくとも一つを、接触位置P及び接触位置Qに応じて変化させるので、これらを変化させるための操作を簡単にすることができる。特に、上記のように、キャラクタ26(28)がボール30を蹴るゲームでは、蹴り足と軸足との位置関係でボール30の移動方向、移動速度、及び回転が異なるため、接触位置の位置関係に応じてこれらを変化させることで、より直感的な操作を提供することができる。
【0081】
[5.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【0082】
(1)例えば、ボール30が移動する場合に、軸足の役割を果たす指の接触をユーザが解除したか否かに応じて、ボール30の軌道が異なるようにしてもよい。
【0083】
変形例(1)の決定部54は、移動制御部56により移動対象(例えば、ボール30)の移動が開始する場合に、第1の接触位置及び第2の接触位置のうち、移動対象画像に対応する領域外(例えば、ゲーム画面40におけるフィールド22)にある方の接触が解除されたか否かを判定する。ボール30の移動が開始する場合とは、ボール30の移動が開始する時点を含む所定期間である。ここでは、ユーザがタッチパネル15から指を離すこと(即ち、タッチパネル15から接触が検出されなくなること)が、接触が解除されることに相当する。
【0084】
決定部54は、上記判定結果に基づいて、移動対象(例えば、ボール30)の軌道に関する情報を決定する。ここでは、ボール30の軌道に関する情報は、移動の正確性(例えば、キックの精度)を示すパラメータを含む。更に、本変形例の移動アルゴリズムでは、決定部54により決定されたボール30の移動方向、移動速度、回転方向、及び回転数が、この正確性を示すパラメータのもとで変化する。正確性が高くなるほど、変化の度合いが少なくなり、正確性が低くなるほど、変化の度合いが高くなる。
【0085】
例えば、決定部54は、接触が解除されたと判定された場合、ボール30の移動速度が速くなり、かつ、正確性が低くなるように、ボール30の軌道に関する情報を決定する。一方、決定部54は、接触が解除されないと判定された場合、ボール30の移動速度が遅くなり、かつ、正確性が高くなるように、ボール30の軌道に関する情報を決定する。移動制御部56は、正確性を示すパラメータに基づいて、決定部54が決定した情報に応じてボール30が移動することを制限するともいえる。
【0086】
変形例(1)によれば、例えば、ユーザの操作対象がボール30を蹴るときに、軸足に対応する接触を解除したか否かに応じてボール30の軌道が変化するので、キャラクタ26が全体重をボール30に乗せて強くキックするような直感的な操作をユーザに提供することができ、ボール30を移動させるための操作を、より簡単にすることができる。
【0087】
(2)また例えば、ボール30と仮想カメラ32との位置関係に応じて、ゲーム画面40における天辺領域44の位置が変化するようにしてもよい。
【0088】
変形例(2)の決定部54は、仮想空間(例えば、ゲーム空間20)における視点(例えば、仮想カメラ32)の位置と移動対象(例えば、ボール30)の位置とに基づいて、特定部分(例えば、天辺領域44)の位置を変化させる。決定部54は、ボール30と仮想カメラ32との位置関係に応じて、天辺領域44の位置を変化させる。
【0089】
図14は、ゲーム画面40の一例を示す図である。
図14に示すように、仮想カメラ32が、ボール30を上から見下ろすような位置に設定されている場合、ボール30の天辺領域44の位置が変化する。天辺領域44は、ボール30の天辺付近(特定部分付近)がゲーム画面40に表れている領域であればよい。なお、天辺付近とは、ボール30の表面の領域のうち、天辺から所定距離以内の位置である。
【0090】
決定部54は、移動対象画像に対応する領域内(例えば、ゲーム画面40に表示されたボール30)にある接触位置Pが、当該変化された特定部分(例えば、天辺領域44)にあるか否かを判定する。接触位置Pが天辺領域44に含まれるか否かを判定する方法は、実施形態で説明した方法と同様である。
【0091】
変形例(2)によれば、ボール30と仮想カメラ32との位置関係に応じて天辺領域44を変化させることができるので、ボール30及び仮想カメラ32の現在の状態に応じて、より直感的な操作を、ユーザに提供することができる。特に、キャラクタ26(28)がボール30を蹴るゲームでは、ボール30の天辺を足の裏で転がすように移動させるための領域を変化させることで、ボール30と仮想カメラ32との位置関係が変わっても、直感的な操作を提供し続けることができる。
【0092】
(3)また例えば、実施形態では、ユーザがボール30が表示されている範囲をタッチすることで、ボール30を移動させる場合を説明したが、ユーザが行う操作は、これに限られない。例えば、ユーザがタッチパネル15上で指をスライドさせることで、ボール30が移動するようにしてもよい。
【0093】
変形例(3)の決定部54は、第1の接触位置及び第2の接触位置のうち、移動対象画像に対応する領域内(例えば、ゲーム画面40のボール30)にある接触位置Pの変化方向に基づいて、移動対象の軌道に関する情報を決定する。接触位置Pの変化方向とは、接触が解除されないまま接触位置Pが変化した場合の方向である。ここでは、接触位置条件は、接触位置Pの変化方向に関する条件を含む。例えば、接触位置条件は、接触位置Pの変化方向が所定方向を向いているか否かを示す。軌道特徴情報には、例えば、接触位置Pの変化方向に対応するゲーム空間40内の方向にボール30が移動するように定められている。
【0094】
例えば、決定部54は、接触位置Pが中心点42よりも右側であり、かつ、接触位置Pの変化方向が右向きである場合、ボール30の移動方向が基本移動方向よりも右向きになり、ボール30の回転数が高くなり、ボール30の回転方向が左回りになるように、ボール30の軌道に関する情報を決定する。
【0095】
また例えば、決定部54は、接触位置Pが中心点42よりも右側であり、かつ、接触位置Pの変化方向が左向きである場合、ボール30の移動方向が基本移動方向よりも左向きになり、ボール30の回転数が高くなり、ボール30の回転方向が右回りになるように、ボール30の軌道に関する情報を決定する。
【0096】
例えば、決定部54は、接触位置Pが中心点42よりも左側であり、かつ、接触位置Pの変化方向が左向きである場合、ボール30の移動方向が基本移動方向よりも左向きになり、ボール30の回転数が高くなり、ボール30の回転方向が右回りになるように、ボール30の軌道に関する情報を決定する。
【0097】
また例えば、決定部54は、接触位置Pが中心点42よりも左側であり、かつ、接触位置Pの変化方向が右向きである場合、ボール30の移動方向が基本移動方向よりも右向きになり、ボール30の回転数が高くなり、ボール30の回転方向が左回りになるように、ボール30の軌道に関する情報を決定する。
【0098】
変形例(3)によれば、ユーザによるスライド操作の方向に応じてボール30の軌道が変化するので、実際にボールを蹴るような直感的な操作をユーザに提供することができる。
【0099】
(4)また例えば、変形例(3)のようにユーザがスライド操作をすることで、ボール30を移動させる場合、ボール30の外側から内側にスライドさせたか、ボール30の内側のみでスライドさせたか、によって、ボール30の挙動が異なるようにしてもよい。
【0100】
変形例(4)の決定部54は、第1の接触位置及び第2の接触位置のうち、移動対象画像に対応する領域内(例えば、ゲーム画面40のボール30)にある接触位置Pが、当該領域外から当該領域内に移動することで当該領域内にある状態になったか否かを判定する。決定部54は、接触位置Pがボール30に含まれている場合、現時点よりも前の時点(例えば、現時点の所定時間前の時点)の接触位置Pがボール30の外であったか否かを判定する。即ち、例えば、決定部54は、接触の開始時点の接触位置Pがボール30の外であり、かつ、当該接触が解除されないまま接触位置Pがボール30の中に侵入したか否かを判定する。
【0101】
決定部54は、上記判定結果に基づいて、移動対象(例えば、ボール30)の軌道に関する情報を決定する。決定部54は、上記判定が肯定であった場合、ボール30の回転数が大きくなり、かつ、回転方向が操作対象から見て縦方向となるように、ボール30の軌道に関する情報を決定する。決定部54は、上記判定が否定であった場合、ボール30の回転数が小さくなり、かつ、回転方向が操作対象から見て横方向となるように、ボール30の軌道に関する情報を決定する。
【0102】
変形例(4)によれば、ユーザの接触位置Pがボール30が表示された範囲にある前の当該接触位置Pを考慮することで、例えば、ボール30を強く縦回転させるような直感的な操作をユーザに提供することができる。
【0103】
(5)また例えば、変形例(4)において、ユーザのスライド操作のスライド速度に基づいて、ボール30の回転具合が変わるようにしてもよい。
【0104】
変形例(5)の決定部54は、第1の接触位置及び第2の接触位置のうち、移動対象画像に対応する領域内(例えば、ゲーム画面40のボール30)にある接触位置Pが、当該領域外から当該領域内に移動した場合の移動速度(接触位置Pの変化速度)に基づいて、移動対象の軌道に関する情報を決定する。ここでは、接触位置条件は、接触位置Pの変化速度に関する条件を示し、例えば、接触位置Pの変化速度が基準以上であるか否かを示す。決定部54は、接触位置Pの変化速度が満たす条件に関連付けられた軌道特徴情報に基づいて、ボール30の軌道に関する情報を決定する。
【0105】
例えば、決定部54は、接触位置Pの変化速度が高くなるほど、ボール30の回転数が大きくなるように、ボール30の軌道に関する情報を決定する。また例えば、決定部54は、接触位置Pの変化速度が高くなるほど、ボール30の移動速度が速くなるように、ボール30の軌道に関する情報を決定する。
【0106】
変形例(5)によれば、接触位置Pの移動速度に応じてボール30の軌道を変化させることができるので、実際にボール30を強くキックするような直感的な操作をユーザに提供することができる。
【0107】
(6)また例えば、ユーザが複数の接触をした場合の各接触が開始された時間間隔に基づいて、ボール30の軌道が異なるようにしてもよい。
【0108】
変形例(6)の決定部54は、第1の接触位置及び第2の接触位置のうちの一方の接触位置が取得されてから他方の接触位置が取得されるまでの時間に関する情報を取得する。例えば、決定部54は、第1の接触が開始された時点から、第2の接触が開始された時点までの時間を計測する。
【0109】
決定部54は、上記取得された時間に関する情報に基づいて、移動対象の軌道に関する情報を決定する。ここでは、接触位置条件は、時間に関する条件を含み、例えば、第1の触が開始されてから第2の接触が開始された時間間隔が、基準以上であるか否かを示す。例えば、決定部54は、上記取得された時間が満たす条件に関連付けられた軌道特徴情報に基づいて、ボール30の軌道に関する情報を決定する。
【0110】
例えば、決定部54は、上記取得された時間が長くなるほど、ボール30の移動速度が速くなるように、ボール30の軌道に関する情報を決定する。なお、決定部54は、上記取得された時間が短くなるほど、ボール30の移動速度が速くなるように、ボール30の軌道に関する情報を決定するようにしてもよい。
【0111】
変形例(6)によれば、接触位置P及び接触位置Qが取得された時間に応じてボール30の軌道を変えることができるので、例えば、軸足を地面につけてから、力をためてボール30を蹴ったり、素早くボール30を蹴ったりするような直感的な操作をユーザに提供することができる。
【0112】
(7)また例えば、ボール30の軌道に関する情報の決定方法は、上記の例に限られない。決定部54は、接触位置Pと接触位置Qとに基づいて、ボール30の軌道に関する情報を決定するようにすればよい。例えば、軸足の役割を果たす接触位置Qが基準位置46A,46Bから離れすぎていた場合は、ボール30を蹴らせないようにしたり、ミスキックになったりするようにしてもよい。
【0113】
また例えば、実施形態では、S4の処理において、ボール30の位置に基づいて中心点42及び基準位置46A,46Bが設定される場合を説明したが、ゲーム画面40におけるボール30の表示位置が常に同じである場合は、S4の処理を実行しないようにしてもよい。例えば、別画面にボールのみが同じ位置に表示される場合、画面における中心点42や基準位置46A,46Bは変わらないので、この場合は、ボール30の位置に基づいて中心点42や基準位置46A,46Bが設定されずに、予め定められた位置が用いられるようにしてもよい。
【0114】
また例えば、ゲーム画面40に基準位置46A,46Bが設定される場合を説明したが、ゲーム空間20に基準位置が設定されるようにしてもよい。この場合、決定部54は、接触位置Qに対応するゲーム空間20内の位置と、ゲーム空間20内の基準位置と、に基づいて、ボール30の軌道に関する情報を決定する。なお、決定部54は、接触位置Qと、ゲーム空間20内の基準位置に対応するゲーム画面40内の位置と、に基づいて、ボール30の軌道に関する情報を決定するようにしてもよい。
【0115】
また例えば、ユーザの操作対象に応じて、接触位置条件が変化するようにしてもよい。例えば、ユーザの操作対象の利き足や能力値に応じて、接触位置条件が変化するようにしてもよい。また例えば、基本移動方向は、ボール30に関連付けられた方向であればよく、上記の例に限られない。例えば、ボール30の現在の移動方向が基本移動方向に相当するようにしてもよい。
【0116】
また例えば、基本移動速度が、ユーザの操作対象の能力値に基づいて決定される場合を説明したが、基本移動速度は、予め定められた速度であってもよい。また例えば、基本回転数が、予め定められた回転数である場合を説明したが、基本回転数は、ユーザの操作対象のパラメータに基づいて決定されるようにしてもよい。
【0117】
また例えば、ゲーム画面40にボール30を表示させないようにしてもよい。この場合、例えば、接触位置P及び接触位置Qのうち、先に取得された方が軸足の役割を果たし、後に取得された方が蹴り足の役割を果たすようにしてもよい。
【0118】
また例えば、ユーザがボール30に触れるとボール30が移動する場合を説明したが、ボール30を接触した後にスライドさせた場合にボール30を移動させるようにしてもよい。更に、ユーザがボール30又はフィールド22への接触を解除した場合に、ボール30が移動を開始するようにしてもよい。
【0119】
また例えば、上記においては、ボール30が移動対象に相当する場合を説明したが、移動対象は、これに限られない。仮想空間において移動するオブジェクトが、移動対象であればよい。また例えば、ゲーム空間20を、
図2に示すような3次元空間として説明したが、本発明に係るゲーム空間は、キャラクタ26(28)やボール30の位置等が、2つの座標要素で管理されるような2次元ゲーム空間であってもよい。
【0120】
また例えば、本発明は、サッカーゲーム以外のゲームを実行する携帯端末にも適用することができる。仮想空間において移動対象を移動させるゲームであればよく、例えば、サッカーゲーム以外のスポーツゲームを実行する携帯端末にも、本発明を適用することができる。他にも例えば、アクションゲーム、ロールプレイングゲーム等を実行する携帯端末にも適用することができる。また、ゲームに限られず、現実世界での移動物体のシミュレーションにも、本発明に係る移動制御を適用することができる。
【0121】
また例えば、本発明に係る移動制御装置は、携帯端末以外の種々のコンピュータにも適用することができる。例えば、ユーザが操作する端末にネットワーク接続されたサーバ装置が、移動制御装置に相当するようにしてもよい。この場合、ユーザが操作する端末では、主に、ユーザによる操作の検出及び画面の表示が行われ、サーバ装置において、各機能ブロックが実現される。
【0122】
また例えば、ユーザが人差指と中指を使って操作を行う場合を説明したが、タッチパネル15に触れるのは、人差指と中指に限られない。ユーザは、ユーザ自身又はユーザが把持する物体を用いてタッチパネル15に触れるようにすればよい。他にも例えば、ユーザは、両手の指を使ってタッチパネル15に触れるようにしてもよい。
【0123】
[6.発明のまとめ]
以上のような記載から、本発明は例えば以下のように把握される。
本発明に係る移動制御装置(10)は、仮想空間において移動対象を移動させる移動制御装置(10)であって、タッチパネル上の第1の接触位置及び第2の接触位置を取得する取得手段(52)と、前記取得された第1の接触位置と、前記取得された第2の接触位置と、に基づいて、前記移動対象の軌道に関する情報を決定する決定手段(54)と、前記決定手段(54)により決定された軌道に関する情報に基づいて、前記仮想空間において前記移動対象を移動させる移動制御手段(56)と、を含むことを特徴とする。
【0124】
本発明に係る移動制御方法は、仮想空間において移動対象を移動させる移動制御方法であって、タッチパネル上の第1の接触位置及び第2の接触位置を取得する取得ステップ(52)と、前記取得された第1の接触位置と、前記取得された第2の接触位置と、に基づいて、前記移動対象の軌道に関する情報を決定する決定ステップ(54)と、前記決定ステップ(54)により決定された軌道に関する情報に基づいて、前記仮想空間において前記移動対象を移動させる移動制御ステップ(56)と、を含むことを特徴とする。
【0125】
本発明に係るプログラムは、仮想空間において移動対象を移動させるコンピュータを、タッチパネル上の第1の接触位置及び第2の接触位置を取得する取得手段(52)、前記取得された第1の接触位置と、前記取得された第2の接触位置と、に基づいて、前記移動対象の軌道に関する情報を決定する決定手段(54)、前記決定手段(54)により決定された軌道に関する情報に基づいて、前記仮想空間において前記移動対象を移動させる移動制御手段(56)、として機能させる。
【0126】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【0127】
また、本発明の一態様では、前記タッチパネルは、前記移動対象を表す移動対象画像が表示された表示画面に重畳するようにして設けられ、前記決定手段(54)は、前記第1の接触位置及び前記第2の接触位置のうち、一方が前記移動対象画像に対応する領域内にあり、他方が当該領域外にある場合の前記第1の接触位置と前記第2の接触位置とに基づいて、前記移動対象の軌道に関する情報を決定する、ことを特徴とする。当該態様によれば、タッチパネル全体のうちでユーザが接触すべき領域が分かりやすくなる。
【0128】
また、本発明の一態様では、前記決定手段(54)は、前記第1の接触位置及び前記第2の接触位置のうち、前記移動対象画像に対応する領域外にある接触位置と、前記移動対象に関連付けられた前記表示画面又は前記仮想空間内の基準位置と、に基づいて、前記移動対象の軌道に関する情報を決定する、ことを特徴とする。当該態様によれば、基準位置を用いることで、仮想空間において移動対象を移動させるための操作を簡単にしつつ、多様化することができる。
【0129】
また、本発明の一態様では、前記決定手段(54)は、前記移動制御手段(56)により前記移動対象の移動が開始する場合に、前記第1の接触位置及び前記第2の接触位置のうち、前記移動対象画像に対応する領域外にある方の接触が解除されたか否かを判定する手段を含み、当該手段の判定結果に基づいて、前記移動対象の軌道に関する情報を決定する、ことを特徴とする。当該態様によれば、より直感的な操作をユーザに提供することができる。
【0130】
また、本発明の一態様では、前記決定手段(54)は、前記第1の接触位置及び前記第2の接触位置のうち、前記移動対象画像に対応する領域内にある接触位置の当該領域内での位置に基づいて、前記移動対象の軌道に関する情報を決定する、ことを特徴とする。当該態様によれば、接触位置の上記領域内での位置を考慮することで、移動対象を移動させる際の指示を多様化することができる。
【0131】
また、本発明の一態様では、前記決定手段(54)は、前記第1の接触位置及び前記第2の接触位置のうち、前記移動対象画像に対応する領域内にある接触位置が当該領域内の特定部分にあるか否かを判定する手段を含み、当該手段の判定結果に基づいて、前記移動対象の軌道に関する情報を決定する、ことを特徴とする。当該態様によれば、特定部分を用いることで、移動対象を移動させる際の指示を多様化することができる。
【0132】
また、本発明の一態様では、前記表示画面には、前記仮想空間に配置された視点から前記仮想空間を見た様子を表す画像が表示され、前記移動対象画像は、前記視点の視野に含まれる前記移動対象を表し、前記決定手段(54)は、前記仮想空間における前記視点の位置と前記移動対象の位置とに基づいて、前記特定部分の位置を変化させる手段を含み、前記移動対象画像に対応する領域内にある接触位置が、当該変化された特定部分にあるか否かを判定する、ことを特徴とする。当該態様によれば、視点の位置と移動対象の位置と現在の関係に応じて直感的な操作をユーザに提供することができる。
【0133】
また、本発明の一態様では、前記決定手段(54)は、前記第1の接触位置及び前記第2の接触位置のうち、前記移動対象画像に対応する領域内にある接触位置の変化方向に基づいて、前記移動対象の軌道に関する情報を決定する、ことを特徴とする。当該態様によれば、接触位置の変化方向に基づいて軌道が変化するので、より直感的な操作をユーザに提供することができる。
【0134】
また、本発明の一態様では、前記決定手段(54)は、前記第1の接触位置及び前記第2の接触位置のうち、前記移動対象画像に対応する領域内にある接触位置が、当該領域外から当該領域内に移動することで当該領域内にある状態になったか否かを判定する手段を含み、当該手段の判定結果に基づいて、前記移動対象の軌道に関する情報を決定する、ことを特徴とする。当該態様によれば、接触位置が上記領域内にある前の接触位置を用いることで、より直感的な操作をユーザに提供することができる。
【0135】
また、本発明の一態様では、前記決定手段(54)は、前記第1の接触位置及び前記第2の接触位置のうち、前記移動対象画像に対応する領域内にある接触位置が、当該領域外から当該領域内に移動した場合の移動速度に基づいて、前記移動対象の軌道に関する情報を決定する、ことを特徴とする。当該態様によれば、接触位置の移動速度を用いることで、より直感的な操作をユーザに提供することができる。
【0136】
また、本発明の一態様では、前記決定手段(54)は、前記第1の接触位置及び前記第2の接触位置のうちの一方の接触位置が取得されてから他方の接触位置が取得されるまでの時間に関する情報を取得する手段を含み、当該取得された時間に関する情報に基づいて、前記移動対象の軌道に関する情報を決定する、ことを特徴とする。当該態様によれば、接触位置が取得された時間を用いることで、より直感的な操作をユーザに提供することができる。
【0137】
また、本発明の一態様では、前記移動対象の軌道に関する情報は、前記移動対象の移動方向、移動速度、及び回転の少なくとも一つに関する情報を含み、前記決定手段(54)は、前記取得された第1の接触位置と、前記取得された第2の接触位置と、に基づいて、前記移動対象の移動方向、移動速度、及び回転の少なくとも一つに関する情報を決定し、前記移動制御手段(56)は、前記決定手段(54)により決定された前記移動対象の移動方向、移動速度、及び回転の少なくとも一つに関する情報に基づいて、前記仮想空間において前記移動対象を移動させる、ことを特徴とする。当該態様によれば、移動対象の移動方向、移動速度、及び回転の少なくとも一つを変化させるための操作を簡単にすることができる。
【0138】
なお、上記では、本発明の理解を容易にするため図面に記載の符号を括弧書きで記載しているが、これにより本発明に係る移動制御装置等が図示の態様に限定されるものではない。