説明

移動制御プログラム

【課題】仮想空間で移動対象を移動させるための操作を行う操作領域の拡大を図りつつ、画面の視認性の向上を図る。
【解決手段】タッチパネルに最初にタッチされた始点座標を検出する(ステップ1)。画面上における始点座標に表示された表示物の表示種別を判定する(ステップ2)。始点座標の表示種別がイベントオブジェクトを除いた背景である場合、始点座標以降のタッチパネルの入力に基づいて、画面上の移動対象を移動させる(ステップ7)。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動制御プログラムに係り、特に、タッチパネルへの入力に応じた移動対象の移動制御に関する。
【背景技術】
【0002】
従来より、画面上に装着されたタッチパネルへの入力に応じて、仮想空間内のキャラクター(移動対象)を移動させる各種のコンピュータゲームが市販されている。この類のゲームにおいて、キャラクターを移動させるためのインターフェースには、様々なものが存在する。例えば、第1の手法として、画面端の一部を操作領域として予め割り当てておき、この操作領域上におけるタッチペン等の操作によって、キャラクターを移動させる手法が知られている。また、第2の手法として、画面においてキャラクターが表示されている表示領域を最初にタッチし、これを始点に描かれた入力軌跡に基づいて、キャラクターを移動させる手法も知られている。これらの手法では、タッチペン等によってタッチされる領域が画面の一部に限定されるので、ユーザにとって使い勝手がよくない。そこで、第3の手法として、より広範囲な領域での操作を可能にすべく、画面全体を操作領域とした用いた手法も知られている。この第3の手法では、画面中心を基準として画面を複数の領域に分割し、分割された領域のそれぞれに対して移動方向を割り当てる。この割り当てによって、例えば、画面の右上をタッチすればキャラクターが右上の方向に移動し、左下をタッチすれば左下の方向に移動する。
【0003】
このような操作領域の拡大を意図した従来技術として、特許文献1には、2つの表示装置(LCD)を備えたゲーム機用のオブジェクト移動制御プログラムが開示されている。具体的には、一方の表示装置の画面には、狭い空間が精緻に描かれた三次元の仮想空間が表示され、他方の表示装置の画面には、これよりも広い範囲が俯瞰的に描かれた二次元の仮想空間が表示される。ユーザは、二次元の仮想空間に表示されたキャラクターのシンボルを最初にタッチし、そこから入力軌跡を描く。これにより、三次元の仮想空間に表示されたキャラクターは、タッチパネル上に描かれた入力軌跡に追従して、画面上を移動する。
【0004】
【特許文献1】特開2007−26129号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した第3の手法は、操作領域を拡大できるという点では優れているが、画面の視認性に劣るという欠点がある。なぜなら、タッチペンを持っている手(例えば右手)が画面(例えば右下の画面)と重なり、そこに表示されている画像を隠してしまうケースが生じ易いからである。この問題は、表示装置が備える画面が小さいほど顕在化する。
【0006】
そこで、本発明の目的は、仮想空間で移動対象を移動させるための操作を行う操作領域の拡大を図りつつ、画面の視認性の向上を図ることである。
【課題を解決するための手段】
【0007】
かかる課題を解決すべく、本発明は、タッチパネルへの入力に応じて、画面に表示された仮想空間内の移動対象を移動させる移動制御プログラムを提供する。この移動制御プログラムは、検出ステップと、判定ステップと、イベント処理ステップと、移動ステップとを有する処理方法をプロセッサに実行させる。検出ステップでは、タッチパネルに最初にタッチされた始点座標を検出する。判定ステップでは、画面上の始点座標に表示された表示物の表示種別を判定する。イベント処理ステップは、表示種別が、画面の一部に表示されたイベントオブジェクトである場合に実行され、このイベントオブジェクトに対応付けられたイベント処理を実行する。移動ステップは、表示種別が、イベントオブジェクトを除く背景である場合に実行され、始点座標以降のタッチパネルへの入力に基づいて、画面上の移動対象を移動させる。
【0008】
ここで、本発明において、タッチパネルへの入力がなくなった場合に、画面上の移動対象の移動を終了する終了ステップをさらに設けてもよい。
【0009】
また、本発明において、上記移動ステップは、始点座標を始点とした入力軌跡上における各座標を時系列的なサンプルとして取得する第1のステップと、時系列的なサンプルにおける前後の隣接座標間の距離に基づいて、入力軌跡の終点座標を特定する第2のステップと、始点座標と、終点座標とに基づいて、仮想空間内における移動対象の移動を規定する移動ベクトルを算出する第3のステップと、移動ベクトルに基づいて、画面上の移動対象を移動させる第4のステップとを有していてもよい。また、上記移動ステップとして、画面上の移動対象が移動している間、移動ベクトルを画面に表示する第5のステップをさらに設けてもよい。この場合、移動ベクトルの表示位置は、始点座標を基準に設定することが好ましい。
【0010】
さらに、本発明において、ユーザの操作によって移動可能な移動オブジェクトが複数表示されている場合、移動対象として、ユーザによって指定されたいずれかの移動オブジェクトを設定する設定ステップをさらに設けてもよい。
【発明の効果】
【0011】
本発明によれば、始点座標に表示された表示物の表示種別が背景であることを条件として、画面上の移動対象の移動が許可される。通常、背景の表示領域は画面の大半を占めるので、これをベースに操作領域を設定すれば、広範囲な操作領域を確保できる。また、背景が表示されている範囲内であれば、任意のタッチ位置を基準として移動方向を自在に指定できる。したがって、タッチペンを持っている手が画面の一部を隠してしまうケースを有効に回避できる。その結果、操作性と視認性との両立を図ることが可能になる。
【発明を実施するための最良の形態】
【0012】
図1は、一般的な携帯型ゲーム機のブロック構成図である。この携帯型ゲーム機1のシステムバス2には、プロセッサ3、RAM4(RAM:Random Access Memory)、LCDコントローラ5、インターフェース回路6、コネクタ7が接続されている。表示装置であるLCD8(LCD:Liquid Crystal Display)は、LCDコントローラ5によって駆動制御され、プロセッサ3によって生成された画像を表示する。外部より提供されるROMカートリッジ(ROM:Read Only Memory)には、本実施形態にかかる移動制御プログラムをサブルーチンとして含むゲームプログラムが格納されており、これをコネクタ7に接続することによって、携帯型ゲーム機1の内部に取り込まれる。
【0013】
LCD8の画面上には、タッチパネル10が重ね合わせて取り付けられている。タッチパネル10は、タッチペン13(指でも可)の接触を電気的な信号に変換し、接触面の座標(画面の座標に対応)として出力する。インターフェース回路6は、タッチパネル10からの座標信号および操作スイッチ11からの操作信号をシステムバス2に転送するとともに、システムバス2上の音声信号をスピーカ12に転送する。
【0014】
基本的な処理の流れとしては、ROMカートリッジ9より適宜読み出されたプログラムがRAM4に格納され、RAM4より読み出されたプログラムによって規定された処理がプロセッサ3にて実行される。そして、その処理結果に応じて、LCD8に表示される画像と、スピーカ13より発せられる音声とが制御される。なお、RAM4は、プロセッサ3のワークメモリとしても使用され、処理過程で生成された中間データが一時的に格納される。また、RAM4には、タッチパネル10から出力された接触点の座標データ(後述する座標P0,P1,P2,P3,・・・)が、離散的かつ時系列的なサンプルとして格納される。
【0015】
ここで、プロセッサ3は、CPU(Central Processing Unit)単独で構成してもよいが、CPU自身の処理負荷の軽減を図るべく、画像処理プロセッサや音声処理プロセッサを併用した形態であってもよい。また、LCD8は、単一の表示パネルのみでもよいが、複数の表示パネルによって構成してもよい。
【0016】
図2は、本実施形態にかかるゲームの画面構成例を示す図である。画面には、二次元的または三次元的な背景をベースとした仮想空間内において、タッチペン13の操作によって移動可能なキャラクターC(移動対象)が表示されている。このキャラクターCは、タッチパネル10への入力に応じて、画面に表示された仮想空間内を移動する。また、この画面の一部、具体的には画面端の右上には、イベントオブジェクトOBJも表示されている。イベントオブジェクトOBJは、例えば、キャラクターCの移動以外の他のイベントを起動させるためのアイコン等である。イベントオブジェクトOBJのクリックによって起動されるイベントとしては、例えば、使用可能なアイテムをリスト化した別ウインドウの表示や、実行可能なコマンドをリスト化した別ウインドウの表示等が挙げられる。基本的に、キャラクターC自体は、イベントオブジェクトOBJとみなさないが、他のキャラクターとの会話が可能な状況といった如く、予め設定された特定の条件に合致する場合には、イベントオブジェクトOBJとして取り扱われる。
【0017】
図3は、移動制御プログラムによって規定される処理手順のフローチャートである。上述したように、この移動制御プログラムは、ゲームプログラムの一部を構成しており、プロセッサ3によって実行される。
【0018】
まず、ステップ1において、図4に示すように、タッチパネル10に最初にタッチされた始点座標P0が検出される。タッチパネル10の接触面は、LCD8の画面に重ねられており、タッチパネル10へのタッチは、その位置に表示された画像に関するユーザの何らかの意思表示とみなされる。
【0019】
つぎに、ステップ2において、画面上の始点座標P0に表示された表示物の表示種別が判定される。図4は、表示物の表示種別を判定するためのレイヤの模式図である。仮想空間内にキャラクターCが表示された画面は、これを概念的に捉えた場合、イベントオブジェクト表示レイヤと、背景表示レイヤとを重ね合わせた積層構造とみなすことができる。基本的に、それぞれのレイヤのサイズは、LCD8の画面サイズおよびタッチパネル10の接触面のサイズと同一である。イベントオブジェクト表示レイヤは、画面の一部に配置されたイベントオブジェクトOBJ1,OBJ2の表示領域に対応する。ここで、イベントオブジェクトOBJ1は、図2の例では、画像右上に表示した別ウインドウ表示用のアイコンを、イベントオブジェクトOBJ2は、他のキャラクターとの会話が可能な状況下におけるキャラクターCをそれぞれ想定している。一方、背景表示レイヤは、画面の大半を占める背景BKGの表示領域に対応する。
【0020】
背景表示レイヤよりも上にイベントオブジェクト表示レイヤを配置するということは、背景BKGよりもイベントオブジェクトOBJ1,OBJ2の表示が優先されることを意味する。したがって、背景BKGとイベントオブジェクトOBJ1,OBJ2とが重なっている部分に関しては、背景BKGが隠されて、イベントオブジェクトOBJ1,OBJ2のみが表示される。ステップ2の判定も同様であり、表示種別の優先順位に基づいて、始点座標P0によって指定された表示種別が何であるかが判断される。
【0021】
この点に関して、始点座標がP0,P0’の2つのケースを挙げて説明する。始点座標がP0のケースでは、上層のイベントオブジェクトレイヤを参照すると、いずれのイベントオブジェクトOBJ1,OBJ2の表示領域に含まれない。そこで、下層の背景表示レイヤを参照すると、始点座標P0が背景BKGの表示領域に含まれる。これにより、始点座標P0の表示種別が背景BKGであると判定される。その結果、ステップ2の判定結果は「否定」となり、ステップ4に進む。これに対して、始点座標がP0'のケースでは、イベントオブジェクトレイヤの参照結果から、イベントオブジェクトOBJ1の表示領域に含まれる。したがって、背景表示レイヤを参照するまでもなく、始点座標P0'の表示種別がイベントオブジェクトOBJ1であると判定される。その結果、ステップ2の判定結果が「肯定」となり、ステップ3に進む。
【0022】
始点座標P0'の表示種別がイベントオブジェクトOBJ1であると判定された場合、ステップ3において、このイベントオブジェクトOBJ1に対応付けられたイベント処理が実行される。例えば、イベントオブジェクトOBJ1が別ウインドウ表示用のアイコンの場合には、イベントとして別ウインドウが表示されるといった如くである。これにより、今回のユーザのアクション、すなわち、タッチペン13によるタッチパネル10へのタッチに起因した処理が終了する。なお、始点座標P0'の表示種別がキャラクターCの場合、予め設定された特定の条件に合致するならば、イベントオブジェクトOBJと判定される。
【0023】
これに対して、始点座標P0の表示種別がイベントオブジェクトOBJ1,OBJ2を除く背景BKGであると判定された場合には、ステップ4〜9の一連の手順が実行される。これにより、始点座標P0以降(始点座標P0を含む)のタッチパネル10の入力に基づいて、画面上におけるキャラクターCの移動が行われる。なお、始点座標P0の表示種別がキャラクターCの場合、予め設定された特定の条件に合致しないならば、背景BKGと判定される。
【0024】
具体的には、ステップ4において、図5に示すように、始点座標P0を始点としてタッチペン13によって描かれた入力軌跡上に存在する各座標(P1,P2,P3,・・・)が時系列的なサンプルとして取得される。この時系列的なサンプルは、空間的(接触点の配置間隔)および時間的(サンプリング間隔)な分解能に起因した離散した座標点の集合であり、タッチペン13の単位時間当たりの移動量が大きいほど、前後に隣接した座標点間の距離(間隔)が大きくなる。
【0025】
つぎに、ステップ5において、時系列的なサンプルに基づいて、タッチペン13の操作によって描かれた入力軌跡の終点に相当する座標、すなわち終点座標Peが特定される。終点座標Peの特定にあたっては、まず、時系列的なサンプルにおいて前後に隣接した座標Pn-1,Pn間の距離dが随時算出される。そして、この距離dが0またはほぼ0である場合、その時点でタッチペン13の移動(軌跡の入力)が終了したとみなし、その座標Pnが終点座標Peとして設定される。
【0026】
ステップ6において、始点座標P0と終点座標Peとに基づいて、二次元または三次元の仮想空間内におけるキャラクターCの移動を規定する移動ベクトルVが算出される。移動ベクトルVの方向は、始点座標P0を基準とした終点座標Peの方向として定義される。例えば、終点座標P0が始点座標P0の右上に位置する場合、移動ベクトルVは右上方向となる。また、移動ベクトルVの大きさ(スカラー値)は、基本的に、始点座標P0と終点座標Peの間の距離として定義される。始点座標P0と終点座標Peの間の距離が大きくなるほど、移動ベクトルが大きくなる。本実施形態では、2つの座標P0,Peを直線で結んだものを移動ベクトルVとしているが、中間点P1、P2,・・・も加味した移動ベクトルVの算出手法を排除するものではない。
【0027】
ステップ7において、移動ベクトルVに基づいて、キャラクターCの移動制御が行われる。キャラクターCの移動方向は、移動ベクトルVの方向によって決定され、その移動速度(または移動量)は、移動ベクトルVの大きさによって決定される。例えば、二次元の仮想空間でのキャラクターCの移動をスクロールにて実現する場合には、移動ベクトルVによって、スクロール方向およびスクロール量が決定される。
【0028】
なお、図2に示したように、画面上のキャラクターCが移動している間、移動ベクトルVも画面に表示してもよい。これにより、ユーザがキャラクターCの移動方向を視覚的に把握できる。この場合、画面上の始点座標P0に対応する画像位置を始点とした矢印(ベクトル)の表示といった如く、始点座標P0を基準に移動ベクトルVの表示位置を設定することが好ましい。これにより、タッチペン13の操作と、これに応じたキャラクターCの移動とを自然な形で対応付けることができる。なお、キャラクターCの移動速度を移動ベクトルVの大きさ相当に設定してしまうと、キャラクターCの移動が速くなりすぎてしまう場合には、操作性の観点より移動速度に上限を設けてもよい。
【0029】
ステップ8において、タッチパネル10への入力がなくなったか否か、すなわち、タッチパネル10からタッチペン13が離されたか否かが判定される。タッチパネル10への入力がある場合にはステップ4に戻り、ステップ4〜7が繰り返される。これに対して、タッチパネル10への入力がなくなった場合には、ステップ4〜8のループを抜けてステップ9に進み、キャラクターCの移動処理が終了する。これによって、画面に表示されたキャラクターCは、タッチパネル10への入力がなくならない限り、換言すれば、タッチパネル10からタッチペン13が離されない限り、移動ベクトルVにしたがって画面上を移動し続ける。そして、タッチパネル10への入力がなくなった時点で、キャラクターCは停止する。
【0030】
このように、本実施形態によれば、移動ベクトルVの方向の基準を与える基準点を、例えば、画面中心のように固定化していた従来技術と比較して、操作性および視認性の双方に優れたインターフェイスを実現できる。始点座標P0の表示種別がイベントオブジェクトOBJを除いた背景BKGである場合、仮想空間内におけるキャラクターCの移動が許可される。図2に示したように、通常、仮想空間を規定する背景BKGの表示領域は画面の大半を占めている。したがって、仮想空間でキャラクターCの移動操作を行う操作領域を背景BKGをベースに設定すれば、操作領域を広範囲に確保することができる。また、背景BKGが表示されている領域内であれば、任意のタッチ位置(始点座標P0)を基準として、移動方向を自在に指定することができる。例えば、図2(a)のように、キャラクターCの右側でのタッチによる右方向への移動指定、同図(b)のように、キャラクターCの左下側でのタッチによる上方向への移動指定、同図(c)のように、キャラクターCの下側でのタッチによる左方向への移動指定といった如くである。このように、移動ベクトルVの基準点を固定化するのではなく、動的に設定可能にすることで、タッチペン13を持っている手によって画面が隠されてしまうといったケースを有効に回避できる。
【0031】
なお、上述した実施形態では、イベントオブジェクトOBJおよび背景BKGという2種類の表示物を例に説明したが、本発明はこれに限定されるものではなく、それ以外の種別を追加してもよい。例えば、(1)キャラクターCの体力等を示すステータスや仮想空間上の方向を示すコンパスを含む各種インフォメーション、(2)画面の四隅を囲むフレーム(装飾枠)といった如くである。これらの表示物(1),(2)の取り扱いは任意であり、背景BKGと同様にキャラクターCの移動を許可する領域(感帯)としてもよいし(この場合、背景BKGと同等に取り扱われる)、キャラクターCの移動を許可しない領域(不感帯)としてもよい。
【0032】
また、本実施形態では、画面に表示された移動オブジェクト、すなわち、ユーザの操作によって移動可能なキャラクターCが単一である場合を一例に説明したが、本発明はこれに限定されるものではなく、画面上に複数の移動オブジェクトが存在する場合であっても適用可能である。この場合、適宜の選択手法によって、ユーザが指定したいずれかの移動オブジェクトを移動対象として選択・切替可能にすればよい。一旦、移動対象として設定された移動オブジェクトは、ユーザによる明示的な切り替えがない限り、変更されないようにする。移動オブジェクトの選択手法としては、例えば、移動対象として選択したい移動オブジェクトの表示領域上におけるタッチペン13によるアクション(例えばダブルタッチ)、操作スイッチ11を用いた切り替え等が挙げられる。
【0033】
さらに、本実施形態では、ゲームの仮想空間内に登場するキャラクターCを例に説明したが、移動対象はこれに限定されるものではなく、画面に表示された仮想空間内を移動可能であればどのようなものであってもよい。
【図面の簡単な説明】
【0034】
【図1】一般的な携帯型ゲーム機のブロック構成図
【図2】画面構成例を示す図
【図3】移動制御プログラムによって規定される処理手順を示すフローチャート
【図4】表示物の表示種別を判定するためのレイヤの模式図
【図5】移動ベクトル算出の説明図
【符号の説明】
【0035】
1 携帯型ゲーム機
2 システムバス
3 プロセッサ
4 RAM
5 LCDコントローラ
6 インターフェース回路
7 コネクタ
8 LCD
9 ROMカートリッジ
10 タッチパネル
11 操作スイッチ
12 スピーカ
13 タッチペン

