(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
<<第1の実施形態>>
<概要>
本実施形態の処理装置は、基準位置とタッチ位置とに基づき決定した方向にキャラクターを移動させるゲーム制御を行う。そして、本実施形態の処理装置は、ある方向に移動中のキャラクターの移動方向を変更させる場合に行うべきタッチ操作が直感的に把握しやすくなる機能を備える。
図1を用いて処理装置の機能を簡単に説明する。
【0013】
図1の点Sが基準位置であり、点Nが現在のタッチ位置である。この場合、処理装置は、キャラクターCを点Sから点Nに向かう方向(図中上方向)に移動させる。なお、キャラクターCの表示位置を図中上方向に移動させてもよいし、キャラクターCの表示位置を固定したまま背景をスクロールして、キャラクターCが図中上方向に移動しているように見せてもよい。
【0014】
そして、処理装置は、基準位置変更条件を満たすタッチ操作を受付けると、当該タッチ操作に応じて基準位置を変更する。例えば、点Nにおけるタッチが継続され、キャラクターCが点Sから点Nに向かう方向(図中上方向)への移動を継続している時に、タッチ位置を点Nから点M
2にスライドさせるタッチ操作を受付けたとする。そして、当該タッチ操作が基準位置変更条件を満たしたとする。この場合、処理装置は、当該タッチ操作に応じて基準位置を点Sから点Nに変更する。そして、処理装置は、新たな基準位置である点Nから現在のタッチ位置である点M
2に向かう方向にキャラクターCを移動させる。このような処理装置の機能によれば、ある方向に移動中のキャラクターCの変更後の移動方向と、タッチ位置のスライド方向とが一致するため(いずれも、点Nから点M
2に向かう方向)、実行すべきタッチ操作を直感的に把握しやすくなる。
【0015】
<構成>
次に、本実施形態の処理装置の構成を詳細に説明する。
【0016】
まず、処理装置のハードウエア構成の一例について説明する。処理装置は、タッチパネルを備えたコンピュータ装置であり、例えばスマートフォン、タブレット、携帯ゲーム機、パソコンなどである。
【0017】
図2は、処理装置のハードウエア構成を例示するブロック図である。
図2に示すように、処理装置は、プロセッサ1A、メモリ2A、入出力インターフェイス3A、周辺回路4A、バス5A、タッチパネル6A、通信部7Aなどを有する。周辺回路4Aには、様々なモジュールが含まれる。なお、周辺回路4Aを有さなくてもよい。
【0018】
バス5Aは、プロセッサ1A、メモリ2A、周辺回路4A及び入出力I/F(インターフェイス)3Aが相互にデータを送受信するためのデータ伝送路である。プロセッサ1Aは、例えばCPU(Central Processing Unit)やGPU(Graphics Processing Unit)などの演算処理装置である。メモリ2Aは、例えばRAM(Random Access Memory)やROM(Read Only Memory)などのメモリである。入出力I/F3Aには、入力装置(例:タッチパネル6A、マイク、物理ボタンなど)や、出力装置(例:タッチパネル6A、スピーカなど)や、インターネットなどのネットワークに接続するための通信部7Aなどが接続される。プロセッサ1Aは、各モジュールに指令を出し、それらの演算結果をもとに演算を行うことができる。
【0019】
タッチパネル6Aは、画像を表示するディスプレイと、位置入力センサとにより構成される。タッチパネル6Aに対してタッチ操作がなされると、位置入力センサはタッチされた位置に基づいた信号(検出結果)を出力する。タッチパネル6Aから出力された信号は、入出力I/F3Aを介してプロセッサ1Aに入力される。プロセッサ1Aは、タッチパネル6Aから出力された信号を任意の座標平面上の座標に変換するプログラムを実行し、タッチパネル6Aから出力された信号を上記座標平面上の座標に変換する。上記座標平面は、例えば、タッチパネル6Aのタッチされる面上の任意の点を原点とし、当該面と平行な任意の方向にX軸及びY軸を定めた2次元座標系である。位置入力センサは、静電容量式又は抵抗膜式などが例示される。
【0020】
ここで、タッチ操作とは、物体(例:指)を位置入力センサに接触又は近接させて物体の接触又は近接を位置入力センサに検出させたり、物体を位置入力センサに接触又は近接させた状態を維持したまま物体を位置入力センサに接触又は近接させる位置を変更したり、物体を位置入力センサから離して位置入力センサによる検出を解除したりする操作をいう。以降、タッチ操作により検出された位置に基づき特定された座標を「タッチ座標」といい、タッチ座標で特定される位置を「タッチ位置」という。
【0021】
次に、処理装置の機能構成を説明する。
図3に、処理装置10の機能ブロック図の一例を示す。図示するように、処理装置10は、タッチ情報取得部11と、基準位置管理部12と、オブジェクト制御部13と、基準タッチ継続位置管理部14と、角度条件判定部15とを有する。
【0022】
処理装置が備えるこれらの機能部は、プロセッサ1A、メモリ2A、入出力I/F3A、入出力I/F3Aに接続されたモジュール(タッチパネル6A、通信部7Aなど)などのハードウエアと、内蔵メモリ(ROM、ハードディスクなど)に格納され、RAMなどにロードされるプログラム(ソフトウエア)との任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。なお、内蔵メモリに格納されるプログラムは、あらかじめ処理装置の出荷段階から格納されているプログラムのほか、インターネット上のサーバなどからダウンロードされたプログラムなども含む。これらの前提は、以下の実施形態も同様である。
【0024】
タッチ情報取得部11は、タッチパネル6Aから位置入力センサの検出結果を取得し、タッチパネル6Aに対するタッチの有無、及び、タッチパネル6A上のタッチ位置に対応する座標平面上の座標(タッチ座標)を示すタッチ情報を所定時間毎に生成する。
【0025】
具体的には、タッチ情報取得部11は、所定時間毎に、タッチパネル6Aに対するタッチ操作の有無を検出し、タッチ操作があった場合にはそのタッチ位置(タッチ座標)をさらに検出する。所定時間は設計的事項である。例えば、タッチ情報取得部11は、フレーム毎に(1フレーム毎に)上記検出を行い、タッチ情報を生成してもよいし、数フレーム毎に上記検出を行い、タッチ情報を生成してもよい。なお、フレームレートが60fpsなら1フレームは1/60秒に相当し、30fpsなら1フレームは1/30秒に相当する。
【0026】
図4に、タッチ情報取得部11が取得したタッチ情報の一例を模式的に示す。図示する例では、タッチの有無を示す情報及びタッチ座標を示す情報を含むタッチ情報が時系列順(取得順)に並んでいる。なお、
図4とは異なる例として、タッチ情報はタッチの有無を示す情報を含まず、タッチ座標を示す情報のみを含んでもよい。この場合、タッチ座標を示す情報に基づき、タッチの有無を判定することができる。すなわち、タッチ座標を示す情報が、タッチの有無及びタッチ座標の両方を示す。
【0027】
図3に戻り、基準タッチ継続位置管理部14は、タッチパネル6Aに対するタッチ有を示すタッチ情報の取得が継続している間、その間にタッチ継続時間が設定条件を満たした座標平面上の位置である基準タッチ継続位置の座標を管理する。本実施形態において「管理」は登録、更新及びクリア(消去)を意味する。
【0028】
設定条件は、「タッチ継続時間が参照時間を超えること」である。基準タッチ継続位置管理部14は、基準タッチ継続位置の座標を更新する場合に、新たに基準タッチ継続位置として登録される座標においてタッチが継続した時間(タッチ継続時間)を参照時間として登録する。そして、基準タッチ継続位置管理部14は、タッチ継続時間が参照時間を超えた座標を新たに検出すると、基準タッチ継続位置の座標を新たに検出した座標に更新するとともに、参照時間を新たに検出した座標においてタッチが継続した時間(タッチ継続時間)に更新する。
【0029】
また、基準タッチ継続位置管理部14は、タッチパネル6Aに対するタッチ無を示すタッチ情報の取得に応じて、基準タッチ継続位置の座標及び参照時間をクリアする。
【0030】
ここで、
図5のフローチャートを用いて、基準タッチ継続位置管理部14による処理の流れの一例を説明する。基準タッチ継続位置管理部14は、例えばタッチ情報取得部11により新たなタッチ情報が取得される毎に
図5のフローを実行することができる。
【0031】
なお、基準タッチ継続位置管理部14は、
図6に示す基準タッチ継続位置情報と継続中タッチ位置情報とを管理するものとする。基準タッチ継続位置情報は、基準タッチ継続位置の座標と上述した参照時間T
kとを含む。継続中タッチ位置情報は、その時点でタッチが継続されている位置(継続中タッチ位置)の座標とその位置でタッチが継続されている継続時間T
rとを含む。なお、参照時間T
k及び継続時間T
rは、分、秒などの時間の単位で示されてもよいし、フレーム数で示されてもよい。
【0032】
図5に戻り、タッチ情報取得部11が新たなタッチ情報を取得すると、基準タッチ継続位置管理部14は、そのタッチ情報がタッチパネル6Aに対するタッチ有を示すタッチ情報か否かを判定する(S401)。
【0033】
タッチパネル6Aに対するタッチ有を示すタッチ情報である場合(S401のYes)、基準タッチ継続位置管理部14は、その時点で基準タッチ継続位置の座標、及び、継続中タッチ位置の座標が登録されているか判定する(S402)。
【0034】
基準タッチ継続位置の座標、及び、継続中タッチ位置の座標が登録されていない場合(S402のNo)、基準タッチ継続位置管理部14は、タッチ情報で示されるタッチ位置の座標を、基準タッチ継続位置の座標、及び、継続中タッチ位置の座標として登録する(S408)。また、基準タッチ継続位置管理部14は、参照時間T
k及び継続時間T
rとして1フレーム又は1フレーム分の時間を登録する。そして、基準タッチ継続位置管理部14は処理を終了する。
【0035】
一方、基準タッチ継続位置の座標、及び、継続中タッチ位置の座標が登録されている場合(S402のYes)、基準タッチ継続位置管理部14は、継続中タッチ位置の座標と、タッチ情報で示されるタッチ位置の座標とを比較し、タッチ位置が継続しているか否かを判定する(S403)。例えば、基準タッチ継続位置管理部14は、継続中タッチ位置の座標とタッチ情報で示されるタッチ位置の座標とが一致する場合、又は、継続中タッチ位置の座標とタッチ情報で示されるタッチ位置の座標との間の距離が基準値以下である場合、タッチ位置が継続していると判定することができる。
【0036】
タッチ位置が継続していると判定した場合(S403のYes)、基準タッチ継続位置管理部14は、継続時間T
rを更新する(S404)。例えば、基準タッチ継続位置管理部14は、継続時間T
rとして登録されているフレーム数に1を加算したり、継続時間T
rとして登録されている時間に1フレーム分の時間を加算したりする。
【0037】
次いで、基準タッチ継続位置管理部14は、継続時間T
rが参照時間T
kより大きいか判定する(S405)。継続時間T
rが参照時間T
kより大きい場合(S405のYes)、基準タッチ継続位置管理部14は、基準タッチ継続位置の座標を継続中タッチ位置の座標に更新する(S406)。また、基準タッチ継続位置管理部14は、参照時間T
kを継続時間T
rに更新する。そして、基準タッチ継続位置管理部14は処理を終了する。
【0038】
一方、継続時間T
rが参照時間T
kより大きくない場合(S405のNo)、基準タッチ継続位置管理部14は処理を終了する。
【0039】
また、タッチ位置が継続していないと判定した場合(S403のNo)、基準タッチ継続位置管理部14は、継続中タッチ位置の座標を、タッチ情報で示されるタッチ位置の座標に更新する(S407)。また、基準タッチ継続位置管理部14は、継続時間T
rを、1フレーム又は1フレーム分の時間に更新する。そして、基準タッチ継続位置管理部14は処理を終了する。
【0040】
また、タッチパネル6Aに対するタッチ無を示すタッチ情報である場合(S401のNo)、基準タッチ継続位置管理部14は、その時点で基準タッチ継続位置の座標、及び、継続中タッチ位置の座標が登録されているか判定する(S409)。基準タッチ継続位置の座標、及び、継続中タッチ位置の座標が登録されていない場合(S409のNo)、基準タッチ継続位置管理部14は処理を終了する。
【0041】
一方、基準タッチ継続位置の座標、及び、継続中タッチ位置の座標が登録されている場合(S409のYes)、基準タッチ継続位置管理部14は、基準タッチ継続位置の座標、継続中タッチ位置の座標、参照時間T
k及び継続時間T
rをクリアする(S410)。そして、基準タッチ継続位置管理部14は処理を終了する。
【0042】
図3に戻り、基準位置管理部12は、座標平面上に設定された基準位置の座標を管理する。
【0043】
例えば、基準位置管理部12は、タッチパネル6Aに対するタッチ無を示すタッチ情報の直後に取得されたタッチパネル6Aに対するタッチ有を示すタッチ情報で示されるタッチ位置の座標、又は、当該座標に基づき決定した他の座標(例:タッチ位置の周辺の任意の座標など)を、基準位置の座標として登録することができる。すなわち、基準位置管理部12は、タッチパネル6Aに対するタッチがなされていない状態から初めてタッチされた位置又はそのタッチ位置に基づき決定した位置を、基準位置として登録することができる。
【0044】
そして、基準位置管理部12は、タッチパネル6Aに対するタッチ無を示すタッチ情報の取得に応じて、基準位置の座標をクリアすることができる。すなわち、基準位置管理部12は、タッチパネル6Aに対するタッチがなされていない状態になると、その時点で登録されていた基準位置の座標をクリアし、基準位置が登録されていない状態にすることができる。
【0045】
また、基準位置管理部12は、タッチ情報で示されるタッチ位置、基準タッチ継続位置及び基準位置が基準位置変更条件を満たす場合、基準位置の座標を、基準タッチ継続位置の座標に更新する。本実施形態の基準位置変更条件は、タッチ情報で示されるタッチ位置、基準タッチ継続位置及び基準位置が角度条件を満たすこと、具体的には、タッチ情報で示されるタッチ位置と基準タッチ継続位置と基準位置とで定まる角度が角度条件を満たすことである。タッチ情報で示されるタッチ位置、基準タッチ継続位置及び基準位置が角度条件を満たすか否かの判定は、後述する角度条件判定部15が行う。
【0046】
変形例として、基準位置管理部12は、予め記憶されていた初期基準位置の座標を基準位置の座標として登録してもよい。そして、基準位置管理部12は、上記角度条件を満たすタッチ操作に応じて、基準位置の座標を更新してもよい。
【0047】
ここで、
図7のフローチャートを用いて、基準位置管理部12よる処理の流れの一例を説明する。基準位置管理部12は、例えばタッチ情報取得部11により新たなタッチ情報が取得される毎に
図7のフローを実行することができる。
【0048】
なお、基準位置管理部12は、
図6に示す基準位置情報を管理するものとする。基準位置情報は、基準位置の座標を含む。
【0049】
図7に戻り、タッチ情報取得部11が新たなタッチ情報を取得すると、基準位置管理部12は、そのタッチ情報がタッチパネル6Aに対するタッチ有を示すタッチ情報か否かを判定する(S201)。
【0050】
タッチパネル6Aに対するタッチ有を示すタッチ情報である場合(S201のYes)、基準位置管理部12は、その時点で基準位置の座標が登録されているか判定する(S202)。
【0051】
基準位置の座標が登録されていない場合(S202のNo)、基準位置管理部12は、タッチ情報で示されるタッチ位置の座標を、基準位置の座標として登録し(S205)、処理を終了する。
【0052】
一方、基準位置の座標が登録されている場合(S202のYes)、基準位置管理部12は、角度条件判定部15の判定結果が「角度条件を満たすか否か」を判定する(S203)。判定結果が角度条件を満たすである場合(S203のYes)、基準位置管理部12は、基準位置の座標を、基準タッチ継続位置の座標に更新し(S204)、処理を終了する。判定結果が角度条件を満たさないである場合(S203のNo)、基準位置管理部12は処理を終了する。
【0053】
また、タッチパネル6Aに対するタッチ無を示すタッチ情報である場合(S201のNos)、基準位置管理部12は、その時点で基準位置の座標が登録されているか判定する(S206)。基準位置の座標が登録されていない場合(S206のNo)、基準位置管理部12は処理を終了する。
【0054】
一方、基準位置の座標が登録されている場合(S206のYes)、基準位置管理部12は基準位置の座標をクリアし(S207)、処理を終了する。
【0055】
図3に戻り、角度条件判定部15は、タッチ情報で示されるタッチ位置と、基準タッチ継続位置と、基準位置とで定まる角度が角度条件を満たすか判定する。
図8を用いて、当該判定について説明する。図示する点Sが基準位置であり、点Kが基準タッチ継続位置であり、点Nがタッチ情報で示される現在のタッチ位置である。
【0056】
現在のタッチ位置(点N)と基準タッチ継続位置(点K)と基準位置(点S)とで定まる角度は、∠点K点N点Sの角度、∠点K点S点Nの角度、∠点N点K点Sの角度等が例示される。角度条件判定部15は、例えば、図示する∠点K点N点Sの角度が所定の角度条件を満たすか判定してもよい。すなわち、角度条件判定部15は、現在のタッチ位置(点N)と基準タッチ継続位置(点K)とを結ぶ直線と、現在のタッチ位置(点N)と基準位置(点S)とを結ぶ直線とのなす角θが角度条件を満たすか判定してもよい。角度条件は、「θ
1度以上、θ
2度以下」のように角度で定めてもよい。その他、角度条件は、三角比(正弦、余弦等)の値で「α
1以上α
2以下」のように定めてもよい。
【0057】
図3に戻り、オブジェクト制御部13は、タッチ情報で示されるタッチ位置の座標と、基準位置の座標とに基づき決定した移動方向に、画面表示されたオブジェクト(例:キャラクター)を移動させる。オブジェクト制御部13は、基準位置の座標を始点とし、タッチ情報で示されるタッチ位置の座標を終点とするベクトル(2点間のベクトル)を算出する。そして、オブジェクト制御部13は、そのベクトルが示す方向を、オブジェクトを移動させる方向として決定する。また、オブジェクト制御部13は、そのベクトルが示す大きさに応じて、オブジェクトを移動させる速さを決定することができる。
【0058】
ここで、
図9のフローチャートを用いて、オブジェクト制御部13による処理の流れの一例を説明する。オブジェクト制御部13は、例えばタッチ情報取得部11により新たなタッチ情報が取得される毎に
図9のフローを実行することができる。
【0059】
タッチ情報取得部11が新たなタッチ情報を取得すると、オブジェクト制御部13は、そのタッチ情報がタッチパネル6Aに対するタッチ有を示すタッチ情報か否かを判定する(S301)。タッチパネル6Aに対するタッチ無を示すタッチ情報である場合(S301のNo)、オブジェクト制御部13はオブジェクトを移動させないまま処理を終了する。
【0060】
一方、タッチパネル6Aに対するタッチ有を示すタッチ情報である場合(S301のYes)オブジェクト制御部13は、基準位置の座標を始点とし、タッチ情報で示されるタッチ位置の座標を終点とするベクトルを算出する(S302)。そして、オブジェクト制御部13は、当該ベクトルが示す方向を、オブジェクトを移動させる方向として決定する(S303)。また、オブジェクト制御部13は、そのベクトルが示す大きさに応じて、オブジェクトを移動させる速さを決定する。
【0061】
次いで、オブジェクト制御部13は、決定した方向に決定した速さでオブジェクトを移動させるように、画面表示を制御する(S304)。
【0062】
なお、変形例として、オブジェクト制御部13は、基準位置の座標を始点とし、タッチ情報で示されるタッチ位置の座標を終点とする方向を算出し、算出した方向を、オブジェクトを移動させる方向として決定してもよい、すなわち、上述した例のようにベクトルを算出しなくてもよい。この場合のオブジェクトの移動速度は、予め定められた所定の速度で固定(常に一定)であってもよい。その他、「移動開始直後の数フレームの間は第1の速度を移動速度とし、移動開始から数フレーム経過後は第2の速度を移動速度とする」のように、オブジェクトの移動速度を移動開始タイミングからの経過時間に応じて変化させてもよい。
【0063】
次に、
図10のフローチャートを用いて、処理装置10の処理の流れの一例を説明する。処理装置10は、所定時間毎に、例えば1フレーム毎に、新たなタッチ情報を取得する。新たなタッチ情報を取得すると(S100のYes)、処理装置10は、基準位置管理処理を実行する(S200)。基準位置管理処理は基準位置管理部12により実行される処理であり、例えば
図7のフローチャートで示される。その後、処理装置10は、オブジェクト制御処理を実行する(S300)。オブジェクト制御処理はオブジェクト制御部13により実行される処理であり、例えば
図9のフローチャートで示される。その後、処理装置10は、基準タッチ継続位置管理処理を実行する(S400)。基準タッチ継続位置管理処理は基準タッチ継続位置管理部14により実行される処理であり、例えば
図5のフローチャートで示される。なお、S300のオブジェクト制御処理とS400の基準タッチ継続位置管理処理の処理順は逆であってもよい。
【0064】
<作用効果>
以上説明した処理装置10は、角度条件を満たすタッチ操作を受付けると、基準位置の座標を基準タッチ継続位置の座標に更新することができる。例えば、
図1に示すように点Nにおけるタッチが継続され、キャラクターCが基準位置である点Sから点Nに向かう方向(図中上方向)への移動を継続している時に、タッチ位置を点Nから点M
2にスライドさせるタッチ操作(角度条件を満たすタッチ操作)を受付けると、処理装置10は、基準位置を点Sから点Nに変更する。そして、処理装置10は、新たな基準位置である点Nから現在のタッチ位置である点M
2に向かう方向にキャラクターCを移動させる。
【0065】
このように、処理装置10によれば、第1の方向に移動中のキャラクターの移動方向を第2の方向に変更させる場合に実行すべきタッチ操作は、タッチ位置を第2の方向にスライドさせる操作となる。キャラクターの変更後の移動方向と、タッチ位置のスライド方向とが一致するため、実行すべきタッチ操作が直感的に把握しやすくなる。
【0066】
また、基準タッチ継続位置の座標を利用する処理装置10によれば、次のような作用効果が得られる。
【0067】
まず、
図11に示す状況を想定する。
図11は、点Nにおけるタッチを一定時間継続し、点Sから点Nに向かう方向へのキャラクターCの移動を継続した後、キャラクターCの移動方向を図中右方向に変更するために、タッチ位置を図中右方向にスライドさせるタッチ操作を行った場面を示す。しかし、静の状態(点Nでのタッチを継続する状態)から動の状態(点Nから図中右方向にタッチ位置をスライドさせる状態)に急激に変わるタッチ操作のため、当該タッチ操作を滑らかに実行できず、本来は点Nから点M
2にスライドさせたかったにも関わらず、点Nから点M
2´にスライドした後に、点M
2にスライドするという状況になったとする。
【0068】
このような状況で入力された点M
2´は、プレイヤが意図せずタッチした位置であり、このような位置の座標を基準位置の座標として登録すると、キャラクターCの変更後の移動方向がプレイヤの意図しないものとなり易い。これに対し、安定的に長時間タッチされていた基準タッチ継続位置の座標(
図11の場合、点Nの座標)を基準位置の座標とする処理装置10によれば、上述のようなタッチ操作のミスがあっても、キャラクターCの変更後の移動方向がプレイヤの意図したものとなり易い。
【0069】
また、上述のような点M
2´と点M
2と基準位置(点S)とで定まる角度は、プレイヤが意図せずタッチした位置である点M
2´を含むため、プレイヤの意図しない角度となり易い。これに対し、安定的に長時間タッチされていた基準タッチ継続位置(
図11の場合、点N)と点M
2と基準位置(点S)とで定まる角度は、プレイヤの意図した角度となり易い。
【0070】
このように、基準タッチ継続位置の座標を利用することで、プレイヤの意図通りの入力を受付け、プレイヤの意図通りの結果に導くことができる。
【0071】
<<第2の実施形態>>
<概要>
本実施形態の処理装置10は、第1の実施形態で説明した角度条件に加えて、距離条件を満たすタッチ操作を受付けた場合に、基準位置の座標を基準タッチ継続位置の座標に更新する点で、第1の実施形態と異なる。以下、詳細に説明する。
【0072】
<構成>
処理装置10のハードウエア構成の一例は、第1の実施形態と同様である。
【0073】
図12に、処理装置10の機能ブロック図の一例を示す。図示するように、処理装置10は、タッチ情報取得部11と、基準位置管理部12と、オブジェクト制御部13と、基準タッチ継続位置管理部14と、角度条件判定部15と、距離条件判定部16とを有する。タッチ情報取得部11、オブジェクト制御部13、基準タッチ継続位置管理部14及び角度条件判定部15の構成は、第1の実施形態と同様である。
【0074】
距離条件判定部16は、第1のタッチ情報で示される第1のタッチ位置(現在のタッチ位置)と、第1のタッチ情報の直前に取得された第2のタッチ情報で示される第2のタッチ位置との間の距離(座標間の距離)が、距離条件を満たすか判定する。なお、距離条件判定部16は、第1のタッチ情報で示される第1のタッチ位置と、基準タッチ継続位置との間の距離が、距離条件を満たすか判定してもよい。距離条件は、「距離が基準値以上」である。
【0075】
本実施形態の基準位置変更条件は、第1のタッチ位置、基準タッチ継続位置及び基準位置が角度条件を満たし、かつ、第1のタッチ位置と、第2のタッチ位置又は基準タッチ継続位置との間の距離が距離条件を満たすことである。基準位置管理部12は、第1のタッチ位置、基準タッチ継続位置及び基準位置がこのような基準位置変更条件を満たす場合、基準位置の座標を基準タッチ継続位置の座標に更新する。基準位置管理部12のその他の構成は、第1の実施形態と同様である。
【0076】
ここで、
図13のフローチャートを用いて、本実施形態の基準位置管理部12の処理の流れの一例を示す。
図13のフローチャートは、第1の実施形態で説明した
図7のフローチャートと比較して、S203の内容が異なる。すなわち、
図7のフローチャートでは、S203において、基準位置管理部12は、タッチ情報で示されるタッチ位置と基準タッチ継続位置と基準位置とで定まる角度が角度条件を満たすと判定されたか否かを判定している。これに対し、
図13のフローチャートでは、S203において、基準位置管理部12は、タッチ情報で示されるタッチ位置と基準タッチ継続位置と基準位置とで定まる角度が角度条件を満たすと判定され、かつ、タッチ情報で示されるタッチ位置と直前に取得されたタッチ情報で示されるタッチ位置との距離が距離条件を満たすと判定されたか否かを判定している。なお、「直前に取得されたタッチ情報で示されるタッチ位置」を「基準タッチ継続位置」に置き換えてもよい。
【0077】
本実施形態の処理装置10の処理の流れの一例は、
図10のフローチャートを用いて第1の実施形態で説明した処理装置10の処理の流れの一例と同様である。
【0078】
<作用効果>
以上説明した処理装置10によれば、第1の実施形態と同様な作用効果を実現できる。
【0079】
ところで、タッチ位置を厳密に同じ位置で維持させるのは困難であるため、タッチ位置のわずかなずれは生じ得る。このため、例えば、
図14に示すように点Sから点Nに向かう方向(図中上方向)へのキャラクターCの移動を継続させるために、点Nにおけるタッチを継続する場合においても、タッチ位置のずれが生じ得る。そして、ずれる前のタッチ位置とずれた後のタッチ位置とが第1の実施形態で説明した角度条件を満たし得る。
【0080】
このような、プレイヤの意図しないタッチ位置のずれに応じて基準位置を更新し、キャラクターの移動方向を大きく変更してしまうと、キャラクターCがプレイヤの意図しない動きを行ってしまう。距離条件の判定を加えた本実施形態の処理装置10によれば、このような問題を解消できる。
【0081】
また、距離条件を加えることで、プレイヤは、キャラクターの移動方向をわずかにずらすタッチ操作と、キャラクターの移動方向を大きく変更するタッチ操作とを区別して行うことができる。
【0082】
例えば、
図14に示すように点Nにおけるタッチを継続し、キャラクターCが基準位置である点Sから点Nに向かう方向(図中上方向)への移動を継続している時に、キャラクターCの移動方向をわずかにずらしたい場合には、
図15に示すように、距離条件を満たさないようにタッチ位置を小さくスライドさせればよい(点N→点M
2)。このタッチ操作が角度条件を満たしても、距離条件を満たさなければ、基準位置は点Sのままで維持される。このため、当該タッチ操作に応じて、キャラクターCの移動方向は、点Sから点Nに向かう方向から、点Sから点M
2に向かう方向に微調整される。
【0083】
一方、
図14に示すように点Nにおけるタッチを継続し、キャラクターCが点Sから点Nに向かう方向(図中上方向)への移動を継続している時に、キャラクターの移動方向を大きく変更したい場合には、
図16に示すように、距離条件を満たすようにタッチ位置を大きくスライドさせればよい(点N→点M
2)。このタッチ操作が角度条件及び距離条件を満たせば、基準位置は点Sから点Nに更新される。このため、当該タッチ操作に応じて、キャラクターCの移動方向は、
図14の点Sから点Nに向かう方向から、
図16の点Sから点M
2に向かう方向に大きく変更される。
【0084】
このように、本実施形態の処理装置10によれば、キャラクターの移動方向をわずかにずらすタッチ操作と、キャラクターの移動方向を大きく変更するタッチ操作とを区別して行うことが可能となる。
【0085】
<変形例>
処理装置10は、距離条件に代えて、速度条件を採用してもよい。すなわち、距離条件判定部16は、第1のタッチ情報で示される第1のタッチ位置と、第1のタッチ情報の直前に取得された第2のタッチ情報で示される第2のタッチ位置との間におけるタッチ位置をスライドさせる速度が速度条件を満たすか判定してもよい。そして、基準位置管理部12は、第1のタッチ位置と第2のタッチ位置との間におけるタッチ位置をスライドさせる速度が速度条件を満たし、かつ、第1のタッチ位置と基準タッチ継続位置と基準位置とで定まる角度が角度条件を満たす場合、基準位置の座標を基準タッチ継続位置の座標に更新してもよい。当該変形例においても、上述した第1及び第2の実施形態の作用効果と同様の作用効果が実現される。
【0086】
<<第3の実施形態>>
<概要>
本実施形態の処理装置10は、基準タッチ継続位置情報に含まれる参照時間T
k(
図6参照)を、基準タッチ継続位置の座標を更新したタイミングからの経過時間に応じて減衰させたり、クリアしたりする点で、第1及び第2の実施形態と異なる。以下、詳細に説明する。
【0087】
<構成>
処理装置10のハードウエア構成の一例は、第1及び第2の実施形態と同様である。
【0088】
処理装置10の機能ブロック図の一例は、
図3又は
図12で示される。図示するように、処理装置10は、タッチ情報取得部11と、基準位置管理部12と、オブジェクト制御部13と、基準タッチ継続位置管理部14と、角度条件判定部15とを有する。また、処理装置10は、さらに距離条件判定部16を有することができる。タッチ情報取得部11、基準位置管理部12、オブジェクト制御部13、角度条件判定部15及び距離条件判定部16の構成は、第1及び第2の実施形態と同様である。
【0089】
基準タッチ継続位置管理部14は、基準タッチ継続位置の座標を更新したタイミングからの経過時間に応じて、参照時間を減衰させることができる。例えば、基準タッチ継続位置管理部14は、所定フレーム経過毎に所定値を減衰させてもよい。
【0090】
他の例として、基準タッチ継続位置管理部14は、基準タッチ継続位置の座標を更新したタイミングから所定時間経過すると、基準タッチ継続位置の座標をクリアすることができる。
【0091】
基準タッチ継続位置管理部14のその他の構成は、第1及び第2の実施形態と同様である。
【0092】
本実施形態の処理装置10の処理の流れの一例は、
図10のフローチャートを用いて第1の実施形態で説明した処理装置10の処理の流れの一例と同様である。
【0093】
<作用効果>
以上説明した処理装置10によれば、第1及び第2の実施形態と同様な作用効果を実現できる。
【0094】
ところで、タッチを継続したままタッチ位置を何度もスライドさせ、第1及び第2の実施形態で説明したキャラクターの移動方向の変更を何度も行う場合が考えられる。例えば、第1のタッチ位置でのタッチを継続し、第1の方向へのキャラクターの移動を継続した後に角度条件や距離条件を満たすタッチ操作を行ってキャラクターの移動方向を第2の方向に変更し、第2のタッチ位置でのタッチを継続して第2の方向へのキャラクターの移動を継続した後に角度条件や距離条件を満たすタッチ操作を行ってキャラクターの移動方向を第3の方向に変更するという操作が想定される。このような場面において、第2のタッチ位置でのタッチ継続時間が第1のタッチ位置でのタッチ継続時間を超えなかった場合、第1のタッチ位置を基準タッチ継続位置として、角度条件の判定や、基準位置の更新などが行われることとなる。結果、プレイヤの意図しない内容となってしまう。
【0095】
基準タッチ継続位置情報に含まれる参照時間T
k(
図6参照)を、基準タッチ継続位置の座標を更新したタイミングからの経過時間に応じて減衰させたり、クリアしたりする本実施形態の処理装置10によれば、上述のような不都合を軽減できる。
【0096】
<<第4の実施形態>>
<概要>
本実施形態の処理装置10は、角度条件等の内容を変えた2段階の判定を行う点で、第1乃至第3の実施形態と異なる。以下、詳細に説明する。
【0097】
<構成>
処理装置10のハードウエア構成の一例は、第1乃至第3の実施形態と同様である。
【0098】
処理装置10の機能ブロック図の一例は、
図3又は
図12で示される。図示するように、処理装置10は、タッチ情報取得部11と、基準位置管理部12と、オブジェクト制御部13と、基準タッチ継続位置管理部14と、角度条件判定部15とを有する。また、処理装置10は、さらに距離条件判定部16を有することができる。タッチ情報取得部11、オブジェクト制御部13及び基準タッチ継続位置管理部14の構成は、第1乃至第3の実施形態と同様である。
【0099】
処理装置10が
図3で示される場合、基準位置管理部12及び角度条件判定部15は、新たなタッチ情報が取得される毎に、次の処理を行う。
【0100】
まず、角度条件判定部15は、第1のタッチ情報で示される第1のタッチ位置と、第1のタッチ情報の直前に取得された第2のタッチ情報で示される第2のタッチ位置と、基準位置とで定まる角度が第1の角度条件を満たすか判定する。第1の角度条件を満たす場合、基準位置管理部12は、基準位置の座標を、第2のタッチ位置の座標に更新する。
【0101】
一方、第1の角度条件を満たさない場合、角度条件判定部15は、第1のタッチ情報で示される第1のタッチ位置と基準タッチ継続位置と基準位置とで定まる角度が第2の角度条件を満たすか判定する。なお、第1の角度条件と第2の角度条件とは異なる。第2の角度条件を満たす場合、基準位置管理部12は、基準位置の座標を、基準タッチ継続位置の座標に更新する。一方、第2の角度条件を満たさない場合、基準位置が更新されないまま終了する。
【0102】
処理装置10が
図12で示される場合、基準位置管理部12、角度条件判定部15及び距離条件判定部16は、新たなタッチ情報が取得される毎に、次の処理を行う。
【0103】
まず、角度条件判定部15は、第1のタッチ情報で示される第1のタッチ位置と、第1のタッチ情報の直前に取得された第2のタッチ情報で示される第2のタッチ位置と、基準位置とで定まる角度が第1の角度条件を満たすか判定する。また、距離条件判定部16は、第1のタッチ位置と第2のタッチ位置との間の距離が第1の距離条件を満たすか判定する。第1の角度条件及び第1の距離条件を満たす場合、基準位置管理部12は、基準位置の座標を、第2のタッチ位置の座標に更新する。
【0104】
一方、第1の角度条件及び第1の距離条件の少なくとも一方を満たさない場合、角度条件判定部15は、第1のタッチ情報で示される第1のタッチ位置と基準タッチ継続位置と基準位置とで定まる角度が第2の角度条件を満たすか判定する。また、距離条件判定部16は、第1のタッチ情報で示される第1のタッチ位置と、第2のタッチ情報で示される第2のタッチ位置又は基準タッチ継続位置との間の距離が第2の距離条件を満たすか判定する。なお、第1の角度条件と第2の角度条件とは異なる。また、第1の距離条件と第2の距離条件とは異なる。第2の角度条件及び第2の距離条件を満たす場合、基準位置管理部12は、基準位置の座標を、基準タッチ継続位置の座標に更新する。一方、第2の角度条件及び第2の距離条件の少なくとも一方を満たさない場合、基準位置が更新されないまま終了する。
【0105】
基準位置管理部12、角度条件判定部15及び距離条件判定部16のその他の構成は、第1乃至第3の実施形態と同様である。
【0106】
<作用効果>
以上説明した処理装置10によれば、第1乃至第3の実施形態と同様な作用効果を実現できる。また、本実施形態によれば、各種判定を組み合わせることで、ゲームの興趣性が向上する。
【0107】
以下、参考形態の例を付記する。
1. コンピュータを、
タッチパネルに対するタッチの有無、及び、前記タッチパネル上のタッチ位置に対応する座標平面上の座標を示すタッチ情報を所定時間毎に取得するタッチ情報取得部、
前記座標平面上に設定された基準位置の座標を管理する基準位置管理部、
前記タッチ情報で示される前記タッチ位置と、前記基準位置とに基づき決定した移動方向に、画面表示されたオブジェクトを移動させるオブジェクト制御部、及び、
前記タッチパネルに対するタッチ有を示す前記タッチ情報の取得が継続している間、その間にタッチ継続時間が設定条件を満たした前記座標平面上の位置である基準タッチ継続位置の座標を管理する基準タッチ継続位置管理部、
として機能させ、
前記基準位置管理部は、前記タッチ位置、前記基準タッチ継続位置及び前記基準位置が基準位置変更条件を満たす場合、前記基準位置の座標を、前記基準タッチ継続位置の座標に更新するプログラム。
2. 1に記載のプログラムにおいて、
前記コンピュータを、前記タッチ位置と前記基準タッチ継続位置と前記基準位置とで定まる角度が角度条件を満たすか判定する角度条件判定部として機能させ、
前記基準位置変更条件は、前記タッチ位置、前記基準タッチ継続位置及び前記基準位置が前記角度条件を満たすことであるプログラム。
3. 2に記載のプログラムにおいて、
前記角度条件判定部は、前記タッチ位置と前記基準タッチ継続位置とを結ぶ直線と、前記タッチ位置と前記基準位置とを結ぶ直線とのなす角が角度条件を満たすか判定するプログラム。
4. 2又は3に記載のプログラムにおいて、
前記コンピュータを、
第1の前記タッチ情報で示される第1のタッチ位置と、前記第1のタッチ情報の直前に取得された第2の前記タッチ情報で示される第2のタッチ位置又は前記基準タッチ継続位置との間の距離が、距離条件を満たすか判定する距離条件判定部として機能させ、
前記基準位置変更条件は、前記第1のタッチ位置、前記基準タッチ継続位置及び前記基準位置が前記角度条件を満たし、かつ、前記第1のタッチ位置と、前記第2のタッチ位置又は前記基準タッチ継続位置との間の距離が前記距離条件を満たすことである
プログラム。
5. 1から4のいずれかに記載のプログラムにおいて、
前記基準タッチ継続位置管理部は、
前記基準タッチ継続位置の座標を更新する場合に、新たに前記基準タッチ継続位置として登録される座標においてタッチが継続した継続時間を参照時間として登録し、
前記設定条件は、前記タッチ継続時間が前記参照時間を超えることであるプログラム。
6. 5に記載のプログラムにおいて、
前記基準タッチ継続位置管理部は、前記基準タッチ継続位置の座標を更新したタイミングからの経過時間に応じて、前記参照時間を減衰させるプログラム。
7. 1から6のいずれかに記載のプログラムにおいて、
前記基準タッチ継続位置管理部は、前記基準タッチ継続位置の座標を更新したタイミングから所定時間経過すると、前記基準タッチ継続位置の座標をクリアするプログラム。
8. 1から7のいずれかに記載のプログラムにおいて、
前記基準タッチ継続位置管理部は、前記タッチパネルに対するタッチ無を示す前記タッチ情報の取得に応じて、前記基準タッチ継続位置の座標をクリアするプログラム。
9. 1から8のいずれかに記載のプログラムにおいて、
前記基準位置管理部は、
前記タッチパネルに対するタッチ無を示す前記タッチ情報の直後に取得された前記タッチパネルに対するタッチ有を示す前記タッチ情報で示されるタッチ位置の座標、又は、当該座標に基づき決定した他の座標を、前記基準位置の座標として登録し、
前記タッチパネルに対するタッチ無を示す前記タッチ情報の取得に応じて、前記基準位置の座標をクリアするプログラム。
10. コンピュータが、
タッチパネルに対するタッチの有無、及び、前記タッチパネル上のタッチ位置に対応する座標平面上の座標を示すタッチ情報を所定時間毎に取得し、
前記座標平面上に設定された基準位置の座標を管理し、
前記タッチ情報で示される前記タッチ位置と、前記基準位置とに基づき決定した移動方向に、画面表示されたオブジェクトを移動させ、
前記タッチパネルに対するタッチ有を示す前記タッチ情報の取得が継続している間、その間にタッチ継続時間が設定条件を満たした前記座標平面上の位置である基準タッチ継続位置の座標を管理し、
前記タッチ位置、前記基準タッチ継続位置及び前記基準位置が基準位置変更条件を満たす場合、前記基準位置の座標を、前記基準タッチ継続位置の座標に更新する処理方法。
11. タッチパネルに対するタッチの有無、及び、前記タッチパネル上のタッチ位置に対応する座標平面上の座標を示すタッチ情報を所定時間毎に取得するタッチ情報取得部、
前記座標平面上に設定された基準位置の座標を管理する基準位置管理部、
前記タッチ情報で示される前記タッチ位置と、前記基準位置とに基づき決定した移動方向に、画面表示されたオブジェクトを移動させるオブジェクト制御部、及び、
前記タッチパネルに対するタッチ有を示す前記タッチ情報の取得が継続している間、その間にタッチ継続時間が設定条件を満たした前記座標平面上の位置である基準タッチ継続位置の座標を管理する基準タッチ継続位置管理部、
を有し、
前記基準位置管理部は、前記タッチ位置、前記基準タッチ継続位置及び前記基準位置が基準位置変更条件を満たす場合、前記基準位置の座標を、前記基準タッチ継続位置の座標に更新する処理装置。
【解決手段】本発明は、コンピュータを、タッチパネルに対するタッチの有無、及び、タッチパネル上のタッチ位置に対応する座標平面上の座標を示すタッチ情報を所定時間毎に取得するタッチ情報取得部11と、座標平面上に設定された基準位置の座標を管理する基準位置管理部12と、タッチ情報で示されるタッチ位置と基準位置とに基づき決定した移動方向に、画面表示されたオブジェクトを移動させるオブジェクト制御部13と、タッチパネルに対するタッチ有を示すタッチ情報の取得が継続している間、その間にタッチ継続時間が設定条件を満たした座標平面上の位置である基準タッチ継続位置の座標を管理する基準タッチ継続位置管理部14として機能させ、基準位置管理部12は、タッチ位置、基準タッチ継続位置及び基準位置が基準位置変更条件を満たす場合、基準位置の座標を、基準タッチ継続位置の座標に更新するプログラムを提供する。