(57)【要約】      （修正有）【課題】回転操作に対して的確にかつレスポンスよく情報処理を実行できる、指定方法、情報処理プログラムおよび情報処理装置を提供する。【解決手段】ポインティングデバイスで指定された点の基準点Ｏに対する位置を単位時間毎に検出して、先後に検出された点Ａおよび点Ｂをそれぞれ始点および終点とする操作ベクトルＡＢを算出する。そして、算出された操作ベクトルＡＢを、基準点Ｏおよび点Ａをそれぞれ始点および終点とするベクトルＯＡに垂直な直線に正射影し、これによって操作ベクトルＡＢから取り出された成分ベクトルｄｉｓｔに基づいて情報を処理する。【選択図】図５
2008083796.tif 000002
【特許請求の範囲】
【請求項１】
任意の点の位置を指定するためのポインティングデバイスを備える情報処理装置のプロセッサに、
前記ポインティングデバイスで指定された点の基準点に対する位置を単位時間毎に検出する位置検出ステップ、
前記位置検出ステップによって先後に検出された第１点および第２点をそれぞれ始点および終点とする操作ベクトルを算出する操作ベクトル算出ステップ、
前記操作ベクトル算出ステップによって算出された操作ベクトルを、前記基準点および前記第１点をそれぞれ始点および終点とする第１ベクトルに垂直な直線に正射影する正射影ステップ、および
前記正射影ステップの正射影処理によって前記操作ベクトルから取り出された成分ベクトルに基づいて情報を処理する情報処理ステップを実行させる、情報処理プログラム。
【請求項２】
前記正射影ステップは、前記第１ベクトルに垂直な単位ベクトルを算出する単位ベクトル算出ステップ、および前記操作ベクトル算出ステップによって算出された操作ベクトルと前記単位ベクトル算出ステップによって算出された単位ベクトルとの内積を計算する内積計算ステップを含む、請求項１記載の情報処理プログラム。
【請求項３】
前記プロセッサに、
前記内積計算ステップの計算結果の絶対値を計算する絶対値計算ステップ、および
前記第１ベクトルと前記基準点および前記第２点をそれぞれ始点および終点とする第２ベクトルとの外積を計算する外積計算ステップをさらに実行させ、
前記情報処理ステップは前記絶対値計算ステップの計算結果および前記外積計算ステップの計算結果に基づいて情報処理を行う、請求項２記載の情報処理プログラム。
【請求項４】
前記情報処理装置は画像を表示するディスプレイをさらに備え、
前記情報処理ステップは前記ディスプレイに表示された画像を前記操作ベクトルから取り出された成分ベクトルの向きと対応する方向に当該成分ベクトルの大きさに応じた量だけ動かす、請求項１記載の情報処理プログラム。
【請求項５】
前記情報処理ステップは、前記操作ベクトルから取り出された成分ベクトルの大きさに定数を乗算しかつ乗算結果を基準速度として保持する保持ステップ、および前記保持ステップによって保持された基準速度に対して単位時間毎に減速処理を施す減速処理ステップをさらに含む、請求項４記載の情報処理プログラム。
【請求項６】
前記情報処理ステップは、前記保持ステップによって保持された基準速度が閾値以上か否かを判別する速度判別ステップ、および前記速度判別ステップによって基準速度が閾値未満であると判別されたとき当該基準速度をゼロに変更する変更ステップをさらに含む、請求項５記載の情報処理プログラム。
【請求項７】
前記情報処理ステップは、前記速度判別ステップによって基準速度が閾値未満であると判別されたとき前記画像が規定位置にあるか否かを判別する位置判別ステップ、および前記位置判別ステップによって前記画像が前記規定位置にないと判別されたとき当該画像を当該規定位置まで動かした後で停止させる動き維持ステップをさらに含む、請求項６記載の情報処理プログラム。
【請求項８】
前記画像は第１画像および第２画像を含み、
前記情報処理ステップは、
前記第１画像を前記操作ベクトルから取り出された成分ベクトルの向きと対応する方向に当該成分ベクトルの大きさに応じた角度だけ回転させる回転ステップ、および
前記第２画像を前記操作ベクトルから取り出された成分ベクトルの向きと対応する方向に当該成分ベクトルの大きさに応じた距離だけ平行移動させる平行移動ステップを含む、請求項４記載の情報処理プログラム。
【請求項９】
任意の点の位置を指定するためのポインティングデバイス、
前記ポインティングデバイスで指定された点の基準点に対する位置を単位時間毎に検出する位置検出手段、
前記位置検出手段によって先後に検出された第１点および第２点をそれぞれ始点および終点とする操作ベクトルを算出する操作ベクトル算出手段、
前記操作ベクトル算出手段によって算出された操作ベクトルを、前記基準点および前記第１点をそれぞれ始点および終点とする第１ベクトルに垂直な直線に正射影する正射影手段、および
前記正射影手段の正射影処理によって前記操作ベクトルから取り出された成分ベクトルに基づいて情報を処理する情報処理手段を備える、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理プログラムおよび情報処理装置に関し、特にたとえば、タッチパネル，タブレット，マウス等のポインティングデバイスで指定される位置の変化（ベクトル）に基づいて回転操作を検出し、検出された回転操作から制御量（符号付きスカラー）を求め、そして求められた制御量に基づいて情報を処理する、情報処理プログラムおよび情報処理装置に関する。
【背景技術】
【０００２】
従来のこの種のプログラムないし装置としては、特許文献１に開示されたものが知られている。この従来技術では、第１点（Ａ）および第２点（Ｂ）を始点および終点とする回転操作を検出し、基準点（Ｏ）から第１点に向かう方向と基準点から第２点に向かう方向とのなす角（回転角ＡＯＢ）を求め、そして、求められた回転角に対応する量だけ、画面の頁送りをする。
【０００３】
また、特許文献２に開示されたものも知られている。この従来技術では、第１点（Ａ），第２点（Ｂ），第３点（Ｃ）…を順次検出して、まず線分ＢＣの線分ＡＢに対する変位角を求める。以降同様に、隣接する２つの線分の変位角を順次求め、これらを累計する。そして、累計変位角が閾値以上であれば、回転操作が行われたと認識して、累計変位角だけ、画面をスクロールする。
【特許文献１】特開平４−４８３１８号公報
【特許文献２】特開２００２−２２２０３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１の従来技術のように基準点Ｏに対する回転角ＡＯＢを制御量とする場合、点Ａから点Ｂまでの移動距離（操作量）が同じでも、制御量は点Ａ，Ｂの基準点Ｏからの距離によって異なる。このため、操作者が基準点からの距離を考慮して操作量を調節しなければ、所望の情報処理を行えない。
【０００５】
一方、特許文献２の従来技術のように累計変位角を制御量とする場合、少なくとも３点が検出され、そして閾値以上の累計変位角が得られるまでは、回転操作が行われたと認識されず、情報処理は開始されない。すなわち、回転操作に対するレスポンスがよくない。
【０００６】
それゆえに、この発明の主たる目的は、回転操作に対して的確にかつレスポンスよく情報処理を実行できる、情報処理プログラムおよび情報処理装置を提供することである。
【課題を解決するための手段】
【０００７】
請求項１の発明に従う情報処理プログラムは、任意の点の位置を指定するためのポインティングデバイス（２０：実施例で相当する参照符号。以下同じ）を備える情報処理装置（１０）のプロセッサ（４２）に、次のステップを実行させる：ポインティングデバイスで指定された点の基準点（Ｏ）に対する位置を単位時間毎に検出する位置検出ステップ（Ｓ５）；位置検出ステップによって先後に検出された第１点および第２点をそれぞれ始点および終点とする操作ベクトルを算出する操作ベクトル算出ステップ（Ｓ４５）；操作ベクトル算出ステップによって算出された操作ベクトルを、基準点および第１点をそれぞれ始点および終点とする第１ベクトルに垂直な直線に正射影する正射影ステップ（Ｓ４７〜Ｓ５１）；および正射影ステップの正射影処理によって操作ベクトルから取り出された成分ベクトルに基づいて情報を処理する情報処理ステップ（Ｓ１１〜Ｓ２３）。
【０００８】
請求項１の発明では、ポインティングデバイスで指定された点の基準点に対する位置は、位置検出ステップによって単位時間毎に検出される。位置検出ステップによって第１点および第２点が順次検出されると、第１点および第２点をそれぞれ始点および終点とする操作ベクトルが、操作ベクトル算出ステップによって算出される。正射影ステップは、こうして算出された操作ベクトルを、基準点および第１点をそれぞれ始点および終点とする第１ベクトルに垂直な直線に正射影する。この正射影処理によって、操作ベクトルからは、第１ベクトルに垂直な方向、すなわち基準点を中心とし操作ベクトルの始点を通る円周の当該始点における接線方向の成分ベクトル（符号付きスカラー）が取り出される。情報処理ステップは、かかる成分ベクトルに従って情報を処理する。
【０００９】
請求項１の発明によれば、ポインティングデバイスで指定された点の移動距離すなわち操作量が同一であれば、指定点の基準点からの距離に関わらず同一の成分ベクトルが得られるため、操作者が指定点の基準点からの距離を考慮して操作量を調整しなくても、所望の情報処理を行える。また、任意の操作を回転操作と見なして、２つの点が検出された時点で成分ベクトルを算出するので、レスポンスが向上する。
【００１０】
請求項２の発明に従う情報処理プログラムは、請求項１に従属し、正射影ステップは次のステップを含む：第１ベクトルに垂直な単位ベクトルを算出する単位ベクトル算出ステップ（Ｓ４７，Ｓ４９）；および操作ベクトル算出ステップによって算出された操作ベクトルと単位ベクトル算出ステップによって算出された単位ベクトルとの内積を計算する内積計算ステップ（Ｓ５１）。
【００１１】
請求項２の発明では、操作ベクトルを第１ベクトルに垂直な直線に正射影するに当たって、単位ベクトル算出ステップが第１ベクトルに垂直な単位ベクトルを算出し、内積計算ステップは操作ベクトル算出ステップによって算出された操作ベクトルと単位ベクトル算出ステップによって算出された単位ベクトルとの内積を計算する。
【００１２】
請求項２の発明によれば、内積の絶対値は成分ベクトルの大きさと対応し、内積の符号は成分ベクトルの向きと対応するので、少なくとも内積を計算すれば情報処理を行える。
【００１３】
請求項３の発明に従う情報処理プログラムは、請求項２に従属し、プロセッサに次のステップさらに実行させる：内積計算ステップの計算結果の絶対値を計算する絶対値計算ステップ（Ｓ５３）、および第１ベクトルと基準点および第２点をそれぞれ始点および終点とする第２ベクトルとの外積を計算する外積計算ステップ（Ｓ４３）。情報処理ステップは、絶対値計算ステップの計算結果および外積計算ステップの計算結果に基づいて情報処理を行う。
【００１４】
請求項３の発明では、絶対値計算ステップが内積計算ステップの計算結果の絶対値を計算し、外積計算ステップは基準点から第１点に向かう第１ベクトルと基準点から第２点に向かう第２ベクトルとの外積を計算する。情報処理ステップは、絶対値計算ステップの計算結果および外積計算ステップの計算結果に基づいて情報処理を行う。
【００１５】
請求項３の発明によれば、成分ベクトルの大きさとして内積の絶対値をとる一方、成分ベクトルの方向としては、操作ベクトルの始点位置および終点位置をそれぞれ示す第１ベクトルおよび第２ベクトルの外積の符号を用いるので、成分ベクトルの方向として内積の符号を用いる場合とは異なり、内積計算の際単位ベクトルの向きに注意を払う必要がなく、容易に情報処理を行える。
【００１６】
請求項４の発明に従う情報処理プログラムは、請求項１に従属し、情報処理装置は画像（７２，７０）を表示するディスプレイ（１４，１２）をさらに備える。情報処理ステップは、ディスプレイに表示された画像を、操作ベクトルから取り出された成分ベクトルの向きと対応する方向に、当該成分ベクトルの大きさに応じた量だけ動かす。
【００１７】
請求項４の発明では、ディスプレイに画像が表示される。この画像は、情報処理ステップによって、成分ベクトルの向きと対応する方向に成分ベクトルの大きさに応じた量だけ動かされる。
【００１８】
請求項４の発明によれば、画像をポインティングデバイスの回転操作によって的確にかつレスポンスよく動かすことができる。
【００１９】
請求項５の発明に従う情報処理プログラムは、請求項４に従属し、情報処理ステップは次のステップをさらに含む：操作ベクトルから取り出された成分ベクトルの大きさに定数を乗算しかつ乗算結果を基準速度として保持する保持ステップ（Ｓ６３）；および保持ステップによって保持された基準速度に対して単位時間毎に減速処理を施す減速処理ステップ（Ｓ６９）。
【００２０】
請求項５の発明では、保持ステップが操作ベクトルから取り出された成分ベクトルの大きさに定数を乗算して、乗算結果を基準速度として保持する。保持ステップによって保持された基準速度に対しては、減速処理ステップによって単位時間毎に減速処理が施される。画像は、保持ステップによって保持された基準速度に基づいて動かされる。
【００２１】
請求項５の発明によれば、適当な定数を選ぶことで、画像を快適に動かすことができる。ポインティングデバイスの操作が終了すると、画像は、減速処理によってその速度を徐々に減じていき、停止する。
【００２２】
請求項６の発明に従う情報処理プログラムは、請求項５に従属し、情報処理ステップは次のステップをさらに含む：保持ステップによって保持された基準速度が閾値以上か否かを判別する速度判別ステップ（Ｓ６７）；および速度判別ステップによって基準速度が閾値未満であると判別されたとき当該基準速度をゼロに変更する変更ステップ（Ｓ７１）。
【００２３】
請求項６の発明では、保持された基準速度が閾値以上か否かが速度判別ステップによって判別され、閾値未満であると判別されたとき当該基準速度は変更ステップによってゼロに変更される。
【００２４】
請求項６の発明によれば、閾値に満たない基準速度では画像は動かないので、画像のぶれを防止できる。
【００２５】
請求項７の発明に従う情報処理プログラムは、請求項６に従属し、情報処理ステップは次のステップをさらに含む：速度判別ステップによって基準速度が閾値未満であると判別されたとき画像が規定位置（Ｐ）にあるか否かを判別する位置判別ステップ（Ｓ８５）；および位置判別ステップによって画像が規定位置にないと判別されたとき当該画像を当該規定位置まで動かした後で停止させる動き維持ステップ（Ｓ８９）。
【００２６】
請求項７の発明では、速度判別ステップによって基準速度が閾値未満であると判別されたとき、画像が規定位置にあるか否かが位置判別ステップによってさらに判別され、位置判別ステップによって画像が規定位置にないと判別されると、動き維持ステップが画像を規定位置まで動かした後で停止させる。
【００２７】
請求項７の発明によれば、画像を規定位置で停止させることができる。
【００２８】
請求項８の発明に従う情報処理プログラムは、請求項４に従属する。画像は第１画像（７２）および第２画像（７０）を含み、情報処理ステップは次のステップを含む：第１画像を操作ベクトルから取り出された成分ベクトルの向きと対応する方向に当該成分ベクトルの大きさに応じた角度だけ回転させる回転ステップ（Ｓ１５，Ｓ２３）；および第２画像を操作ベクトルから取り出された成分ベクトルの向きと対応する方向に当該成分ベクトルの大きさに応じた距離だけ平行移動させる平行移動ステップ（Ｓ１３，Ｓ２１）。
【００２９】
請求項８の発明では、画像には第１画像および第２画像が含まれる。第１画像は、回転ステップによって、操作ベクトルから取り出された成分ベクトルの向きと対応する方向に、当該成分ベクトルの大きさに応じた角度だけ回転される。第２画像は、平行移動ステップによって、操作ベクトルから取り出された成分ベクトルの向きと対応する方向に、当該成分ベクトルの大きさに応じた距離だけ平行移動される。
【００３０】
請求項８の発明によれば、単一の回転操作で、第１画像を回転させると同時に、第２画像を平行移動させることができる。
【００３１】
請求項９の発明に従う情報処理装置（１０）は、次のものを備える：任意の点の位置を指定するためのポインティングデバイス（２０）；ポインティングデバイスで指定された点の基準点（Ｏ）に対する位置を単位時間毎に検出する位置検出手段（Ｓ５）；位置検出手段によって先後に検出された第１点および第２点をそれぞれ始点および終点とする操作ベクトルを算出する操作ベクトル算出手段（Ｓ４５）；操作ベクトル算出手段によって算出された操作ベクトルを、基準点および第１点をそれぞれ始点および終点とする第１ベクトルに垂直な直線に正射影する正射影手段（Ｓ４７〜Ｓ５１）；および正射影手段の正射影処理によって操作ベクトルから取り出された成分ベクトルに基づいて情報を処理する情報処理手段（Ｓ１１〜Ｓ２３）。 
【００３２】
請求項９の発明でも、請求項１の発明と同様に、指定点の基準点からの距離を考慮して操作量を調整しなくても所望の情報処理を行え、レスポンスも向上する。
【発明の効果】
【００３３】
この発明によれば、回転操作に対して、的確にかつレスポンスよく、情報処理を実行することができる。
【００３４】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【００３５】
図１を参照して、この発明の一実施例であるゲーム装置１０は、第１の液晶表示器（ＬＣＤ）１２および第２のＬＣＤ１４を含む。このＬＣＤ１２およびＬＣＤ１４は、所定の配置位置となるようにハウジング１６に収納される。この実施例では、ハウジング１６は、上側ハウジング１６ａと下側ハウジング１６ｂとによって構成され、ＬＣＤ１２は上側ハウジング１６ａに収納され、ＬＣＤ１４は下側ハウジング１６ｂに収納される。したがって、ＬＣＤ１２とＬＣＤ１４とは縦（上下）に並ぶように近接して配置される。
【００３６】
なお、この実施例では、表示器としてＬＣＤを用いるようにしてあるが、ＬＣＤに代えて、ＥＬ（Electronic Luminescence）ディスプレイなどを用いるようにしてもよい。
【００３７】
図１からも分かるように、上側ハウジング１６ａは、ＬＣＤ１２の平面形状よりも大きな平面形状を有し、一方主面からＬＣＤ１２の表示面を露出するように開口部が形成される。一方、下側ハウジング１６ｂは、その平面形状が上側ハウジング１６ａと同程度に形成され、横方向の略中央部にＬＣＤ１４の表示面を露出するように開口部が形成される。また、上側ハウジング１６ａには、ＬＣＤ１２を挟むように、右側に音抜き孔２２ａが、左側に音抜き孔２２ｂが、左右対称に形成される。またハウジング１６には操作スイッチ１８（１８ａ，１８ｂ，１８ｃ，１８ｄ，１８ｅ，１８ｆ，１８ｈ，１８ｇ，１８Ｌおよび１８Ｒ）が配置される。
【００３８】
また、上側ハウジング１６ａと下側ハウジング１６ｂとは、上側ハウジング１６ａの下辺（下端）と下側ハウジング１６ｂの上辺（上端）の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、ＬＣＤ１２の表示面とＬＣＤ１４の表示面とが対面するように、上側ハウジング１６ａを回動させて折りたたんでおけば、ＬＣＤ１２の表示面およびＬＣＤ１４の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング１６ａと下側ハウジング１６ｂとは、回動可能に連結せずに、それらを一体的（固定的）に設けたハウジング１６を形成するようにしてもよい。
【００３９】
操作スイッチ１８は、方向指示スイッチ（十字スイッチ）１８ａ，スタートスイッチ１８ｂ，セレクトスイッチ１８ｃ，動作スイッチ（Ａボタン）１８ｄ，動作スイッチ（Ｂボタン）１８ｅ，動作スイッチ（Ｘボタン）１８ｆ，動作スイッチ（Ｙボタン）１８ｇ，電源スイッチ１８ｈ，動作スイッチ（Ｌボタン）１８Ｌおよび動作スイッチ（Ｒボタン）１８Ｒを含む。スイッチ１８ａおよび１８ｈは、下側ハウジング１６ｂの一方主面において、ＬＣＤ１４の左側に配置される。また、スイッチ１８ｂないし１８ｇは、下側ハウジング１６ｂの一方主面において、ＬＣＤ１４の右側に配置される。さらに、スイッチ１８Ｌおよびスイッチ１８Ｒは、それぞれ、下側ハウジング１６ｂの上端（天面）の一部において、上側ハウジング１６ａとの連結部以外に当該連結部を挟むように、左右に配置される。
【００４０】
方向指示スイッチ１８ａは、ディジタルジョイスティックとして機能し、４つの押圧部の１つを操作することによって、プレイヤによって操作可能なプレイヤキャラクタ（またはプレイヤオブジェクト）の移動方向を指示したり、カーソルの移動方向を指示したりする等に用いられる。スタートスイッチ１８ｂは、プッシュボタンで構成され、ゲームを開始（再開）したり、一時停止（Pause）したりする等に用いられる。セレクトスイッチ１８ｃは、プッシュボタンで構成され、ゲームモードの選択等に用いられる。
【００４１】
動作スイッチ１８ｄすなわちＡボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つ（パンチ）、投げる、つかむ（取得）、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム（ＲＰＧ）やシミュレーションＲＰＧにおいては、アイテムの取得、武器またはコマンドの選択および決定等を指示することができる。動作スイッチ１８ｅすなわちＢボタンは、プッシュボタンで構成され、セレクトスイッチ１８ｃで選択したゲームモードの変更やＡボタン１８ｄで決定したアクションの取り消し等のために用いられる。
【００４２】
動作スイッチ１８ｅすなわちＸボタン、および動作スイッチ１８ｆすなわちＹボタンは、プッシュボタンで構成され、プッシュボタンＡとプッシュボタンＢだけでは、ゲーム進行ができないときに、補助的な操作ボタンとして用いられる。もちろん、ゲームプレイにおいてＸボタンとＹボタンを必ずしも使用しなくてよい。電源スイッチ１８ｈは、ゲーム装置１０の電源をオンオフするためのスイッチである。
【００４３】
動作スイッチ１８Ｌ（左押しボタン）および動作スイッチ１８Ｒ（右押しボタン）は、プッシュボタンで構成され、左押しボタン（Ｌボタン）１８Ｌおよび右押しボタン（Ｒボタン）１８Ｒは、Ａボタン１８ｄおよびＢボタン１８ｅと同様の操作に用いることができ、また、Ａボタン１８ｄおよびＢボタン１８ｅの補助的な操作に用いることができる。
【００４４】
また、このゲーム装置１０はタッチパネルを用いたゲーム装置であり、ＬＣＤ１４の上面には、タッチパネル２０が装着される。タッチパネル２０としては、たとえば、抵抗膜方式、光学式（赤外線方式）および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル２０は、その上面をスティック２４ないしはペン（スタイラスペン）或いは指（以下、これらを「スティック２４等」という場合がある。）で、押圧したり撫でたり（触れたり）することにより操作すると、スティック２４等の座標位置を検出して座標データを出力する。
【００４５】
なお、この実施例では、ＬＣＤ１４（ＬＣＤ１２も同じ、または略同じ。）の表示面の解像度は２２８ｄｏｔ×１９２ｄｏｔであり、タッチパネル２０の検出精度も表示画面に対応して２２８ｄｏｔ×１９２ｄｏｔとしてあるが、タッチパネル２０の検出精度は表示画面の解像度よりも低くてもよく、高くてもよい。
【００４６】
この実施例では、たとえばタッチパネル２０の設けられるＬＣＤ１４には、プレイヤに見せかつ操作させるためのゲーム画面が表示され、ＬＣＤ１２にはプレイヤに見せるためのゲーム画面が表示される。具体的には、ＬＣＤ１２には横線と縦線で形成されたアミダくじのような軌道上をオブジェクトが移動してくる画像が表示される。ＬＣＤ１４に表示されるゲーム画面には、未完成のアミダくじのように、縦線のみが表示されており、プレイヤはＬＣＤ１４に表示された縦線に対して、スティック２４等で直接触れるようにしてタッチパネル２０上に横線を描くような操作をする。こうして、ＬＣＤ１２に表示される軌道の続きをＬＣＤ１４に描いて、移動してくるオブジェクトを所定位置に導くための軌道を作るのである。なお、ＬＣＤ１４は、ゲームの種類に応じてその他各種の入力指示を行うようにしてもよく、たとえばＬＣＤ１４の表示画面に文字情報やアイコン等を表示してコマンドを選択させたりすることができる。
【００４７】
このように、ゲーム装置１０は、２画面分の表示部となるＬＣＤ１２およびＬＣＤ１４を有し、いずれか一方（この実施例では、ＬＣＤ１４）の表示画面上にタッチパネル２０が設けられるので、２画面（ＬＣＤ１２，１４）と２系統の操作部（１８，２０）を有する構成となるのである。
【００４８】
また、この実施例では、スティック２４は、たとえば上側ハウジング１６ａの中央より側面寄（右寄）に設けられる収納部（収納穴）（図示せず）に収納することができ、必要に応じて取り出される。ただし、スティック２４を設けない場合には、収納部を設ける必要もない。
【００４９】
さらに、ゲーム装置１０はメモリカード（またはゲームカートリッジ）２６を含み、このメモリカード２６は着脱自在であり、下側ハウジング１６ｂの裏面ないしは上端（側面）に設けられる挿入口（図示せず）から挿入される。図１では省略するが、挿入口の奥部には、メモリカード２６の挿入方向先端部に設けられるコネクタ（図示せず）と接合するためのコネクタ４６（図２参照）が設けられており、したがって、メモリカード２６が挿入口に挿入されると、コネクタ同士が接合され、ゲーム装置１０のＣＰＵコア４２（図２参照）がメモリカード２６にアクセス可能となる。
【００５０】
なお、図１では表現できないが、下側ハウジング１６ｂの内部において、この下側ハウジング１６ｂの音抜き孔２２ａと対応する位置には、右スピーカ３０ａおよび音抜き孔２２ｂと対応する位置には、左スピーカ３０ｂ（図２参照）が設けられる。
【００５１】
また、図１では省略するが、たとえば、下側ハウジング１６ｂの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング１６ｂの底面側には、音量調節つまみ、外部拡張コネクタおよびイヤフォンジャックなどが設けられる。
【００５２】
図２は、ゲーム装置１０の電気的な構成を示すブロック図である。図２を参照して、ゲーム装置１０は電子回路基板４０を含み、この電子回路基板４０にはＣＰＵコア４２等の回路コンポーネントが実装される。ＣＰＵコア４２は、バス４４を介して、コネクタ４６，ＲＡＭ４８，第１のＧＰＵ（Graphic Processing Unit）５２，第２のＧＰＵ５４，Ｉ／Ｆ回路５０，ＬＣＤコントローラ６０およびワイヤレス通信ユニット６４と接続される。
【００５３】
コネクタ４６には、上述したように、メモリカード２６が着脱自在に接続される。メモリカード２６は、ＲＯＭ２６ａおよびＲＡＭ２６ｂを含む。図示は省略するが、ＲＯＭ２６ａおよびＲＡＭ２６ｂは、バスで互いに接続され、かつコネクタ４６と接合されるコネクタ（図示せず）に接続される。この結果、ＣＰＵコア４２は、ＲＯＭ２６ａおよびＲＡＭ２６ｂにアクセスすることができる。
【００５４】
ＲＯＭ２６ａは、ゲーム装置１０で実行すべきゲームのためのゲームプログラム、キャラクタ画像，背景画像，アイテム画像，メッセージ画像のような画像データ、効果音，ＢＧＭ，キャラクタの擬制音のような音データなどを予め記憶する。バックアップＲＡＭ２６ｂは、ゲームの途中データや結果データをセーブする。
【００５５】
ＲＡＭ４８は、バッファメモリないしはワーキングメモリとして使用される。つまり、ＣＰＵコア４２は、メモリカード２６のＲＯＭ２６ａに記憶されたゲームプログラム、および画像データ，音データ等のデータをＲＡＭ４８にロードし、ロードしたゲームプログラムを実行する。また、ＣＰＵコア４２は、ゲーム処理の進行に応じて、ゲームデータやフラグデータなどの一時的なデータをＲＡＭ４８に記憶する。
【００５６】
なお、ゲームプログラム、および画像データ，音データ等のデータは、一括して、または必要に応じて部分的かつ順次的にＲＯＭ２６ａから読み出され、ＲＡＭ４８に記憶される。
【００５７】
ＧＰＵ５２および５４の各々は、描画手段の一部を形成し、たとえばシングルチップＡＳＩＣで構成される。ＧＰＵ５２または５４は、ＣＰＵコア４２からグラフィックスコマンド（作画命令）を受けたとき、このグラフィックスコマンドにしたがってゲーム画像データを生成する。ここで、ＣＰＵコア４２は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラム（ゲームプログラムに含まれる。）をＧＰＵ５２および５４の各々に与える。
【００５８】
ただし、グラフィックスコマンドの実行に必要なデータ（ポリゴン，テクスチャなどの画像データ）は、ＲＡＭ４８に格納され、ＧＰＵ５２または５４によって取得される。
【００５９】
また、ＧＰＵ５２にはＶＲＡＭ５６が接続され、ＧＰＵ５４にはＶＲＡＭ５８が接続される。ＧＰＵ５２は、作成したゲーム画像データをＶＲＡＭ５６に描画し、ＧＰＵ５４は、作成したゲーム画像データをＶＲＡＭ５８に描画する。
【００６０】
ＶＲＡＭ５６および５８は、ＬＣＤコントローラ６０に接続される。ＬＣＤコントローラ６０はレジスタ６２を含む。レジスタ６２はたとえば１ビットで構成され、ＣＰＵコア４２の指示によって“０”または“１”のデータ値を記憶する。ＬＣＤコントローラ６０は、レジスタ６２のデータ値が“０”であるとき、ＶＲＡＭ５６に描画されたゲーム画像データをＬＣＤ１４に出力し、ＶＲＡＭ５８に描画されたゲーム画像データをＬＣＤ１２に出力する。また、ＬＣＤコントローラ６０は、レジスタ６２のデータ値が“１”であるとき、ＶＲＡＭ５６に描画されたゲーム画像データをＬＣＤ１２に出力し、ＶＲＡＭ５８に描画されたゲーム画像データをＬＣＤ１４に出力する。
【００６１】
Ｉ／Ｆ回路５０には、操作スイッチ１８，タッチパネル２０，右スピーカ３０ａおよび左スピーカ３０ｂが接続される。ここで、操作スイッチ１８は、上述したスイッチ１８ａ，１８ｂ，１８ｃ，１８ｄ，１８ｅ，１８ｆ，１８ｇ，１８ｈ，１８Ｌおよび１８Ｒである。操作スイッチ１８が操作されると、対応する操作信号（操作データ）がＩ／Ｆ回路５０を介してＣＰＵコア４２に入力される。タッチパネル２０で検出された座標データも、Ｉ／Ｆ回路５０を介してＣＰＵコア４２に入力される。また、ＣＰＵコア４２は、ＢＧＭ，効果音，キャラクタの擬制音などのゲームに必要な音データをＲＡＭ４８から読み出し、Ｉ／Ｆ回路５０を介して右スピーカ３０ａおよび左スピーカ３０ｂから出力する。
【００６２】
対戦モードが選択された状態では、相手方のゲーム装置との間で無線信号がワイヤレス通信ユニット６４を通してやり取りされる。すなわち、ワイヤレス通信ユニット６４は、相手方への通信データを無線信号に変調してアンテナ（図示せず）から送信し、また、相手方のゲーム装置からの無線信号を同じアンテナで受信して通信データに復調する。
【００６３】
図３にはＲＡＭ４８のメモリマップの一例が示される。ＲＡＭ４８は、メモリカード２６のＲＯＭ２６ａからロードされたプログラムを記憶する。この実施例でロードされるプログラムは、タッチ検出プログラム８０，ゲームメイン処理プログラム８２および図鑑情報処理プログラム８６などを含む。なお、図示は省略しているが、ゲームの画像や音声を生成／出力するためのプログラムなど、ゲーム進行に必要な各種プログラムもロードされる。
【００６４】
タッチ検出プログラム８０は、タッチパネル２０を通してタッチ点の座標を検出する。ゲームメイン処理プログラム８２は、操作スイッチ１８やタッチパネル２０の操作に応じて、ゲームの開始，ゲームの進行，勝敗判定およびゲームの終了など、ゲームのメイン処理を実行する。
【００６５】
このゲームでプレイヤは、複数のキャラクタの図鑑情報を登録したキャラクタ図鑑を参照することができる。操作スイッチ１８によって図鑑機能を呼び出す操作が行われると、まず図４に示すように、ＬＣＤ１２にリスト７０が表示され、ＬＣＤ１４にはホイール７２が表示される。リスト７０は複数のキャラクタにそれぞれ対応する複数のリスト要素（ＬＥ１，ＬＥ２，…）で構成されており、ＬＣＤ１２に表示されるのはその一部（たとえばＬＥ１１，ＬＥ１２およびＬＥ１３）である。
【００６６】
図鑑情報処理プログラム８４は、こうして上下２つのＬＣＤ１２および１４にリスト７０およびホイール７２が表示された状態で、ホイール７２をタッチペン２４で擦り回すようなタッチ操作が行われたとき、タッチ検出プログラムによって単位時間毎に検出される一連のタッチ座標（操作ベクトル）に基づいて、ホイール７２を右回りまたは左回りに回転させ、かつリスト７０を上方向または下方向に移動させる。
【００６７】
具体的には、図４に示すように、プレイヤがタッチペン２４でホイール７２上に任意の直線を描くと、ある時刻にタッチ点Ａが検出され、その単位時間（たとえば１／６０秒）経過後に点Ｂがさらに検出される。点Ａから点Ｂに向かうベクトルが操作ベクトルＡＢであり、この操作ベクトルＡＢに従って、ホイール７２は左回りに回転し、リスト７０は上方向に移動する。なお、操作ベクトルの向きが逆（点Ｂから点Ａに向かう向き）であれば、ホイール７２は右回りに回転し、リスト７０は下方向に移動する。
【００６８】
ホイール７２の回転量およびリスト７０の移動量は、操作ベクトルＡＢから算出される（図５および図６参照：後述）。プレイヤは、ホイール７２をタッチペン２４で適量回転させることにより（図９（Ａ）〜図９（Ｃ）参照：後述）、所望のリスト要素が規定位置Ｐにくるようにリスト７０を移動させることができる（図７（Ａ）〜図７（Ｃ），図８（Ａ）および図８（Ｂ）参照：後述）。所望のリスト要素（たとえばＬＥ１１）が規定位置Ｐに停止表示された状態（図８（Ｂ）参照）で操作スイッチ１８等により所定操作を行うと、このリスト要素に対応するキャラクタの図鑑情報がＬＣＤ１２（および／またはＬＣＤ１４）に表示される。
【００６９】
また、ＲＡＭ４８は、座標記憶領域９０，変数記憶領域９２，フラグ記憶領域９４，定数記憶領域９６および図鑑情報記憶領域９８などを有する。座標記憶領域９０は、タッチ検出プログラムによって検出されたタッチ点の座標を記憶するための領域である。記憶された座標は、図鑑情報処理プログラム８４によって利用される。
【００７０】
変数記憶領域９２は、図鑑情報処理プログラム８４によって利用される変数（ＶＥ，ＶＳ，ＶＬ，ＶＨおよびＬＣなど：後述）を記憶するための領域である。フラグ記憶領域９４は、図鑑情報処理プログラム８４によって利用されるフラグ（Ｆ，Ｇ１およびＧ２など：後述）を記憶するための領域である。定数記憶領域９６は、図鑑情報処理プログラム８４によって利用される定数（換算定数，減速定数，変換定数，初期値，ＶＳｍｉｎ，ＶＬｍｉｎおよびＣなど：後述）を記憶するための領域である。図鑑情報記憶領域９８は、図鑑情報処理プログラム８４によって利用される図鑑情報を記憶するための領域である。
【００７１】
以下、ホイール７２の回転量およびリスト７０の移動量の算出方法について詳しく説明する。最初、操作ベクトルＡＢから有効操作量ＶＥ（接線成分ｄｉｓｔの絶対値）および回転方向（方向フラグＦ）を計算する。
【００７２】
具体的には、まず図５を参照して、ＸＹ平面の原点Ｏ（０，０）は、ホイール７２の中心Ｏ（図４参照）と対応する。ＸＹ平面上には、原点Ｏを中心とする基準円周Ｃが定義される。なお、基準円周Ｃは、ホイール７２の外周に定数を乗じたものであり、この定数が大きいほど、一定の操作量に対するホイール７２の回転量は小さくなる。
【００７３】
ある時刻にタッチ点Ａ（ａ，ｂ）が検出され、そして単位時間後にタッチ点Ｂ（ｃ，ｄ）がさらに検出されたとすると、操作ベクトルＡＢを（ｃ−ａ，ｄ−ｂ）のように計算し、結果を（ｇ，ｈ）とする。
【００７４】
一方、ＯＡを半径とする円周Ｃ１の点Ａにおける接線は、ベクトルＯＡに垂直なベクトルＯＡ’＝（−ｂ，ａ）と平行であるから、ベクトルＯＡ’を規格化することで、この接線に平行な単位ベクトルＥ＝（ｅ，ｆ）を求める。
【００７５】
こうして求めた操作ベクトルＡＢと単位ベクトルＥとの内積をとれば、操作ベクトルＡＢの点Ａにおける接線方向の成分ｄｉｓｔ（＝ｅ＊ｇ＋ｆ＊ｈ）が得られる。接線成分ｄｉｓｔは符合を含むため、この絶対値を有効操作量ＶＥとする。その一方で、ベクトルＯＡとベクトルＯＢとの外積（これをｚとする）を求め、ｚ＞０であればＦ＝０（左回り／上方向）とし、ｚ＜０であればＦ＝１（右回り／下方向）とする。
【００７６】
なお、回転方向については、外積ｚの符号によらずとも、接線成分ｄｉｓｔの符合に基づいて決定することができる。すなわち、ｄｉｓｔ＞０であればＦ＝０とし、ｄｉｓｔ＜０であればＦ＝１とすればよい。この場合また、接線成分ｄｉｓｔを絶対値（ＶＥ）と符号（Ｆ）とに分離せず、接線成分ｄｉｓｔから直にホイール回転量およびリスト移動量を算出してもよい。
【００７７】
次に、有効操作量ＶＥから基準速度ＶＳを求める。具体的には、タッチ操作が開始されると、算出された有効操作量ＶＥに換算定数（たとえば１０）を乗じ、結果を基準速度ＶＳとする。基準速度ＶＳは、タッチ操作中、単位時間毎に算出される有効操作量ＶＥに基づいて、単位時間毎に更新される。
【００７８】
そして、基準速度ＶＳに対しては、減速定数（たとえば２）を減算する処理が、タッチ操作中か否かを問わず、単位時間毎に実行される。従って、タッチ操作終了後は、単位時間毎の減算処理だけが実行され、この結果、基準速度ＶＳはタッチ操作終了直前の値から徐々に小さくなっていく。
【００７９】
ただし、基準速度ＶＳを更新する際、ＶＳ＜ＶＳｍｉｎ（たとえば２）であればＶＳ＝０とする。こうして基準速度ＶＳに遊びを持たせることで、ホイール７２やリスト７０の細動が防止される。
【００８０】
次に、基準速度ＶＳをリスト移動量ＶＬとして、リスト７０をフラグＦに対応する方向にリスト移動量ＶＬだけ移動させる。また、基準速度ＶＳの基準円周Ｃに対する割合（ＶＳ／Ｃ）を３６０度に乗算し、結果をホイール回転量ＶＨ（＝３６０＊ＶＳ／Ｃ）として、ホイール７２をフラグＦに対応する向きにホイール回転量ＶＬだけ回転させる。
【００８１】
これにより、点Ａから点Ｂに向かうタッチ操作に対して、ホイール７２は操作ベクトルＡＢに応じた速度ＶＨで左回りに回転し、リスト７０は操作ベクトルＡＢに応じた速度ＶＬで上方向に移動する。これとは逆向きつまり点Ｂから点Ａに向かうタッチ操作に対しては、ホイール７２は操作ベクトルＢＡに応じた速度ＶＨで右回りに回転し、リスト７０は操作ベクトルＢＡに応じた速度ＶＬで下方向に移動する。
【００８２】
タッチ操作が終了すると、ホイール７２は、図９（Ａ）〜図９（Ｃ）に示すように、その回転速度ＶＨを単位時間毎に減速定数ずつで減じていき、ＶＨ＝０で停止する。一方、リスト７０は、図７（Ａ）〜図７（Ｃ），図８（Ａ）および図８（Ｂ）に示すように、その移動速度ＶＬを単位時間毎に減速定数ずつ減じていき、ＶＬ＝０で停止する。
【００８３】
ただし、リスト７０については、移動速度ＶＬを単純に定数ずつ減じていったのでは、所望のリスト要素が規定位置Ｐからずれた状態で停止する可能性がある。たとえば、図１０（Ａ）のようにリスト要素ＬＥ０５が基準位置Ｐに静止表示された状態で、ホイール７２を左回りに回転させるような操作（点Ｂから点Ａに向かうタッチ操作：図４参照）が行われ、応じてリスト７０が下向き（Ｆ＝０）に速度ＶＬ＝６で移動を開始したとする。
【００８４】
この場合、リスト移動速度ＶＬは、基準速度ＶＳに従って単位時間毎に減速定数（＝２）ずつ減少していく（図１０（Ｂ）および図１０（Ｃ）参照）。そしてＶＳ＝０となった時点（図１１（Ａ）参照）で、ＶＬ＝０となりリスト７０は停止するはずである。しかしこのとき、注目するリスト要素ＬＥ０４は未だ基準位置Ｐに達していない。そこで、リスト要素ＬＥ０４が基準位置Ｐに到達するまでの期間、リスト移動速度ＶＬをＶＬｍｉｎ（＝２）に維持する。
【００８５】
注目リスト要素が基準位置Ｐに到達したか否かの判別には、リストカウンタＬＣを利用する。リストカウンタＬＣは、いずれかのリスト要素が基準位置Ｐに静止表示されている状態で“０”を示し、タッチ操作に応答してそのリスト要素が基準位置Ｐを離れたとき初期値（たとえば１０）に変化する（図７（Ａ）参照）。以降、リスト７０の移動に従って減少していき（図７（Ｂ），図７（Ｃ）および図８（Ａ）参照）、次のリスト要素が基準位置に到達したとき“０”となる（図８（Ｃ）参照）。そこで、ＶＬ＜ＶＬｍｉｎ（＝２）となったときＬＣ＝０か否かを判別して、ＮＯであればＬＣ＝０となるまでの期間ＶＬ＝ＶＬｍｉｎとし、ＬＣ＝０となった時点でＶＬ＝０とする。
【００８６】
これにより、図１１（Ａ）の場合、ＶＳ＝０となってもＬＣ＝４なので、リスト７０は速度ＶＬ＝２で移動する。以降、図１１（Ｂ），図１１（Ｃ）および図１２（Ａ）に示すように、リストカウンタＬＣは“３”，“２”，“１”と減少していくが、リスト７０は速度ＶＬ＝２で移動し続ける。そして、図１２（Ｂ）に示すように、ＬＣ＝０となった時点でＶＬ＝０となり、この結果、リスト７０は規定位置Ｐで停止する。
【００８７】
従って、リスト７０の停止タイミングは、移動開始（図１０（Ａ）参照）から７単位時間後（図１２（Ｂ）参照）となる。なお、ホイール７２の停止タイミングは、基準速度ＶＳが０となった時点なので、移動開始から３単位時間経過後（図１１（Ａ）参照）である。
【００８８】
以上のようなリスト移動速度およびホイール回転速度の制御を行うに当たって、ＣＰＵコア４２は、図１３〜図２１のフロー図に従う処理を実行する。なお、これらのフロー図は、メモリ４８内のタッチ検出プログラム８２および図鑑情報処理プログラム８４（図３参照）に対応する。操作スイッチ１８等により図鑑機能を呼び出す操作が行われると、図１３に対応するメインルーチンが起動される。
【００８９】
図１３を参照して、メインルーチンでは、まずステップＳ１で初期化を行う。具体的には、座標記憶領域９０をクリアし、変数記憶領域９２の変数およびフラグ記憶領域９４のフラグをリセットする。続くステップＳ３では、タッチ操作中か否かを判別し、ＮＯであればステップＳ１１に進む。ステップＳ３でＹＥＳであれば、ステップＳ５〜Ｓ９を経てステップＳ１１に進む。
【００９０】
ステップＳ５では、タッチパネル２０を通してタッチ点の座標を検出する。検出されたタッチ座標は、次のステップＳ７でＲＡＭ４８の座標記憶領域９０に保持される。ステップＳ９では、座標記憶領域９０内の情報（操作ベクトル）に基づいて、回転方向（ｚ）および有効速度（ＶＥ）を算出する。
【００９１】
ステップＳ１１では、有効速度に基づいて基準速度（ＶＳ）を算出する。さらに基準速度から、リスト移動速度（ＶＬ）およびホイール回転速度（ＶＨ）をステップＳ１３およびＳ１５でそれぞれ算出する。次に、ステップＳ１７でリスト移動速度に基づいてリストカウンタ（ＬＣ）を制御し、ステップＳ１９では回転方向に基づいて方向フラグ（Ｆ）を制御する。
【００９２】
そして、ステップＳ２１でリスト７０を移動表示または静止表示し、ステップＳ２３ではホイール７２を回転表示または静止表示し、その後、ステップＳ３に戻る。なお、ステップＳ３〜Ｓ２３のループ処理は、単位時間毎に実行される。
【００９３】
上記ステップＳ９の回転方向および有効速度算出処理は、図１４のサブルーチンに従う。図１４を図５と共に参照して、ステップＳ４１では、ステップＳ５のタッチ検出が初回か否かを判別する。ＲＡＭ４８の座標記憶領域９０に前回のタッチ点の座標と今回のタッチ点の座標とが記憶されていれば、ステップＳ４１でＹＥＳと判別し、ステップＳ４３以降の処理を実行する。ステップＳ４１でＮＯであれば、メインルーチンに復帰する。
【００９４】
ステップＳ４３では、前回のタッチ点Ａの座標（ａ，ｂ）および今回のタッチ点Ｂの座標（ｃ，ｄ）に基づいて、回転方向ｚを求める。ここで回転方向ｚは、ベクトルＯＡとベクトルＯＢとの外積（ａ＊ｄ−ｂ＊ｃ）として計算され、正の値は左回りを、負の値は右回りをそれぞれ示す。
【００９５】
ステップＳ４５では、操作ベクトルＡＢ＝（ｃ−ａ，ｄ−ｂ）を求め、結果を（ｇ，ｈ）とする。ステップＳ４７では、ベクトルＯＡに垂直なベクトルＯＡ’＝（−ｂ，ａ）を求める。ステップＳ４９では、ベクトルＯＡ’を規格化し、結果を単位ベクトルＥ＝（ｅ，ｆ）とする。ステップＳ５１では、操作ベクトルＡＢと単位ベクトルＥとの内積（ｅ＊ｇ＋ｆ＊ｈ）を求め、結果を有効操作量ｄｉｓｔとする。ステップＳ５３では、有効操作量ｄｉｓｔの絶対値をとり、結果を有効速度ＶＥとする。
【００９６】
こうして操作ベクトルＡＢから有効速度ＶＥが求まると、ステップＳ５５で制御フラグＧ１を“１”とした後、メインルーチンに復帰する。
【００９７】
上記ステップＳ１１の基準速度算出処理は、図１５のサブルーチンに従う。図１５を参照して、ステップＳ６１では制御フラグＧ１が“１”であるか否かを判別し、ＮＯであればステップＳ６７に進む。ステップＳ６１でＹＥＳであれば、ステップＳ６３で有効速度ＶＥに換算定数（たとえば１０）を乗じ、結果を基準速度ＶＳとする。そして、ステップＳ６５でＧ１＝０とした後、ステップＳ６７に進む。
【００９８】
ステップＳ６７では、基準速度ＶＳが最小基準速度ＶＳｍｉｎ（たとえば２）以上であるか否かを判別し、ここでＹＥＳであれば、ステップＳ６９で基準速度ＶＳから減速定数を減算した後、メインルーチンに復帰する。ステップＳ６７でＮＯであれば、ステップＳ７１でＶＳ＝０とした後、メインルーチンに復帰する。
【００９９】
上記ステップＳ１３のリスト移動速度算出処理は、図１６のサブルーチンに従う。図１６を参照して、まずステップＳ８１で基準速度ＶＳをリスト移動速度ＶＬとする。ステップＳ８３では、リスト移動速度ＶＬが最小移動速度ＶＬｍｉｎ未満か否かを判別し、ＮＯであれば、すなわちＶＬ≧ＶＬｍｉｎであれば、メインルーチンに復帰する。
【０１００】
ステップＳ８３でＹＥＳであれば、ステップＳ８５でリストカウンタＬＣが“０”であるか否かを判別し、ここでＹＥＳであれば、ステップＳ８７でＶＬ＝０とした後、メインルーチンに復帰する。ステップＳ８５でＮＯであればステップＳ８９でＶＬ＝ＶＬｍｉｎとした後、メインルーチンに復帰する。
【０１０１】
上記ステップＳ１５のホイール回転速度算出処理は、図１７のサブルーチンに従う。図１７を参照して、ステップＳ１０１では、基準円周Ｃ（定数：図５および図６参照）に対する基準速度ＶＳ（＝ＶＥ＊換算定数）の割合（＝ＶＳ／Ｃ）を求める。ステップＳ１０３では、求めた割合を３６０度に乗じ、結果をホイール回転速度ＶＨ（＝３６０＊ＶＳ／Ｃ）とする。そして、メインルーチンに復帰する。
【０１０２】
上記ステップＳ１７のリストカウンタ制御処理は、図１８のサブルーチンに従う。図１８を参照して、ステップＳ１１１では、リスト移動速度ＶＬが“０”でないか否かを判別し、ＮＯであれば、すなわちＶＬ＝０であれば、メインルーチンに復帰する。ステップＳ１１１でＹＥＳであれば、ステップＳ１１３でリストカウンタＬＣが“０”であるか否かを判別する。ここでＮＯであれば、ステップＳ１１５で、リストカウンタＬＣがリスト移動速度ＶＬを変換定数（たとえば２）で除した結果よりも大きいか否かをさらに判別する。そしてステップＳ１１５でもＮＯであれば、ステップＳ１２５でＬＣ＝０とした後、メインルーチンに復帰する。
【０１０３】
ステップＳ１１３でＹＥＳであれば、ステップＳ１１７で次のリスト要素に注目し、ステップＳ１１９ではリストカウンタＬＣに初期値（たとえば１０）をセットし、そしてステップＳ１２１で制御フラグＧ２を“１”とした後、メインルーチンに復帰する。ステップＳ１１５でＹＥＳであれば、ステップＳ１２３でリストカウンタＬＣから｛ＶＬ／変換定数｝を減算し、そしてメインルーチンに復帰する。
【０１０４】
上記ステップＳ１９の方向フラグ制御処理は、図１９のサブルーチンに従う。図１９を参照して、ステップＳ１３１では、制御フラグＧ２が“１”であるか否かを判別し、ＮＯであればメインルーチンに復帰する。ステップＳ１３１でＹＥＳであれば、ステップＳ１３３でＧ２＝０とした後、ステップＳ１３５に移る。ステップＳ１３５では、回転方向ｚが“０”より大であるか否かを判別し、ここでＹＥＳであればステップＳ１３７で方向フラグＦを“０”とした後、メインルーチンに復帰する。ステップＳ１３５でＮＯであれば、ステップＳ１３９で方向フラグＦを“１”とした後、メインルーチンに復帰する。
【０１０５】
上記ステップＳ２１のリスト移動／静止表示処理は、図２０のサブルーチンに従う。図２０を参照して、ステップＳ１５１では、リスト移動速度ＶＬが“０”であるか否かを判別し、ＹＥＳであればステップＳ１５３でリスト７０を静止表示した後メインルーチンに復帰する。ＮＯであればステップＳ１５３で、リスト７０を方向フラグＦに対応する方向（Ｆ=０であれば上方向，Ｆ＝１であれば下方向）にリスト移動速度ＶＬだけ移動表示し、そしてメインルーチンに復帰する。
【０１０６】
上記ステップＳ２３のホイール回転／静止表示処理は、図２１のサブルーチンに従う。図２１を参照して、ステップＳ１６１では、ホイール回転速度ＶＨが“０”であるか否かを判別し、ＹＥＳであればステップＳ１６３でホイール７２を静止表示した後メインルーチンに復帰する。ＮＯであればステップＳ１６５で、ホイール７２を方向フラグＦに対応する方向（Ｆ=０であれば左回り，Ｆ＝１であれば右回り）にホイール回転速度ＶＨだけ回転表示し、そしてメインルーチンに復帰する。
【０１０７】
以上から明らかなように、この実施例では、ゲーム装置１０は、基準点Ｏに対する任意の点の位置を指定するためのポインティングデバイスとしてタッチパネル２０を備える。ゲーム装置１０のＣＰＵコア４２は、タッチパネル２０で指定された点の基準点Ｏに対する位置を単位時間毎に検出して（Ｓ５）、先後に検出された点Ａおよび点Ｂをそれぞれ始点および終点とする操作ベクトルＡＢを算出する（Ｓ４５）。そして、算出された操作ベクトルＡＢを、基準点Ｏおよび点Ａをそれぞれ始点および終点とするベクトルＯＡに垂直な直線に正射影し（Ｓ４７〜Ｓ５１）、これによって操作ベクトルＡＢから取り出された成分ベクトル（有効操作量）ｄｉｓｔに基づいて画像つまりホイール７２およびリスト７０を動かす（Ｓ１１〜Ｓ２３）。
【０１０８】
この実施例によれば、ポインティングデバイスで指定された点の移動距離すなわち操作量が同一であれば、指定点の基準点Ｏからの距離に関わらず同一の成分ベクトルｄｉｓｔが得られるため、操作者が指定点の基準点Ｏからの距離を考慮して操作量を調整しなくても、画像を所望の量だけ動かすことができる。また、任意の操作を回転操作と見なして、２つの点が検出された時点で成分ベクトルｄｉｓｔを算出するので、レスポンスが向上する。こうして、回転操作に対して的確にかつレスポンスよく画像を動かすことができる。
【０１０９】
以上では、一例として、タッチパネル２０を備え、これによる回転操作に応じて画像を動かすゲーム装置１０について説明したが、この発明は、ポインティングデバイス（タッチパネル，タブレット，マウスなど）を備え、これによる回転操作に応じて情報を処理する情報処理装置（パーソナルコンピュータ，ＰＤＡ，電子手帳／辞書，情報家電など）に適用できる。
【図面の簡単な説明】
【０１１０】
【図１】この発明の一実施例の外観を示す図解図である。
【図２】図１実施例の内部構成の一例を示すブロック図である。
【図３】図１実施例に適用されるＲＡＭのマッピング状態の一例を示す図解図である。
【図４】図１実施例に適用されるＬＣＤ表示例を示す図解図である。
【図５】図１実施例に適用される回転方向および有効速度算出方法を示す図解図である。
【図６】図１実施例に適用される回転方向および有効速度算出方法の特徴を図５との比較により示す図解図である。
【図７】（Ａ）〜（Ｃ）は図１実施例に適用されるリスト移動処理の一例を時系列的に示す図解図である。
【図８】（Ａ）および（Ｂ）は図７の処理例の続き示す図解図である。
【図９】（Ａ）〜（Ｃ）は図１実施例に適用されるホイール回転処理の一例を時系列的に示す図解図である。
【図１０】（Ａ）〜（Ｃ）は図１実施例に適用されるリスト移動処理の他の一例を時系列的に示す図解図である。
【図１１】（Ａ）〜（Ｃ）は図１０の処理例の続きを示す図解図である。
【図１２】（Ａ）および（Ｂ）は図１０の処理例のさらに続きを示す図解図である。
【図１３】図１実施例に適用されるＣＰＵコアの動作の一部を示すフロー図である。
【図１４】図１実施例に適用されるＣＰＵコアの動作の他の一部を示すフロー図である。
【図１５】図１実施例に適用されるＣＰＵコアの動作のその他の一部を示すフロー図である。
【図１６】図１実施例に適用されるＣＰＵコアの動作のさらにその他の一部を示すフロー図である。
【図１７】図１実施例に適用されるＣＰＵコアの動作の他の一部を示すフロー図である。
【図１８】図１実施例に適用されるＣＰＵコアの動作のその他の一部を示すフロー図である。
【図１９】図１実施例に適用されるＣＰＵコアの動作のさらにその他の一部を示すフロー図である。
【図２０】図１実施例に適用されるＣＰＵコアの動作の他の一部を示すフロー図である。
【図２１】図１実施例に適用されるＣＰＵコアの動作のその他の一部を示すフロー図である。
【符号の説明】
【０１１１】
１０  …ゲーム装置
１２，１４  …ＬＣＤ
１８（１８ａ−１８ｈ，１８Ｌおよび１８Ｒ）  …操作スイッチ
２０  …タッチパネル
２４  …スティック
２６  …メモリカード
４２  …ＣＰＵコア
４８  …ＲＡＭ
７０  …リスト
７２  …ホイール
Ｏ  …基準点
Ｐ  …規定位置
【図１】
2008083796.tif 000003
【図２】
2008083796.tif 000004
【図３】
2008083796.tif 000005
【図４】
2008083796.tif 000006
【図５】
2008083796.tif 000007
【図６】
2008083796.tif 000008
【図７】
2008083796.tif 000009
【図８】
2008083796.tif 000010
【図９】
2008083796.tif 000011
【図１０】
2008083796.tif 000012
【図１１】
2008083796.tif 000013
【図１２】
2008083796.tif 000014
【図１３】
2008083796.tif 000015
【図１４】
2008083796.tif 000016
【図１５】
2008083796.tif 000017
【図１６】
2008083796.tif 000018
【図１７】
2008083796.tif 000019
【図１８】
2008083796.tif 000020
【図１９】
2008083796.tif 000021
【図２０】
2008083796.tif 000022
【図２１】
2008083796.tif 000023