【特許請求の範囲】
【請求項1】
タッチパネルへの入力に応じて、画面に表示された仮想空間内の移動対象を移動させる移動制御プログラムにおいて、
タッチパネルに最初にタッチされた始点座標を検出する検出ステップと、
画面上の前記始点座標に表示された表示物の表示種別を判定する判定ステップと、
前記表示種別が、画面の一部に表示されたイベントオブジェクトである場合、当該イベントオブジェクトに対応付けられたイベント処理を実行するイベント処理ステップと、
前記表示種別が、前記イベントオブジェクトを除く背景である場合、前記始点座標以降のタッチパネルへの入力に基づいて、画面上の移動対象を移動させる移動ステップと
を有する処理方法をプロセッサに実行させることを特徴とする移動制御プログラム。
【請求項2】
タッチパネルへの入力がなくなった場合に、画面上の移動対象の移動を終了する終了ステップをさらに有することを特徴とする請求項1に記載された移動制御プログラム。
【請求項3】
前記移動ステップは、
前記始点座標を始点にとした入力軌跡上における各座標を時系列的なサンプルとして取得する第1のステップと、
前記時系列的なサンプルにおける前後の隣接座標間の距離に基づいて、前記入力軌跡の終点座標を特定する第2のステップと、
前記始点座標と、前記終点座標とに基づいて、仮想空間内における移動対象の移動を規定する移動ベクトルを算出する第3のステップと、
前記移動ベクトルに基づいて、画面上の移動対象を移動させる第4のステップと
を有することを特徴とする請求項1または2に記載された移動制御プログラム。
【請求項4】
前記移動ステップは、
画面上の移動対象が移動している間、前記移動ベクトルを画面に表示する第5のステップをさらに有することを特徴とする請求項3に記載された移動制御プログラム。
【請求項5】
前記移動ベクトルの表示位置は、前記始点座標を基準に設定されることを特徴とする請求項4に記載された移動制御プログラム。
【請求項6】
ユーザの操作によって移動可能な移動オブジェクトが複数表示されている場合、前記移動対象として、ユーザによって指定されたいずれかの移動オブジェクトを設定する設定ステップをさらに有することを特徴とする請求項1から5のいずれかに記載された移動制御プログラム。

【図1】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図2】
image rotate


【公開番号】特開2010−49318(P2010−49318A)
【公開日】平成22年3月4日(2010.3.4)
【国際特許分類】
【出願番号】特願2008−210582(P2008−210582)
【出願日】平成20年8月19日(2008.8.19)
【出願人】(508251416)
【Fターム(参考)】