説明

情報処理装置、情報処理プログラム

【課題】情報処理装置の操作性を向上させる。
【解決手段】情報処理装置(ゲーム装置10)は、ポインティングデバイス(タッチパネル15、スティック16)と、画像を表示する表示手段(第2のLCD12)とを備える。座標検出手段は、上記ポインティングデバイスによって指示された座標を検出する。第1変化量算出手段(ST24)は、上記ポインティングデバイスの入力が継続して行われているときの上記座標の第1方向の変化量を算出する。第2変化量算出手段(ST25)は、上記ポインティングデバイスの入力が継続して行われているときの上記座標の第2方向の変化量を算出する。第1動作手段(ST401)は、上記第1変化量算出手段で算出された上記第1方向の変化量に基づいて第1の動作を行う。第2動作手段(ST402)は、上記第2変化量算出手段で算出された上記第2方向の変化量に基づいて、上記第1の動作と異なる第2の動作を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ポインティングデバイスを備える情報処理装置、情報処理プログラム等に関する。
【背景技術】
【0002】
従来、ポインティングデバイスのスライド操作またはドラッグ操作に応じて処理を行うゲーム等の情報処理装置が知られている。例えば特許文献1には、タッチパネル上にリング状のマーカーが表示され、それをスライドさせて移動させることで、そのマーカーが移動した位置に応じて異なる動作を行う情報処理装置が開示されている。より具体的には、タッチパネルの検出領域は、格子状の領域に分割して設定され、ユーザーがマーカーを所定の領域に移動させると、この装置は、その領域毎に設定されているパラメータに基づいて画像の表示状態を変化させる旨が開示されている(特許文献1の図6、図13等参照)。
【0003】
特許文献2には、ペン入力装置において、ペンのX軸方向およびY軸方向の移動量および傾きを求め、傾きに応じてX軸方向、Y軸方向に同時にスクロールを行う方法が開示されている。
【0004】
特許文献3には、ポインティング装置により検出した座標の移動量の縦方向成分と、横方向成分を比較し、そのうちの大きい方向がいずれであるかに基づいて、縦方向または横方向のいずれかに移動させる入力があったとものとして処理するプレゼンテーション用表示装置が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−102327号公報
【特許文献2】特開平6−187089号公報
【特許文献3】特開2004−78720号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に開示された装置は、リング状のマーカーの指示位置に対応する領域に設定されたパラメータに基づいて画像を変化させるものである。したがって、ユーザーによりその領域へマーカーがドラッグされない限り、ユーザーは、その装置を所定の状態にすることができない。そのため、マーカーの現在位置によっては、ユーザーは、大きくドラッグしなければ、目的の動作をさせることができない虞があった。また、領域ごとにパラメータが決まっているので、ユーザーが目的の動作を好きな位置で自由に行うことができないという問題があった。また、マーカーをドラッグさせても、マーカーが移動前と同じ領域内にある間は、ユーザーは、画像を変化させることができない虞があった。
また、特許文献2は、斜め方向を含む任意の方向へ画像をスクロールさせることを開示するものである。しかし、スクロールという1種類の動作しか行うことができず、異なる種類の複数の動作を同時に行えるようにしたものではなかった。
【0007】
特許文献3の装置は、移動量を縦方向または横方向のいずれかであると杓子定規に判別するので、特に、ユーザーがポインティング装置上を小さくドラッグした場合には、ユーザーが意図しない方向が装置に入力される虞があった。
【0008】
そこで、本発明は、情報処理装置の操作性を向上させることを目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するために、本発明は、以下の構成を備えることができる。なお、以下では、理解の容易のために()内に実施形態の記載と対応する構成または処理を付しているが、本発明を限定するものではない。
【0010】
(1) 本発明は、
ポインティングデバイス(タッチパネル15、スティック16)を備えた情報処理装置(ゲーム装置10)のコンピュータ(CPUコア21)を、座標検出手段、第1変化量算出手段、第2変化量算出手段、第1動作手段、および第2動作手段として機能させる情報処理プログラムである。
座標検出手段(ST1、ST21、ST22、ST23)は、上記ポインティングデバイスによって指示された座標を検出する。
第1変化量算出手段(ST24)は、上記ポインティングデバイスの入力が継続して行われているときの上記座標の第1方向の変化量(X成分移動量diffX)を算出する。
第2変化量算出手段(ST25)は、上記ポインティングデバイスの入力が継続して行われているときの上記座標の第2方向の変化量(Y成分移動量diffY)を算出する。
第1動作手段(ST4、ST401)は、上記第1変化量算出手段で算出された上記第1方向の変化量に基づいて第1の動作を行う。
第2動作手段(ST4、ST402)は、上記第2変化量算出手段で算出された上記第2方向の変化量に基づいて、上記第1の動作と異なる第2の動作を行う。
【0011】
この構成の情報処理装置の第1変化量算出手段、第2変化量算出手段は、それぞれ第1方向の変化量、第2方向の変化量を算出する。第1動作手段、第2動作手段は、これらの変化量に基づいて、第1の動作、第2の動作を行う。したがって、この構成は、従来のように移動前の初期位置がどの領域に属するかに依存するのではなく、相対的な移動量、移動方向のみに基づいて所定の動作を行うことができるので、所定の動作をさせるために、特定の領域へ移動させる必要がない。したがって、ユーザーは、ポインティングデバイスの入力を開始した点に依存せず、直ちに所定の動作を情報処理装置に対し指示できる。
【0012】
また、この構成によれば、ポインティングデバイスに対する入力が継続している場合、座標の第1方向、第2方向の変化量が、それぞれ、互いに異なった動作への指示入力として割り当てられていることになる。したがって、ユーザーは、ポインティングデバイスという1つの指示手段を用いながら、同時に互いに異なる2つの動作を指示することができる。
【0013】
以上の作用により、情報処理装置の操作性を向上させることができる。
【0014】
(2)表示手段(第1のLCD12、または第2のLCD12)へ画像(第1の表示画像または第2の表示画像)を出力する画像出力手段(CPUコア21による第1GPU26または第2GPU27への画像出力の指示)を、さらに備え、
上記第1変化量算出手段において、上記第1方向とは、水平方向であり、
上記第2変化量算出手段において、上記第2方向とは、垂直方向であり、
上記第1動作手段において、上記第1の動作とは、上記画像のスクロール動作であり(ST401)、
上記第2動作手段において、上記第2の動作とは、上記画像の拡大縮小動作(ST402)である。上記画像出力手段は、上記第1動作手段または/および上記第2動作手段により形成(ST4(ST401、または/およびST402))された画像を出力する。
【0015】
この構成によれば、ユーザーは、ポインティングデバイスという1つの指示手段を用いながら、互いに異なる2つの動作を指示することができる。したがって、情報処理装置の操作性を向上させることができる。
【0016】
(3) 上記情報処理装置のコンピュータを、第1補正値設定手段(ST301)、第2補正値設定手段(ST302)、上記第1動作手段(ST401)、および上記第2動作手段(ST402)としてさらに機能させるようにしてもよい。
【0017】
この場合、第1補正値設定手段は、上記第1方向の変化量に基づいて上記変化量を補正するための第1補正値を設定する。
第2補正値設定手段は、上記第2方向の変化量に基づいて上記変化量を補正するための第2補正値を設定する。
上記第1動作手段は、上記第1補正値に基づいて第1の動作を行う。
上記第2動作手段は、上記第2補正値に基づいて第2の動作を行う。
【0018】
第1補正値設定手段または第2補正値設定手段によれば、ドラッグ操作におけるユーザーの手先の操作ぶれ等による予期せぬ動作を防ぎ、ユーザーの意図しない動作を低減できる。よって、したがって、情報処理装置の操作性を向上させることができる。
【0019】
なお、補正値の設定をするには、第1補正値設定手段または第2補正値設定手段は、たとえば、計算式により計算した値を用いてもよい。また、変化量を補正値に変換するデータテーブルを記憶して、データテーブルを参照して、補正値へ変換してもよい。データテーブルを用いる場合には、第1補正値設定手段または第2補正値設定手段は、データテーブルに記載されていない値については、データテーブルに記載された補正値同士で補間してもよい。
【0020】
(4) 上記第1補正値設定手段は、前回に設定した上記第1補正値(valX(T−1))および今回の上記第1方向の変化量(diffX(T))に基づいて、今回の上記第1補正値(valX(T))を設定する((式1)、(式2))。
上記第2補正値設定手段は、前回に設定した上記第2補正値(valY(T−1))および今回の上記第2方向の変化量(diffY(T))に基づいて、今回の上記第2補正値(valY(T))を設定する((式3)、(式4))ようにしてもよい。
【0021】
ここで、上記第1補正値設定手段、上記第2補正値設定手段による補正処理のフローは、繰り返し行われる。「前回に設定した」補正値とは、1つ前の繰り返しフロー時に計算した値(これから新たに設定する補正値を設定するフローの直前のフローにおいて計算した値)である。
【0022】
この構成によれば、情報処理装置は、前回の補正値を利用するため、滑らかで自然な操作感をユーザーに与えることができる。
【0023】
(5) 上記第1補正値設定手段は、前回の上記第1補正値に、0より大きく1より小さい値を乗じることで減衰値を算出するようにし(ST311)、上記減衰値に第1係数を乗じたものと、上記第1方向の変化量に第2係数を乗じたものの和を、今回の上記第1補正値とするようにしてもよい(ST312)。
【0024】
この場合、第2補正値設定手段は、前回の上記第2補正値に、0より大きく1より小さい値を乗じることで減衰値を算出する(ST321)。この場合、上記第2補正値設定手段は、上記減衰値に第3係数を乗じたものと、上記第2方向の変化量に第4係数を乗じたものの和を、今回の第2補正値とする(ST322)。
【0025】
この構成の情報処理装置は、ポインティングデバイスから入力された変化量を、移動開始直後には小さく補正し、その後、上記変化量/単位時間、すなわち座標の移動速度が所定値に漸近するように補正する。したがって、ドラッグ操作におけるユーザーの手先の操作ぶれがあっても、直ちにそのまま入力されない。ユーザーの手先の操作ぶれによる予期せぬ動作を防ぐことができる。他方、ドラッグ操作量またはポインティングデバイスに入力している時間が長い場合、ユーザーは、手先の操作ぶれではなく、その入力の指示を意図的に行っていると考えられる。この場合には、情報処理装置は、上記移動速度が所定値に近づくように補正する。したがって、情報処理装置は、心地よい操作感をユーザーに与えることができ、情報処理装置の操作性が向上する。
【0026】
(6) 上記情報処理装置のコンピュータを、第1閾値判別手段(ST303)および第2閾値判別手段(ST304)としてさらに機能させるようにしてもよい。
第1閾値判別手段は、上記第1方向の変化量が第1閾値を超えたか否かを判別する。
第2閾値判別手段は、上記第2方向の変化量が第2閾値を超えたか否かを判別する。
上記第1動作手段は、上記第1閾値判別手段によって第1閾値を超えたと判別されたときに第1の動作を行う(ST411)。
上記第2動作手段は、上記第2閾値判別手段によって第2閾値を超えたと判別されたときに第2の動作を行う(ST412)。
【0027】
この構成の情報処理装置は、第1閾値、第2閾値を用いて、その値を越えない限りは、第1の動作、第2の動作を行わない。情報処理装置は、このような補正処理を行っているので、ユーザーの手先の操作ぶれがあっても、第1方向の変化量または第2方向の変化量として無視されるから、情報処理装置は、ユーザー意図しない指示を入力しない。
【0028】
(7) 上記情報処理装置のコンピュータを、演算手段(ST421)としてさらに機能させるようにしてもよい。
この場合、演算手段は、上記第1方向の変化量と上記第2方向の変化量の変化量とを演算する演算手段としてさらに機能させる。
上記第1動作手段は、上記演算手段によって得られる値が所定の第1範囲内であるときに上記第1の動作を行い(ST422、ST423)、所定の第2範囲内であるときには上記第1の動作を行わない。
上記第2動作手段は、上記演算手段によって得られる値が所定の第2範囲内であるときに上記第2の動作を行い(ST424、ST425)、所定の第1範囲内であるときには上記第2の動作を行わない。
上記演算手段によって得られる値が上記所定の第1範囲内でも上記所定の第2範囲内でもないときには(ST426)、
上記第1動作手段は、上記第1の動作を行い(ST427)、上記第2動作手段は、上記第2の動作を行う(ST428)ようにしてもよい。
【0029】
ここで、手先の操作ぶれは当然に生じやすく、ユーザーが第1の変化量のみを入力することは、非常に困難である。この点、この構成の情報処理装置は、上記演算手段によって得られる値が所定の第1範囲内である場合には、仮に第2の変化量が入力されても、第1の動作を行い、上記第2の動作を行わない。また、この情報処理装置は、上記演算手段によって得られる値が所定の第2範囲内であるときに第2の動作を行い、上記第1の動作を行わない。
【0030】
このように、この構成の情報処理装置は、第1方向の変化量と第2方向の変化量との演算結果が所定の第1範囲内または所定の第2範囲内のときは、第1の動作、第2の動作の一方しか動作しない。たとえば、第1の動作をさせ、第2の動作をさせないようにしたいというユーザーの意図を汲み取って、動作を制御することができる。また、第1範囲内でも第2範囲内でもないときには、上記第1動作手段は、上記第1の動作を行い、上記第2動作手段は、上記第2の動作を行う。したがって、情報処理装置は、従来のようにいずれか一方のみを実行するといった、画一した動作をするのではなく、ユーザーの指示によっては、第1の動作、第2の動作の両方の動作をもすることができ、よりユーザーの意図しない動作を低減することが可能となる。
【0031】
(8) 上記演算手段は、上記第1方向の変化量と上記第2方向の変化量との割合を算出するようにしてもよい。
【0032】
ここで、手先の操作ぶれは当然に生じやすく、ユーザーが第1の変化量のみを入力することは、非常に困難である。この点、この構成の情報処理装置は、この構成の情報処理装置は、上記割合が所定の第1範囲内である場合には、仮に第2の変化量が入力されても、第1の動作を行い、上記第2の動作を行わない。また、この情報処理装置は、上記割合が所定の第2範囲内であるときに第2の動作を行い、上記第1の動作を行わない。
【0033】
このように、この構成の情報処理装置は、第1方向の変化量と第2方向の変化量との割合が所定の第1範囲内または所定の第2範囲内のときは、第1の動作、第2の動作の一方しか動作しない。たとえば、第1方向の変化量を第2方向の変化量に対して大きく変化させた場合には、第1の動作をさせ、第2の動作をさせないようにしたいというユーザーの意図を汲み取って、動作を制御することができる。また、第1範囲内でも第2範囲内でもないときには、上記第1動作手段は、上記第1の動作を行い、上記第2動作手段は、上記第2の動作を行う。したがって、情報処理装置は、従来のようにいずれか一方のみを実行するといった、画一した動作をするのではなく、ユーザーの指示によっては、第1の動作、第2の動作の両方の動作をもすることができ、よりユーザーの意図しない動作を低減することが可能となる。
【0034】
(9) 上記情報処理装置を、演算手段および第3閾値判別手段としてさらに機能させるようにしてもよい。
この場合、演算手段は、上記第1方向の変化量と上記第2方向の変化量とを演算する。
第3閾値判別手段は、上記第1方向の変化量または/および上記第2方向の変化量が、第3閾値を超えたか否かを判別する(ST44)。
上記第3閾値判別手段によって上記第1方向の変化量および上記第2方向の変化量がいずれも第3閾値を超えていないと判別された場合、上記第1動作手段、上記第2動作手段は、以下の動作を行う。すなわち、上記第1動作手段は、上記演算手段によって得られる値が所定の第1範囲内であるときに第1の動作を行い(ST423)、所定の第2範囲内であるときには上記第1の動作を行わない。上記第2動作手段は、上記演算手段によって得られる値が所定の第2範囲内であるときに第2の動作を行い(ST425)、所定の第1範囲内であるときには上記第1の動作を行わない。
【0035】
上記第3閾値判別手段によって上記第1方向の変化量および上記第2方向の変化量の少なくとも一方が第3閾値を超えたと判別された場合、上記第1動作手段、上記第2動作手段は、以下の動作を行う。すなわち、この場合、上記第1動作手段は、上記第1閾値判別手段によって第1閾値を超えたと判別されたときに第1の動作を行う。また、この場合、上記第2動作手段は、上記第2閾値判別手段によって第2閾値を超えたと判別されたときに第2の動作を行う。ここで、上記第3閾値は、上記第1閾値および上記第2閾値よりも大きく設定されている。
【0036】
この構成の情報処理装置は、上記第1方向の変化量および上記第2方向の変化量がいずれも第3閾値を超えていないと判別された場合(これを第1の場合とする)、上記演算手段によって得られた値を用いた動作を行う。したがって、ユーザーが細かい動きを指示した場合には、第1の場合が成立する。第1の場合には、第1の動作、第2の動作のうち少なくとも一方は、実行されることになる。ユーザーは、第3閾値以下の移動量でも入力することができるし、演算手段によって得られた値が所定範囲内であれば、情報処理装置は、たとえば、第1の動作をさせ、第2の動作をさせないようにしたいというユーザーの意図を汲み取って、動作を修正することができる。
【0037】
他方、この構成の情報処理装置は、上記第1方向の変化量および上記第2方向の変化量がいずれかが第3閾値を超えていると判別された場合(第2の場合とする)、ユーザーが意図的に大きくドラッグした可能性が高い。当該第2の場合、情報処理装置は、第1の閾値、第2の閾値に基づく第1の動作、第2の動作に切り換える。これにより、たとえば、第1方向、第2方向いずれも大きいが上記演算手段によって得られた値(例えば、割合)が第2範囲内に属する場合でも、上記第1方向の移動量は無視されずに、第1方向の移動量に応じた第1の動作が行われ、情報処理装置は、ユーザーの意図する入力を受け付けることができる。また、この第2の場合、情報処理装置は、移動量が第2の閾値未満である場合には、第1の動作を行い、第2の動作を行わない。したがって、情報処理装置は、たとえば、第1の動作を行いたいが、第2の動作を行わせたくないといったユーザーの意図を反映させることができる。
【0038】
以上のとおり、この情報処理装置は、第3閾値により異なった処理を行っているので、心地よい操作感をユーザーに与えることができ、情報処理装置の操作性が向上する。
【0039】
(10) 第1補正値設定手段は、第1方向の変化量が所定値以上のときは第1方向の変化量を第1補正値とし、所定値未満のときは第1補正値を0にし、
第2補正値設定手段は、第2方向の変化量が所定値以上のときは第2方向の変化量を第2補正値とし、所定値未満のときは第2補正値を0にするようにしてもよい。
【0040】
この構成によれば、ユーザーが意図しない動作を低減することができる。
【0041】
(11) 本発明は、
上記情報処理装置のコンピュータを、
上記第1方向の変化量と上記第2方向の変化量とを演算する演算手段としてさらに機能させるようにしてもよい。
この場合、上記演算手段によって得られる値が所定の第1範囲内のとき(ST422でYes)、上記第1補正値設定手段は上記第1方向の変化量を上記第1補正値とし(ST423)、上記第2補正値設定手段は上記第2補正値を0とする(ST4230)。
この場合、上記演算手段によって得られる値が所定の第2範囲内のとき(ST424でYes)、上記第1補正値設定手段は上記第1方向の変化量を0とし(ST4250)、上記第2補正値設定手段は上記第2方向の変化量を上記第2補正値とする(ST425)。
この場合、上記演算手段によって得られる値が所定の第3範囲内のとき(ST426でYes)、上記第1補正値設定手段は上記第1方向の変化量を上記第1補正値とし(ST427)、上記第2補正値設定手段は上記第2方向の変化量を上記第2補正値とするようにしてもよい(ST428)。
【0042】
ここで、手先の操作ぶれは当然に生じやすく、ユーザーが第1の変化量のみを入力することは、非常に困難である。この点、この構成の情報処理装置は、この構成の情報処理装置は、上記演算手段によって得られる値が所定の第1範囲内であるときには、仮に第2の変化量があっても、第2の変化量を0に補正する。また、この情報処理装置は、上記演算手段によって得られる値が所定の第2範囲内であるときには、仮に第1の変化量があっても、第1の変化量を0に補正する。
【0043】
このように、この構成の情報処理装置は、第1方向の変化量と第2方向の変化量とを演算することによって得られる値が所定の第1範囲内または所定の第2範囲内のときは、第1方向の変化量、第2方向の変化量の一方を0に補正する。たとえば、第1の動作をさせ、第2の動作をさせないようにしたいというユーザーの意図を汲み取って、変化量を補正することができる。また、上記演算によって得られる値が第3範囲内のときには、上記第1補正値設定手段は、上記第1方向の変化量を第1補正値とし、上記第2補正値設定手段は、上記第2方向の変化量を第2補正値とする。したがって、情報処理装置は、従来のようにいずれか一方のみを実行するといった、画一した動作をするのではなく、ユーザーの指示によっては、第1の動作、第2の動作の両方の動作をもすることができ、よりユーザーの意図しない動作を低減することが可能となる。
【0044】
(12) 本発明は、
ポインティングデバイス(タッチパネル15、スティック16)を備えた情報処理装置(ゲーム装置10)において、情報処理装置は、第2変化量算出手段、第1動作手段、および第2動作手段を備えるようにしてもよい。
上記座標検出手段(ST1、ST21、ST22、ST23)は、上記ポインティングデバイスによって指示された座標を検出する。
上記第1変化量算出手段(ST24)は、上記ポインティングデバイスの入力が継続して行われているときの上記座標の第1方向の変化量(X成分移動量diffX)を算出する。
上記第2変化量算出手段(ST25)は、上記ポインティングデバイスの入力が継続して行われているときの上記座標の第2方向の変化量(Y成分移動量diffY)を算出する。
第1動作手段(ST4、ST401)は、上記第1変化量算出手段で算出された上記第1方向の変化量に基づいて第1の動作を行う。
第2動作主段(ST4、ST402)は、上記第2変化量算出手段で算出された上記第2方向の変化量に基づいて、上記第1の動作と異なる第2の動作を行う。
【発明の効果】
【0045】
本発明によれば、情報処理装置の操作性を向上させることができる。
【図面の簡単な説明】
【0046】
【図1】本発明の一実施形態に係るゲーム装置10の外観図
【図2】ゲーム装置10の内部構成図
【図3】本発明の第1実施形態に係るタッチ処理プログラムの処理フローの概要
【図4】本発明の第1実施形態に係るタッチ処理プログラムの処理例
【図5】本発明の第1実施形態に係るタッチ処理プログラムの処理例
【図6】本発明の第1実施形態に係るRAMに記憶するプログラム、データの例
【図7】本発明の第1実施形態に係る検出処理の例
【図8】本発明の第1実施形態に係る補正処理、画像形成処理の実施例1
【図9】本発明の第1実施形態に係る補正処理、画像形成処理の実施例2
【図10】本発明の第1実施形態に係る補正処理、画像形成処理の実施例3
【図11】本発明の第1実施形態に係る補正処理、画像形成処理の実施例4
【図12】図11で示す実施例4のメリットの説明
【図13】本発明の第1実施形態に係る補正処理、画像形成処理の実施例5
【発明を実施するための形態】
【0047】
以下、図面を参照して、本発明に係るゲーム装置の第1実施形態について説明する。
【0048】
図1は、本発明の一実施形態に係るゲーム装置の外観図である。ただし、本発明は、携帯型のゲーム装置に限らず、据置型のゲーム装置にも適用可能である。さらに、本発明はゲーム装置に限らず、映像コンテンツ表示機能を有する任意の情報処理装置(例えば、パーソナルコンピュータや携帯電話やテレビジョン受像器やDVDプレイヤ等)に適用可能である。
【0049】
図1において、ゲーム装置10は、第1のLCD(Liquid Crystal Display:液晶表示装置)11および第2のLCD12を含む。ハウジング13は上側ハウジング13aと下側ハウジング13bとによって構成されている。第1のLCD11は上側ハウジング13aに収納され、第2のLCD12は下側ハウジング13bに収納される。第1のLCD11および第2のLCD12の解像度はいずれも256dot×192dotである。なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用することができる。また任意の解像度のものを利用することができる。
【0050】
上側ハウジング13aには、後述する1対のスピーカ(図2の30aおよび30b)からの音を外部に放出するための音抜き孔18aおよび18bが形成されている。また、上側ハウジング13aと下側ハウジング13bとを開閉可能に接続するヒンジ部にはマイクロフォン用孔33が設けられている。
【0051】
下側ハウジング13bには、入力装置として、十字スイッチ14a、スタートスイッチ14b、セレクトスイッチ14c、Aボタン14d、Bボタン14e、Xボタン14f、およびYボタン14gが設けられている。また、下側ハウジング13bの側面には、図示しないLボタンおよびRボタンが設けられている。また、さらなる入力装置として、第2のLCD12の画面上にタッチパネル15が装着されている。下側ハウジング13bの側面には、電源スイッチ19、メモリカード17を接続するための挿入口35(図1に示す一点鎖線)、スティック16を収納するための挿入口36(図1に示す点線)が設けられている。
【0052】
タッチパネル15としては、例えば抵抗膜方式や光学式(赤外線方式)や静電容量結合式など、任意の方式のものを利用することができる。タッチパネル15は、スティック16に限らず指で操作することも可能である。本実施形態では、タッチパネル15として、第2のLCD12の解像度と同じく256dot×192dotの解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル15の解像度と第2のLCD12の解像度が一致している必要はない。
【0053】
メモリカード17は、ゲームプログラムを記憶するROM17aと、バックアップデータを書き換え可能に記憶するRAM17bを搭載し、下部ハウジング13bに設けられた挿入口35に着脱自在に装着される。図1では省略するが、挿入口35の奥部には、メモリカード17の挿入方向先端部に設けられるコネクタと接合するための第1コネクタ23(図2参照)が設けられている。メモリカード17が挿入口35に挿入されると、コネクタ同士が接合され、ゲーム装置10のCPUコア21(図2参照)がメモリカード17にアクセス可能となる。
【0054】
次に、図2を参照してゲーム装置10の内部構成を説明する。図2は、ゲーム装置10の内部構成を示すブロック図である。図2において、ハウジング13に収納される電子回路基板20には、CPUコア21が実装される。CPUコア21には、バス22を介して、コネクタ23が接続されるとともに、入出力インターフェース回路(図面ではI/F回路と記す)25、第1GPU(Graphics Processing Unit)26、第2GPU27、RAM24、およびLCDコントローラ31、およびワイヤレス通信部34が接続される。コネクタ23には、メモリカード17が着脱自在に接続される。I/F回路25には、タッチパネル15、右スピーカ30a、左スピーカ30b、図1の十字スイッチ14aやAボタン14d等から成る操作スイッチ部14、およびマイクロフォン37が接続される。右スピーカ30aと左スピーカ30bは、音抜き孔18a、18bの内側にそれぞれ配置される。マイクロフォン37は、マイクロフォン用孔33の内側に配置される。
【0055】
第1GPU26には、第1VRAM(Video RAM)28が接続され、第2GPU27には、第2VRAM29が接続される。第1GPU26は、CPUコア21からの指示に応じて第1の表示画像を生成し、第1VRAM28に描画する。第2GPU27は、同様にCPUコア21からの指示に応じて第2の表示画像を生成し、第2VRAM29に描画する。第1VRAM28および第2VRAM29はLCDコントローラ31に接続されている。
【0056】
LCDコントローラ31はレジスタ32を含む。レジスタ32はCPUコア21からの指示に応じて0または1の値を記憶する。LCDコントローラ31は、レジスタ32の値が0の場合は、第1VRAM28に描画された第1の表示画像を第1のLCD11に出力し、第2VRAM29に描画された第2の表示画像を第2のLCD12に出力する。また、レジスタ32の値が1の場合は、第1VRAM28に描画された第1の表示画像を第2のLCD12に出力し、第2VRAM29に描画された第2の表示画像を第1のLCD11に出力する。
【0057】
ワイヤレス通信部34は、他のゲーム装置のワイヤレス通信部との間で、データを送受信する機能を有している。また、ゲーム装置10は、ワイヤレス通信部34を介してインターネット等の広域ネットワークに接続することが可能であり、ネットワークを介して他のゲーム装置との間で通信を行うことも可能である。
【0058】
本実施形態では、ゲーム装置10のCPUコア21は、メモリカード17のROM17a等からRAM24にロードされたタッチ処理プログラムを実行する。以下、図3〜図12を参照して、タッチ処理プログラムに基づくゲーム装置10の動作を説明する。
【0059】
図3は、タッチ処理プログラムのフローの概要である。ここで、図3中、STは、ステップ番号を表している。CPUコア21は、タッチ処理プログラム(図6の241参照)を用いて、主にST1:タッチ入力処理、ST2:移動方向検出処理、ST3:補正処理、および、ST4:画像形成処理を実行する。ただし、タッチ処理プログラムは、このような4つのステップST1〜ST4に必ずしも完全に分離できるものではない。これらのステップST1〜ST4は後述するように、場合によっては、相互に関連することがあり、前段の処理や条件判断によって、後段の処理が異なることがある。
【0060】
ST1〜ST4の処理は、CPUコア21により、画像フレームごとにフレーム期間と同期して繰り返し実行される。
【0061】
ST1では、CPUコア21は、タッチパネル15にスティック16がタッチされたかを判定する。また、CPUコア21は、タッチパネル15上のタッチされた座標を入力する。
【0062】
ST2では、CPUコア21は、タッチされた結果、継続して2フレーム期間以上、タッチされているかを判定し、横方向、縦方向の移動量(これらをX成分移動量diffX、およびY成分移動量diffYとする。)を検出する。ここでは、移動方向を検出してもよい。
【0063】
ST3では、CPUコア21は、ST2で検出した移動量について補正処理を行う。ここでは、CPUコア21は、タッチパネル15上でドラッグする手のぶれを考慮して、よりユーザーが意図する操作が可能となるような補正を行う。この補正の例としては、(A)ユーザーがほぼ縦、横方向にスティック16をドラッグさせた場合には、CPUコア21は、ST2で入力された移動量を、水平方向成分のみまたは垂直方向成分のみの移動量へ補正したり、(B)移動量が小さい場合には、CPUコア21は移動量を0へ補正したりすることが可能である。
【0064】
ST4で、CPUコア21は、ST3で補正された移動量に基づき、第2GPU27に画像処理を行わせる。本実施形態では、補正された縦、横の移動量の値に基づいて、互いに別々の処理を行う。CPUコア21がこのような別々の処理を行うので、ゲーム装置10のエンターテイメント性を向上させたり、操作性を向上させたりすることができる。処理の詳細は後述する。
【0065】
なお、ST2では省略しているが、厳密には、CPUコア21は、図3のフローについて最初のタッチを検出すると、いったんフローを終了する。その後、CPUコア21は、2度目以降のフローで検出した座標からの変化量(=上記移動量)を検出する。また、補正処理は、必ずしも数式で補正するとは限らず、何らかの条件に基づいて行っていてもよい。移動量が小さいという条件(上記の(B))により、CPUコア21がキャラクタなどを移動しないように制御する場合には、補正処理(ST3)に含まれるものとする。
【0066】
図4、図5を用いて、図2で示したタッチ処理プログラムの処理の具体例を示す。図4(A)は、第2のLCD12の表示例である。図4(B)〜図4(D)、図5は、図4(A)の表示状態を初期状態とするタッチ処理プログラム241の処理例を表している。
【0067】
図4(A)に示すように、第2のLCD12には、現在、ダンスホール41にダンサー42が踊っている様子が表示されている。第2のLCD12には、前述のとおり、タッチパネル15が備えられており、スティック16でドラッグした場合には、タッチパネル15は、座標をリアルタイムで検出し、CPUコア21にタッチ状態を出力する。CPUコア21は、フレームごとにタッチ状態を判断して、移動量を検出する。
【0068】
図4(B)の例では、ユーザーが、タッチパネル15上でスティック16を左方向に移動させた場合を示している(図4(B)の左の図)。この場合、図4(A)の画面は、第2のLCD12内で左へスクロールする(図4(B)の右の図)。
【0069】
なお、本実施形態では、ユーザーが、タッチパネル15上で(タッチパネル15に接しながら)スティック16を移動させることをドラッグと称する。ドラッグの概念をより上位概念化すると、ドラッグとは、ユーザーが、ポインティングデバイスにより、座標の軌跡を入力することである。ドラッグと単なるポインティングデバイスの指示する座標の移動を区別するために、ゲーム装置10は、何らかのボタンを押しながらの操作をユーザーに要求してもよい。
【0070】
図4(C)の例では、ユーザーが、タッチパネル15上でスティック16を上方向に移動させた場合を示している(図4(C)の左の図)。この場合、ダンサー42に近づいた視点で画面が表示される(図4(C)の右の図)。したがって、ダンスホール41およびダンサー42は、より大きく表示される。
【0071】
図4(D)の例では、ユーザーが、タッチパネル15上でスティック16を下方向に移動させた場合を示している(図4(D)の左の図)。この場合、ダンサー42に遠ざかった視点で第2のLCD12の画面が表示される(図4(D)の右の図)。したがって、ダンスホール41およびダンサー42は、より小さく表示される。
【0072】
なお、図示は省略するが、ユーザーが、タッチパネル15上でスティック16を水平右方向に移動させた場合には、図4(A)の画面は、さらに右にスクロールする。したがって、ダンサー42は、図4(A)に示す現在位置よりさらに右寄りの位置に映し出される。
【0073】
図5(A)の例では、ユーザーが、タッチパネル15上でスティック16を斜め左上方向に移動させた場合を示している(図5(A)の左の図)。この場合、第2のLCD12の画面が、ダンサー42に近づいた視点で表示されると同時に、画面が左にスクロールする(ダンサー42は、さらに左寄りの位置に映し出される)(図5(A)の右の図)。
【0074】
図5(B)の例では、ユーザーが、タッチパネル15上でスティック16を斜め左下方向に移動させた場合を示している(図5(B)の左の図)。この場合、第2のLCD12の画面が、ダンサー42に遠ざかった視点で表示されると同時に、画面が左にスクロールする(ダンサー42は、さらに左寄りの位置に映し出される)(図5(B)の右の図)。
【0075】
図5(C)の例では、ユーザーが、タッチパネル15上でスティック16を斜め右下方向に移動させた場合を示している(図5(C)の左の図)。この場合、第2のLCD12の画面が、ダンサー42に遠ざかった視点で表示されると同時に、画面が右にスクロールする(ダンサー42は、さらに右寄りの位置に映し出される)(図5(C)の右の図)。
【0076】
以上のとおり、本実施形態では、CPUコア21は、タッチパネル15上でドラッグした移動量の縦方向成分、横方向成分を検出し(ST1、ST2)、画像形成処理(ST4)を行う。ST4において、CPUコア21は、座標の縦方向、横方向の変化量が、それぞれ、互いに異なった動作への指示入力として割り当てられていることになる。図4、図5の例では、処理の1つが左右のスクロールであり、他方の処理が、視点の遠近を移動させる処理であり、これらは互いに別の種類の処理である。このように、本実施形態のゲーム装置10は、スティック16という1つの指示手段を用いながら、互いに異なる2つの動作を同時に指示することができる。
【0077】
次に、図6を用いて、CPUコア21がタッチ処理プログラムを実行するためにRAM24に記憶するプログラム、データの例を示す。RAM24は、タッチ処理プログラム241、タッチ座標242、タッチ座標243、タッチフラグ244、キャラクターデータ245、現在位置246、X成分移動量diffX247、Y成分移動量diffY248、および、各種プログラム群249を記憶している。タッチ処理プログラム241は、図3で説明したタッチ処理プログラムに相当する。タッチ座標242(P1(X1,Y1))、タッチ座標243(P2(X2,Y2))は、タッチパネル15がスティック16を検出した位置である。タッチ座標242のデータには、最新のタッチ座標が記憶され、タッチ座標243のデータには、1つ前のフレーム期間のタッチ座標が記憶される。
【0078】
タッチフラグ244は、1つ前のフレーム期間でタッチされていたかを判定するためのフラグである。このフラグにより、CPUコア21は、タッチ(タッチパネル15にスティック16が接触することをいう。以下同じ。)が継続しているか否かを判定することができる。ここで、タッチが継続していることは、上記ドラッグが行われていることに相当する。
【0079】
キャラクターデータ245には、ダンサー42などの形状が記憶されている。現在位置246には、ダンサー42の現在位置(横方向X,奥行き方向Z)が記憶されている。X成分移動量diffX247、Y成分移動量diffY248は、1つ前のフレーム期間における座標から移動した量を表す(なお、以下では、これらを単にX成分移動量diffX、Y成分移動量diffYと称する)。また、その他、RAM24には、各種プログラム群249が記憶されている。
【0080】
次に、図7のフロー図を用いて、図3の検出処理(ST10)の具体例について説明する。前述のとおり、図3のST10は、ST1、ST2を含む。主にST11〜ST15は、ST1に関連しており、ST21〜ST23は、ST2に関連している。
【0081】
ST11において、CPUコア21は、タッチが行われたかどうか判定する。タッチが行われていない場合には(ST11のNo)、CPUコア21は、タッチフラグ244をオフに設定する。さらに、CPUコア21は、タッチ座標242、243(P1、P2の値)を破棄し、その後フローは、終了する。
【0082】
ST11において、現在のフレーム期間でタッチが行われている場合には(ST11のYes)、ST12に進む。
【0083】
ST12において、CPUコア21は、タッチフラグ244がオンであるか否か判定する。ST12において、タッチフラグ244がオフであれば(ST12のNo)、CPUコア21は、タッチフラグ244をオンに設定し(ST13)、CPUコア21は、現在のタッチ座標をタッチ座標242(P1)に記憶させる(ST21)。ST21により、RAM24は、タッチが開始されたことを、タッチフラグ244により記憶することができる。その後フローは、終了する。
【0084】
ST12において、タッチフラグ244がオンであれば(ST12のYes)、ST22に移動する。ここで、現在の図7のループにおいて、ST12の判定がされる前には、タッチフラグ244をセットするステップはない。したがって、タッチフラグ244がオンの状態であるとすれば、この状態は、その前のフレーム期間にタッチ状態であったことを示す。さらに、ST12は、現在のフローでタッチが行われた場合に分岐する(ST11のYes)。したがって、ST12のYesは、その前のフレーム期間からタッチが継続していることを示す。
【0085】
ST22において、CPUコア21は、タッチ座標P2(X2,Y2)243にP1を代入する。ここで代入するP1は、過去に実行した図7のフローにおいて、記憶したタッチ座標である。
【0086】
ST23において、CPUコア21は、現在のタッチ座標をタッチ座標P1(X1,Y1)242に記憶させる。このST23の段階で、過去に入力した座標と、現在の座標が入力され、これにより、CPUコア21は、スティック16によりドラッグされた移動量を計算できる。
【0087】
ST24において、X1−X2をdiffXとしてX座標変化量を記憶する。ST25において、Y1−Y2をdiffYとしてY座標変化量を記憶する。なお、ST25は、ST24と同時または前後してもよい。
【0088】
その後、CPUコア21は、図3に示すST3、ST4を処理する。
【0089】
なお、図7のフローでは、X成分移動量diffX、Y成分移動量diffYを1フレーム期間ごとに取得するとした。このフローでは、X成分移動量diffX、Y成分移動量diffYは、単位時間当たりの移動量を表すから、この移動量を移動速度として捉えることもできる。また、図7のフロー101、102については、図8以降で引用する。
【0090】
次に、図8〜図11を用いて、図3で示したST3:補正処理、ST4:画像形成処理の例1〜例4を示す。以下の例1〜例4では、いずれも図7で示したST10を定義済み処理として引用すると共に、図中のフロー101、102は、図7と同じものとする。
【0091】
(実施例1)
図8のフローを用いて、ST3、ST4の実施例1を示す。ここで、図8(A)は、ST10を含めたタッチ処理プログラム241のメインフローを表している。図8(B)、図8(C)は、図8(A)のサブフローである。また、ST3の処理は、ST301、ST302と関連している。ST4の処理は、ST401、ST402と関連している。
【0092】
ST301において、CPUコア21は、X成分移動量diffXの補正処理を行う。ST301の後、ST302へ移動する。
【0093】
ST302において、CPUコア21は、Y成分移動量diffYの補正処理を行う。ST302の後、ST401へ移動する。
【0094】
ST401において、CPUコア21は、補正されたX成分移動量valXの分について、現在の表示状態からスクロールする。ST401の後、ST402へ移動する(図4、図5参照)。
【0095】
ST402において、CPUコア21は、補正されたY成分移動量valYの分について、現在の表示状態から拡大または縮小(上が拡大/下が縮小)する(図4、図5参照)。ST402の後、図8のフローは終了する。
【0096】
図8(B)は、ST301のX成分移動量valXの補正処理を表している。図8のフローは、第2のLCD12のフレーム期間ごとに1回処理される。ここで、CPUコア21が、あるフレーム期間(たとえば、図4(A)に示す画像を表示したとき)から、図8の処理をT回繰り返したときのX成分移動量valXを添え字(T)をつけて、X成分移動量valX(T)とする。T回目の1つ前のT−1回目に計算したX成分移動量valX(T−1)とする。同様に、図8の処理を上記T回繰り返したときのX成分移動量diffXをX成分移動量diffX(T)とする。
【0097】
ST311、ST312により、以下の(式1)、(式2)を計算する。
【0098】
valX0(T)=valX(T−1)*reduceX (式1)
valX(T)=valX0(T)*ratio_valX
+diffX(T)*ratio_diffX (式2)
ここで、「*」は、掛け算をあらわすものとする(以下、同様である)。また、reduceX、ratio_valX、ratio_diffXは、予め定めた定数である。reduceXは、0から1までの数値、たとえば0.9とすることができる。ratio_valXは、たとえば0.9とすることができる。ratio_diffXは、たとえば0.1とすることができる。valX0(T)は、新たなvalX(T)を計算する
のに用いる計算値である。
【0099】
ST311、ST312により、現在の(本発明の「今回」に相当する。)のフレーム期間のvalX(T)を計算することができる。
【0100】
図8(C)は、ST302のY成分移動量valYの補正処理を表している。
【0101】
valY0(T)=valY(T−1)*reduceY (式3)
valY(T)=valY0(T)*ratio_valY
+diffY(T)*ratio_diffY (式4)
この処理は、以上で説明した図8(B)の処理と同様である。この図8(C)の処理の説明については、図8(B)の説明の「X」の文字を「Y」に変えて準用する。
【0102】
ここで、ST311、ST312、ST321、ST322による補正の効果について説明する。上記の補正によれば、ユーザーがスティック16を水平方向に一定速度で移動した場合には、第2のLCD12の画面は、はじめはゆっくりスクロールし、その後一定速度に漸近するようにスクロールする。換言すれば、ユーザーがスティック16を動かし始めた直後は、X成分移動量diffX247、Y成分移動量diffY248は、小さい値に補正される。このように処理されると、ユーザーがスティック16の先でタッチパネル15に少し触っただけであれば、画像があまり変化しない。つまり、ユーザーがスティック16を一定方向に移動させ続けない限り画像が大きくは変化しないので、ユーザーの操作ミス(もしくは手ぶれ)に対して画像が敏感に反応することがなくなり、スティック16の操作ミスの影響を小さく抑えることができる。
【0103】
(実施例2)
図9は、図3のST3、ST4の実施例2である。この実施例では、ST3は、ST303、ST304に対応する。ST4は、ST411、ST412に対応する。ST411、ST412は、実施例1のST401、ST402に対応する。
【0104】
この実施例2では、CPUコア21は、X成分移動量diffX、Y成分移動量diffYを、それぞれ予め定めた第1の閾値、第2の閾値と比較する。X成分移動量diffXが第1の閾値未満であれば(ST303のNo)、そのフレーム期間については、ST411の処理を行わない。Y成分移動量diffYが第2の閾値未満であれば(ST304のNo)、そのフレーム期間については、ST412の処理を行わない。したがって、ユーザーがスティック16の先でタッチパネル15に少し触っただけであれば、画面が変化しない。したがって、このフローによれば、スティック16の操作ミスの影響を小さく抑えることができ、ゲーム装置10の操作性を向上させることができる。以下、図9のフローをより詳細に説明する。
【0105】
ST10の検出処理で、フロー102に分岐した場合、移動量diffXおよびdiffYがすでに計算された状態になっている。
【0106】
CPUコア21は、X成分移動量diffX247が第1の閾値以上であれば(ST303のYes)、ST411の処理を行う。Y成分移動量diffY248が第2の閾値以上であれば(ST304のYes)、ST412の処理を行う。
【0107】
ST411では、図4、図5で示したように、CPUコア21は、図4(A)で示す第2のLCD12の現在の表示状態から、第2のLCD12内の画面全体を左または右にスクロールさせる。ダンサー42の移動方向(左または右)は、スティック16の左右の移動方向と同じである。移動量は、X成分移動量diffX247である。CPUコア21は、ST411の次に、ST304の処理を行う。
【0108】
ST412では、図4、図5で示したように、CPUコア21は、図4(A)で示す第2のLCD12の現在の表示状態から、第2のLCD12内のダンサー42を拡大または縮小させる。CPUコア21は、現在位置246の奥行き方向Zの値をdiffYだけ加算して現在位置246を更新する。CPUコア21は、新たに計算した現在位置246の視点に基づいて、ダンサー42の大きさを決める。
【0109】
なお、実施例2では、X成分移動量diffXまたはY成分移動量diffYが閾値未満の場合には、その移動量を0に補正していることに相当する。実施例2では、計算式により補正していないが、条件判断により、移動量を補正することに相当する処理をしているので、これも補正処理(ST3)に相当する。
【0110】
ここで、以上のST303、ST411、ST304、ST412をまとめてステップST41と定義する。
【0111】
(実施例3)
図10は、図3のST3、ST4の実施例3を表す。実施例3の各ステップのうち、ST422、ST4230、ST424、ST4250の処理が、補正処理(ST3)とほぼ対応している。
【0112】
ST10の検出処理で、フロー102に分岐した場合、移動量diffXおよびdiffYがすでに計算された状態になっている。
【0113】
ST421では、CPUコア21は、移動量の比diffY/diffXを計算する。ここで、以下の説明では、スティック16の移動方向の傾きI(すなわち移動量の割合)をdiffY/diffXと定義する。CPUコア21は、傾きIをRAM24に記憶させる。
【0114】
ST422以下では、CPUコア21は、傾きI=diffY/diffXの値に応じて、処理を変える。具体的には、CPUコア21は、傾きIを所定の閾値(=±0.2、±5)と比較することにより、タッチパネル15上でスティック16がほぼX軸方向にドラッグされたか(ST422のYes)、またはタッチパネル15上でスティック16がほぼY軸方向にドラッグされたか(ST424のYes)、それ以外かを判定する。これにより、上記方向がほぼX軸方向またはほぼY軸方向であれば、CPUコア21は、X軸方向またはY軸方向のいずれか1の方向の入力のみがあったものとみなして、スティック16によるドラッグ入力を処理する。以下、より詳細に説明する。
【0115】
ST422において、Iが−0.2≦I≦0.2の範囲の場合(ST422のYes)、すなわち上記移動方向がX軸方向に近い場合、CPUコア21は、X軸方向のみに関するドラッグ入力があったものとみなして、diffYを0に補正する(ST4230)。また、次のST423において、CPUコア21は、diffXの分、現在の表示状態(この状態は、図4(A)の画面に相当する。以下同じ。)から左右方向にスクロールさせる。ST423の後、図10のフローは終了する。
【0116】
ST424において、IがI≦−5またはI≧5の範囲の場合、すなわち、上記移動方向がY軸方向に近い場合には(ST422のYes)、CPUコア21は、Y軸方向のみに入力があったものとみなして、diffXを0に補正する(ST4250)。また、ST425において、CPUコア21は、diffYの分、現在の表示状態から視点を前後させる。その結果、ダンスホール41、およびダンサー42は、拡大または縮小する。ST425の後、図10のフローは終了する。
【0117】
ST426では、CPUコア21は、−5<I<−0.2または0.2<I<5であるか否か判定する。この判定は、ST422、ST424との関係から、常に肯定であり、Yesにのみ分岐する。したがって、この判定は、説明上の便宜的なものである。すなわち、実装上、CPUコア21は、ST426の判定をする必要はない。ST426の後、ST427へ移動する。
【0118】
ST427では、diffXの分、CPUコア21は、現在の表示状態から左右方向にスクロールさせる。この処理は、ST423と同様である。
【0119】
ST428では、CPUコア21は、diffXの分、現在の表示状態からdiffYの分、視点を前後させる。その結果、ダンスホール41、およびダンサー42は、拡大または縮小する。
【0120】
以上の図10の処理によれば、以下のメリットが生じる。すなわち、ユーザーがほぼX方向、Y方向にスティック16をドラッグした場合には、CPUコア21は、閾値による判定を用いて、その意図を汲み取って、ドラッグ入力の方向をX方向のみ、またはY方向のみに移動したものとみなす。したがって、ユーザーは、フリーハンドで、厳密にまっすぐ縦または横にスティック16を移動させることが困難なところ、ユーザーは、厳密でなくともある程度のまっすぐ縦または横のドラッグ入力をゲーム装置10に対してすることができる。また、従来の特許文献3のように、ドラッグした方向をまっすぐ縦または横のみのいずれかの入力とみなすのではなく、ユーザーが斜め方向に移動させた場合には、ユーザーは、斜め方向のドラッグ入力をゲーム装置10に対してすることができる。これによりユーザーにとって、自由度が高く、心地のよい操作が可能となり、ゲーム装置10の操作性を向上させることができる。
【0121】
なお、ST4230、ST4250は、図3の補正処理(ST3)と対応して説明するための便宜的なものであり、実装上は、必ずしもCPUコア21がこれらST4230、ST4250の処理をする必要はない。ST423およびST424を実行すれば足りる。
【0122】
ここで、以上の図10のフロー102以下の処理をST42と総称することにする。
【0123】
(実施例4)
図11は、図3のST3、ST4の実施例4を示す。図11は、フロー102の後、ST44の判定に基づいて、図9のST41または図10のST42の処理のいずれかを行う。
【0124】
ST44では、(diffX≦第3閾値かつdiffY≦第3閾値)が成立するか否か判定する。ST44の判定が肯定の場合には、図10のST42の処理を行う。ST44の判定が否定の場合には、図9のST41の処理を行う。
【0125】
図12を用いて、CPUコア21が図11の実施例4を実行した場合のメリットを説明する。図12は、移動量のベクトル(diffX,diffY)の開始点を原点として表している。以下では、図12の原点から、ベクトル(diffX,diffY)の分、スティック16が移動した場合に、移動先が点A,B,C、Dとなる場合を例にとり説明する。
【0126】
また、以下の説明では、4つの領域(第1領域51、第2領域52、第3領域53、第4領域54)を用いる。
【0127】
ここで、第1領域51は、
Y<0.2*X、 Y>−0.2*X、 X<(第3閾値63)
により、囲まれる領域である。
【0128】
第2領域52は、
Y<0.2*X、 Y<−0.2*X、 Y>(第2閾値62)
により、囲まれる領域である。
【0129】
第3領域53は、
X>(第3閾値63)、 Y<(第2閾値62)、 Y>−(第2閾値62)
により、囲まれる領域である。
【0130】
第4領域54は、
Y<0.2*X、 X>(第3閾値63)、Y>(第2閾値62)
により、囲まれる領域である。
【0131】
さらに、以下では、簡単のため、第1閾値と第3閾値が等しいものとするが、本実施形態は、これに限られない。ここでは、ほぼX方向にドラッグ入力を与えた場合について説明するが、Y方向にドラッグ入力を与えた場合も同様である。
【0132】
第1エリア51内の点A、第2エリア52内の点Bへドラッグされた場合には、diffX、diffYのいずれも第3閾値より小さくなる。この場合、実施例4では、ST44の判断が肯定となり、ST42へ分岐する(ST44のYes)。
【0133】
ST44の判断が肯定の場合には、X成分移動量diffX,Y成分移動量diffYいずれも小さく、ユーザーのコントロールが難しい。このような微妙な入力がなされた場合、CPUコア21は、ST42の処理に切り換える。これによれば、ユーザーが少しの斜め方向のドラッグをしても、ST41の処理のように、ドラッグ入力が0とみなされることはない。また、ユーザーは、第3閾値以下の移動量でも入力することができるし、割合が所定範囲内であれば、X方向へドラッグしたいというユーザーの意図を汲み取って、Y成分移動量に基づく処理をしない(あるいは、Y成分移動量を0へ補正してもよい)。この場合、ユーザーは、微妙なドラッグ操作による指示をゲーム装置10に対して行うことができる。このように、小さい移動量の場合(第3閾値未満)は、ST42のような傾きの値に基づく分岐処理がより好ましい。
【0134】
次に、ユーザーが第3エリア53の点C、第4エリア54の点Dへドラッグした場合のように、diffX、diffYの少なくとも一方が第3閾値以上の場合について説明する。この場合は、diffXまたはdiffYの少なくとも一方の移動量が大きい場合である。この場合には、ST44の判定は、否定となり、ST41の処理を行う。
【0135】
diffX、diffYの少なくとも一方が第3閾値63以上と判別された場合、ユーザーが意図的に大きくドラッグした可能性が高い。たとえば、D点へ移動する場合のように、diffX、diffYのいずれも大きいが上記割合Iが−0.2≦I≦0.2の範囲に属する場合でも、CPUコア21は、diffYを無視することがない。したがって、この場合でも、ユーザーは、Y成分移動量に応じた拡大縮小の指示をすることができる。すなわち、ゲーム装置10は、ユーザーの意図する入力を受け付けることができる。また、C点への移動のように、Y成分移動量が第2の閾値62未満である場合には、ゲーム装置10は、横スクロールのみを行い、ダンサー42などの拡大縮小を行わない。これによれば、CPUコア21は、横スクロールを行い、拡大縮小を行わせたくないというユーザーの意図をゲームに反映させることができる。したがって、大きな移動量の場合(第3閾値以上)は、移動量diffX、diffYの値に基づくST41の分岐処理がより好ましい。
【0136】
(実施例5)
図13は、実施例5を示す。上記実施例1では、計算式を用いたが、この実施例では、メモリカード17が、移動量を補正値に変換する補正テーブル66を記憶している。CPUコア21は、補正テーブル66を参照して、X方向の移動量diffXを補正値へ変換する。補正テーブル66に直接記載されていない移動量diffXについては、CPUコア21は、テーブルに記載された補正値同士で補間する。補正テーブル66には、X方向の移動量diffXがX1、X2・・・と記載され、移動量diffXの補正値がA1、A2・・・と記載されているとする。さらに、移動量diffXがX1とX2との間のX3であるとする。この場合、補間された補正値は、直線補間をすることにより、
(A1×(X2−X3)+A2×(X3−X1))
/(X2−X3+X3−X1)
で算出できる。
【0137】
図13に示すテーブルの例では、このテーブルには、X方向の移動量diffXが0.25、0.5、0.75、1、2、3、4・・・と記載され、X方向の変化量diffXの補正値が0.1、0.45、0.71、1.1、2.3、3.2、4.1・・・と記載されているとする。さらに、移動量diffXが1と2との間の1.2であるとする。この場合、補間された補正値は、
(1.1×(2−1.2)+2.3×(1.2−1))
/(2−1.2+1.2−1)
により、算出できる。
【0138】
CPUコア21は、補正テーブル66を参照して、Y方向の移動量diffYを補正値へ変換する。補正テーブル66に直接記載されていない移動量diffYについては、CPUコア21は、テーブルに記載された補正値同士で補間する。補正テーブル66には、Y方向の移動量diffYがY1、Y2・・・と記載され、移動量diffYの補正値がB1、B2・・・と記載されているとする。さらに、移動量diffYがY1とY2との間のY3であるとする。この場合、補間された補正値は、直線補間をすることにより、
(B1×(Y2−Y3)+B2×(Y3−Y1))
/(Y2−Y3+Y3−Y1)で算出できる。
【0139】
図13に示すテーブルの例では、このテーブルには、
Y方向の移動量diffYが0.25、0.5、0.75、1、2、3、4・・・と記載され、Y方向の移動量diffYの補正値が0.09、0.43、0.7、1.0、2.1、3.1、4.1・・・と記載されているとする。さらに、移動量diffYが2と3との間の2.4であるとする。この場合、補間された補正値は、
(2.1×(3−2.4)+3.1×(2.4−2))
/(3−2.4+2.4−4)
により、算出できる。
【0140】
なお、図13に示すように、X方向移動量diffX、Y方向移動量diffYが小さい場合には、X方向移動量diffX、Y方向移動量diffYの刻み幅を小さくして、これら移動量に対応する補正値をより細かく設定したデータテーブルをメモリカード17に設定してもよい。また、図13で示した補正値の補間方法については、単なる一例であり、以上のような直線補間に限らず、n次曲線(nは整数)、正弦関数、余弦関数、または対数関数などの曲線で補間してもよい。
【0141】
以上で示したST3、ST4の実施例1〜5のとおり、ユーザーが入力したドラッグ入力と異なった値を正しいドラッグ入力として置換を行った方が、ユーザーが入力する上で心地よく、ゲーム装置10の操作性を向上させることができる。このようなドラッグ入力の置換は、図3の補正処理(ST3)に相当する。補正処理は、実施例1のように必ずしも数式で行うことを要せず、実施例2〜4に示すように、条件判断によるものでもよい。以上の実施例2〜4のとおり、補正処理は、移動量diffX、diffYのいずれか1以上を0にすることに相当するが、画像形成処理(ST4)でdiffX、diffYに対応する処理を行っていれば、実質的に補正処理(ST3)を行ったことになる。したがって、必ずしも、CPUコア21は、diffX、diffYの値のいずれか1以上を0に補正する必要はない。
【0142】
以上の実施形態について、以下に補足説明を行う。
【0143】
以上の実施例では、CPUコア21は、第2のLCD12の画面を、下方向スライドでズームアウト(縮小)、上方向ドラッグでズームイン(拡大)(図4、図5参照)させた。しかし、CPUコア21は、第2のLCD12の画面を、下方向スライドでズームイン(拡大)、上方向ドラッグでズームアウト(縮小)してもよい。なお、ズームの場合は以上で示したように、CPUコア21は、ゲーム空間上に設置する仮想カメラの位置を移動させたり、画角を変化させたりしてもよい。また、CPUコア21は、ゲーム空間上の奥行き視点を移動する代わりに、単にダンスホール41、ダンサー42を拡大縮小してもよい。また、図4、図5で示したようなスクロールではなく、CPUコア21は、ダンサー42を左右方向へ移動させてもよい。
【0144】
以上の実施形態では、CPUコア21は、左右方向のドラッグ入力を受けて、画面の横方向スクロールを行い、上下方向のドラッグ入力を受けて、画面の拡大縮小をする例を示した。しかし、CPUコア21は、拡大縮小とスクロールの操作入力を逆にしてもよい。すなわち、CPUコア21は、上方向のドラッグまたは下方向のドラッグの入力を受けて、第2のLCD12の画面を縦方向スクロールさせ、左ドラッグまたは右ドラッグで当該画面を拡大または縮小をさせてもよい。また、以上の実施形態では、CPUコア21は、左方向のドラッグ入力を受けて、画面の左方向スクロールを行い、右方向のドラッグ入力を受けて、画面の右方向スクロールを行う例を示した。しかし、スライド方向と画像の移動方向が逆になる場合でもよい。すなわち、左方向のドラッグ入力を受けて、第2のLCD12の画面を右方向スクロールさせ、右方向のドラッグ入力で第2のLCD12の画面を左方向スクロールさせてもよい。
【0145】
また、以上の実施形態では、上記拡大縮小およびスクロールの対象として、ダンスホール41、ダンサー42を例に挙げた。しかし、本発明の実施形態として、例えば、CPUコア21は、X軸方向のドラッグ入力を受けて、車が走るレーンの移動を制御し、Y軸方向のドラッグ入力を受けて、車のスピードを変化させるレースゲームを構成してもよい。さらには、CPUコア21が制御可能な対象のうちCPUコア21が制御できるある対象をdiffXに基づいて制御し、この対象とは別の対象をCPUコア21がdiffYに基づいて制御していれば、本発明の実施形態として成立する。これらの対象の定義には、たとえば、ゲームキャラクタ、背景または画像のパラメータ、ゲームキャラクタ、背景または画像の移動または拡大縮小または視点の位置等を含む。さらには、これらの対象の定義には、CPUコア21が、直接または間接に制御できるあらゆるものを含むものとする。対象には、情報処理装置上または上記情報処理装置の外部に存在するものでもよく、画面表示に限られない。
【0146】
また、CPUコア21は、上記制御の対象の例として、3D空間での視点移動や、カメラの画角を変更したズームなどの制御を行ってもよい。この場合、上記補正処理によれば、ユーザーの不快感・ストレスを顕著に解消できる。すなわち、ドラッグ操作時のユーザーの手先の操作ぶれにより、3D空間上のゲームでは、視点の移動を伴う。その結果、画面の表示が大きく揺らぐから、ユーザーに不快感・ストレスをもたらしやすい。この補正処理によれば、CPUコア21は、画面の表示の揺らぎを抑えることができる。
【0147】
また、図9に示すST3、ST4の実施例2では、CPUコア21は、diffX、diffYの両方について第1閾値、第2閾値と比較する処理を示した。しかし、diffX、diffYの片方だけ閾値を設定するようにしてもよい。この場合、diffXのみに閾値を設ける場合には、ST304、ST412の処理をスキップすればよい。diffYのみに閾値を設ける場合には、ST303、ST411の処理をスキップすればよい。
【0148】
補正処理における係数ratio_valやratio_diffの値は、実施例に示したものに限らず、実施例に示したものより大きい値や小さい値としてもよい。特にratio_valやratio_diffの係数の合計が1を超える場合には、実際の変化量よりも大きな量に基づいて動作をするようになる。
【0149】
また、以上の実施形態の変形例として、変化量diffX、diffYに係数を掛けたものを使用してもよい。ドラッグ入力により得られた変化量diffX、diffYを補正処理により、たとえば、diffX=fn(diffX)に置換してもよい。ここで、以上の実施形態のゲーム装置10は、ドラッグ操作に基づくものであるから、ゲーム装置10は、ドラッグの方向、速度を反映した何らかのアナログ的動作を画像形成処理(ST4)として行うのが好ましい。たとえば、3次元ゲーム空間上の視点移動に基づくキャラクタの大きさの変化などについては、CPUコア21は、関数fn(diffX)により上記対象を制御するのが好ましい。また、CPUコア21の制御対象としては、連続的に状態を変化しうるもの(画面に登場するオブジェクト、ゲーム装置10内外の装置など)を適用するのが、ドラッグの方向、速度や、上記補正処理(ST3)を反映できる点で好ましい。また、状態を連続に変化できない場合には、上記状態が3つ以上に変化するものを制御対象として用いるのが好ましい。
【0150】
CPUコア21は、タッチの継続時間を記憶することにより、ドラッグ操作か、単なるタッチ操作か、を判定してもよい。これによれば、ゲーム装置10の操作について、より高い柔軟性を得られると期待できる。この判定の方法としては、CPUコア21は、所定の複数フレーム期間以上の時間について、ある範囲内で動いているだけであれば、ドラッグではなく同じ座標で留まっていると判定してもよい(すなわちタッチ操作がされていると判定してもよい)。
【0151】
また、実施例1〜4の別の実施例として、以上の実施例1〜4の処理を組み合わせても良い。
【0152】
以上の実施形態では、CPUコア21は、図3、図7〜11のフローを1フレーム期間ごとに行うとした。しかし、CPUコア21は、1フレーム期間ごとではなく、複数フレーム期間ごとに行ってもよい。また、CPUコア21は、所定時間ごとに図3、図7〜11のフローの動作を行ってもよい。別の実施形態として、ST10、あるいは、ST24およびST25で取得する変化量diffX、diffYをタッチの開始から終了(すなわちタッチを検出しなくなる)までの変化量としてもよい。
【0153】
以上の図1、図2では、機能ごとに分離したブロックで説明したが、実装上は、これらのブロックは、そのいずれかが複数の機能が一体として構成してもよいし、一つのブロックを複数に分離して構成されていてもよい。各ブロックの役割分担については、ほかのバリエーションも可能であり、あるブロックの一部の機能が他のブロックの一部の機能として構成されていてもよい。たとえば、以上の説明では、図3のフローの実行主体は、CPUコア21としたが、ゲーム装置10の一部の処理を担うサブマイコン等を設けて、以上の実施形態の処理をしてもよい。また、検出処理(ST10)を別フローとしてもよく、タッチ処理プログラム241には、別のプログラムで生成したX成分移動量diffX247、Y成分移動量diffY248を入力してもよい。
【0154】
以上の説明で、処理のフローで大小比較をしている説明の中に、「≦」、「<」(以上、以下、未満、越えている)という意味の説明があるとすれば、相互に読み替えて適用してもよい。即ち、閾値により判断していればよく、「≦(超えているまたは同じ場合)」か「<(超えている場合であり、同じ場合は含まない)」かいずれを適用すべきかについて技術的な意味はない。
【0155】
以上の実施形態は、ゲーム装置のみならず、携帯端末に応用できる。携帯端末に応用する場合、上記制御の対象としては、その携帯端末が制御できるあらゆるものを含めることができる。たとえば、画面のスクロールや、画面の拡大縮小、所定のプログラムの起動、外部に接続した装置の制御などを含めることができる。
【0156】
CPUコア21は、以上で示した第1閾値、第2閾値、第3閾値を別の値に置き換えて以上の処理をしてもよい。また、CPUコア21は、補正処理(ST3)を行うのが望ましいが、本発明の実施形態として、必ずしも補正処理を行うことは必須ではない。また、以上の実施形態で示した構成のうち、本発明の実施形態としては、タッチパネル15などのポインティングデバイスと、第1のLCD11または第2のLCD12などの表示器(情報処理装置の外部でもよい)、タッチ処理プログラム241を動作させる構成、および、X成分移動量diffX、Y成分移動量diffYを入力としてCPUコア21が制御する上記制御対象以外については、必須ではない。ポインティングデバイスとしては、タッチパネル15以外にもマウスなどでもよい。マウスの場合、ボタンを押しながらの移動操作が、ドラッグ操作に相当する。また、LCD(第1のLCD11、第2のLCD12)を両方設ける必要はない。タッチパネル15は、第2のLCD12上に設ける必要はない。
【符号の説明】
【0157】
10…ゲーム装置
11…第1のLCD
12…第2のLCD
13…ハウジング
13a…上側ハウジング
13b…下側ハウジング
14a…十字スイッチ
14b…スタートスイッチ
14c…セレクトスイッチ
14d…Aボタン
14e…Bボタン
14f…Xボタン
14g…Yボタン
15…タッチパネル
16…スティック
17…メモリカード
18a,18b…音抜き孔
19…電源スイッチ
24…RAM
33…マイクロフォン用孔
35…挿入口
36…挿入口
41…ダンスホール
42…ダンサー
51…第1領域
52…第2領域
53…第3領域
54…第4領域
61…第1閾値
62…第2閾値
63…第3閾値
66…補正テーブル

