(57)【要約】【課題】情報処理装置の操作性を向上させる。【解決手段】情報処理装置（ゲーム装置１０）は、ポインティングデバイス（タッチパネル１５、スティック１６）と、画像を表示する表示手段（第２のＬＣＤ１２）とを備える。座標検出手段は、上記ポインティングデバイスによって指示された座標を検出する。第１変化量算出手段（ＳＴ２４）は、上記ポインティングデバイスの入力が継続して行われているときの上記座標の第１方向の変化量を算出する。第２変化量算出手段（ＳＴ２５）は、上記ポインティングデバイスの入力が継続して行われているときの上記座標の第２方向の変化量を算出する。第１動作手段（ＳＴ４０１）は、上記第１変化量算出手段で算出された上記第１方向の変化量に基づいて第１の動作を行う。第２動作手段（ＳＴ４０２）は、上記第２変化量算出手段で算出された上記第２方向の変化量に基づいて、上記第１の動作と異なる第２の動作を行う。【選択図】図３
2010170479.tif 000002
【特許請求の範囲】
【請求項１】
ポインティングデバイスを備えた情報処理装置のコンピュータを、
前記ポインティングデバイスによって指示された座標を検出する座標検出手段、
前記ポインティングデバイスの入力が継続して行われているときの前記座標の第１方向の変化量を算出する第１変化量算出手段、
前記ポインティングデバイスの入力が継続して行われているときの前記座標の第２方向の変化量を算出する第２変化量算出手段、
前記第１変化量算出手段で算出された前記第１方向の変化量に基づいて第１の動作を行う第１動作手段、
前記第２変化量算出手段で算出された前記第２方向の変化量に基づいて、前記第１の動作と異なる第２の動作を行う第２動作手段、
として機能させることを特徴とする、情報処理プログラム。
【請求項２】
表示手段へ画像を出力する画像出力手段を、さらに備え、
前記第１変化量算出手段において、前記第１方向とは、水平方向であり、
前記第２変化量算出手段において、前記第２方向とは、垂直方向であり、
前記第１動作手段において、前記第１の動作とは、前記画像のスクロール動作であり、
前記第２動作手段において、前記第２の動作とは、前記画像の拡大縮小動作であり、
前記画像出力手段は、前記第１動作手段または／および前記第２動作手段により形成された画像を出力することを特徴とする請求項１に記載の情報処理プログラム。
【請求項３】
前記情報処理装置のコンピュータを、
前記第１方向の変化量に基づいて前記第１方向の変化量を補正した第１補正値を設定する第１補正値設定手段、および
前記第２方向の変化量に基づいて前記第２方向の変化量を補正した第２補正値を設定する第２補正値設定手段としてさらに機能させ、
前記第１動作手段は、前記第１補正値に基づいて前記第１の動作を行い、
前記第２動作手段は、前記第２補正値に基づいて前記第２の動作を行うことを特徴とする請求項１、請求項２のいずれか１に記載の情報処理プログラム。
【請求項４】
前記第１補正値設定手段は、前回に設定した第１補正値および今回の前記第１方向の変化量に基づいて、今回の前記第１補正値を設定し、
前記第２補正値設定手段は、前回に設定した第２補正値および今回の前記第２方向の変化量に基づいて、今回の前記第２補正値を設定することを特徴とする請求項３に記載の情報処理プログラム。
【請求項５】
前記第１補正値設定手段は、
前回の前記第１補正値に、０より大きく１より小さい値を乗じることで減衰値を算出し、
前記減衰値に第１係数を乗じたものと、前記第１方向の変化量に第２係数を乗じたものの和を、今回の前記第１補正値とし、
前記第２補正値設定手段は、
前回の前記第２補正値に、０より大きく１より小さい値を乗じることで減衰値を算出し、
前記減衰値に第３係数を乗じたものと、前記第２方向の変化量に第４係数を乗じたものの和を、今回の前記第２補正値とすることを特徴とする請求項３に記載の情報処理プログラム。
【請求項６】
前記情報処理装置のコンピュータを、
前記第１方向の変化量が第１閾値を超えたか否かを判別する第１閾値判別手段と、
前記第２方向の変化量が第２閾値を超えたか否かを判別する第２閾値判別手段としてさらに機能させ、
前記第１動作手段は、前記第１閾値判別手段によって第１閾値を超えたと判別されたときに第１の動作を行い、
前記第２動作手段は、前記第２閾値判別手段によって第２閾値を超えたと判別されたときに第２の動作を行うことを特徴とする請求項１〜３のいずれか１に記載の情報処理プログラム。
【請求項７】
前記情報処理装置を、
前記第１方向の変化量と前記第２方向の変化量とを演算する演算手段としてさらに機能させ、
前記第１動作手段は、前記演算手段によって得られる値が所定の第１範囲内であるときに前記第１の動作を行い、所定の第２範囲内であるときには前記第１の動作を行わず、
前記第２動作手段は、前記演算手段によって得られる値が前記所定の第２範囲内であるときに前記第２の動作を行い、前記所定の第１範囲内であるときには前記第２の動作を行なわず、
前記演算手段によって得られる値が前記所定の第１範囲内でも前記所定の第２範囲内でもないときには、
前記第１動作手段は、前記第１の動作を行い、前記第２動作手段は、前記第２の動作を行うことを特徴とする請求項１〜３のいずれか１に記載の情報処理プログラム。
【請求項８】
前記演算手段は、前記第１方向の変化量と前記第２方向の変化量との割合を算出することを特徴とする請求項７に記載の情報処理プログラム。
【請求項９】
前記情報処理装置のコンピュータを、
前記第１方向の変化量と前記第２方向の変化量とを演算する演算手段と、
前記第１方向の変化量または／および前記第２方向の変化量が、第３閾値を超えたか否かを判別する第３閾値判別手段としてさらに機能させ、
前記第３閾値判別手段によって前記第１方向の変化量および前記第２方向の変化量がいずれも第３閾値を超えていないと判別された場合、
前記第１動作手段は、前記演算手段によって得られる値が所定の第１範囲内であるときに第１の動作を行い、所定の第２範囲内であるときには前記第１の動作を行わず、
前記第２動作手段は、前記演算手段によって得られる値が前記所定の第２範囲内であるときに第２の動作を行い、前記所定の第１範囲内であるときには前記第２の動作を行わず、
前記第３閾値判別手段によって前記第１方向の変化量および前記第２方向の変化量の少なくとも一方が第３閾値を超えたと判別された場合、
前記第１動作手段は、前記第１閾値判別手段によって第１閾値を超えたと判別されたときに第１の動作を行い、
前記第２動作手段は、前記第２閾値判別手段によって第２閾値を超えたと判別されたときに第２の動作を行い、
前記第３閾値は、前記第１閾値および前記第２閾値よりも大きく設定されていることを特徴とする請求項１〜３のいずれか１に記載の情報処理プログラム。
【請求項１０】
前記第１補正値設定手段は、前記第１方向の変化量が所定値以上のときは当該第１方向の変化量を前記第１補正値とし、所定値未満のときは前記第１補正値を０にし、
前記第２補正値設定手段は、前記第２方向の変化量が所定値以上のときは当該第２方向の変化量を前記第２補正値とし、所定値未満のときは前記第２補正値を０にすることを特徴とする請求項３に記載の情報処理プログラム。
【請求項１１】
前記情報処理装置のコンピュータを、
前記第１方向の変化量と前記第２方向の変化量とを演算する演算手段としてさらに機能させ、
前記演算手段によって得られる値が所定の第１範囲内のとき、前記第１補正値設定手段は前記第１方向の変化量を前記第１補正値とし、前記第２補正値設定手段は前記第２補正値を０とし、
前記演算手段によって得られる値が所定の第２範囲内のとき、前記第１補正値設定手段は前記第１方向の変化量を０とし、前記第２補正値設定手段は前記第２方向の変化量を前記第２補正値とし、
前記演算手段によって得られる値が所定の第３範囲内のとき、前記第１補正値設定手段は前記第１方向の変化量を前記第１補正値とし、前記第２補正値設定手段は前記第２方向の変化量を前記第２補正値とすることを特徴とする請求項３に記載の情報処理プログラム。
【請求項１２】
ポインティングデバイスを備えた情報処理装置において、
前記ポインティングデバイスによって指示された座標を検出する座標検出手段と、
前記ポインティングデバイスの入力が継続して行われているときの前記座標の第１方向の変化量を算出する第１変化量算出手段と、
前記ポインティングデバイスの入力が継続して行われているときの前記座標の第２方向の変化量を算出する第２変化量算出手段と、
前記第１変化量算出手段で算出された前記第１方向の変化量に基づいて第１の動作を行う第１動作手段と、
前記第２変化量算出手段で算出された前記第２方向の変化量に基づいて、前記第１の動作と異なる第２の動作を行う第２動作手段と、を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポインティングデバイスを備える情報処理装置、情報処理プログラム等に関する。
【背景技術】
【０００２】
従来、ポインティングデバイスのスライド操作またはドラッグ操作に応じて処理を行うゲーム等の情報処理装置が知られている。例えば特許文献１には、タッチパネル上にリング状のマーカーが表示され、それをスライドさせて移動させることで、そのマーカーが移動した位置に応じて異なる動作を行う情報処理装置が開示されている。より具体的には、タッチパネルの検出領域は、格子状の領域に分割して設定され、ユーザーがマーカーを所定の領域に移動させると、この装置は、その領域毎に設定されているパラメータに基づいて画像の表示状態を変化させる旨が開示されている（特許文献１の図６、図１３等参照）。
【０００３】
特許文献２には、ペン入力装置において、ペンのＸ軸方向およびＹ軸方向の移動量および傾きを求め、傾きに応じてＸ軸方向、Ｙ軸方向に同時にスクロールを行う方法が開示されている。
【０００４】
特許文献３には、ポインティング装置により検出した座標の移動量の縦方向成分と、横方向成分を比較し、そのうちの大きい方向がいずれであるかに基づいて、縦方向または横方向のいずれかに移動させる入力があったとものとして処理するプレゼンテーション用表示装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１０２３２７号公報
【特許文献２】特開平６−１８７０８９号公報
【特許文献３】特開２００４−７８７２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示された装置は、リング状のマーカーの指示位置に対応する領域に設定されたパラメータに基づいて画像を変化させるものである。したがって、ユーザーによりその領域へマーカーがドラッグされない限り、ユーザーは、その装置を所定の状態にすることができない。そのため、マーカーの現在位置によっては、ユーザーは、大きくドラッグしなければ、目的の動作をさせることができない虞があった。また、領域ごとにパラメータが決まっているので、ユーザーが目的の動作を好きな位置で自由に行うことができないという問題があった。また、マーカーをドラッグさせても、マーカーが移動前と同じ領域内にある間は、ユーザーは、画像を変化させることができない虞があった。
また、特許文献２は、斜め方向を含む任意の方向へ画像をスクロールさせることを開示するものである。しかし、スクロールという１種類の動作しか行うことができず、異なる種類の複数の動作を同時に行えるようにしたものではなかった。
【０００７】
特許文献３の装置は、移動量を縦方向または横方向のいずれかであると杓子定規に判別するので、特に、ユーザーがポインティング装置上を小さくドラッグした場合には、ユーザーが意図しない方向が装置に入力される虞があった。
【０００８】
そこで、本発明は、情報処理装置の操作性を向上させることを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明は、以下の構成を備えることができる。なお、以下では、理解の容易のために（）内に実施形態の記載と対応する構成または処理を付しているが、本発明を限定するものではない。
【００１０】
（１）  本発明は、
ポインティングデバイス（タッチパネル１５、スティック１６）を備えた情報処理装置（ゲーム装置１０）のコンピュータ（ＣＰＵコア２１）を、座標検出手段、第１変化量算出手段、第２変化量算出手段、第１動作手段、および第２動作手段として機能させる情報処理プログラムである。
座標検出手段（ＳＴ１、ＳＴ２１、ＳＴ２２、ＳＴ２３）は、上記ポインティングデバイスによって指示された座標を検出する。
第１変化量算出手段（ＳＴ２４）は、上記ポインティングデバイスの入力が継続して行われているときの上記座標の第１方向の変化量（Ｘ成分移動量ｄｉｆｆＸ）を算出する。
第２変化量算出手段（ＳＴ２５）は、上記ポインティングデバイスの入力が継続して行われているときの上記座標の第２方向の変化量（Ｙ成分移動量ｄｉｆｆＹ）を算出する。
第１動作手段（ＳＴ４、ＳＴ４０１）は、上記第１変化量算出手段で算出された上記第１方向の変化量に基づいて第１の動作を行う。
第２動作手段（ＳＴ４、ＳＴ４０２）は、上記第２変化量算出手段で算出された上記第２方向の変化量に基づいて、上記第１の動作と異なる第２の動作を行う。
【００１１】
この構成の情報処理装置の第１変化量算出手段、第２変化量算出手段は、それぞれ第１方向の変化量、第２方向の変化量を算出する。第１動作手段、第２動作手段は、これらの変化量に基づいて、第１の動作、第２の動作を行う。したがって、この構成は、従来のように移動前の初期位置がどの領域に属するかに依存するのではなく、相対的な移動量、移動方向のみに基づいて所定の動作を行うことができるので、所定の動作をさせるために、特定の領域へ移動させる必要がない。したがって、ユーザーは、ポインティングデバイスの入力を開始した点に依存せず、直ちに所定の動作を情報処理装置に対し指示できる。
【００１２】
また、この構成によれば、ポインティングデバイスに対する入力が継続している場合、座標の第１方向、第２方向の変化量が、それぞれ、互いに異なった動作への指示入力として割り当てられていることになる。したがって、ユーザーは、ポインティングデバイスという１つの指示手段を用いながら、同時に互いに異なる２つの動作を指示することができる。
【００１３】
以上の作用により、情報処理装置の操作性を向上させることができる。
【００１４】
（２）表示手段（第１のＬＣＤ１２、または第２のＬＣＤ１２）へ画像（第１の表示画像または第２の表示画像）を出力する画像出力手段（ＣＰＵコア２１による第１ＧＰＵ２６または第２ＧＰＵ２７への画像出力の指示）を、さらに備え、
上記第１変化量算出手段において、上記第１方向とは、水平方向であり、
上記第２変化量算出手段において、上記第２方向とは、垂直方向であり、
上記第１動作手段において、上記第１の動作とは、上記画像のスクロール動作であり（ＳＴ４０１）、
上記第２動作手段において、上記第２の動作とは、上記画像の拡大縮小動作（ＳＴ４０２）である。上記画像出力手段は、上記第１動作手段または／および上記第２動作手段により形成（ＳＴ４（ＳＴ４０１、または／およびＳＴ４０２））された画像を出力する。
【００１５】
この構成によれば、ユーザーは、ポインティングデバイスという１つの指示手段を用いながら、互いに異なる２つの動作を指示することができる。したがって、情報処理装置の操作性を向上させることができる。
【００１６】
（３）  上記情報処理装置のコンピュータを、第１補正値設定手段（ＳＴ３０１）、第２補正値設定手段（ＳＴ３０２）、上記第１動作手段（ＳＴ４０１）、および上記第２動作手段（ＳＴ４０２）としてさらに機能させるようにしてもよい。
【００１７】
この場合、第１補正値設定手段は、上記第１方向の変化量に基づいて上記変化量を補正するための第１補正値を設定する。
第２補正値設定手段は、上記第２方向の変化量に基づいて上記変化量を補正するための第２補正値を設定する。
上記第１動作手段は、上記第１補正値に基づいて第１の動作を行う。
上記第２動作手段は、上記第２補正値に基づいて第２の動作を行う。
【００１８】
第１補正値設定手段または第２補正値設定手段によれば、ドラッグ操作におけるユーザーの手先の操作ぶれ等による予期せぬ動作を防ぎ、ユーザーの意図しない動作を低減できる。よって、したがって、情報処理装置の操作性を向上させることができる。
【００１９】
なお、補正値の設定をするには、第１補正値設定手段または第２補正値設定手段は、たとえば、計算式により計算した値を用いてもよい。また、変化量を補正値に変換するデータテーブルを記憶して、データテーブルを参照して、補正値へ変換してもよい。データテーブルを用いる場合には、第１補正値設定手段または第２補正値設定手段は、データテーブルに記載されていない値については、データテーブルに記載された補正値同士で補間してもよい。
【００２０】
（４）  上記第１補正値設定手段は、前回に設定した上記第１補正値（ｖａｌＸ（Ｔ−１））および今回の上記第１方向の変化量（ｄｉｆｆＸ（Ｔ））に基づいて、今回の上記第１補正値（ｖａｌＸ（Ｔ））を設定する（（式１）、（式２））。
上記第２補正値設定手段は、前回に設定した上記第２補正値（ｖａｌＹ（Ｔ−１））および今回の上記第２方向の変化量（ｄｉｆｆＹ（Ｔ））に基づいて、今回の上記第２補正値（ｖａｌＹ（Ｔ））を設定する（（式３）、（式４））ようにしてもよい。
【００２１】
ここで、上記第１補正値設定手段、上記第２補正値設定手段による補正処理のフローは、繰り返し行われる。「前回に設定した」補正値とは、１つ前の繰り返しフロー時に計算した値（これから新たに設定する補正値を設定するフローの直前のフローにおいて計算した値）である。
【００２２】
この構成によれば、情報処理装置は、前回の補正値を利用するため、滑らかで自然な操作感をユーザーに与えることができる。
【００２３】
（５）  上記第１補正値設定手段は、前回の上記第１補正値に、０より大きく１より小さい値を乗じることで減衰値を算出するようにし（ＳＴ３１１）、上記減衰値に第１係数を乗じたものと、上記第１方向の変化量に第２係数を乗じたものの和を、今回の上記第１補正値とするようにしてもよい（ＳＴ３１２）。
【００２４】
この場合、第２補正値設定手段は、前回の上記第２補正値に、０より大きく１より小さい値を乗じることで減衰値を算出する（ＳＴ３２１）。この場合、上記第２補正値設定手段は、上記減衰値に第３係数を乗じたものと、上記第２方向の変化量に第４係数を乗じたものの和を、今回の第２補正値とする（ＳＴ３２２）。
【００２５】
この構成の情報処理装置は、ポインティングデバイスから入力された変化量を、移動開始直後には小さく補正し、その後、上記変化量／単位時間、すなわち座標の移動速度が所定値に漸近するように補正する。したがって、ドラッグ操作におけるユーザーの手先の操作ぶれがあっても、直ちにそのまま入力されない。ユーザーの手先の操作ぶれによる予期せぬ動作を防ぐことができる。他方、ドラッグ操作量またはポインティングデバイスに入力している時間が長い場合、ユーザーは、手先の操作ぶれではなく、その入力の指示を意図的に行っていると考えられる。この場合には、情報処理装置は、上記移動速度が所定値に近づくように補正する。したがって、情報処理装置は、心地よい操作感をユーザーに与えることができ、情報処理装置の操作性が向上する。
【００２６】
（６）  上記情報処理装置のコンピュータを、第１閾値判別手段（ＳＴ３０３）および第２閾値判別手段（ＳＴ３０４）としてさらに機能させるようにしてもよい。
第１閾値判別手段は、上記第１方向の変化量が第１閾値を超えたか否かを判別する。
第２閾値判別手段は、上記第２方向の変化量が第２閾値を超えたか否かを判別する。
上記第１動作手段は、上記第１閾値判別手段によって第１閾値を超えたと判別されたときに第１の動作を行う（ＳＴ４１１）。
上記第２動作手段は、上記第２閾値判別手段によって第２閾値を超えたと判別されたときに第２の動作を行う（ＳＴ４１２）。
【００２７】
この構成の情報処理装置は、第１閾値、第２閾値を用いて、その値を越えない限りは、第１の動作、第２の動作を行わない。情報処理装置は、このような補正処理を行っているので、ユーザーの手先の操作ぶれがあっても、第１方向の変化量または第２方向の変化量として無視されるから、情報処理装置は、ユーザー意図しない指示を入力しない。
【００２８】
（７）  上記情報処理装置のコンピュータを、演算手段（ＳＴ４２１）としてさらに機能させるようにしてもよい。
この場合、演算手段は、上記第１方向の変化量と上記第２方向の変化量の変化量とを演算する演算手段としてさらに機能させる。
上記第１動作手段は、上記演算手段によって得られる値が所定の第１範囲内であるときに上記第１の動作を行い（ＳＴ４２２、ＳＴ４２３）、所定の第２範囲内であるときには上記第１の動作を行わない。
上記第２動作手段は、上記演算手段によって得られる値が所定の第２範囲内であるときに上記第２の動作を行い（ＳＴ４２４、ＳＴ４２５）、所定の第１範囲内であるときには上記第２の動作を行わない。
上記演算手段によって得られる値が上記所定の第１範囲内でも上記所定の第２範囲内でもないときには（ＳＴ４２６）、
上記第１動作手段は、上記第１の動作を行い（ＳＴ４２７）、上記第２動作手段は、上記第２の動作を行う（ＳＴ４２８）ようにしてもよい。
【００２９】
ここで、手先の操作ぶれは当然に生じやすく、ユーザーが第１の変化量のみを入力することは、非常に困難である。この点、この構成の情報処理装置は、上記演算手段によって得られる値が所定の第１範囲内である場合には、仮に第２の変化量が入力されても、第１の動作を行い、上記第２の動作を行わない。また、この情報処理装置は、上記演算手段によって得られる値が所定の第２範囲内であるときに第２の動作を行い、上記第１の動作を行わない。
【００３０】
このように、この構成の情報処理装置は、第１方向の変化量と第２方向の変化量との演算結果が所定の第１範囲内または所定の第２範囲内のときは、第１の動作、第２の動作の一方しか動作しない。たとえば、第１の動作をさせ、第２の動作をさせないようにしたいというユーザーの意図を汲み取って、動作を制御することができる。また、第１範囲内でも第２範囲内でもないときには、上記第１動作手段は、上記第１の動作を行い、上記第２動作手段は、上記第２の動作を行う。したがって、情報処理装置は、従来のようにいずれか一方のみを実行するといった、画一した動作をするのではなく、ユーザーの指示によっては、第１の動作、第２の動作の両方の動作をもすることができ、よりユーザーの意図しない動作を低減することが可能となる。
【００３１】
（８）  上記演算手段は、上記第１方向の変化量と上記第２方向の変化量との割合を算出するようにしてもよい。
【００３２】
ここで、手先の操作ぶれは当然に生じやすく、ユーザーが第１の変化量のみを入力することは、非常に困難である。この点、この構成の情報処理装置は、この構成の情報処理装置は、上記割合が所定の第１範囲内である場合には、仮に第２の変化量が入力されても、第１の動作を行い、上記第２の動作を行わない。また、この情報処理装置は、上記割合が所定の第２範囲内であるときに第２の動作を行い、上記第１の動作を行わない。
【００３３】
このように、この構成の情報処理装置は、第１方向の変化量と第２方向の変化量との割合が所定の第１範囲内または所定の第２範囲内のときは、第１の動作、第２の動作の一方しか動作しない。たとえば、第１方向の変化量を第２方向の変化量に対して大きく変化させた場合には、第１の動作をさせ、第２の動作をさせないようにしたいというユーザーの意図を汲み取って、動作を制御することができる。また、第１範囲内でも第２範囲内でもないときには、上記第１動作手段は、上記第１の動作を行い、上記第２動作手段は、上記第２の動作を行う。したがって、情報処理装置は、従来のようにいずれか一方のみを実行するといった、画一した動作をするのではなく、ユーザーの指示によっては、第１の動作、第２の動作の両方の動作をもすることができ、よりユーザーの意図しない動作を低減することが可能となる。
【００３４】
（９）  上記情報処理装置を、演算手段および第３閾値判別手段としてさらに機能させるようにしてもよい。
この場合、演算手段は、上記第１方向の変化量と上記第２方向の変化量とを演算する。
第３閾値判別手段は、上記第１方向の変化量または／および上記第２方向の変化量が、第３閾値を超えたか否かを判別する（ＳＴ４４）。
上記第３閾値判別手段によって上記第１方向の変化量および上記第２方向の変化量がいずれも第３閾値を超えていないと判別された場合、上記第１動作手段、上記第２動作手段は、以下の動作を行う。すなわち、上記第１動作手段は、上記演算手段によって得られる値が所定の第１範囲内であるときに第１の動作を行い（ＳＴ４２３）、所定の第２範囲内であるときには上記第１の動作を行わない。上記第２動作手段は、上記演算手段によって得られる値が所定の第２範囲内であるときに第２の動作を行い（ＳＴ４２５）、所定の第１範囲内であるときには上記第１の動作を行わない。
【００３５】
上記第３閾値判別手段によって上記第１方向の変化量および上記第２方向の変化量の少なくとも一方が第３閾値を超えたと判別された場合、上記第１動作手段、上記第２動作手段は、以下の動作を行う。すなわち、この場合、上記第１動作手段は、上記第１閾値判別手段によって第１閾値を超えたと判別されたときに第１の動作を行う。また、この場合、上記第２動作手段は、上記第２閾値判別手段によって第２閾値を超えたと判別されたときに第２の動作を行う。ここで、上記第３閾値は、上記第１閾値および上記第２閾値よりも大きく設定されている。
【００３６】
この構成の情報処理装置は、上記第１方向の変化量および上記第２方向の変化量がいずれも第３閾値を超えていないと判別された場合（これを第１の場合とする）、上記演算手段によって得られた値を用いた動作を行う。したがって、ユーザーが細かい動きを指示した場合には、第１の場合が成立する。第１の場合には、第１の動作、第２の動作のうち少なくとも一方は、実行されることになる。ユーザーは、第３閾値以下の移動量でも入力することができるし、演算手段によって得られた値が所定範囲内であれば、情報処理装置は、たとえば、第１の動作をさせ、第２の動作をさせないようにしたいというユーザーの意図を汲み取って、動作を修正することができる。
【００３７】
他方、この構成の情報処理装置は、上記第１方向の変化量および上記第２方向の変化量がいずれかが第３閾値を超えていると判別された場合（第２の場合とする）、ユーザーが意図的に大きくドラッグした可能性が高い。当該第２の場合、情報処理装置は、第１の閾値、第２の閾値に基づく第１の動作、第２の動作に切り換える。これにより、たとえば、第１方向、第２方向いずれも大きいが上記演算手段によって得られた値（例えば、割合）が第２範囲内に属する場合でも、上記第１方向の移動量は無視されずに、第１方向の移動量に応じた第１の動作が行われ、情報処理装置は、ユーザーの意図する入力を受け付けることができる。また、この第２の場合、情報処理装置は、移動量が第２の閾値未満である場合には、第１の動作を行い、第２の動作を行わない。したがって、情報処理装置は、たとえば、第１の動作を行いたいが、第２の動作を行わせたくないといったユーザーの意図を反映させることができる。
【００３８】
以上のとおり、この情報処理装置は、第３閾値により異なった処理を行っているので、心地よい操作感をユーザーに与えることができ、情報処理装置の操作性が向上する。
【００３９】
（１０）  第１補正値設定手段は、第１方向の変化量が所定値以上のときは第１方向の変化量を第１補正値とし、所定値未満のときは第１補正値を０にし、
第２補正値設定手段は、第２方向の変化量が所定値以上のときは第２方向の変化量を第２補正値とし、所定値未満のときは第２補正値を０にするようにしてもよい。
【００４０】
この構成によれば、ユーザーが意図しない動作を低減することができる。
【００４１】
（１１）  本発明は、
上記情報処理装置のコンピュータを、
上記第１方向の変化量と上記第２方向の変化量とを演算する演算手段としてさらに機能させるようにしてもよい。
この場合、上記演算手段によって得られる値が所定の第１範囲内のとき（ＳＴ４２２でＹｅｓ）、上記第１補正値設定手段は上記第１方向の変化量を上記第１補正値とし（ＳＴ４２３）、上記第２補正値設定手段は上記第２補正値を０とする（ＳＴ４２３０）。
この場合、上記演算手段によって得られる値が所定の第２範囲内のとき（ＳＴ４２４でＹｅｓ）、上記第１補正値設定手段は上記第１方向の変化量を０とし（ＳＴ４２５０）、上記第２補正値設定手段は上記第２方向の変化量を上記第２補正値とする（ＳＴ４２５）。
この場合、上記演算手段によって得られる値が所定の第３範囲内のとき（ＳＴ４２６でＹｅｓ）、上記第１補正値設定手段は上記第１方向の変化量を上記第１補正値とし（ＳＴ４２７）、上記第２補正値設定手段は上記第２方向の変化量を上記第２補正値とするようにしてもよい（ＳＴ４２８）。
【００４２】
ここで、手先の操作ぶれは当然に生じやすく、ユーザーが第１の変化量のみを入力することは、非常に困難である。この点、この構成の情報処理装置は、この構成の情報処理装置は、上記演算手段によって得られる値が所定の第１範囲内であるときには、仮に第２の変化量があっても、第２の変化量を０に補正する。また、この情報処理装置は、上記演算手段によって得られる値が所定の第２範囲内であるときには、仮に第１の変化量があっても、第１の変化量を０に補正する。
【００４３】
このように、この構成の情報処理装置は、第１方向の変化量と第２方向の変化量とを演算することによって得られる値が所定の第１範囲内または所定の第２範囲内のときは、第１方向の変化量、第２方向の変化量の一方を０に補正する。たとえば、第１の動作をさせ、第２の動作をさせないようにしたいというユーザーの意図を汲み取って、変化量を補正することができる。また、上記演算によって得られる値が第３範囲内のときには、上記第１補正値設定手段は、上記第１方向の変化量を第１補正値とし、上記第２補正値設定手段は、上記第２方向の変化量を第２補正値とする。したがって、情報処理装置は、従来のようにいずれか一方のみを実行するといった、画一した動作をするのではなく、ユーザーの指示によっては、第１の動作、第２の動作の両方の動作をもすることができ、よりユーザーの意図しない動作を低減することが可能となる。
【００４４】
（１２）  本発明は、
ポインティングデバイス（タッチパネル１５、スティック１６）を備えた情報処理装置（ゲーム装置１０）において、情報処理装置は、第２変化量算出手段、第１動作手段、および第２動作手段を備えるようにしてもよい。
上記座標検出手段（ＳＴ１、ＳＴ２１、ＳＴ２２、ＳＴ２３）は、上記ポインティングデバイスによって指示された座標を検出する。
上記第１変化量算出手段（ＳＴ２４）は、上記ポインティングデバイスの入力が継続して行われているときの上記座標の第１方向の変化量（Ｘ成分移動量ｄｉｆｆＸ）を算出する。
上記第２変化量算出手段（ＳＴ２５）は、上記ポインティングデバイスの入力が継続して行われているときの上記座標の第２方向の変化量（Ｙ成分移動量ｄｉｆｆＹ）を算出する。
第１動作手段（ＳＴ４、ＳＴ４０１）は、上記第１変化量算出手段で算出された上記第１方向の変化量に基づいて第１の動作を行う。
第２動作主段（ＳＴ４、ＳＴ４０２）は、上記第２変化量算出手段で算出された上記第２方向の変化量に基づいて、上記第１の動作と異なる第２の動作を行う。
【発明の効果】
【００４５】
本発明によれば、情報処理装置の操作性を向上させることができる。
【図面の簡単な説明】
【００４６】
【図１】本発明の一実施形態に係るゲーム装置１０の外観図
【図２】ゲーム装置１０の内部構成図
【図３】本発明の第１実施形態に係るタッチ処理プログラムの処理フローの概要
【図４】本発明の第１実施形態に係るタッチ処理プログラムの処理例
【図５】本発明の第１実施形態に係るタッチ処理プログラムの処理例
【図６】本発明の第１実施形態に係るＲＡＭに記憶するプログラム、データの例
【図７】本発明の第１実施形態に係る検出処理の例
【図８】本発明の第１実施形態に係る補正処理、画像形成処理の実施例１
【図９】本発明の第１実施形態に係る補正処理、画像形成処理の実施例２
【図１０】本発明の第１実施形態に係る補正処理、画像形成処理の実施例３
【図１１】本発明の第１実施形態に係る補正処理、画像形成処理の実施例４
【図１２】図１１で示す実施例４のメリットの説明
【図１３】本発明の第１実施形態に係る補正処理、画像形成処理の実施例５
【発明を実施するための形態】
【００４７】
以下、図面を参照して、本発明に係るゲーム装置の第１実施形態について説明する。
【００４８】
図１は、本発明の一実施形態に係るゲーム装置の外観図である。ただし、本発明は、携帯型のゲーム装置に限らず、据置型のゲーム装置にも適用可能である。さらに、本発明はゲーム装置に限らず、映像コンテンツ表示機能を有する任意の情報処理装置（例えば、パーソナルコンピュータや携帯電話やテレビジョン受像器やＤＶＤプレイヤ等）に適用可能である。
【００４９】
図１において、ゲーム装置１０は、第１のＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１１および第２のＬＣＤ１２を含む。ハウジング１３は上側ハウジング１３ａと下側ハウジング１３ｂとによって構成されている。第１のＬＣＤ１１は上側ハウジング１３ａに収納され、第２のＬＣＤ１２は下側ハウジング１３ｂに収納される。第１のＬＣＤ１１および第２のＬＣＤ１２の解像度はいずれも２５６ｄｏｔ×１９２ｄｏｔである。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用することができる。また任意の解像度のものを利用することができる。
【００５０】
上側ハウジング１３ａには、後述する１対のスピーカ（図２の３０ａおよび３０ｂ）からの音を外部に放出するための音抜き孔１８ａおよび１８ｂが形成されている。また、上側ハウジング１３ａと下側ハウジング１３ｂとを開閉可能に接続するヒンジ部にはマイクロフォン用孔３３が設けられている。
【００５１】
下側ハウジング１３ｂには、入力装置として、十字スイッチ１４ａ、スタートスイッチ１４ｂ、セレクトスイッチ１４ｃ、Ａボタン１４ｄ、Ｂボタン１４ｅ、Ｘボタン１４ｆ、およびＹボタン１４ｇが設けられている。また、下側ハウジング１３ｂの側面には、図示しないＬボタンおよびＲボタンが設けられている。また、さらなる入力装置として、第２のＬＣＤ１２の画面上にタッチパネル１５が装着されている。下側ハウジング１３ｂの側面には、電源スイッチ１９、メモリカード１７を接続するための挿入口３５（図１に示す一点鎖線）、スティック１６を収納するための挿入口３６（図１に示す点線）が設けられている。
【００５２】
タッチパネル１５としては、例えば抵抗膜方式や光学式（赤外線方式）や静電容量結合式など、任意の方式のものを利用することができる。タッチパネル１５は、スティック１６に限らず指で操作することも可能である。本実施形態では、タッチパネル１５として、第２のＬＣＤ１２の解像度と同じく２５６ｄｏｔ×１９２ｄｏｔの解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１５の解像度と第２のＬＣＤ１２の解像度が一致している必要はない。
【００５３】
メモリカード１７は、ゲームプログラムを記憶するＲＯＭ１７ａと、バックアップデータを書き換え可能に記憶するＲＡＭ１７ｂを搭載し、下部ハウジング１３ｂに設けられた挿入口３５に着脱自在に装着される。図１では省略するが、挿入口３５の奥部には、メモリカード１７の挿入方向先端部に設けられるコネクタと接合するための第１コネクタ２３（図２参照）が設けられている。メモリカード１７が挿入口３５に挿入されると、コネクタ同士が接合され、ゲーム装置１０のＣＰＵコア２１（図２参照）がメモリカード１７にアクセス可能となる。
【００５４】
次に、図２を参照してゲーム装置１０の内部構成を説明する。図２は、ゲーム装置１０の内部構成を示すブロック図である。図２において、ハウジング１３に収納される電子回路基板２０には、ＣＰＵコア２１が実装される。ＣＰＵコア２１には、バス２２を介して、コネクタ２３が接続されるとともに、入出力インターフェース回路（図面ではＩ／Ｆ回路と記す）２５、第１ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２６、第２ＧＰＵ２７、ＲＡＭ２４、およびＬＣＤコントローラ３１、およびワイヤレス通信部３４が接続される。コネクタ２３には、メモリカード１７が着脱自在に接続される。Ｉ／Ｆ回路２５には、タッチパネル１５、右スピーカ３０ａ、左スピーカ３０ｂ、図１の十字スイッチ１４ａやＡボタン１４ｄ等から成る操作スイッチ部１４、およびマイクロフォン３７が接続される。右スピーカ３０ａと左スピーカ３０ｂは、音抜き孔１８ａ、１８ｂの内側にそれぞれ配置される。マイクロフォン３７は、マイクロフォン用孔３３の内側に配置される。
【００５５】
第１ＧＰＵ２６には、第１ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）２８が接続され、第２ＧＰＵ２７には、第２ＶＲＡＭ２９が接続される。第１ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて第１の表示画像を生成し、第１ＶＲＡＭ２８に描画する。第２ＧＰＵ２７は、同様にＣＰＵコア２１からの指示に応じて第２の表示画像を生成し、第２ＶＲＡＭ２９に描画する。第１ＶＲＡＭ２８および第２ＶＲＡＭ２９はＬＣＤコントローラ３１に接続されている。
【００５６】
ＬＣＤコントローラ３１はレジスタ３２を含む。レジスタ３２はＣＰＵコア２１からの指示に応じて０または１の値を記憶する。ＬＣＤコントローラ３１は、レジスタ３２の値が０の場合は、第１ＶＲＡＭ２８に描画された第１の表示画像を第１のＬＣＤ１１に出力し、第２ＶＲＡＭ２９に描画された第２の表示画像を第２のＬＣＤ１２に出力する。また、レジスタ３２の値が１の場合は、第１ＶＲＡＭ２８に描画された第１の表示画像を第２のＬＣＤ１２に出力し、第２ＶＲＡＭ２９に描画された第２の表示画像を第１のＬＣＤ１１に出力する。
【００５７】
ワイヤレス通信部３４は、他のゲーム装置のワイヤレス通信部との間で、データを送受信する機能を有している。また、ゲーム装置１０は、ワイヤレス通信部３４を介してインターネット等の広域ネットワークに接続することが可能であり、ネットワークを介して他のゲーム装置との間で通信を行うことも可能である。
【００５８】
本実施形態では、ゲーム装置１０のＣＰＵコア２１は、メモリカード１７のＲＯＭ１７ａ等からＲＡＭ２４にロードされたタッチ処理プログラムを実行する。以下、図３〜図１２を参照して、タッチ処理プログラムに基づくゲーム装置１０の動作を説明する。
【００５９】
図３は、タッチ処理プログラムのフローの概要である。ここで、図３中、ＳＴは、ステップ番号を表している。ＣＰＵコア２１は、タッチ処理プログラム（図６の２４１参照）を用いて、主にＳＴ１：タッチ入力処理、ＳＴ２：移動方向検出処理、ＳＴ３：補正処理、および、ＳＴ４：画像形成処理を実行する。ただし、タッチ処理プログラムは、このような４つのステップＳＴ１〜ＳＴ４に必ずしも完全に分離できるものではない。これらのステップＳＴ１〜ＳＴ４は後述するように、場合によっては、相互に関連することがあり、前段の処理や条件判断によって、後段の処理が異なることがある。
【００６０】
ＳＴ１〜ＳＴ４の処理は、ＣＰＵコア２１により、画像フレームごとにフレーム期間と同期して繰り返し実行される。
【００６１】
ＳＴ１では、ＣＰＵコア２１は、タッチパネル１５にスティック１６がタッチされたかを判定する。また、ＣＰＵコア２１は、タッチパネル１５上のタッチされた座標を入力する。
【００６２】
ＳＴ２では、ＣＰＵコア２１は、タッチされた結果、継続して２フレーム期間以上、タッチされているかを判定し、横方向、縦方向の移動量（これらをＸ成分移動量ｄｉｆｆＸ、およびＹ成分移動量ｄｉｆｆＹとする。）を検出する。ここでは、移動方向を検出してもよい。
【００６３】
ＳＴ３では、ＣＰＵコア２１は、ＳＴ２で検出した移動量について補正処理を行う。ここでは、ＣＰＵコア２１は、タッチパネル１５上でドラッグする手のぶれを考慮して、よりユーザーが意図する操作が可能となるような補正を行う。この補正の例としては、（Ａ）ユーザーがほぼ縦、横方向にスティック１６をドラッグさせた場合には、ＣＰＵコア２１は、ＳＴ２で入力された移動量を、水平方向成分のみまたは垂直方向成分のみの移動量へ補正したり、（Ｂ）移動量が小さい場合には、ＣＰＵコア２１は移動量を０へ補正したりすることが可能である。
【００６４】
ＳＴ４で、ＣＰＵコア２１は、ＳＴ３で補正された移動量に基づき、第２ＧＰＵ２７に画像処理を行わせる。本実施形態では、補正された縦、横の移動量の値に基づいて、互いに別々の処理を行う。ＣＰＵコア２１がこのような別々の処理を行うので、ゲーム装置１０のエンターテイメント性を向上させたり、操作性を向上させたりすることができる。処理の詳細は後述する。
【００６５】
なお、ＳＴ２では省略しているが、厳密には、ＣＰＵコア２１は、図３のフローについて最初のタッチを検出すると、いったんフローを終了する。その後、ＣＰＵコア２１は、２度目以降のフローで検出した座標からの変化量（＝上記移動量）を検出する。また、補正処理は、必ずしも数式で補正するとは限らず、何らかの条件に基づいて行っていてもよい。移動量が小さいという条件（上記の（Ｂ））により、ＣＰＵコア２１がキャラクタなどを移動しないように制御する場合には、補正処理（ＳＴ３）に含まれるものとする。
【００６６】
図４、図５を用いて、図２で示したタッチ処理プログラムの処理の具体例を示す。図４（Ａ）は、第２のＬＣＤ１２の表示例である。図４（Ｂ）〜図４（Ｄ）、図５は、図４（Ａ）の表示状態を初期状態とするタッチ処理プログラム２４１の処理例を表している。
【００６７】
図４（Ａ）に示すように、第２のＬＣＤ１２には、現在、ダンスホール４１にダンサー４２が踊っている様子が表示されている。第２のＬＣＤ１２には、前述のとおり、タッチパネル１５が備えられており、スティック１６でドラッグした場合には、タッチパネル１５は、座標をリアルタイムで検出し、ＣＰＵコア２１にタッチ状態を出力する。ＣＰＵコア２１は、フレームごとにタッチ状態を判断して、移動量を検出する。
【００６８】
図４（Ｂ）の例では、ユーザーが、タッチパネル１５上でスティック１６を左方向に移動させた場合を示している（図４（Ｂ）の左の図）。この場合、図４（Ａ）の画面は、第２のＬＣＤ１２内で左へスクロールする（図４（Ｂ）の右の図）。
【００６９】
なお、本実施形態では、ユーザーが、タッチパネル１５上で（タッチパネル１５に接しながら）スティック１６を移動させることをドラッグと称する。ドラッグの概念をより上位概念化すると、ドラッグとは、ユーザーが、ポインティングデバイスにより、座標の軌跡を入力することである。ドラッグと単なるポインティングデバイスの指示する座標の移動を区別するために、ゲーム装置１０は、何らかのボタンを押しながらの操作をユーザーに要求してもよい。
【００７０】
図４（Ｃ）の例では、ユーザーが、タッチパネル１５上でスティック１６を上方向に移動させた場合を示している（図４（Ｃ）の左の図）。この場合、ダンサー４２に近づいた視点で画面が表示される（図４（Ｃ）の右の図）。したがって、ダンスホール４１およびダンサー４２は、より大きく表示される。
【００７１】
図４（Ｄ）の例では、ユーザーが、タッチパネル１５上でスティック１６を下方向に移動させた場合を示している（図４（Ｄ）の左の図）。この場合、ダンサー４２に遠ざかった視点で第２のＬＣＤ１２の画面が表示される（図４（Ｄ）の右の図）。したがって、ダンスホール４１およびダンサー４２は、より小さく表示される。
【００７２】
なお、図示は省略するが、ユーザーが、タッチパネル１５上でスティック１６を水平右方向に移動させた場合には、図４（Ａ）の画面は、さらに右にスクロールする。したがって、ダンサー４２は、図４（Ａ）に示す現在位置よりさらに右寄りの位置に映し出される。
【００７３】
図５（Ａ）の例では、ユーザーが、タッチパネル１５上でスティック１６を斜め左上方向に移動させた場合を示している（図５（Ａ）の左の図）。この場合、第２のＬＣＤ１２の画面が、ダンサー４２に近づいた視点で表示されると同時に、画面が左にスクロールする（ダンサー４２は、さらに左寄りの位置に映し出される）（図５（Ａ）の右の図）。
【００７４】
図５（Ｂ）の例では、ユーザーが、タッチパネル１５上でスティック１６を斜め左下方向に移動させた場合を示している（図５（Ｂ）の左の図）。この場合、第２のＬＣＤ１２の画面が、ダンサー４２に遠ざかった視点で表示されると同時に、画面が左にスクロールする（ダンサー４２は、さらに左寄りの位置に映し出される）（図５（Ｂ）の右の図）。
【００７５】
図５（Ｃ）の例では、ユーザーが、タッチパネル１５上でスティック１６を斜め右下方向に移動させた場合を示している（図５（Ｃ）の左の図）。この場合、第２のＬＣＤ１２の画面が、ダンサー４２に遠ざかった視点で表示されると同時に、画面が右にスクロールする（ダンサー４２は、さらに右寄りの位置に映し出される）（図５（Ｃ）の右の図）。
【００７６】
以上のとおり、本実施形態では、ＣＰＵコア２１は、タッチパネル１５上でドラッグした移動量の縦方向成分、横方向成分を検出し（ＳＴ１、ＳＴ２）、画像形成処理（ＳＴ４）を行う。ＳＴ４において、ＣＰＵコア２１は、座標の縦方向、横方向の変化量が、それぞれ、互いに異なった動作への指示入力として割り当てられていることになる。図４、図５の例では、処理の１つが左右のスクロールであり、他方の処理が、視点の遠近を移動させる処理であり、これらは互いに別の種類の処理である。このように、本実施形態のゲーム装置１０は、スティック１６という１つの指示手段を用いながら、互いに異なる２つの動作を同時に指示することができる。
【００７７】
次に、図６を用いて、ＣＰＵコア２１がタッチ処理プログラムを実行するためにＲＡＭ２４に記憶するプログラム、データの例を示す。ＲＡＭ２４は、タッチ処理プログラム２４１、タッチ座標２４２、タッチ座標２４３、タッチフラグ２４４、キャラクターデータ２４５、現在位置２４６、Ｘ成分移動量ｄｉｆｆＸ２４７、Ｙ成分移動量ｄｉｆｆＹ２４８、および、各種プログラム群２４９を記憶している。タッチ処理プログラム２４１は、図３で説明したタッチ処理プログラムに相当する。タッチ座標２４２（Ｐ１（Ｘ１，Ｙ１））、タッチ座標２４３（Ｐ２（Ｘ２，Ｙ２））は、タッチパネル１５がスティック１６を検出した位置である。タッチ座標２４２のデータには、最新のタッチ座標が記憶され、タッチ座標２４３のデータには、１つ前のフレーム期間のタッチ座標が記憶される。
【００７８】
タッチフラグ２４４は、１つ前のフレーム期間でタッチされていたかを判定するためのフラグである。このフラグにより、ＣＰＵコア２１は、タッチ（タッチパネル１５にスティック１６が接触することをいう。以下同じ。）が継続しているか否かを判定することができる。ここで、タッチが継続していることは、上記ドラッグが行われていることに相当する。
【００７９】
キャラクターデータ２４５には、ダンサー４２などの形状が記憶されている。現在位置２４６には、ダンサー４２の現在位置（横方向Ｘ，奥行き方向Ｚ）が記憶されている。Ｘ成分移動量ｄｉｆｆＸ２４７、Ｙ成分移動量ｄｉｆｆＹ２４８は、１つ前のフレーム期間における座標から移動した量を表す（なお、以下では、これらを単にＸ成分移動量ｄｉｆｆＸ、Ｙ成分移動量ｄｉｆｆＹと称する）。また、その他、ＲＡＭ２４には、各種プログラム群２４９が記憶されている。
【００８０】
次に、図７のフロー図を用いて、図３の検出処理（ＳＴ１０）の具体例について説明する。前述のとおり、図３のＳＴ１０は、ＳＴ１、ＳＴ２を含む。主にＳＴ１１〜ＳＴ１５は、ＳＴ１に関連しており、ＳＴ２１〜ＳＴ２３は、ＳＴ２に関連している。
【００８１】
ＳＴ１１において、ＣＰＵコア２１は、タッチが行われたかどうか判定する。タッチが行われていない場合には（ＳＴ１１のＮｏ）、ＣＰＵコア２１は、タッチフラグ２４４をオフに設定する。さらに、ＣＰＵコア２１は、タッチ座標２４２、２４３（Ｐ１、Ｐ２の値）を破棄し、その後フローは、終了する。
【００８２】
ＳＴ１１において、現在のフレーム期間でタッチが行われている場合には（ＳＴ１１のＹｅｓ）、ＳＴ１２に進む。
【００８３】
ＳＴ１２において、ＣＰＵコア２１は、タッチフラグ２４４がオンであるか否か判定する。ＳＴ１２において、タッチフラグ２４４がオフであれば（ＳＴ１２のＮｏ）、ＣＰＵコア２１は、タッチフラグ２４４をオンに設定し（ＳＴ１３）、ＣＰＵコア２１は、現在のタッチ座標をタッチ座標２４２（Ｐ１）に記憶させる（ＳＴ２１）。ＳＴ２１により、ＲＡＭ２４は、タッチが開始されたことを、タッチフラグ２４４により記憶することができる。その後フローは、終了する。
【００８４】
ＳＴ１２において、タッチフラグ２４４がオンであれば（ＳＴ１２のＹｅｓ）、ＳＴ２２に移動する。ここで、現在の図７のループにおいて、ＳＴ１２の判定がされる前には、タッチフラグ２４４をセットするステップはない。したがって、タッチフラグ２４４がオンの状態であるとすれば、この状態は、その前のフレーム期間にタッチ状態であったことを示す。さらに、ＳＴ１２は、現在のフローでタッチが行われた場合に分岐する（ＳＴ１１のＹｅｓ）。したがって、ＳＴ１２のＹｅｓは、その前のフレーム期間からタッチが継続していることを示す。
【００８５】
ＳＴ２２において、ＣＰＵコア２１は、タッチ座標Ｐ２（Ｘ２，Ｙ２）２４３にＰ１を代入する。ここで代入するＰ１は、過去に実行した図７のフローにおいて、記憶したタッチ座標である。
【００８６】
ＳＴ２３において、ＣＰＵコア２１は、現在のタッチ座標をタッチ座標Ｐ１（Ｘ１，Ｙ１）２４２に記憶させる。このＳＴ２３の段階で、過去に入力した座標と、現在の座標が入力され、これにより、ＣＰＵコア２１は、スティック１６によりドラッグされた移動量を計算できる。
【００８７】
ＳＴ２４において、Ｘ１−Ｘ２をｄｉｆｆＸとしてＸ座標変化量を記憶する。ＳＴ２５において、Ｙ１−Ｙ２をｄｉｆｆＹとしてＹ座標変化量を記憶する。なお、ＳＴ２５は、ＳＴ２４と同時または前後してもよい。
【００８８】
その後、ＣＰＵコア２１は、図３に示すＳＴ３、ＳＴ４を処理する。
【００８９】
なお、図７のフローでは、Ｘ成分移動量ｄｉｆｆＸ、Ｙ成分移動量ｄｉｆｆＹを１フレーム期間ごとに取得するとした。このフローでは、Ｘ成分移動量ｄｉｆｆＸ、Ｙ成分移動量ｄｉｆｆＹは、単位時間当たりの移動量を表すから、この移動量を移動速度として捉えることもできる。また、図７のフロー１０１、１０２については、図８以降で引用する。
【００９０】
次に、図８〜図１１を用いて、図３で示したＳＴ３：補正処理、ＳＴ４：画像形成処理の例１〜例４を示す。以下の例１〜例４では、いずれも図７で示したＳＴ１０を定義済み処理として引用すると共に、図中のフロー１０１、１０２は、図７と同じものとする。
【００９１】
（実施例１）
図８のフローを用いて、ＳＴ３、ＳＴ４の実施例１を示す。ここで、図８（Ａ）は、ＳＴ１０を含めたタッチ処理プログラム２４１のメインフローを表している。図８（Ｂ）、図８（Ｃ）は、図８（Ａ）のサブフローである。また、ＳＴ３の処理は、ＳＴ３０１、ＳＴ３０２と関連している。ＳＴ４の処理は、ＳＴ４０１、ＳＴ４０２と関連している。
【００９２】
ＳＴ３０１において、ＣＰＵコア２１は、Ｘ成分移動量ｄｉｆｆＸの補正処理を行う。ＳＴ３０１の後、ＳＴ３０２へ移動する。
【００９３】
ＳＴ３０２において、ＣＰＵコア２１は、Ｙ成分移動量ｄｉｆｆＹの補正処理を行う。ＳＴ３０２の後、ＳＴ４０１へ移動する。
【００９４】
ＳＴ４０１において、ＣＰＵコア２１は、補正されたＸ成分移動量ｖａｌＸの分について、現在の表示状態からスクロールする。ＳＴ４０１の後、ＳＴ４０２へ移動する（図４、図５参照）。
【００９５】
ＳＴ４０２において、ＣＰＵコア２１は、補正されたＹ成分移動量ｖａｌＹの分について、現在の表示状態から拡大または縮小（上が拡大／下が縮小）する（図４、図５参照）。ＳＴ４０２の後、図８のフローは終了する。
【００９６】
図８（Ｂ）は、ＳＴ３０１のＸ成分移動量ｖａｌＸの補正処理を表している。図８のフローは、第２のＬＣＤ１２のフレーム期間ごとに１回処理される。ここで、ＣＰＵコア２１が、あるフレーム期間（たとえば、図４（Ａ）に示す画像を表示したとき）から、図８の処理をＴ回繰り返したときのＸ成分移動量ｖａｌＸを添え字（Ｔ）をつけて、Ｘ成分移動量ｖａｌＸ（Ｔ）とする。Ｔ回目の１つ前のＴ−１回目に計算したＸ成分移動量ｖａｌＸ（Ｔ−１）とする。同様に、図８の処理を上記Ｔ回繰り返したときのＸ成分移動量ｄｉｆｆＸをＸ成分移動量ｄｉｆｆＸ（Ｔ）とする。
【００９７】
ＳＴ３１１、ＳＴ３１２により、以下の（式１）、（式２）を計算する。
【００９８】
ｖａｌＸ０（Ｔ）＝ｖａｌＸ（Ｔ−１）＊ｒｅｄｕｃｅＸ      （式１）
ｖａｌＸ（Ｔ）＝ｖａｌＸ０（Ｔ）＊ｒａｔｉｏ＿ｖａｌＸ
+ｄｉｆｆＸ（Ｔ）＊ｒａｔｉｏ＿ｄｉｆｆＸ      （式２）
ここで、「＊」は、掛け算をあらわすものとする（以下、同様である）。また、ｒｅｄｕｃｅＸ、ｒａｔｉｏ＿ｖａｌＸ、ｒａｔｉｏ＿ｄｉｆｆＸは、予め定めた定数である。ｒｅｄｕｃｅＸは、０から１までの数値、たとえば０．９とすることができる。ｒａｔｉｏ＿ｖａｌＸは、たとえば０．９とすることができる。ｒａｔｉｏ＿ｄｉｆｆＸは、たとえば０．１とすることができる。ｖａｌＸ０（Ｔ）は、新たなｖａｌＸ（Ｔ）を計算する
のに用いる計算値である。
【００９９】
ＳＴ３１１、ＳＴ３１２により、現在の（本発明の「今回」に相当する。）のフレーム期間のｖａｌＸ（Ｔ）を計算することができる。
【０１００】
図８（Ｃ）は、ＳＴ３０２のＹ成分移動量ｖａｌＹの補正処理を表している。
【０１０１】
ｖａｌＹ０（Ｔ）＝ｖａｌＹ（Ｔ−１）＊ｒｅｄｕｃｅＹ      （式３）
ｖａｌＹ（Ｔ）＝ｖａｌＹ０（Ｔ）＊ｒａｔｉｏ＿ｖａｌＹ
+ｄｉｆｆＹ（Ｔ）＊ｒａｔｉｏ＿ｄｉｆｆＹ      （式４）
この処理は、以上で説明した図８（Ｂ）の処理と同様である。この図８（Ｃ）の処理の説明については、図８（Ｂ）の説明の「Ｘ」の文字を「Ｙ」に変えて準用する。
【０１０２】
ここで、ＳＴ３１１、ＳＴ３１２、ＳＴ３２１、ＳＴ３２２による補正の効果について説明する。上記の補正によれば、ユーザーがスティック１６を水平方向に一定速度で移動した場合には、第２のＬＣＤ１２の画面は、はじめはゆっくりスクロールし、その後一定速度に漸近するようにスクロールする。換言すれば、ユーザーがスティック１６を動かし始めた直後は、Ｘ成分移動量ｄｉｆｆＸ２４７、Ｙ成分移動量ｄｉｆｆＹ２４８は、小さい値に補正される。このように処理されると、ユーザーがスティック１６の先でタッチパネル１５に少し触っただけであれば、画像があまり変化しない。つまり、ユーザーがスティック１６を一定方向に移動させ続けない限り画像が大きくは変化しないので、ユーザーの操作ミス（もしくは手ぶれ）に対して画像が敏感に反応することがなくなり、スティック１６の操作ミスの影響を小さく抑えることができる。
【０１０３】
（実施例２）
図９は、図３のＳＴ３、ＳＴ４の実施例２である。この実施例では、ＳＴ３は、ＳＴ３０３、ＳＴ３０４に対応する。ＳＴ４は、ＳＴ４１１、ＳＴ４１２に対応する。ＳＴ４１１、ＳＴ４１２は、実施例１のＳＴ４０１、ＳＴ４０２に対応する。
【０１０４】
この実施例２では、ＣＰＵコア２１は、Ｘ成分移動量ｄｉｆｆＸ、Ｙ成分移動量ｄｉｆｆＹを、それぞれ予め定めた第１の閾値、第２の閾値と比較する。Ｘ成分移動量ｄｉｆｆＸが第１の閾値未満であれば（ＳＴ３０３のＮｏ）、そのフレーム期間については、ＳＴ４１１の処理を行わない。Ｙ成分移動量ｄｉｆｆＹが第２の閾値未満であれば（ＳＴ３０４のＮｏ）、そのフレーム期間については、ＳＴ４１２の処理を行わない。したがって、ユーザーがスティック１６の先でタッチパネル１５に少し触っただけであれば、画面が変化しない。したがって、このフローによれば、スティック１６の操作ミスの影響を小さく抑えることができ、ゲーム装置１０の操作性を向上させることができる。以下、図９のフローをより詳細に説明する。
【０１０５】
ＳＴ１０の検出処理で、フロー１０２に分岐した場合、移動量ｄｉｆｆＸおよびｄｉｆｆＹがすでに計算された状態になっている。
【０１０６】
ＣＰＵコア２１は、Ｘ成分移動量ｄｉｆｆＸ２４７が第１の閾値以上であれば（ＳＴ３０３のＹｅｓ）、ＳＴ４１１の処理を行う。Ｙ成分移動量ｄｉｆｆＹ２４８が第２の閾値以上であれば（ＳＴ３０４のＹｅｓ）、ＳＴ４１２の処理を行う。
【０１０７】
ＳＴ４１１では、図４、図５で示したように、ＣＰＵコア２１は、図４（Ａ）で示す第２のＬＣＤ１２の現在の表示状態から、第２のＬＣＤ１２内の画面全体を左または右にスクロールさせる。ダンサー４２の移動方向（左または右）は、スティック１６の左右の移動方向と同じである。移動量は、Ｘ成分移動量ｄｉｆｆＸ２４７である。ＣＰＵコア２１は、ＳＴ４１１の次に、ＳＴ３０４の処理を行う。
【０１０８】
ＳＴ４１２では、図４、図５で示したように、ＣＰＵコア２１は、図４（Ａ）で示す第２のＬＣＤ１２の現在の表示状態から、第２のＬＣＤ１２内のダンサー４２を拡大または縮小させる。ＣＰＵコア２１は、現在位置２４６の奥行き方向Ｚの値をｄｉｆｆＹだけ加算して現在位置２４６を更新する。ＣＰＵコア２１は、新たに計算した現在位置２４６の視点に基づいて、ダンサー４２の大きさを決める。
【０１０９】
なお、実施例２では、Ｘ成分移動量ｄｉｆｆＸまたはＹ成分移動量ｄｉｆｆＹが閾値未満の場合には、その移動量を０に補正していることに相当する。実施例２では、計算式により補正していないが、条件判断により、移動量を補正することに相当する処理をしているので、これも補正処理（ＳＴ３）に相当する。
【０１１０】
ここで、以上のＳＴ３０３、ＳＴ４１１、ＳＴ３０４、ＳＴ４１２をまとめてステップＳＴ４１と定義する。
【０１１１】
（実施例３）
図１０は、図３のＳＴ３、ＳＴ４の実施例３を表す。実施例３の各ステップのうち、ＳＴ４２２、ＳＴ４２３０、ＳＴ４２４、ＳＴ４２５０の処理が、補正処理（ＳＴ３）とほぼ対応している。
【０１１２】
ＳＴ１０の検出処理で、フロー１０２に分岐した場合、移動量ｄｉｆｆＸおよびｄｉｆｆＹがすでに計算された状態になっている。
【０１１３】
ＳＴ４２１では、ＣＰＵコア２１は、移動量の比ｄｉｆｆＹ／ｄｉｆｆＸを計算する。ここで、以下の説明では、スティック１６の移動方向の傾きＩ（すなわち移動量の割合）をｄｉｆｆＹ／ｄｉｆｆＸと定義する。ＣＰＵコア２１は、傾きＩをＲＡＭ２４に記憶させる。
【０１１４】
ＳＴ４２２以下では、ＣＰＵコア２１は、傾きＩ＝ｄｉｆｆＹ／ｄｉｆｆＸの値に応じて、処理を変える。具体的には、ＣＰＵコア２１は、傾きＩを所定の閾値（＝±０．２、±５）と比較することにより、タッチパネル１５上でスティック１６がほぼＸ軸方向にドラッグされたか（ＳＴ４２２のＹｅｓ）、またはタッチパネル１５上でスティック１６がほぼＹ軸方向にドラッグされたか（ＳＴ４２４のＹｅｓ）、それ以外かを判定する。これにより、上記方向がほぼＸ軸方向またはほぼＹ軸方向であれば、ＣＰＵコア２１は、Ｘ軸方向またはＹ軸方向のいずれか１の方向の入力のみがあったものとみなして、スティック１６によるドラッグ入力を処理する。以下、より詳細に説明する。
【０１１５】
ＳＴ４２２において、Ｉが−０．２≦Ｉ≦０．２の範囲の場合（ＳＴ４２２のＹｅｓ）、すなわち上記移動方向がＸ軸方向に近い場合、ＣＰＵコア２１は、Ｘ軸方向のみに関するドラッグ入力があったものとみなして、ｄｉｆｆＹを０に補正する（ＳＴ４２３０）。また、次のＳＴ４２３において、ＣＰＵコア２１は、ｄｉｆｆＸの分、現在の表示状態（この状態は、図４（Ａ）の画面に相当する。以下同じ。）から左右方向にスクロールさせる。ＳＴ４２３の後、図１０のフローは終了する。
【０１１６】
ＳＴ４２４において、ＩがＩ≦−５またはＩ≧５の範囲の場合、すなわち、上記移動方向がＹ軸方向に近い場合には（ＳＴ４２２のＹｅｓ）、ＣＰＵコア２１は、Ｙ軸方向のみに入力があったものとみなして、ｄｉｆｆＸを０に補正する（ＳＴ４２５０）。また、ＳＴ４２５において、ＣＰＵコア２１は、ｄｉｆｆＹの分、現在の表示状態から視点を前後させる。その結果、ダンスホール４１、およびダンサー４２は、拡大または縮小する。ＳＴ４２５の後、図１０のフローは終了する。
【０１１７】
ＳＴ４２６では、ＣＰＵコア２１は、−５＜Ｉ＜−０．２または０．２＜Ｉ＜５であるか否か判定する。この判定は、ＳＴ４２２、ＳＴ４２４との関係から、常に肯定であり、Ｙｅｓにのみ分岐する。したがって、この判定は、説明上の便宜的なものである。すなわち、実装上、ＣＰＵコア２１は、ＳＴ４２６の判定をする必要はない。ＳＴ４２６の後、ＳＴ４２７へ移動する。
【０１１８】
ＳＴ４２７では、ｄｉｆｆＸの分、ＣＰＵコア２１は、現在の表示状態から左右方向にスクロールさせる。この処理は、ＳＴ４２３と同様である。
【０１１９】
ＳＴ４２８では、ＣＰＵコア２１は、ｄｉｆｆＸの分、現在の表示状態からｄｉｆｆＹの分、視点を前後させる。その結果、ダンスホール４１、およびダンサー４２は、拡大または縮小する。
【０１２０】
以上の図１０の処理によれば、以下のメリットが生じる。すなわち、ユーザーがほぼＸ方向、Ｙ方向にスティック１６をドラッグした場合には、ＣＰＵコア２１は、閾値による判定を用いて、その意図を汲み取って、ドラッグ入力の方向をＸ方向のみ、またはＹ方向のみに移動したものとみなす。したがって、ユーザーは、フリーハンドで、厳密にまっすぐ縦または横にスティック１６を移動させることが困難なところ、ユーザーは、厳密でなくともある程度のまっすぐ縦または横のドラッグ入力をゲーム装置１０に対してすることができる。また、従来の特許文献３のように、ドラッグした方向をまっすぐ縦または横のみのいずれかの入力とみなすのではなく、ユーザーが斜め方向に移動させた場合には、ユーザーは、斜め方向のドラッグ入力をゲーム装置１０に対してすることができる。これによりユーザーにとって、自由度が高く、心地のよい操作が可能となり、ゲーム装置１０の操作性を向上させることができる。
【０１２１】
なお、ＳＴ４２３０、ＳＴ４２５０は、図３の補正処理（ＳＴ３）と対応して説明するための便宜的なものであり、実装上は、必ずしもＣＰＵコア２１がこれらＳＴ４２３０、ＳＴ４２５０の処理をする必要はない。ＳＴ４２３およびＳＴ４２４を実行すれば足りる。
【０１２２】
ここで、以上の図１０のフロー１０２以下の処理をＳＴ４２と総称することにする。
【０１２３】
（実施例４）
図１１は、図３のＳＴ３、ＳＴ４の実施例４を示す。図１１は、フロー１０２の後、ＳＴ４４の判定に基づいて、図９のＳＴ４１または図１０のＳＴ４２の処理のいずれかを行う。
【０１２４】
ＳＴ４４では、（ｄｉｆｆＸ≦第３閾値かつｄｉｆｆＹ≦第３閾値）が成立するか否か判定する。ＳＴ４４の判定が肯定の場合には、図１０のＳＴ４２の処理を行う。ＳＴ４４の判定が否定の場合には、図９のＳＴ４１の処理を行う。
【０１２５】
図１２を用いて、ＣＰＵコア２１が図１１の実施例４を実行した場合のメリットを説明する。図１２は、移動量のベクトル（ｄｉｆｆＸ，ｄｉｆｆＹ）の開始点を原点として表している。以下では、図１２の原点から、ベクトル（ｄｉｆｆＸ，ｄｉｆｆＹ）の分、スティック１６が移動した場合に、移動先が点Ａ，Ｂ，Ｃ、Ｄとなる場合を例にとり説明する。
【０１２６】
また、以下の説明では、４つの領域（第１領域５１、第２領域５２、第３領域５３、第４領域５４）を用いる。
【０１２７】
ここで、第１領域５１は、
Ｙ＜０．２＊Ｘ、  Ｙ＞−０．２＊Ｘ、  Ｘ＜（第３閾値６３）
により、囲まれる領域である。
【０１２８】
第２領域５２は、
Ｙ＜０．２＊Ｘ、  Ｙ＜−０．２＊Ｘ、  Ｙ＞（第２閾値６２）
により、囲まれる領域である。
【０１２９】
第３領域５３は、
Ｘ＞（第３閾値６３）、  Ｙ＜（第２閾値６２）、  Ｙ＞−（第２閾値６２）
により、囲まれる領域である。
【０１３０】
第４領域５４は、
Ｙ＜０．２＊Ｘ、  Ｘ＞（第３閾値６３）、Ｙ＞（第２閾値６２）
により、囲まれる領域である。
【０１３１】
さらに、以下では、簡単のため、第１閾値と第３閾値が等しいものとするが、本実施形態は、これに限られない。ここでは、ほぼＸ方向にドラッグ入力を与えた場合について説明するが、Ｙ方向にドラッグ入力を与えた場合も同様である。
【０１３２】
第１エリア５１内の点Ａ、第２エリア５２内の点Ｂへドラッグされた場合には、ｄｉｆｆＸ、ｄｉｆｆＹのいずれも第３閾値より小さくなる。この場合、実施例４では、ＳＴ４４の判断が肯定となり、ＳＴ４２へ分岐する（ＳＴ４４のＹｅｓ）。
【０１３３】
ＳＴ４４の判断が肯定の場合には、Ｘ成分移動量ｄｉｆｆＸ，Ｙ成分移動量ｄｉｆｆＹいずれも小さく、ユーザーのコントロールが難しい。このような微妙な入力がなされた場合、ＣＰＵコア２１は、ＳＴ４２の処理に切り換える。これによれば、ユーザーが少しの斜め方向のドラッグをしても、ＳＴ４１の処理のように、ドラッグ入力が０とみなされることはない。また、ユーザーは、第３閾値以下の移動量でも入力することができるし、割合が所定範囲内であれば、Ｘ方向へドラッグしたいというユーザーの意図を汲み取って、Ｙ成分移動量に基づく処理をしない（あるいは、Ｙ成分移動量を０へ補正してもよい）。この場合、ユーザーは、微妙なドラッグ操作による指示をゲーム装置１０に対して行うことができる。このように、小さい移動量の場合（第３閾値未満）は、ＳＴ４２のような傾きの値に基づく分岐処理がより好ましい。
【０１３４】
次に、ユーザーが第３エリア５３の点Ｃ、第４エリア５４の点Ｄへドラッグした場合のように、ｄｉｆｆＸ、ｄｉｆｆＹの少なくとも一方が第３閾値以上の場合について説明する。この場合は、ｄｉｆｆＸまたはｄｉｆｆＹの少なくとも一方の移動量が大きい場合である。この場合には、ＳＴ４４の判定は、否定となり、ＳＴ４１の処理を行う。
【０１３５】
ｄｉｆｆＸ、ｄｉｆｆＹの少なくとも一方が第３閾値６３以上と判別された場合、ユーザーが意図的に大きくドラッグした可能性が高い。たとえば、Ｄ点へ移動する場合のように、ｄｉｆｆＸ、ｄｉｆｆＹのいずれも大きいが上記割合Ｉが−０．２≦Ｉ≦０．２の範囲に属する場合でも、ＣＰＵコア２１は、ｄｉｆｆＹを無視することがない。したがって、この場合でも、ユーザーは、Ｙ成分移動量に応じた拡大縮小の指示をすることができる。すなわち、ゲーム装置１０は、ユーザーの意図する入力を受け付けることができる。また、Ｃ点への移動のように、Ｙ成分移動量が第２の閾値６２未満である場合には、ゲーム装置１０は、横スクロールのみを行い、ダンサー４２などの拡大縮小を行わない。これによれば、ＣＰＵコア２１は、横スクロールを行い、拡大縮小を行わせたくないというユーザーの意図をゲームに反映させることができる。したがって、大きな移動量の場合（第３閾値以上）は、移動量ｄｉｆｆＸ、ｄｉｆｆＹの値に基づくＳＴ４１の分岐処理がより好ましい。
【０１３６】
（実施例５）
図１３は、実施例５を示す。上記実施例1では、計算式を用いたが、この実施例では、メモリカード１７が、移動量を補正値に変換する補正テーブル６６を記憶している。ＣＰＵコア２１は、補正テーブル６６を参照して、Ｘ方向の移動量ｄｉｆｆＸを補正値へ変換する。補正テーブル６６に直接記載されていない移動量ｄｉｆｆＸについては、ＣＰＵコア２１は、テーブルに記載された補正値同士で補間する。補正テーブル６６には、Ｘ方向の移動量ｄｉｆｆＸがＸ１、Ｘ２・・・と記載され、移動量ｄｉｆｆＸの補正値がＡ１、Ａ２・・・と記載されているとする。さらに、移動量ｄｉｆｆＸがＸ１とＸ２との間のＸ３であるとする。この場合、補間された補正値は、直線補間をすることにより、
（Ａ１×（Ｘ２−Ｘ３）＋Ａ２×（Ｘ３−Ｘ１））
/（Ｘ２−Ｘ３＋Ｘ３−Ｘ１）
で算出できる。
【０１３７】
図１３に示すテーブルの例では、このテーブルには、Ｘ方向の移動量ｄｉｆｆＸが０．２５、０．５、０．７５、１、２、３、４・・・と記載され、Ｘ方向の変化量ｄｉｆｆＸの補正値が０．１、０．４５、０．７１、１．１、２．３、３．２、４．１・・・と記載されているとする。さらに、移動量ｄｉｆｆＸが１と２との間の１．２であるとする。この場合、補間された補正値は、
（１．１×（２−１．２）＋２．３×（１．２−１））
/（２−１．２＋１．２−１）
により、算出できる。
【０１３８】
ＣＰＵコア２１は、補正テーブル６６を参照して、Ｙ方向の移動量ｄｉｆｆＹを補正値へ変換する。補正テーブル６６に直接記載されていない移動量ｄｉｆｆＹについては、ＣＰＵコア２１は、テーブルに記載された補正値同士で補間する。補正テーブル６６には、Ｙ方向の移動量ｄｉｆｆＹがＹ１、Ｙ２・・・と記載され、移動量ｄｉｆｆＹの補正値がＢ１、Ｂ２・・・と記載されているとする。さらに、移動量ｄｉｆｆＹがＹ１とＹ２との間のＹ３であるとする。この場合、補間された補正値は、直線補間をすることにより、
（Ｂ１×（Ｙ２−Ｙ３）＋Ｂ２×（Ｙ３−Ｙ１））
/（Ｙ２−Ｙ３＋Ｙ３−Ｙ１）で算出できる。
【０１３９】
図１３に示すテーブルの例では、このテーブルには、
Ｙ方向の移動量ｄｉｆｆＹが０．２５、０．５、０．７５、１、２、３、４・・・と記載され、Ｙ方向の移動量ｄｉｆｆＹの補正値が０．０９、０．４３、０．７、１．０、２．１、３．１、４．１・・・と記載されているとする。さらに、移動量ｄｉｆｆＹが２と３との間の２．４であるとする。この場合、補間された補正値は、
（２．１×（３−２．４）＋３．１×（２．４−２））
/（３−２．４＋２．４−４）
により、算出できる。
【０１４０】
なお、図１３に示すように、Ｘ方向移動量ｄｉｆｆＸ、Ｙ方向移動量ｄｉｆｆＹが小さい場合には、Ｘ方向移動量ｄｉｆｆＸ、Ｙ方向移動量ｄｉｆｆＹの刻み幅を小さくして、これら移動量に対応する補正値をより細かく設定したデータテーブルをメモリカード１７に設定してもよい。また、図１３で示した補正値の補間方法については、単なる一例であり、以上のような直線補間に限らず、ｎ次曲線（ｎは整数）、正弦関数、余弦関数、または対数関数などの曲線で補間してもよい。
【０１４１】
以上で示したＳＴ３、ＳＴ４の実施例１〜５のとおり、ユーザーが入力したドラッグ入力と異なった値を正しいドラッグ入力として置換を行った方が、ユーザーが入力する上で心地よく、ゲーム装置１０の操作性を向上させることができる。このようなドラッグ入力の置換は、図３の補正処理（ＳＴ３）に相当する。補正処理は、実施例１のように必ずしも数式で行うことを要せず、実施例２〜４に示すように、条件判断によるものでもよい。以上の実施例２〜４のとおり、補正処理は、移動量ｄｉｆｆＸ、ｄｉｆｆＹのいずれか１以上を０にすることに相当するが、画像形成処理（ＳＴ４）でｄｉｆｆＸ、ｄｉｆｆＹに対応する処理を行っていれば、実質的に補正処理（ＳＴ３）を行ったことになる。したがって、必ずしも、ＣＰＵコア２１は、ｄｉｆｆＸ、ｄｉｆｆＹの値のいずれか１以上を０に補正する必要はない。
【０１４２】
以上の実施形態について、以下に補足説明を行う。
【０１４３】
以上の実施例では、ＣＰＵコア２１は、第２のＬＣＤ１２の画面を、下方向スライドでズームアウト（縮小）、上方向ドラッグでズームイン（拡大）（図４、図５参照）させた。しかし、ＣＰＵコア２１は、第２のＬＣＤ１２の画面を、下方向スライドでズームイン（拡大）、上方向ドラッグでズームアウト（縮小）してもよい。なお、ズームの場合は以上で示したように、ＣＰＵコア２１は、ゲーム空間上に設置する仮想カメラの位置を移動させたり、画角を変化させたりしてもよい。また、ＣＰＵコア２１は、ゲーム空間上の奥行き視点を移動する代わりに、単にダンスホール４１、ダンサー４２を拡大縮小してもよい。また、図４、図５で示したようなスクロールではなく、ＣＰＵコア２１は、ダンサー４２を左右方向へ移動させてもよい。
【０１４４】
以上の実施形態では、ＣＰＵコア２１は、左右方向のドラッグ入力を受けて、画面の横方向スクロールを行い、上下方向のドラッグ入力を受けて、画面の拡大縮小をする例を示した。しかし、ＣＰＵコア２１は、拡大縮小とスクロールの操作入力を逆にしてもよい。すなわち、ＣＰＵコア２１は、上方向のドラッグまたは下方向のドラッグの入力を受けて、第２のＬＣＤ１２の画面を縦方向スクロールさせ、左ドラッグまたは右ドラッグで当該画面を拡大または縮小をさせてもよい。また、以上の実施形態では、ＣＰＵコア２１は、左方向のドラッグ入力を受けて、画面の左方向スクロールを行い、右方向のドラッグ入力を受けて、画面の右方向スクロールを行う例を示した。しかし、スライド方向と画像の移動方向が逆になる場合でもよい。すなわち、左方向のドラッグ入力を受けて、第２のＬＣＤ１２の画面を右方向スクロールさせ、右方向のドラッグ入力で第２のＬＣＤ１２の画面を左方向スクロールさせてもよい。
【０１４５】
また、以上の実施形態では、上記拡大縮小およびスクロールの対象として、ダンスホール４１、ダンサー４２を例に挙げた。しかし、本発明の実施形態として、例えば、ＣＰＵコア２１は、Ｘ軸方向のドラッグ入力を受けて、車が走るレーンの移動を制御し、Y軸方向のドラッグ入力を受けて、車のスピードを変化させるレースゲームを構成してもよい。さらには、ＣＰＵコア２１が制御可能な対象のうちＣＰＵコア２１が制御できるある対象をｄｉｆｆＸに基づいて制御し、この対象とは別の対象をＣＰＵコア２１がｄｉｆｆＹに基づいて制御していれば、本発明の実施形態として成立する。これらの対象の定義には、たとえば、ゲームキャラクタ、背景または画像のパラメータ、ゲームキャラクタ、背景または画像の移動または拡大縮小または視点の位置等を含む。さらには、これらの対象の定義には、ＣＰＵコア２１が、直接または間接に制御できるあらゆるものを含むものとする。対象には、情報処理装置上または上記情報処理装置の外部に存在するものでもよく、画面表示に限られない。
【０１４６】
また、ＣＰＵコア２１は、上記制御の対象の例として、３Ｄ空間での視点移動や、カメラの画角を変更したズームなどの制御を行ってもよい。この場合、上記補正処理によれば、ユーザーの不快感・ストレスを顕著に解消できる。すなわち、ドラッグ操作時のユーザーの手先の操作ぶれにより、３Ｄ空間上のゲームでは、視点の移動を伴う。その結果、画面の表示が大きく揺らぐから、ユーザーに不快感・ストレスをもたらしやすい。この補正処理によれば、ＣＰＵコア２１は、画面の表示の揺らぎを抑えることができる。
【０１４７】
また、図９に示すＳＴ３、ＳＴ４の実施例２では、ＣＰＵコア２１は、ｄｉｆｆＸ、ｄｉｆｆＹの両方について第１閾値、第２閾値と比較する処理を示した。しかし、ｄｉｆｆＸ、ｄｉｆｆＹの片方だけ閾値を設定するようにしてもよい。この場合、ｄｉｆｆＸのみに閾値を設ける場合には、ＳＴ３０４、ＳＴ４１２の処理をスキップすればよい。ｄｉｆｆＹのみに閾値を設ける場合には、ＳＴ３０３、ＳＴ４１１の処理をスキップすればよい。
【０１４８】
補正処理における係数ｒａｔｉｏ＿ｖａｌやｒａｔｉｏ＿ｄｉｆｆの値は、実施例に示したものに限らず、実施例に示したものより大きい値や小さい値としてもよい。特にｒａｔｉｏ＿ｖａｌやｒａｔｉｏ＿ｄｉｆｆの係数の合計が１を超える場合には、実際の変化量よりも大きな量に基づいて動作をするようになる。
【０１４９】
また、以上の実施形態の変形例として、変化量ｄｉｆｆＸ、ｄｉｆｆＹに係数を掛けたものを使用してもよい。ドラッグ入力により得られた変化量ｄｉｆｆＸ、ｄｉｆｆＹを補正処理により、たとえば、ｄｉｆｆＸ＝ｆｎ（ｄｉｆｆＸ）に置換してもよい。ここで、以上の実施形態のゲーム装置１０は、ドラッグ操作に基づくものであるから、ゲーム装置１０は、ドラッグの方向、速度を反映した何らかのアナログ的動作を画像形成処理（ＳＴ４）として行うのが好ましい。たとえば、３次元ゲーム空間上の視点移動に基づくキャラクタの大きさの変化などについては、ＣＰＵコア２１は、関数ｆｎ（ｄｉｆｆＸ）により上記対象を制御するのが好ましい。また、ＣＰＵコア２１の制御対象としては、連続的に状態を変化しうるもの（画面に登場するオブジェクト、ゲーム装置１０内外の装置など）を適用するのが、ドラッグの方向、速度や、上記補正処理（ＳＴ３）を反映できる点で好ましい。また、状態を連続に変化できない場合には、上記状態が３つ以上に変化するものを制御対象として用いるのが好ましい。
【０１５０】
ＣＰＵコア２１は、タッチの継続時間を記憶することにより、ドラッグ操作か、単なるタッチ操作か、を判定してもよい。これによれば、ゲーム装置１０の操作について、より高い柔軟性を得られると期待できる。この判定の方法としては、ＣＰＵコア２１は、所定の複数フレーム期間以上の時間について、ある範囲内で動いているだけであれば、ドラッグではなく同じ座標で留まっていると判定してもよい（すなわちタッチ操作がされていると判定してもよい）。
【０１５１】
また、実施例１〜４の別の実施例として、以上の実施例１〜４の処理を組み合わせても良い。
【０１５２】
以上の実施形態では、ＣＰＵコア２１は、図３、図７〜１１のフローを１フレーム期間ごとに行うとした。しかし、ＣＰＵコア２１は、１フレーム期間ごとではなく、複数フレーム期間ごとに行ってもよい。また、ＣＰＵコア２１は、所定時間ごとに図３、図７〜１１のフローの動作を行ってもよい。別の実施形態として、ＳＴ１０、あるいは、ＳＴ２４およびＳＴ２５で取得する変化量ｄｉｆｆＸ、ｄｉｆｆＹをタッチの開始から終了（すなわちタッチを検出しなくなる）までの変化量としてもよい。
【０１５３】
以上の図１、図２では、機能ごとに分離したブロックで説明したが、実装上は、これらのブロックは、そのいずれかが複数の機能が一体として構成してもよいし、一つのブロックを複数に分離して構成されていてもよい。各ブロックの役割分担については、ほかのバリエーションも可能であり、あるブロックの一部の機能が他のブロックの一部の機能として構成されていてもよい。たとえば、以上の説明では、図３のフローの実行主体は、ＣＰＵコア２１としたが、ゲーム装置１０の一部の処理を担うサブマイコン等を設けて、以上の実施形態の処理をしてもよい。また、検出処理（ＳＴ１０）を別フローとしてもよく、タッチ処理プログラム２４１には、別のプログラムで生成したＸ成分移動量ｄｉｆｆＸ２４７、Ｙ成分移動量ｄｉｆｆＹ２４８を入力してもよい。
【０１５４】
以上の説明で、処理のフローで大小比較をしている説明の中に、「≦」、「＜」（以上、以下、未満、越えている）という意味の説明があるとすれば、相互に読み替えて適用してもよい。即ち、閾値により判断していればよく、「≦（超えているまたは同じ場合）」か「＜（超えている場合であり、同じ場合は含まない）」かいずれを適用すべきかについて技術的な意味はない。
【０１５５】
以上の実施形態は、ゲーム装置のみならず、携帯端末に応用できる。携帯端末に応用する場合、上記制御の対象としては、その携帯端末が制御できるあらゆるものを含めることができる。たとえば、画面のスクロールや、画面の拡大縮小、所定のプログラムの起動、外部に接続した装置の制御などを含めることができる。
【０１５６】
ＣＰＵコア２１は、以上で示した第１閾値、第２閾値、第３閾値を別の値に置き換えて以上の処理をしてもよい。また、ＣＰＵコア２１は、補正処理（ＳＴ３）を行うのが望ましいが、本発明の実施形態として、必ずしも補正処理を行うことは必須ではない。また、以上の実施形態で示した構成のうち、本発明の実施形態としては、タッチパネル１５などのポインティングデバイスと、第１のＬＣＤ１１または第２のＬＣＤ１２などの表示器（情報処理装置の外部でもよい）、タッチ処理プログラム２４１を動作させる構成、および、Ｘ成分移動量ｄｉｆｆＸ、Ｙ成分移動量ｄｉｆｆＹを入力としてＣＰＵコア２１が制御する上記制御対象以外については、必須ではない。ポインティングデバイスとしては、タッチパネル１５以外にもマウスなどでもよい。マウスの場合、ボタンを押しながらの移動操作が、ドラッグ操作に相当する。また、ＬＣＤ（第１のＬＣＤ１１、第２のＬＣＤ１２）を両方設ける必要はない。タッチパネル１５は、第２のＬＣＤ１２上に設ける必要はない。
【符号の説明】
【０１５７】
１０…ゲーム装置
１１…第１のＬＣＤ
１２…第２のＬＣＤ
１３…ハウジング
１３ａ…上側ハウジング
１３ｂ…下側ハウジング
１４ａ…十字スイッチ
１４ｂ…スタートスイッチ
１４ｃ…セレクトスイッチ
１４ｄ…Ａボタン
１４ｅ…Ｂボタン
１４ｆ…Ｘボタン
１４ｇ…Ｙボタン
１５…タッチパネル
１６…スティック
１７…メモリカード
１８ａ，１８ｂ…音抜き孔
１９…電源スイッチ
２４…ＲＡＭ
３３…マイクロフォン用孔
３５…挿入口
３６…挿入口
４１…ダンスホール
４２…ダンサー
５１…第１領域
５２…第２領域
５３…第３領域
５４…第４領域
６１…第１閾値
６２…第２閾値
６３…第３閾値
６６…補正テーブル
【図１】
2010170479.tif 000003
【図２】
2010170479.tif 000004
【図３】
2010170479.tif 000005
【図４】
2010170479.tif 000006
【図５】
2010170479.tif 000007
【図６】
2010170479.tif 000008
【図７】
2010170479.tif 000009
【図８】
2010170479.tif 000010
【図９】
2010170479.tif 000011
【図１０】
2010170479.tif 000012
【図１１】
2010170479.tif 000013
【図１２】
2010170479.tif 000014
【図１３】
2010170479.tif 000015