【文献】
北条利彦,マウスのボタンを押すこととクリックすることの違い,技術詳解,[online],2009年 7月 8日,[平成29年4月13日検索],インターネット,URL,http://pcnetbeginners.seesaa.net/article/123106095.html
【文献】
wwww20jp,GameMaker: Studioで困ったこととかメモする記事,(・。・;,[online],2016年10月 3日,[平成29年4月13日検索],インターネット,URL,http://blog.livedoor.jp/wwww20jp/archives/48583391.html
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
[本開示が示す実施形態の説明]
本開示が示す実施形態の概要を説明する。
(1)本開示の一実施形態に係るゲーム方法は、ユーザの入力操作に従って、タッチスクリーンに表示されるキャラクタオブジェクトを制御するゲーム方法であって、
当該ゲーム方法は、
(a)前記入力操作の開始点に関連付けられた基準位置から前記入力操作の終了点に向けて、前記タッチスクリーン上に操作オブジェクトを表示させるステップと、
(b)前記入力操作に基づいて、前記キャラクタオブジェクトに所定の動作を実行させるステップと、
(c)前記開始点および前記終了点がそれぞれ前記タッチスクリーン上に表示されているユーザインターフェース画像の所定領域内にあるか否かを判定するステップと、
(d)前記ステップ(c)において前記開始点が前記所定領域内にあり、かつ、前記終了点が前記所定領域外にあると判定された場合には、前記基準位置が前記所定領域外に配置されるように前記基準位置を更新するステップと、
を含む。
【0011】
上記方法によれば、ユーザが誤ってユーザインターフェース画像にタッチした場合にも、タッチ操作をやり直すことなく操作オブジェクトの操作を実行することができる。これにより、直感的な操作が可能となり、操作性が向上される。
【0012】
(2)前記ステップ(d)において、前記基準位置を、前記開始点と前記終了点とを結ぶ直線上における前記所定領域外の所定位置に設定しても良い。
【0013】
上記方法によれば、スライド操作に追従した操作オブジェクトの表示が可能となる。
【0014】
(3)前記所定領域は、前記ユーザインターフェース画像の表示領域と一致するか、あるいは前記表示領域よりも大きい領域であっても良い。
【0015】
上記方法によれば、操作オブジェクトが表示された場合でもユーザインターフェース画像の視認性を必要以上に損なうことがない。
【0016】
(4)前記ステップ(c)において前記開始点および前記終了点が前記所定領域内にあると判定された場合には、前記ユーザインターフェース画像に関連付けられた操作を可能とする一方、前記終了点が前記所定領域外であると判定された場合には前記ユーザインターフェース画像に関連付けられた操作を可能としないステップをさらに含んでも良い。
【0017】
上記方法によれば、ユーザインターフェース画像に関連付けられた操作と操作オブジェクトの操作とが重複して実行可能とされることがないため、操作性を向上させることができる。
【0018】
(5)前記ステップ(d)において前記終了点が前記所定領域外にあると判定された後で、前記終了点が再び前記所定領域内に戻ったと判定された場合には、前記ユーザインターフェース画像に関連付けられた操作を可能としなくても良い。
【0019】
一旦、終了点が所定領域外に出た場合には、ユーザはユーザインターフェース画像ではなく操作オブジェクトを操作することを要求していると解されるため、ユーザインターフェース画像は操作できないようにすることが好ましい。
【0020】
(6)(f)前記ステップ(c)において前記開始点および前記終了点が前記所定領域内にあると判定された場合には、前記操作オブジェクトを表示しないステップをさらに含んでも良い。
【0021】
上記方法によれば、ユーザインターフェース画像に対する操作と、操作オブジェクトの操作とが重複して実行可能とされることが無く、操作性をより向上させることができる。
【0022】
(7)本開示の一実施形態に係るゲームプログラムは、上記(1)から(6)のいずれかに記載のゲーム方法をコンピュータに実行させるためのゲームプログラムである。
【0023】
この構成によれば、ユーザが誤ってユーザインターフェース画像にタッチした場合であっても、タッチ操作をやり直すことなく操作オブジェクトの操作を実行可能なゲームプログラムを提供することができる。
【0024】
[本開示が示す実施形態の詳細]
以下、本開示が示す実施形態について図面を参照しながら説明する。なお、本実施形態の説明において既に説明された部材と同一の参照番号を有する部材については、説明の便宜上、その説明は繰り返さない。
【0025】
本開示の実施の形態によるゲームプログラムは、
図1に示されるように、タッチスクリーン2を備えたユーザ端末1において実行されるものである。ユーザ端末1は、ゲームプログラムを実行することにより、ゲームプログラムに応じたゲームをプレイする環境をユーザに対して提供する。ユーザ端末1は、例えば、アプリ等を配信するプラットフォームを介してゲームプログラムをインストールする。ユーザ端末1は、ユーザ端末1にインストールされたゲームプログラム、または、予めプリインストールされているゲームプログラムを実行することで、ユーザによるゲームのプレイを可能とする。ユーザは、タッチスクリーン2を介してゲーム内のプレイヤキャラクタ(キャラクタオブジェクトの一例)を操作することができる。ユーザ端末1は、例えば、スマートフォン、PDA(Personal Digital Assistant)、タブレット型コンピュータ等の携帯可能な端末であってもよいし、パーソナルコンピュータ、ビデオゲーム機器等であってもよい。
【0026】
なお、ユーザ端末1はネットワークを介してゲーム・サーバと通信を行ってもよい。この場合は、以下の実施形態におけるユーザ端末1に関する様々な機能の全部または一部はゲーム・サーバが担い、例えば、ゲーム・サーバで生成されるゲーム画像をブラウザ等のアプリケーションによりユーザ端末1で表示できるように構成してもよい。さらに、ゲーム・サーバを介して、ユーザ端末1を、別のユーザ端末と通信可能な構成とすることもできる。
【0027】
図2に示されるように、ユーザ端末1は、ハードウェア構成として、互いにバス接続されたCPU(Central Processing Unit)3、主記憶4、補助記憶5、送受信部6、表示部7および入力部8を備えている。このうち主記憶4は例えばDRAM(Dynamic Random Access Memory)などで構成されており、補助記憶5は例えばHDD(Hard Disk Drive)などで構成されている。補助記憶5には、本実施の形態によるゲームプログラムが格納されている。ゲームプログラムは、主記憶4上に展開されCPU3によって実行される。なお、主記憶4上には、CPU3がゲームプログラムに従って動作している間に生成したデータやCPU3によって利用されるデータも一時的に格納される。送受信部6はCPU3の制御によりユーザ端末1とネットワークとの接続を確立する。入力部8は、タッチスクリーン2である表示部7に対するユーザの操作を検知して、ユーザ端末1に対して何らかの操作があったことを検知する。
【0028】
図3は、本実施形態に係るユーザ端末1の機能ブロック図の一例を示す。
本実施の形態における表示部7および入力部8は上述したタッチスクリーン2に相当する。タッチスクリーン2は、
図3に示されるように、入力部8に相当するタッチセンシング部10と表示部7に相当するディスプレイ20とを有している。タッチスクリーン2は、ユーザのタッチ操作(タッチスクリーン2における物理的接触操作等)を受け付ける。具体的には、タッチセンシング部10はユーザによるタッチ操作に応じた操作信号を制御部30へ出力する。タッチ操作は、ユーザの指によりなされてもよいし、スタイラス等でもよい。ディスプレイ20は、制御部30から出力される表示信号に基づいてユーザ操作に対応する画像を表示する。ディスプレイ20は、例えばLCD(Liquid Crystal Display)、有機EL(electroluminescence)などの表示装置によって実現される。
【0029】
制御部30は、タッチセンシング部10が受け付けたユーザからの指示に基づいてゲームプログラムを実行し、ゲーム世界においてプレイヤとして機能するプレイヤキャラクタの動作を制御しつつ、ゲームを進行させる。制御部30は、ゲームプログラムを実行することにより、入力操作受付部32と、キャラクタ操作検出部34と、オブジェクト制御部36と、表示制御部38と、の各機能を発揮する。
【0030】
入力操作受付部32は、タッチスクリーン2の出力に基づいて、ユーザの入力操作を受け付ける。具体的には、入力操作受付部32は、ユーザの指などがタッチセンシング部10に接近したことを、タッチスクリーン2を構成する面の横軸および縦軸からなる座標系の座標として検出する。
【0031】
入力操作受付部32は、タッチスクリーン2に対するユーザの操作を判別する。入力操作受付部32は、例えば、(1)「接近操作」、(2)「リリース操作」、(3)「タップ操作」、(4)「長押し操作(ロングタッチ操作)」、(5)「ドラッグ操作(スワイプ操作)」などのユーザの操作を判別する。入力操作受付部32が判別するユーザの操作は、上記に限られない。例えば、タッチセンシング部10が、ユーザがタッチセンシング部10に対して押下する圧力の大きさを検出可能な機構を有する場合、入力操作受付部32は、ユーザが押下した圧力の大きさを判別する。
【0032】
(1)「接近操作」とは、ユーザが指などをタッチスクリーン2に接近させる操作である。タッチスクリーン2は、ユーザの指などが接近したこと(ユーザの指などがタッチスクリーン2に接触したことを含む)をタッチセンシング部10により検出し、検出したタッチスクリーン2の座標に応じた信号を入力操作受付部32へ出力する。制御部30は、タッチスクリーン2へのユーザの指などの接近を検出しない状態から、接近を検出したときに、状態が「タッチオン状態」になったと判別する。
【0033】
(2)「リリース操作」とは、ユーザがタッチスクリーン2を接近操作している状態を止める操作である。制御部30は、例えば、ユーザが指をタッチスクリーン2に接触させている状態から、指を離す操作をしたときに、ユーザの操作を「リリース操作」と判別する。制御部30は、タッチスクリーン2へのユーザの指などの接近を検出している状態から、接近を検出しない状態になったときに、状態が「タッチオン状態」から「タッチオフ状態」になったと判別する。
【0034】
(3)「タップ操作」とは、ユーザがタッチスクリーン2に対して指などを接近させる接近操作をした後に、接近操作をした位置でリリース操作を行うことである。入力操作受付部32は、接近操作が検出されない状態(ユーザの指などがタッチスクリーン2から離れており、タッチセンシング部10がユーザの指などの接近を検出していない状態)から、タッチスクリーン2の出力に基づいて、ユーザの指などが接近したことを検出した場合に、その検出した座標を「初期タッチ位置」として保持する。制御部30は、初期タッチ位置の座標と、リリース操作をした座標とがほぼ同一である場合(接近操作が検出された座標から一定範囲内の座標においてリリース操作の座標が検出された場合)に、ユーザの操作を「タップ操作」と判別する。
【0035】
(4)「長押し操作」とは、ユーザがタッチスクリーン2を押し続ける操作である。制御部30は、ユーザの操作を検出して接近操作を判別してから、接近操作が検出された座標(あるいは当該座標を含む一定領域内)において接近操作が継続している時間が一定時間を超えた場合に、ユーザの操作を「長押し操作」(「長押し操作」を、「ロングタッチ操作」と称することもある)と判別する。
【0036】
(5)「ドラッグ操作」とは、ユーザがタッチスクリーン2に指などを接近させた接近状態を維持したまま、指をスライドさせる操作である。
【0037】
キャラクタ操作検出部34は、タッチスクリーン2に対するユーザの入力操作に基づいて、ゲームに登場するプレイヤキャラクタ(以下、「自キャラクタ」と称することもある)に所定の動作を実行させる入力操作の操作内容を検出する。キャラクタ操作検出部34は、ユーザの入力操作に基づいて、例えば、プレイヤキャラクタを移動させる方向を検出する。すなわち、キャラクタ操作検出部34は、ユーザがプレイヤキャラクタの移動方向を指定する入力操作を受け付ける。
【0038】
具体的には、キャラクタ操作検出部34は、タッチスクリーン2からユーザの指が離れた状態から、ユーザが指をタッチスクリーン2に接近させて、入力操作受付部32がタッチセンシング部10にユーザの指が接近したことを検出した座標を初期タッチ位置として、ユーザがドラッグ操作を行った場合に、初期タッチ位置の座標とタッチスクリーン2の検出結果とに基づいて、プレイヤキャラクタの移動方向を検出する。キャラクタ操作検出部34での具体的な処理については、後述する。
【0039】
オブジェクト制御部36は、ユーザ端末1がゲームプログラムを実行することにより進行されるゲームに登場する各種オブジェクト、および、入力操作受付部32が受け付けたユーザの操作内容に基づいて生成される各種オブジェクト(例えば、GUI(Graphical User Interface)画面)の生成、変形、移動などの処理を制御する。オブジェクト制御部36は、例えば、ユーザがプレイヤキャラクタを移動させるためのタッチスクリーン2に対する入力操作に基づいて、プレイヤキャラクタの移動方向を示す操作オブジェクト40を生成する。操作オブジェクト40の詳細については、後述する。
【0040】
表示制御部38は、キャラクタ操作検出部34およびオブジェクト制御部36での制御に応じて、ディスプレイ20の表示内容を決定し、決定した表示内容に従った画像、テキスト等の各種の情報をディスプレイ20に出力する。例えば、表示制御部38は、プレイヤキャラクタをディスプレイ20の一定領域に表示させた状態で、入力操作受付部32によって受け付けた入力操作に応じて操作オブジェクト40を表示させつつプレイヤキャラクタに所定の動作(例えば、移動やジャンプ動作)を行わせる画面表示を行う。
【0041】
図4は、本実施形態に係るユーザ端末1のタッチスクリーン2に表示されるゲーム画面の一例を示す。
図4の画面例は、ユーザが操作する自キャラクタ100(キャラクタオブジェクト、プレイヤキャラクタの一例)に、所定の動作を行わせるための入力操作を受け付ける画面である。制御部30は、タッチスクリーン2に、ユーザが操作するプレイヤキャラクタである自キャラクタ100と、対戦相手(敵)となるキャラクタである相手キャラクタ200とを表示させて、ユーザに対し、自キャラクタ100に所定の動作を行わせるための入力操作を受け付ける。自キャラクタ100および相手キャラクタ200は、ユーザ端末1を縦型となるように置いたときに、その上下方向においてタッチスクリーン2の中央付近(例えば、タッチスクリーン2をその上下方向に三分割したときの中央の領域内)に、例えば、左右方向において進行方向に視野がやや広くなるように表示される。タッチスクリーン2の下方には、例えば地面の断面(
図4のドット模様の部分)が表示されている。タッチスクリーン2の下半部、すなわち地面の断面が表示された部分は、後述の操作オブジェクト40を操作するためのスペースとして利用可能である。ユーザは、タッチスクリーン2の任意位置への操作によって、自キャラクタ100を操作することができる。ユーザが、例えば、ディスプレイ20の左右方向に沿った方向(
図4の矢印Aの方向)のドラッグ操作を入力した場合、制御部30は、そのドラッグ操作を受け付けて、自キャラクタ100をドラッグ操作の方向に対応する方向(例えば、矢印Bの方向)に移動させるよう制御する。
なお、タッチスクリーン2の左右方向の端部には、各種のユーザインターフェース画像300が表示されていても良い。UI画像300には、例えば、マップを表示するためのUI画像300A、キャラクタを変更するためのUI画像300B、スキル(ゲーム内で自キャラクタ100により行われる攻撃アクションの一つ)を発動させるためのUI画像300Cが含まれる。
【0042】
<1.自キャラクタの動作制御>
図5は、キャラクタ操作検出部34が、ユーザの入力操作に応じて自キャラクタ100を移動させる方向を検出する処理を示す図である。キャラクタ操作検出部34は、ユーザがタッチスクリーン2を押していない状態から、指などをタッチセンシング部10に接近させてタッチスクリーン2を押した位置(初期タッチ位置)を起点と設定する。入力操作受付部32は、ユーザの操作をドラッグ操作と判別している場合に、起点となる座標と、タッチスクリーン2がユーザの指などの接近を検出している座標とに基づいて、自キャラクタ100を移動させる方向を検出する。
【0043】
図5の状態(A)は、タッチスクリーン2からユーザの指が離れた状態から、ユーザが指をタッチスクリーン2に接近させた状態を示す。入力操作受付部32は、ユーザの指がタッチスクリーン2に接近したことを検出し、検出した座標を初期タッチ位置としてメモリ(例えば、主記憶4または補助記憶5)に保持する。
【0044】
図5の例では、メモリが保持する初期タッチ位置の座標を、初期タッチ位置座標55として示す。入力操作受付部32は、タッチスクリーン2の検出結果(ユーザの指がタッチスクリーン2に接近している座標、および、ユーザの指がタッチスクリーン2に接近していることを検出していないこと(検出結果「null」))を、一定フレーム分、バッファメモリ53に格納する。バッファメモリ53は、タッチスクリーン2における検出結果を、各フレームについて一定フレーム分(
図5の例では、メモリ領域fp〔0〕〜メモリ領域fp〔10〕までの11フレーム分)、格納することができる。バッファメモリ53は、例えばリングバッファとして実現することができる。
【0045】
状態(A)の例では、ユーザがタッチスクリーン2を押した位置を、押下位置50A(タッチスクリーン2の座標(x0,y0))として示す。
【0046】
図5の状態(B)は、ユーザがタッチスクリーン2に対してドラッグ操作を行って、タッチスクリーン2に対する押下位置を、押下位置50Aから押下位置50B(タッチスクリーン2の座標(x9,y9))まで10フレーム(メモリ領域fp〔0〕〜メモリ領域fp〔9〕までの10フレーム分)で移動させたことを示す。入力操作受付部32は、タッチスクリーン2の検出結果をバッファメモリ53に格納し、バッファメモリ53に保持される値を参照して、タッチスクリーン2に対するユーザの操作をドラッグ操作と判別する。
【0047】
図5の状態(C)は、ユーザがタッチスクリーン2を押している位置を、押下位置50Bから押下位置50C(タッチスクリーン2の座標(x14,y14))まで、5フレーム(メモリ領域fp〔10〕、fp〔0〕、fp〔1〕、fp〔2〕、fp〔3〕の5フレーム分)で移動させたことを示す。
【0048】
図5の状態(D)は、キャラクタ操作検出部34が、状態(B)および状態(C)のそれぞれにおいて、ユーザが自キャラクタ100を移動させる方向を指定する入力操作の検出結果を示す。キャラクタ操作検出部34は、バッファメモリ53において、タッチスクリーン2が検出する押下位置の座標を書き込む対象となるメモリ領域がいずれであるかを示す情報(バッファメモリ53の書き込み位置)を管理している。
【0049】
状態(B)において、キャラクタ操作検出部34は、入力操作受付部32の判別結果に基づいて、初期タッチ位置を示す座標51A(座標(x0,y0))から座標51B(座標(x9,y9))までユーザがドラッグ操作を行ったことを検出する。キャラクタ操作検出部34は、初期タッチ位置の座標51Aを起点として、座標51Aと座標51Bとによって規定されるベクトル52B((y9−y0)/(x9−x0))を、自キャラクタ100を移動させる方向として検出する。
【0050】
状態(C)において、キャラクタ操作検出部34は、入力操作受付部32の判別結果に基づいて、座標51B(座標(x9,y9))から座標51C(座標(x14,y14))までユーザがドラッグ操作を行ったことを検出する。キャラクタ操作検出部34は、初期タッチ位置の座標51Aを起点として、座標51Aと座標51Cとによって規定されるベクトル52C((y14−y0)/(x14−x0))を、自キャラクタ100を移動させる方向として検出する。
【0051】
<2.操作オブジェクトの基本構成>
本実施形態に係る操作オブジェクト40(
図4参照)は、ユーザのタッチスクリーン2に対する接近操作が検知されるとタッチスクリーン2に表示される。操作オブジェクト40は、ユーザが自キャラクタ100を移動させる方向を示す弾性状のオブジェクトである。操作オブジェクト40は、
図6の(A)に示すように、指接触時の初期形状として、タッチスクリーン2に接触した位置(例えば、
図5の初期タッチ位置座標51A)である接触開始点に関連付けられた基準位置の周囲に、円形状の基部42を有するように形成される。なお、基準位置は、最初に指がタッチスクリーン2に触れた座標でなくても良く、例えば、最初に指が触れたフレームの数フレーム後のフレームにおいて指が触れていた座標であっても良い。
【0052】
ユーザがタッチスクリーン2上で接触開始点から接触終了点(ここで、接触終了点とは、ユーザの指などがタッチスクリーン2に接触した状態での最終地点を意味する)までドラッグ操作を行うと、
図6の(B)に示すように操作オブジェクト40は、ユーザの指に引っ張られるような弾性変形を伴う。このとき、操作オブジェクト40は、ドラッグ操作の接触開始点に対応して表示される基部(拡大部)42に加えて、ドラッグ操作の接触終了点(注:指はタッチスクリーン2に接触したままの状態である。)付近に位置する先端部44と、基部42と先端部44との間を接続する接続部46とを含むように構成される。このように操作オブジェクト40は、接触開始点から接触終了点に向けて入力されたドラッグ操作の方向に弾性的に延ばされるように形成される。また、ユーザが接触終了点を接触状態に維持しつつタッチスクリーン2上において更に指などを移動させた場合、先端部44もそれに追従して更に移動し操作オブジェクト40の延びる向きも変化する。ユーザによるドラッグ操作が終了した際に(すなわち、タッチスクリーン2上において接触終了点からユーザの指が離れた際に)、弾性変形した操作オブジェクト40が、その復元力に従って、接触開始点に向けて段階的に萎縮して、
図6の(A)に示した初期形状に復元するように表示され、一定時間経過後に非表示となる。
【0053】
なお、
図6の(A)では、接触開始点を中心に円形状の基部42を形成しているが、必ずしもこれに限定されない。すなわち、操作オブジェクト40の基部42は、接触開始点に関連付けられた所定の位置(基準位置)に対応して表示されていても良い。また、接触開始点に形成した操作オブジェクト40(基部42)をドラッグ操作に応じて変形させずに、接触開始点から接触終了点に向けて、操作オブジェクトの一部を構成する別のオブジェクトを表示させるようにしても良い。
【0054】
<3.操作オブジェクトの表示処理の説明>
図7〜
図10を参照して、本実施形態に係るゲームプログラムにおける操作オブジェクトの表示処理について説明する。
図7のステップS1において、制御部30は、ユーザの指などがタッチスクリーン2へ接近したか(接近操作が入力された)否かを、タッチセンシング部10から入力操作受付部32へ出力された信号により判定する。接近操作が入力されたと判定された場合には(ステップS1のYes)、ステップS2において、制御部30は、指などがタッチスクリーン2上に接近した位置(接触開始点)が
図8に示すUI画像300の当たり判定エリア301(所定領域の一例)内にあるか否かを判定する。当たり判定エリア301は、その領域内での入力操作をUI画像300の操作に関連付けるための領域であって、
図8の(A)に示すように、例えば、UI画像300の表示領域よりも一回り大きい領域として設定されている。なお、当たり判定エリア301は、UI画像300の表示領域と一致する大きさの領域として設定されても良い。ステップS2で接触開始点が当たり判定エリア301外にあると判定された場合には(ステップS2のNo)、ステップS3において、制御部30は、
図6の(A)に示すように、接触開始点に関連付けられた基準位置の周囲に操作オブジェクト40の基部42を表示させる。その後、接触開始点から接触終了点へ向けてドラッグ操作が入力された場合には、ステップS4において、制御部30は、
図6の(B)に示すように操作オブジェクト40を、ユーザの指に引っ張られるように弾性変形して表示させる。次いで、ステップS5において、制御部30は、ユーザの指がタッチスクリーン2から離れたか(リリース操作が入力されたか)否かを判定する。リリース操作が入力されたと判定された場合には(ステップS5のYes)、制御部30は、走査オブジェクト40を非表示とし、ステップS1へ処理を戻す。
【0055】
一方、
図8の(A)に示すように、ステップS2で接触開始点Psが当たり判定エリア301内にあると判定された場合には(ステップS2のYes)、ステップS6において、制御部30は、ドラック動作の接触終了点がUI画像300の当たり判定エリア301内にあるか否かを判定する。このとき、操作オブジェクト40は表示されない。接触終了点が当たり判定エリア301内にあると判定された場合には(ステップS6のYes)、ステップS7において、制御部30は、接触終了点からユーザの指などが離れたか(リリース操作が入力されたか)否かを判定する。当たり判定エリア301内でリリース操作が入力されたと判定された場合には(ステップS7のYes)、ステップS8において、制御部30は、UI画像300の操作を可能とする。具体的には、
図8の(B)に示すように、接触開始点Psおよびリリース操作が入力された位置(タッチオフ位置)Pfのいずれも当たり判定エリア301内にある場合には、制御部30は、UI画像300に関連付けられた操作(例えば、アクション)を実行する。例えば、UI画像300がスキル発動用のUI画像300C(
図4参照)である場合には、制御部30は、自キャラクタ100に所定のスキルを発動させる。その後、制御部30は、ステップS1へ処理を戻す。なお、
図8の例では、UI画像300と操作オブジェクト40との重複表示を避けるために、ステップS6において、操作オブジェクト40を表示させていないが、この例に限られない。例えば、ステップS6において、制御部30は、操作オブジェクト40をUI画像300と重複するように表示させ、ステップS7でタッチオフ位置Pfが当たり判定エリア301内にあると判定された場合に、操作オブジェクト40を非表示とするようにしても良い。
【0056】
一方、ステップS6で接触終了点が当たり判定エリア301外にあると判定された場合には(ステップS6のNo)、ステップS9において、制御部30は、操作オブジェクト40の表示のための基準位置が当たり判定エリア301外の所定位置に配置されるように、当該基準位置を更新する。
図8の(C)に示すように、接触終了点Peが当たり判定エリア301外にある場合には、更新後の基準位置Ps´を、接触開始点Psと接触終了点Peとを結ぶ仮想直線L上における当たり判定エリア301外の所定位置に設定することが好ましい。なお、ステップS9では、基準位置Ps´が当たり判定エリア301外の所定位置となるよう更新されるため、制御部30は、UI画像300に関連付けられた操作(アクション)を実行しない。
【0057】
続いて、ステップS10において、制御部30は、
図8の(D)に示すように、基準位置Ps´の周囲に操作オブジェクト40の基部42を表示させるとともに、基準位置Ps´から接触終了点Peまで操作オブジェクト40を弾性変形して表示させる。また、ユーザが接触終了点を接触状態に維持しつつタッチスクリーン2上において更に指などを移動させた場合、例えば、
図8の(E)に示すように、接触終了点Pe´が更新された場合には、操作オブジェクト40の先端部44がそれに追従して更に移動することで操作オブジェクト40の延びる向きが変化する。
【0058】
続いて、ステップS11において、制御部30は、リリース操作が入力されたか否かを判定する。リリース操作が入力されたと判定された場合には(ステップS11のYes)、ステップS12において、制御部30は、弾性変形した操作オブジェクト40を更新後の基準位置Ps´に向けて段階的に萎縮して、
図6の(A)に示した初期形状となるよう復元表示させ、一定時間経過後に復元表示した操作オブジェクト40を非表示とする。その後、制御部30は、ステップS1へ処理を戻す。
【0059】
なお、
図9の(A)に示すように、接触終了点Peが当たり判定エリア301の外に出ると、その時点で基準位置Ps´が当たり判定エリア301外の所定位置となるように更新される。そして、
図9の(B)に示すように、ユーザが再度当たり判定エリア301内に指を戻してからリリース操作を入力したとしても、すなわち、接触終了点Peが当たり判定エリア301外に一度出てから接触終了点Peやタッチオフ位置Pfが当たり判定エリア301内に含まれたとしても、基準位置Ps´が当たり判定エリア301内となるようにさらに更新されることはない。そのため、この場合は、制御部30は、UI画像300に関連付けられたアクションを実行しない。
【0060】
以上説明したように、本実施形態によれば、制御部30は、ユーザの指などによるタッチスクリーン2への入力操作に基づいて、接触開始点Psに関連付けられた基準位置から接触終了点Peに向けて、タッチスクリーン2上に操作オブジェクト40を表示させつつ、当該入力操作に基づいて、自キャラクタ100に所定の動作を実行させる。そして、制御部30は、接触開始点Psおよび接触終了点Peがそれぞれタッチスクリーン2上に表示されているUI画像300の当たり判定エリア301内にあるか否かを判定し、接触開始点Psが当たり判定エリア301内にあり、かつ、接触終了点Peが当たり判定エリア301外にあると判定された場合には、基準位置Ps´が当たり判定エリア301外に配置されるようにその基準位置Ps´を更新する。これにより、ユーザが誤ってUI画像300にタッチした場合にも、ユーザは、タッチ操作を再度やり直すことなく操作オブジェクト40の操作を実行することができる。そのため、直感的な操作が可能となり、操作性が向上される。
【0061】
また、更新後の基準位置Ps´を、拙速開始点Psと接触終了点Peとを結ぶ仮想直線L上における当たり判定エリア301外の所定位置に設定することで、スライド操作に追従した操作オブジェクトの表示が可能となる。
【0062】
当たり判定エリア301は、UI画像300の表示領域と一致するか、あるいはUI画像300の表示領域よりも大きい領域となるよう設定することが好ましい。これにより、更新後の基準位置Ps´を基準として操作オブジェクト40(の基部42)が表示された場合でもUI画像300の視認性を必要以上に損なうことがない。
【0063】
ステップS6において、制御部30は、接触開始点Psおよび接触終了点Peが当たり判定エリア301内にあると判定された場合には、UI画像300に関連付けられた操作を可能とする一方、接触終了点Peが当たり判定エリア301外であると判定された場合にはUI画像300に関連付けられた操作を可能としない。これにより、UI画像300に関連付けられた操作と操作オブジェクト40の操作とが重複して可能とされることがないため、操作性を向上させることができる。
【0064】
ステップS6において接触終了点Peが当たり判定エリア301外にあると判定された後で、接触終了点Peが再び当たり判定エリア301内に戻ったと判定された場合には、制御部30は、UI画像300に関連付けられた操作を可能としなくても良い。一旦、接触終了点Peが当たり判定エリア301外に出た場合には、ユーザはUI画像300ではなく操作オブジェクト40を操作することを要求していると解されるため、UI画像300は操作できないようにすることが好ましい。
【0065】
ステップS6において接触開始点Psおよび接触終了点Peが当たり判定エリア301内にあると判定された場合には、制御部30は、操作オブジェクト40を表示しなくても良い。これにより、UI画像300に対する操作と、操作オブジェクト40の操作とが重複することが無く、操作性をより向上させることができる。
【0066】
上記の実施形態は、本発明の理解を容易にするための例示に過ぎず、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良することができると共に、本発明にはその均等物が含まれることは言うまでもない。
【解決手段】ゲーム方法は、(a)入力操作の開始点に関連付けられた基準位置から入力操作の終了点に向けて、タッチスクリーン上に操作オブジェクト40を表示させるステップと、(b)入力操作に基づいて、キャラクタオブジェクトに所定の動作を実行させるステップと、(c)開始点および終了点がそれぞれタッチスクリーン上に表示されているユーザインターフェース画像300の所定領域301内にあるか否かを判定するステップと、(d)ステップ(c)において開始点Psが所定領域301内にあり、かつ、終了点Peが所定領域301外にあると判定された場合には、基準位置Ps´が所定領域301外に配置されるように当該基準位置を更新するステップと、を含む。