【特許請求の範囲】
【請求項1】
ポインティングデバイスを備えた情報処理装置のコンピュータを、
前記ポインティングデバイスによって指示された座標を検出する座標検出手段、
前記ポインティングデバイスの入力が継続して行われているときの前記座標の第1方向の変化量を算出する第1変化量算出手段、
前記ポインティングデバイスの入力が継続して行われているときの前記座標の第2方向の変化量を算出する第2変化量算出手段、
前記第1変化量算出手段で算出された前記第1方向の変化量に基づいて第1の動作を行う第1動作手段、
前記第2変化量算出手段で算出された前記第2方向の変化量に基づいて、前記第1の動作と異なる第2の動作を行う第2動作手段、
として機能させることを特徴とする、情報処理プログラム。
【請求項2】
表示手段へ画像を出力する画像出力手段を、さらに備え、
前記第1変化量算出手段において、前記第1方向とは、水平方向であり、
前記第2変化量算出手段において、前記第2方向とは、垂直方向であり、
前記第1動作手段において、前記第1の動作とは、前記画像のスクロール動作であり、
前記第2動作手段において、前記第2の動作とは、前記画像の拡大縮小動作であり、
前記画像出力手段は、前記第1動作手段または/および前記第2動作手段により形成された画像を出力することを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記情報処理装置のコンピュータを、
前記第1方向の変化量に基づいて前記第1方向の変化量を補正した第1補正値を設定する第1補正値設定手段、および
前記第2方向の変化量に基づいて前記第2方向の変化量を補正した第2補正値を設定する第2補正値設定手段としてさらに機能させ、
前記第1動作手段は、前記第1補正値に基づいて前記第1の動作を行い、
前記第2動作手段は、前記第2補正値に基づいて前記第2の動作を行うことを特徴とする請求項1、請求項2のいずれか1に記載の情報処理プログラム。
【請求項4】
前記第1補正値設定手段は、前回に設定した第1補正値および今回の前記第1方向の変化量に基づいて、今回の前記第1補正値を設定し、
前記第2補正値設定手段は、前回に設定した第2補正値および今回の前記第2方向の変化量に基づいて、今回の前記第2補正値を設定することを特徴とする請求項3に記載の情報処理プログラム。
【請求項5】
前記第1補正値設定手段は、
前回の前記第1補正値に、0より大きく1より小さい値を乗じることで減衰値を算出し、
前記減衰値に第1係数を乗じたものと、前記第1方向の変化量に第2係数を乗じたものの和を、今回の前記第1補正値とし、
前記第2補正値設定手段は、
前回の前記第2補正値に、0より大きく1より小さい値を乗じることで減衰値を算出し、
前記減衰値に第3係数を乗じたものと、前記第2方向の変化量に第4係数を乗じたものの和を、今回の前記第2補正値とすることを特徴とする請求項3に記載の情報処理プログラム。
【請求項6】
前記情報処理装置のコンピュータを、
前記第1方向の変化量が第1閾値を超えたか否かを判別する第1閾値判別手段と、
前記第2方向の変化量が第2閾値を超えたか否かを判別する第2閾値判別手段としてさらに機能させ、
前記第1動作手段は、前記第1閾値判別手段によって第1閾値を超えたと判別されたときに第1の動作を行い、
前記第2動作手段は、前記第2閾値判別手段によって第2閾値を超えたと判別されたときに第2の動作を行うことを特徴とする請求項1〜3のいずれか1に記載の情報処理プログラム。
【請求項7】
前記情報処理装置を、
前記第1方向の変化量と前記第2方向の変化量とを演算する演算手段としてさらに機能させ、
前記第1動作手段は、前記演算手段によって得られる値が所定の第1範囲内であるときに前記第1の動作を行い、所定の第2範囲内であるときには前記第1の動作を行わず、
前記第2動作手段は、前記演算手段によって得られる値が前記所定の第2範囲内であるときに前記第2の動作を行い、前記所定の第1範囲内であるときには前記第2の動作を行なわず、
前記演算手段によって得られる値が前記所定の第1範囲内でも前記所定の第2範囲内でもないときには、
前記第1動作手段は、前記第1の動作を行い、前記第2動作手段は、前記第2の動作を行うことを特徴とする請求項1〜3のいずれか1に記載の情報処理プログラム。
【請求項8】
前記演算手段は、前記第1方向の変化量と前記第2方向の変化量との割合を算出することを特徴とする請求項7に記載の情報処理プログラム。
【請求項9】
前記情報処理装置のコンピュータを、
前記第1方向の変化量と前記第2方向の変化量とを演算する演算手段と、
前記第1方向の変化量または/および前記第2方向の変化量が、第3閾値を超えたか否かを判別する第3閾値判別手段としてさらに機能させ、
前記第3閾値判別手段によって前記第1方向の変化量および前記第2方向の変化量がいずれも第3閾値を超えていないと判別された場合、
前記第1動作手段は、前記演算手段によって得られる値が所定の第1範囲内であるときに第1の動作を行い、所定の第2範囲内であるときには前記第1の動作を行わず、
前記第2動作手段は、前記演算手段によって得られる値が前記所定の第2範囲内であるときに第2の動作を行い、前記所定の第1範囲内であるときには前記第2の動作を行わず、
前記第3閾値判別手段によって前記第1方向の変化量および前記第2方向の変化量の少なくとも一方が第3閾値を超えたと判別された場合、
前記第1動作手段は、前記第1閾値判別手段によって第1閾値を超えたと判別されたときに第1の動作を行い、
前記第2動作手段は、前記第2閾値判別手段によって第2閾値を超えたと判別されたときに第2の動作を行い、
前記第3閾値は、前記第1閾値および前記第2閾値よりも大きく設定されていることを特徴とする請求項1〜3のいずれか1に記載の情報処理プログラム。
【請求項10】
前記第1補正値設定手段は、前記第1方向の変化量が所定値以上のときは当該第1方向の変化量を前記第1補正値とし、所定値未満のときは前記第1補正値を0にし、
前記第2補正値設定手段は、前記第2方向の変化量が所定値以上のときは当該第2方向の変化量を前記第2補正値とし、所定値未満のときは前記第2補正値を0にすることを特徴とする請求項3に記載の情報処理プログラム。
【請求項11】
前記情報処理装置のコンピュータを、
前記第1方向の変化量と前記第2方向の変化量とを演算する演算手段としてさらに機能させ、
前記演算手段によって得られる値が所定の第1範囲内のとき、前記第1補正値設定手段は前記第1方向の変化量を前記第1補正値とし、前記第2補正値設定手段は前記第2補正値を0とし、
前記演算手段によって得られる値が所定の第2範囲内のとき、前記第1補正値設定手段は前記第1方向の変化量を0とし、前記第2補正値設定手段は前記第2方向の変化量を前記第2補正値とし、
前記演算手段によって得られる値が所定の第3範囲内のとき、前記第1補正値設定手段は前記第1方向の変化量を前記第1補正値とし、前記第2補正値設定手段は前記第2方向の変化量を前記第2補正値とすることを特徴とする請求項3に記載の情報処理プログラム。
【請求項12】
ポインティングデバイスを備えた情報処理装置において、
前記ポインティングデバイスによって指示された座標を検出する座標検出手段と、
前記ポインティングデバイスの入力が継続して行われているときの前記座標の第1方向の変化量を算出する第1変化量算出手段と、
前記ポインティングデバイスの入力が継続して行われているときの前記座標の第2方向の変化量を算出する第2変化量算出手段と、
前記第1変化量算出手段で算出された前記第1方向の変化量に基づいて第1の動作を行う第1動作手段と、
前記第2変化量算出手段で算出された前記第2方向の変化量に基づいて、前記第1の動作と異なる第2の動作を行う第2動作手段と、を備えることを特徴とする情報処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2010−170479(P2010−170479A)
【公開日】平成22年8月5日(2010.8.5)
【国際特許分類】
【出願番号】特願2009−14479(P2009−14479)
【出願日】平成21年1月26日(2009.1.26)
【出願人】(000233778)任天堂株式会社 (1,115)
【出願人】(509025739)株式会社バンプール (1)
【Fターム(参考)】