【文献】
多賀谷 昌志,岡田 隆,青柳 禎矩,“指の近接位置情報を利用したユーザ操作支援機能の開発”,NTT DOCOMO テクニカル・ジャーナル,日本,一般社団法人電気通信協会,2013年10月 1日,第21巻,第3号,pp.24-28
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の一実施形態について説明する。なお、本実施形態では、携帯端末100でゲームが実行される場合のユーザインタフェースの一例を説明する。ただし、本発明は、ゲームに限らず、タッチパネルを有する携帯端末における様々なユーザインタフェースに適用することが可能である。
【0013】
図1は、本発明の一実施形態である携帯端末100の外観を示す図である。携帯端末100は、例えば、スマートフォンやタブレット端末、ポータブルゲーム機等のコンピュータである。携帯端末100は、表示デバイス及び入力デバイスの機能を兼ね備えるタッチパネル110を備える。タッチパネル110は、指などによって操作(タッチ)されている位置を検出することができる。さらに、タッチパネル110は、感圧(pressure)センサ又は感力(force)センサを備え、タッチパネルに加えられている力を検出することができてもよい。
【0014】
タッチパネル110の表示領域には、様々なオブジェクト(キャラクター)が表示されるオブジェクト表示領域120(第2の領域)と、オブジェクトに対して実行される命令を選択するための命令選択領域130(第1の領域)とが設けられている。携帯端末100では、命令選択領域130において指140(第1の指:例えば、左手の親指)で命令を選択した状態で、オブジェクト表示領域120において指150(第2の指:例えば、右手の親指)でオブジェクトに対する命令の実行指示が行われる。なお、命令選択領域130は、オブジェクト表示領域120の一部であってもよい。
【0015】
図2は、携帯端末100のハードウェア構成の一例を示す図である。携帯端末100は、タッチパネル110に加えて、プロセッサ200、記憶装置210、通信インタフェース(I/F)220、及びセンサ230を備える。
【0016】
プロセッサ200は、記憶装置210に格納されているプログラムを実行することにより、携帯端末100における各種機能を実現する。
【0017】
記憶装置210は、携帯端末100において用いられるプログラムやデータを記憶する。記憶装置210は、例えば、RAM(Random Access Memory)等の揮発性メモリや、フラッシュメモリ等の不揮発性メモリを含む。例えば、プロセッサ200の処理において一時的に用いられるデータは揮発性メモリに格納され、プロセッサ200が実行するプログラムは不揮発性メモリに格納される。プログラムは、例えば、インターネット経由でダウンロードされ、記憶装置210に格納されてもよい。また、プログラムは、例えば、カートリッジ等の記憶媒体から読み取られ、記憶装置210に格納されてもよい。
【0018】
通信I/F220は、携帯端末100の外部との通信を行うためのインタフェースである。通信I/F220は、例えば、携帯電話の通信網や無線LAN(Local Area Network)を介してデータの送受信を行うためのインタフェースを含む。
【0019】
センサ230は、携帯端末100の各種状態を検出するためのデバイスである。センサ230は、例えば、磁気センサや角速度センサ、GPS(Global Positioning System)センサ等を含む。携帯端末100では、センサ230の検出結果に基づいて、携帯端末100の状態を検出することができる。例えば、携帯端末100では、センサ230の検出結果に基づいて、携帯端末100の向き(横向き/縦向き)を検出することができる。
【0020】
図3は、携帯端末100が備える機能の一部を示すブロック図である。携帯端末100は、命令情報記憶部300、位置情報記憶部310、命令特定部320、命令選択部330、領域画定部340、及び命令実行部350を備える。
図3に示す各部は、例えば、記憶装置210に格納されたプログラムをプロセッサ200が実行することにより実現される。
【0021】
命令情報記憶部300は、タッチパネル110に表示される複数のオブジェクトに対する複数の命令について、命令及び当該命令の対象となるオブジェクトの対応関係を示す命令情報を記憶する。
図4は、命令情報の一例を示す図である。
図4に示す例では、命令情報は、位置、状況、命令識別子、オブジェクト選択情報、調整情報、及び画像識別子を含む。
【0022】
「位置」は、命令選択領域130においてタップされる位置を示す情報である。「状況」は、実行中のゲームの状況を示す情報である。状況を示す情報には、例えば、ゲームの場面や、タッチパネル110に表示されているオブジェクトの種類に関する情報が含まれる。
【0023】
「命令識別子」は、ゲームにおいて実行される命令を識別するための情報である。例えば、「arrow_shot」は、選択されたオブジェクトに対して矢を射る命令の識別子である。また例えば、「vulnerary」は、選択されたオブジェクトに対して傷薬を与えて体力を回復させる命令の識別子である。
【0024】
「オブジェクト選択情報」は、命令の対象となるオブジェクトを選択するための情報である。例えば、「enemy」は、命令の対象が敵であることを示す情報である。また例えば、「party」は、命令の対象が味方(プレイヤー及び仲間)であることを示す情報である。なお、オブジェクト選択情報は、オブジェクトの属性に限られず、オブジェクトを選択可能な任意の情報とすることができる。例えば、オブジェクト選択情報として、オブジェクト識別子やオブジェクトの名前等が設定されてもよい。
【0025】
「調整情報」は、オブジェクト表示領域120においてオブジェクトを選択可能な領域を調整するための情報である。例えば、調整情報には、領域の大きさ(サイズ)を調整するための情報や、領域の奥行き方向の前後関係(Z順序)を調整するための情報が含まれる。なお、Z順序は、複数のオブジェクトが重なり合っている場合に、画面上の見た目とは別に、タップ操作の優先順位を示すものである。例えば、調整情報(サイズ)が「1.5」であれば、命令の対象となるオブジェクトを選択可能な領域が、通常の1.5倍に拡大される。また、調整情報(Z順序)が「0」(最上位)であれば、対象のオブジェクトの一部が、画面上の表示では、他のオブジェクトに隠れているとしても、当該オブジェクトを選択可能な領域は、当該オブジェクトが最前面に表示されている状態と同一となる。
【0026】
「画像識別子」は、命令の種類を示す画像の識別子である。例えば、「arrow_image」は、矢を射る命令に対応する矢の画像の識別子である。また例えば、「vulnerary_image」は、傷薬を与える命令に対応する薬瓶の画像の識別子である。
【0027】
図3に戻り、位置情報記憶部310は、各オブジェクトの表示位置を示す位置情報を記憶する。
図5は、位置情報の一例を示す図である。
図5に示す例では、位置情報は、オブジェクト識別子、名前、属性、位置、及び形状を含む。
【0028】
「オブジェクト識別子」は、オブジェクト表示領域120に表示されているオブジェクトの識別子である。「名前」は、オブジェクトの名前を示す情報である。「属性」は、オブジェクトの属性を示す情報である。例えば、「party」は、オブジェクトが味方のパーティであることを示す情報である。また例えば、「enemy」は、オブジェクトが敵であることを示す情報である。なお、属性に設定される情報は、オブジェクトの所属(味方/敵)に限られず、オブジェクトの属性を示す任意の情報とすることができる。例えば、属性として、オブジェクトの能力に関する情報が設定されてもよい。「位置」は、オブジェクトの表示位置を示す情報である。「位置」は、例えば、オブジェクトの重心位置とすることができる。また、「位置」は、例えば、オブジェクト表示領域120の左上(原点)からの相対座標により表すことができる。「形状」は、オブジェクトの形状を示す情報である。「形状」は、例えば、オブジェクトの画像を示す情報であってもよいし、ポリゴンの集合を示す情報であってもよい。
【0029】
図3に戻り、命令特定部320は、複数の命令の中から、現在の状況で実行可能な命令を特定する。具体的には、命令特定部320は、命令情報記憶部300の命令情報を参照し、「状況」が現在の状況に対応する命令を、実行可能な命令として特定する。特定される命令は、1つであってもよいし複数であってもよい。なお、実行可能な命令が固定されている場合、携帯端末100は、命令特定部320を備えなくてもよい。
【0030】
命令選択部330は、命令特定部320により特定された命令の中から、命令選択領域130においてユーザの指140(例えば、左手の親指)によって操作されている状態に基づいて、オブジェクトに対して実行する命令を選択する。具体的には、命令特定部320は、命令選択領域130においてタップされたまま保持されている(タップ&ホールドされている)位置に基づいて、命令を選択する。
【0031】
なお、命令選択部330に命令を選択させるためのユーザ操作はこれに限られない。例えば、命令選択部330は、命令選択領域130がタッチされている力の大きさに基づいて、命令を判断してもよい。命令選択領域130がタッチされている力の大きさは、例えば、タッチパネル110が備える感圧センサ又は感力センサにより検出される。命令選択部330が命令を選択する際の基準とする「力」としては、タッチパネル110に対して垂直方向の力に限られず、タッチパネル110に加えられる任意の力を用いることができる。例えば、タッチパネル110に対して斜め方向に加えられる力であってもよい。また、感圧センサ又は感力センサに限られず、タッチパネル110に加えられる力を検出可能な任意のセンサを用いることができる。
【0032】
また例えば、命令選択部330は、タッチパネル110に接触することなく、命令選択領域130に近接する領域に指140が置かれている状態(いわゆる「ホバー操作」)を検出し、これにより指定される命令選択領域130の位置に基づいて、命令を判断してもよい。
【0033】
領域画定部340は、オブジェクト表示領域120のうち、命令選択部330により選択された命令の対象となるオブジェクトの表示位置に対応する領域を、操作を受付可能な領域として画定する。具体的には、領域画定部340は、命令情報記憶部300に記憶された命令情報に基づいて、選択された命令の対象となるオブジェクトを特定する。そして、領域画定部340は、位置情報記憶部310に記憶された位置情報に基づいて、特定されたオブジェクトの表示位置に対応する領域を、操作を受付可能な領域として画定する。このとき、領域画定部340は、命令情報に設定された「調整情報」に基づいて、受付可能な領域の大きさを調整することができる。
【0034】
命令実行部350は、命令選択領域130においてユーザの指140(例えば、左手の親指)による操作が継続されている状態で、領域画定部340により画定された受付可能な領域におけるユーザの指150(例えば、右手の親指)の操作により、当該操作が行われた領域に対応するオブジェクトに対して、命令選択領域130で選択された命令を実行する。この際の指150による操作は、例えば、タップとすることができる。なお、画定された領域に対する操作はタップに限られない。また、当該操作の種類は、選択された命令によって変更されてもよい。
【0035】
図6〜
図8を参照して、本実施形態におけるユーザインタフェースの例を説明する。
【0036】
図6は、命令選択領域130が操作されていない状態におけるユーザインタフェースの例を示す図である。
図6に示す例では、オブジェクト表示領域120には、3つのオブジェクト600,601,602が表示されている。ここでは、オブジェクト600は、プレイヤー(属性:party)のオブジェクトであり、オブジェクト601,602は、敵(属性:enemy)のオブジェクトであるとする。
【0037】
命令選択領域130が操作されていない場合、オブジェクト表示領域120に対して指150(例えば、右手の親指)による操作が行われると、オブジェクトに対して所定の命令が実行される。なお、オブジェクト600〜602に対して、それぞれ、操作を受付可能な領域620〜622が設定されている。例えば、敵であるオブジェクト601の領域621が指150でタップされると、オブジェクト601に対してナイフで攻撃する命令が実行される。また例えば、オブジェクト表示領域120における領域620〜621以外の領域が指150でタップされると、プレイヤーのオブジェクト600をタップされた位置に移動させる命令が実行される。
【0038】
図7Aは、命令選択領域130が操作されている状態におけるユーザインタフェースの例を示す図である。
図7Aに示す例では、指140(例えば、左手の親指)によって命令選択領域130が操作されている。
【0039】
この例では、指140の位置により、矢を射る命令が選択されており、指140が置かれている位置の近傍の領域(第3の領域)に、当該命令を示す矢の画像710が表示されている。また、この例では、敵であるオブジェクト601,602が、矢を射る命令の対象となるオブジェクトとなっている。これにより、これらのオブジェクト601,602の受付可能な領域621,622は、
図6の場合と比較して大きくなっている。そして、例えば、大きくなった領域621が指150(例えば、右手の親指)でタップされると、当該領域621に対応するオブジェクト601に対して、矢を射る命令が実行される。オブジェクト602に対する操作も同様である。なお、領域621,622は、オブジェクト601,602の表示位置の更新に応じて動的に更新される。また、オブジェクト表示領域120における領域621,622以外の領域は、操作を受付不可能な状態とすることができる。
【0040】
図7Bは、命令選択領域130が操作されている状態におけるユーザインタフェースの別の例を示す図である。
図7Bに示す例では、指140(例えば、左手の親指)によって命令選択領域130が操作されている。
【0041】
この例では、指140の位置により、傷薬を与える命令が選択されており、指140が置かれている位置の近傍の領域(第3の領域)に、当該命令を示す薬瓶の画像720が表示されている。また、この例では、味方であるオブジェクト600が、傷薬を与える命令の対象となるオブジェクトとなっている。これにより、オブジェクト600の受付可能な領域620は、
図6の場合と比較して大きくなっている。そして、例えば、大きくなった領域620が指150(例えば、右手の親指)でタップされると、当該領域620に対応するオブジェクト600に対して、傷薬を与える命令が実行される。なお、領域620は、オブジェクト600の表示位置の更新に応じて動的に更新される。また、オブジェクト表示領域120における領域620以外の領域は、操作を受付不可能な状態とすることができる。
【0042】
図7A及び
図7Bに示したように、命令選択領域130で選択された命令の対象となるオブジェクトの表示位置に対応する領域が、操作を受付可能な領域として画定される。そして、操作を受付可能な領域においてオブジェクトに対する操作(例えば、タップ)が行われることにより、選択された命令が実行される。このように、本実施形態のユーザインタフェースでは、命令選択領域130で命令を選択することによってオブジェクト表示領域120における操作の解釈を変更するとともに、命令選択領域130から指を離して別の操作を行うことなく、オブジェクト表示領域120において操作を行うことが可能である。これにより、オブジェクトに対する多種類の命令を、素早く、小さい面積で、精度よく入力することが可能となる。
【0043】
なお、画定された領域の形状は任意である。例えば、画定された領域の形状は、オブジェクトの形状を拡大したものであってもよいし、オブジェクトの重心位置を中心とする楕円であってもよい。また、画定された領域を識別可能に表示してもよい。例えば、当該オブジェクトまたは当該領域を、他のオブジェクトや他の領域とは異なる表示態様で表示してもよい。また、命令を示す画像710,720が表示される領域は、命令選択領域130に隣接する領域に限られない。例えば、画像710,720が表示される領域は、命令の対象となるオブジェクトの受付可能な領域に隣接する領域であってもよい。
【0044】
図8は、携帯端末100を縦向きにした状態におけるユーザインタフェースの例を示す図である。
図8に示すように、縦向きの場合、命令選択領域130の位置が、
図8における下側に設定されている。この命令選択領域130において、指140(例えば、左手の親指)を左右にスライドさせることにより、命令を選択することができる。そして、横向きの場合と同様に、オブジェクト表示領域120において指150(例えば、右手の親指)による操作(例えば、タップ)が行われることにより、オブジェクトに対する命令を実行することができる。
【0045】
図9は、携帯端末100におけるユーザインタフェースに関する処理の一例を示すフローチャートである。
【0046】
命令選択部330は、命令選択領域130がタップ&ホールドされているか確認している(S901)。タップ&ホールドされていない場合(S901:N)、命令実行部350は、
図6に例示したように、通常のユーザインタフェースに基づく命令を実行する(S902)。
【0047】
命令選択領域130がタップ&ホールドされている場合(S901:Y)、命令特定部320は、命令情報に基づいて、現在の状況で実行可能な命令を特定する(S903)。そして、命令選択部330は、特定された命令の中から、命令情報に基づいて、命令選択領域130の位置に応じて命令を選択する(S904)。
【0048】
命令が選択されると、領域画定部340は、
図7A及び
図7Bに例示したように、選択された命令の対象となるオブジェクトに対する操作を受付可能な領域を画定する(S905)。このとき、領域画定部340は、対象のオブジェクトに対する操作を受付可能な領域を、通常のユーザインタフェース(S902)の場合よりも大きくすることができる。そして、命令実行部350は、画定された領域に対するタップ操作に応じて、オブジェクトに対して命令を実行する(S906)。
【0049】
以上、本実施形態の携帯端末100におけるユーザインタフェースについて説明した。本実施形態によれば、
図7A及び
図7Bに示したように、命令選択領域130を指140でタップ&ホールドした状態で、指140(例えば、左手の親指)による操作状態に基づいて命令を選択し、選択された命令の対象となるオブジェクトの表示位置に対応する領域を、指150(例えば、右手の親指)による操作を受付可能な領域として画定することができる。これにより、携帯端末100の持ち方を変更したり、複数段階の操作をしたりすることなく、命令を切り替えるとともに、命令選択領域130から指を離して別の操作を行うことなく、命令の実行を簡単な操作(例えば、タップ)により指示することができる。従って、オブジェクトに対する多種類の命令を、素早く、小さい面積で、精度よく入力することが可能となる。
【0050】
また、本実施形態によれば、命令選択領域130において指140(例えば、左手の親指)によって操作されている位置に基づいて、命令を選択することができる。従って、
図7A及び
図7Bに示したように、命令選択領域130において指140の位置を変更することにより、容易に命令を切り替えることができる。
【0051】
また、本実施形態によれば、命令選択領域130において指140(例えば、左手の親指)を接触したまま移動させる操作に応じて、命令を連続的に切り替えることができる。命令を切り替える際に指140をタッチパネル110から離す必要がないため、スムーズに命令を切り替えることができる。
【0052】
また、本実施形態によれば、命令選択領域130において指140(例えば、左手の親指)により加えられている力の大きさに基づいて、命令を選択することができる。従って、命令選択領域130において指140で押す力を変更することにより、容易に命令を切り替えることができる。
【0053】
また、本実施形態によれば、命令選択領域130において指140(例えば、左手の親指)を接触したまま、この指140により加えられている力を変化させる操作に応じて、命令を連続的に切り替えることができる。命令を切り替える際に指140をタッチパネル110から離す必要がないため、スムーズに命令を切り替えることができる。
【0054】
また、本実施形態によれば、選択された命令の対象となるオブジェクトに対する操作を受付可能な領域の大きさを調整することができる。具体的には、
図7A及び
図7Bに示したように、通常のユーザインタフェースの際よりも、選択された命令の対象となるオブジェクトに対する操作を受付可能な領域の大きさや奥行き方向の前後関係を調整することができる。これにより、操作ミスを軽減し、検出精度を高めることができる。
【0055】
また、本実施形態によれば、選択された命令の対象となるオブジェクトの表示位置の更新に応じて、選択された命令の対象となるオブジェクトに対する操作を受付可能な領域を更新することができる。これにより、例えば、ゲームのような、オブジェクトの位置の更新を伴うユーザインタフェースにおいて、検出精度の向上と素早い操作が可能となる。
【0056】
また、本実施形態によれば、命令選択領域130において選択された命令の対象となるオブジェクトに対する操作を受付可能な領域に対する操作を、タップ操作とすることができる。これにより、命令選択領域130に対する操作で命令を切り替えつつ、簡単なタップ操作により、命令の実行を指示することができる。
【0057】
また、本実施形態によれば、
図7A及び
図7Bに示したように、命令選択領域130において選択された命令の画像(例えば、画像710,720)を表示することができる。これにより、選択された命令の認識が容易となる。なお、本実施形態では、選択された命令を示す画像を表示することとしたが、選択された命令の認識の補助はこれに限られない。例えば、選択された命令に応じた音声(効果音)が出力されてもよい。
【0058】
また、本実施形態によれば、選択された命令を示す画像を、命令選択領域130に隣接する領域に表示することができる。このように、命令選択領域130に隣接した領域に画像を表示することにより、選択された命令の認識が容易となる。なお、
図7A及び
図7Bに示したように、指140の位置に応じて画像710,720の表示位置を変更することにより、選択された命令の認識がより容易となる。
【0059】
また、本実施形態によれば、選択された命令を示す画像を、選択された命令の対象となるオブジェクトに対する操作を受付可能な領域に隣接する領域に表示することができる。これにより、選択された命令の認識が容易になるとともに、命令の対象となるオブジェクトの認識も容易となる。
【0060】
また、本実施形態によれば、命令選択領域130で選択可能な命令を、状況に応じて切り替えることができる。これにより、様々な状況が発生するロールプレイングゲーム等において、その状況に応じて命令を切り替えることが可能となる。
【0061】
また、本実施形態によれば、命令選択領域130において選択された命令の対象となるオブジェクトに対する操作を受付可能な領域を、識別可能に表示することができる。これにより、どのオブジェクトに対する操作が可能であるかを容易に識別することが可能となる。
【0062】
また、本実施形態によれば、
図7A、
図7B、及び
図8に示したように、命令選択領域130を、タッチパネル110の表示領域の端部に設けることができる。これにより、オブジェクトへの操作の邪魔にならず、かつ、指を置きやすい領域で、命令を選択することができる。さらに、本実施形態によれば、携帯端末100の向きに応じて、命令選択領域130の位置を変更することができる。
【0063】
なお、本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更/改良され得るととともに、本発明にはその等価物も含まれる。
【解決手段】プログラムは、第1の領域と第2の領域とを有するタッチパネルを備える携帯端末に、命令及び当該命令の対象となるオブジェクトの対応関係を示す命令情報を記憶する命令情報記憶部と、第2の領域における各オブジェクトの表示位置を示す位置情報を記憶する位置情報記憶部と、第1の領域において第1の指によって操作されている状態に基づいて、命令を選択する命令選択部と、命令情報及び位置情報に基づいて、第2の領域のうち、選択された命令の対象となるオブジェクトの表示位置に対応する領域を、操作を受付可能な領域とする領域画定部と、第1の領域において第1の指による操作が継続されている状態で、受付可能な領域における第2の指の操作により、当該操作が行われた領域に対応するオブジェクトに対して選択された命令を実行する命令実行部と、を実現させる。