(57)【要約】【課題】  ポインティングデバイスを用いてジョイスティックを模した操作を行い、プレイヤの操作感覚に一致させることによって操作の混乱を防ぎ、操作のレスポンスも向上させたゲームプログラム、ゲーム装置、および入力装置を提供する。【解決手段】  スティック方向をドラッグ方向に近づける処理によって、スティック値が示す方向がタッチパネルをプレイヤがタッチ操作するドラッグ方向に近づいていく。したがって、プレイヤのタッチ操作方向に近い方向がスティック方向となり、ジョイスティックを操作するような感覚でタッチパネルを操作することができる。【選択図】  図３
2006034517.tif 000002
【特許請求の範囲】
【請求項１】
プレイヤの操作に応じて指定される所定の座標系に基づいた座標情報を出力するポインティングデバイスによって操作されるゲーム装置のコンピュータに実行されるゲームプログラムであって、
前記コンピュータに、
前記座標系においてゲーム制御に用いられる方向を示す入力方向を初期設定する初期入力方向設定ステップと、
前記ポインティングデバイスから出力される座標情報に基づいて、前記座標系における指示座標を設定する指示座標設定ステップと、
前回に設定された前記指示座標から、現在設定されている前記指示座標に向かう前記座標系における方向をドラッグ方向として設定するドラッグ方向設定ステップと、
現在保持されている前記入力方向と、前記ドラッグ方向設定ステップによって設定された前記ドラッグ方向との両方に基づいて、前記入力方向を更新して保持する入力方向更新ステップと、
現在保持されている前記入力方向に基づいて、ゲーム制御を行うゲーム制御ステップとを実行させる、ゲームプログラム。
【請求項２】
前記入力方向更新ステップは、現在保持されている入力方向を前記ドラッグ方向に近づけるように、前記入力方向を更新することを特徴とする、請求項１に記載のゲームプログラム。
【請求項３】
前記入力方向更新ステップは、
現在保持されている前記入力方向から前記ドラッグ方向までの角度差分を求める差分演算ステップと、
前記角度差分に所定数値を乗算し、当該乗算した角度差分を現在保持されている前記入力方向に加算することによって、更新して保持する入力方向を演算する入力方向演算ステップとを含む、請求項２に記載のゲームプログラム。
【請求項４】
前記入力方向演算ステップが用いる所定数値は、０より大きく１より小さい数値であることを特徴とする、請求項３に記載のゲームプログラム。
【請求項５】
前記ポインティングデバイスから出力される座標情報に基づいて設定される前記指示座標の周辺に周辺領域を設定する周辺領域設定ステップを、さらに前記コンピュータに実行させ、
前記指示座標設定ステップは、前記ポインティングデバイスから新たに出力される座標情報が示す位置が前記周辺領域内のとき前記指示座標を変更せず、当該新たに出力される座標情報が示す位置が前記周辺領域外のとき、当該座標情報が示す位置に基づいて前記指示座標を変更することを特徴とする、請求項１に記載のゲームプログラム。
【請求項６】
前記ポインティングデバイスから座標情報の出力がなくなったとき、当該出力がなくなる前の前記入力方向を記憶する入力方向記憶ステップを、さらに前記コンピュータに実行させ、
前記ポインティングデバイスから座標情報の出力が再開されたとき、前記入力方向更新ステップは、前記入力方向記憶ステップで記憶した入力方向を用いて、当該入力方向を更新することを特徴とする、請求項１に記載のゲームプログラム。
【請求項７】
前記ゲーム制御ステップは、前記ポインティングデバイスから座標情報の出力がなくなったとき、当該出力がなくなる前の前記入力方向に基づいて、ゲーム制御を継続して行うことを特徴とする、請求項１に記載のゲームプログラム。
【請求項８】
プレイヤの操作に応じて指定される所定の座標系に基づいた座標情報を出力するポインティングデバイスによって操作されるゲーム装置であって、
前記座標系においてゲーム制御に用いられる方向を示す入力方向を初期設定する初期入力方向設定手段と、
前記ポインティングデバイスから出力される座標情報に基づいて、前記座標系における指示座標を設定する指示座標設定手段と、
前回に設定された前記指示座標から、現在設定されている前記指示座標に向かう前記座標系における方向をドラッグ方向として設定するドラッグ方向設定手段と、
現在保持されている前記入力方向と、前記ドラッグ方向設定手段によって設定された前記ドラッグ方向との両方に基づいて、前記入力方向を更新して保持する入力方向更新手段と、
現在保持されている前記入力方向に基づいて、ゲーム制御を行うゲーム制御手段とを備える、ゲーム装置。
【請求項９】
所定の座標系における方向を示す入力方向に基づいてゲーム制御を行うゲーム装置に情報を入力する入力装置であって、
プレイヤの操作に応じて指定される前記座標系に基づいた座標情報を出力する座標情報出力手段と、
前記入力方向を初期設定する初期入力方向設定手段と、
前記ポインティングデバイスから出力される座標情報に基づいて、前記座標系における指示座標を設定する指示座標設定手段と、
前回に設定された前記指示座標から、現在設定されている前記指示座標に向かう前記座標系における方向をドラッグ方向として設定するドラッグ方向設定手段と、
現在保持されている前記入力方向と、前記ドラッグ方向設定手段によって設定された前記ドラッグ方向との両方に基づいて、前記入力方向を更新して保持する入力方向更新手段とを備える、入力装置。
【請求項１０】
ユーザの操作に応じて指定される所定の座標系に基づいた座標情報を出力するポインティングデバイスによって操作される情報処理装置のコンピュータに実行されるプログラムであって、
前記コンピュータに、
前記座標系において操作処理に用いられる方向を示す入力方向を初期設定する初期入力方向設定ステップと、
前記ポインティングデバイスから出力される座標情報に基づいて、前記座標系における指示座標を設定する指示座標設定ステップと、
前回に設定された前記指示座標から、現在設定されている前記指示座標に向かう前記座標系における方向をドラッグ方向として設定するドラッグ方向設定ステップと、
現在保持されている前記入力方向と、前記ドラッグ方向設定ステップによって設定された前記ドラッグ方向との両方に基づいて、前記入力方向を更新して保持する入力方向更新ステップと、
現在保持されている前記入力方向に基づいて、操作処理を行う操作処理ステップとを実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームプログラム、ゲーム装置、および入力装置に関し、より特定的には、タッチパネル等のポインティングデバイスを用いたコンピュータゲームで用いられるゲームプログラム、ゲーム装置、および入力装置に関する。
【背景技術】
【０００２】
従来、ジョイスティックをコントローラとして用いるゲームが各種開発されている。ジョイスティックにはレバーが設けられており、当該レバーをプレイヤが前後左右に倒すことによってその方向に応じた入力が行われる。一般的には、ジョイスティックを倒した方向を入力方向としてゲーム装置で処理される。そして、プレイヤがジョイスティックのレバーをある方向に倒してその位置で保持している場合、その位置情報が継続的に出力されて入力方向としてゲーム装置で処理される。なお、ジョイスティックは、家庭用ゲーム装置のコントローラの他に、一般的なパーソナルコンピュータにも用いられる。
【０００３】
一方、プレイヤがタッチパネルを用いて操作する入力装置も開発されている（例えば、特許文献１および特許文献２参照）。特許文献１で開示された入力装置は、当該特許文献１の図１および図３に示されているように、プレイヤがタッチパネルを使用し、予めタッチパネル上の決められた原点からポインティングした点への方向および距離を、カーソルの移動方向および移動速度に利用していた。また、特許文献２で開示された入力装置では、当該特許文献２の図６に示されているように、タッチパネルが装着されたディスプレイにゲーム画面が表示されている。そして、プレイヤがタッチパネルをタッチした指の動きのベクトル量に応じた動きで、タッチして選択された対象をゲーム画面上で移動させる。
【０００４】
ここで、タッチパネルを備えるゲーム装置でジョイスティックを模した操作を実現することができれば便利である。この場合、結果的に欲しい情報は、ジョイスティックの入力値に相当するＸＹ２軸のベクトル値である。このベクトル値を、スティック座標系でベクトル値（ｓｘ、ｓｙ）と表す。そして、このベクトル値（ｓｘ、ｓｙ）が示す方向がジョイスティックを倒している方向となる。また、ジョイスティックを最大まで倒した状態を長さ「１」と設定する。この場合、ｓｘ＝−１〜＋１、ｓｙ＝−１〜＋１であり、長さ「０」の時、ジョイスティックがニュートラル（直立）状態であることを示す。
【０００５】
また、スティック座標系のベクトル値（ｓｘ、ｓｙ）は、タッチパネル座標系で示されるタッチパネル上にある原点（ｏｘ、ｏｙ）およびプレイヤがタッチパネルを押圧している点（ｔｘ、ｔｙ）を用いて、次の式から求められる。
ｓｘ＝（ｔｘ−ｏｘ）×ｒａｔｉｏ
ｓｙ＝（ｔｙ−ｏｙ）×ｒａｔｉｏ
ここで、ｒａｔｉｏは、タッチパネル座標系のどれくらいの長さをスティック座標系での長さ「１」と見なすかを定める変換比率である。例えば、タッチパネル座標系で原点から長さ「１０」離れた所で、スティック座標系の「１」と見なす場合は、ｒａｔｉｏ＝１÷１０＝０．１に設定される。
【特許文献１】特開平１１−５３１１５号公報
【特許文献２】特開平７−１８２０９２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上記特許文献１に開示された発明は、タッチパネルを押圧している点と原点との差を情報処理に利用したものであるが、特許文献１に開示された発明の入力方式をそのままジョイスティックを模した操作に適用すると種々の問題点がある。図７を参照して、特許文献１で開示された入力装置における課題を説明する。なお、紙面において左右方向をタッチパネル座標のＸ軸方向（右方向がプラス方向）とし、上下方向をＹ軸方向（上方がプラス方向）とする。また、Ｏがタッチパネル座標の原点である。図７は、プレイヤがタッチパネルを用いて真上へのスティック入力（ジョイスティックを真上に倒すことに相当する入力；スティック座標値がｓｘ＝０かつｓｙ＞０になるような入力）から右方向へのスティック入力（ジョイスティックを真右に倒すことに相当する入力；スティック座標値がｓｘ＞０かつｓｙ＝０になるような入力）に移行する際の操作例を示している。なお、図７において、手を表すマークが記されているが、これは、タッチパネルを押圧するプレイヤの手を模式的に表したものである。
【０００７】
図７（ａ）において、タッチパネルを用いて真上へのスティック入力を行う場合、プレイヤは、タッチパネルに設けられた原点Ｏ（ｏｘ、ｏｙ）の上方向（Ｙ軸に平行でＹ値が増す方向）にある点Ｔ１（ｔ１ｘ、ｔ１ｙ）を押圧する。そして、原点（ｏｘ、ｏｙ）および点Ｔ１（ｔ１ｘ、ｔ１ｙ）を用いて、真上方向のベクトル値Ｖ１が得られる。
【０００８】
一方、図７（ｂ）において、タッチパネルを用いて右方向へのスティック入力を行う場合、プレイヤは、タッチパネルに設けられた原点Ｏ（ｏｘ、ｏｙ）の右方向（Ｘ軸に平行でＸ軸が増す方向）にある点Ｔ２（ｔ２ｘ、ｔ２ｙ）を押圧する必要がある。そして、原点（ｏｘ、ｏｙ）および点Ｔ２（ｔ２ｘ、ｔ２ｙ）を用いて、右方向のベクトル値Ｖ２が得られる。したがって、プレイヤは、タッチパネルを用いて真上へのスティック入力から、右方向へのスティック入力に移行する際、図示破線で示すように点Ｔ１から見て右下のタッチポイントを目指してタッチパネルを押圧しなければならない。つまり、右方向へのスティック入力をしたい場合、プレイヤの操作としては現在ポインティングしている点から右方向（Ｘ軸に平行でＸ軸が増す方向）へ押圧点を動かしたくなるが（またはそのほうが都合が良いが）、現在ポインティングしている点が原点からみて上下方向にずれている場合、右方向に押圧点を動かしただけではいけないことになる。例えば、現在ポインティングしている点が原点の上方向である場合、右方向のスティック入力をする為には右下方向へ移動させる必要があり、感覚のズレが操作の混乱を招いてしまうし、原点の位置を絶えず確認しておく必要がある。実際のジョイスティックの場合、レバーをガイドする枠があるため、例えば上方向最大までレバーを倒した状態から右方向へ傾倒力を加えた場合、レバーはガイドに沿って自然と右下方向に移動し、やがて右方向最大までレバーを倒した状態となる。しかしながら、タッチパネルを用いてジョイスティックを模した操作を実現する場合、上記のようなガイドがないため、プレイヤは意図的に右下方向に押圧点を移動しなければならないのである。また、実際のジョイスティックの場合、レバーの傾倒状態は指や手の感覚で感じ取ることができるため、ジョイスティックの原点を目で確認する必要がないが、タッチパネルを用いてジョイスティックを模した操作を実現する場合、指の感覚で原点を感じることができないため、原点の位置を目で確認する必要が生じてしまうのである。
【０００９】
なお、特許文献１には、プレイヤの指の移動軌跡にあわせ相対的にカーソルを移動させる方式も開示されている。また、特許文献２では、プレイヤがタッチパネルをタッチした指の動きのベクトルに応じた動きで、タッチして選択された対象をゲーム画面上で移動させる方式が開示されている。しかしながら、これらの方式では、プレイヤの指が移動しない限り入力がされないため、ジョイスティックを模した入力を実現することができない。なぜなら、実際のジョイスティックはレバーを所定位置で保持しているときに一定の入力が継続して出力されるものであるからである。より具体的に言えば、タッチした指の動きのベクトルに応じた動きでゲームオブジェクトを移動させる場合、ゲームオブジェクトを移動させるためには指を動かし続けなければならない。
【００１０】
それ故に、本発明の目的は、ポインティングデバイスを用いてジョイスティックを模した操作を行い、プレイヤの操作感覚に一致させることによって操作の混乱を防ぎ、操作のレスポンスも向上させたゲームプログラム、ゲーム装置、および入力装置を提供することである。
【課題を解決するための手段】
【００１１】
上記の目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号やステップ番号（ステップをＳと略称しステップ番号のみを記載する）等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。
【００１２】
第１の発明は、ポインティングデバイス（１３）によって操作されるゲーム装置（１）のコンピュータ（２１）に実行されるゲームプログラムである。ポインティングデバイスは、プレイヤの操作に応じて指定される所定の座標系（タッチパネル座標系）に基づいた座標情報（ｔｘ、ｔｙ）を出力する。ゲームプログラムは、コンピュータに、初期入力方向設定ステップ（Ｓ４２）、指示座標設定ステップ（Ｓ４３、Ｓ４４）、ドラッグ方向設定ステップ（Ｓ４６）、入力方向更新ステップ（Ｓ７７、Ｓ７８）、およびゲーム制御ステップ（Ｓ５０）を実行させる。初期入力方向設定ステップは、座標系においてゲーム制御に用いられる方向を示す入力方向（ｓａ）を初期設定する。指示座標設定ステップは、ポインティングデバイスから出力される座標情報に基づいて、座標系における指示座標（接触点（ｔｘ、ｔｙ））を設定する。ドラッグ方向設定ステップは、前回に設定された指示座標（旧接触点（ｏｘ、ｏｙ））から、現在設定されている指示座標に向かう座標系における方向をドラッグ方向（ｄａ）として設定する。入力方向更新ステップは、現在保持されている入力方向と、ドラッグ方向設定ステップによって設定されたドラッグ方向との両方に基づいて、入力方向を更新して保持する。ゲーム制御ステップは、現在保持されている入力方向に基づいて、ゲーム制御を行う。なお、ポインティングデバイスは、画面上での入力位置や座標を指定する入力装置であり、例えば、タッチパネル、マウス、トラックパッド、トラックボールなどで実現される。そして、それぞれの入力装置で用いられる座標系は、タッチパネル座標系や画面座標系である。
【００１３】
第２の発明は、上記第１の発明において、入力方向更新ステップは、現在保持されている入力方向をドラッグ方向に近づけるように、入力方向を更新する（Ｓ７７、Ｓ７８）。
【００１４】
第３の発明は、上記第２の発明において、入力方向更新ステップは、差分演算ステップ（Ｓ７１）および入力方向演算ステップ（Ｓ７７）を含む。差分演算ステップは、現在保持されている入力方向からドラッグ方向までの角度差分（ｖ）を求める。入力方向演算ステップは、角度差分に所定数値（ｐ）を乗算し、その乗算した角度差分を現在保持されている入力方向に加算することによって、更新して保持する入力方向を演算する。
【００１５】
第４の発明は、第３の発明において、入力方向更新ステップが用いる所定数値は、０より大きく１より小さい数値である。
【００１６】
第５の発明は、第１の発明において、周辺領域設定ステップを、さらにコンピュータに実行させる。周辺領域設定ステップは、ポインティングデバイスから出力される座標情報に基づいて設定される指示座標の周辺に周辺領域（遊び範囲）を設定する。指示座標設定ステップは、ポインティングデバイスから新たに出力される座標情報が示す位置が周辺領域内のとき指示座標を変更せず、その新たに出力される座標情報が示す位置が周辺領域外のとき、その座標情報が示す位置に基づいて指示座標を変更する。
【００１７】
第６の発明は、第１の発明において、入力方向記憶ステップを、さらにコンピュータに実行させる。入力方向記憶ステップは、ポインティングデバイスから座標情報の出力がなくなったとき、その出力がなくなる前の入力方向を記憶する。ポインティングデバイスから座標情報の出力が再開されたとき、入力方向更新ステップは、入力方向記憶ステップで記憶した入力方向を用いて、その入力方向を更新する。
【００１８】
第７の発明は、第１の発明において、ゲーム制御ステップは、ポインティングデバイスから座標情報の出力がなくなったとき、その出力がなくなる前の入力方向に基づいて、ゲーム制御を継続して行う。
【００１９】
第８の発明は、ポインティングデバイスによって操作されるゲーム装置である。ポインティングデバイスは、プレイヤの操作に応じて指定される所定の座標系に基づいた座標情報を出力する。ゲーム装置は、初期入力方向設定手段、指示座標設定手段、ドラッグ方向設定手段、入力方向更新手段、およびゲーム制御手段を備える。初期入力方向設定手段は、座標系においてゲーム制御に用いられる方向を示す入力方向を初期設定する。指示座標設定手段は、ポインティングデバイスから出力される座標情報に基づいて、座標系における指示座標を設定する。ドラッグ方向設定手段は、前回に設定された指示座標から、現在設定されている指示座標に向かう座標系における方向をドラッグ方向として設定する。入力方向更新手段は、現在保持されている入力方向と、ドラッグ方向設定手段によって設定されたドラッグ方向との両方に基づいて、入力方向を更新して保持する。ゲーム制御手段は、現在保持されている入力方向に基づいて、ゲーム制御を行う。
【００２０】
第９の発明は、ゲーム装置に情報を入力する入力装置である。ゲーム装置は、所定の座標系における方向を示す入力方向に基づいてゲーム制御を行う。入力装置は、座標情報出力手段（１３）、初期入力方向設定手段、指示座標設定手段、ドラッグ方向設定手段、および入力方向更新手段を備える。座標情報出力手段は、プレイヤの操作に応じて指定される座標系に基づいた座標情報を出力する。初期入力方向設定手段は、入力方向を初期設定する。指示座標設定手段は、ポインティングデバイスから出力される座標情報に基づいて、座標系における指示座標を設定する。ドラッグ方向設定手段は、前回に設定された指示座標から、現在設定されている指示座標に向かう座標系における方向をドラッグ方向として設定する。入力方向更新手段は、現在保持されている入力方向と、ドラッグ方向設定手段によって設定されたドラッグ方向との両方に基づいて、入力方向を更新して保持する。
【００２１】
第１０の発明は、ポインティングデバイスによって操作される情報処理装置のコンピュータに実行されるプログラムである。ポインティングデバイスは、ユーザの操作に応じて指定される所定の座標系に基づいた座標情報を出力する。プログラムは、コンピュータに、初期入力方向設定ステップ、指示座標設定ステップ、ドラッグ方向設定ステップ、入力方向更新ステップ、および操作処理制御ステップを実行させる。初期入力方向設定ステップは、座標系において操作処理に用いられる方向を示す入力方向を初期設定する。指示座標設定ステップは、ポインティングデバイスから出力される座標情報に基づいて、座標系における指示座標を設定する。ドラッグ方向設定ステップは、前回に設定された指示座標から、現在設定されている指示座標に向かう座標系における方向をドラッグ方向として設定する。入力方向更新ステップと、現在保持されている入力方向と、ドラッグ方向設定ステップによって設定されたドラッグ方向との両方に基づいて、入力方向を更新して保持する。操作処理ステップは、現在保持されている入力方向に基づいて、操作処理を行う。
【発明の効果】
【００２２】
第１の発明によれば、ゲーム制御に用いられる入力方向がドラッグ方向に基づいて更新される。つまり、プレイヤの連続したタッチ操作の方向であるドラッグ方向に基づいて入力方向が更新されるため、当該ドラッグ方向の影響を受けた入力方向に更新することができる。
【００２３】
第２の発明によれば、入力方向をドラッグ方向（プレイヤが連続的にタッチ操作した方向）に近づけるため、プレイヤの操作感覚に一致した入力を実現させることができる。
【００２４】
第３の発明によれば、入力方向およびドラッグ方向の間で形成される角度差分を用いて、新たな入力方向に更新することによって、容易に入力方向をドラッグ方向に近づける処理を実現することができ、所定数値の設定によってゲーム毎のレスポンスや操作性に応じた適切な更新を行うことができる。
【００２５】
第４の発明によれば、所定数値を０より大きく１より小さい範囲で設定することによって、ドラッグ方向に入力方向を確実に近づける割合の調整が可能であり、ゲーム毎のレスポンスや操作性に応じて最良の値に調整することができる。また、ドラッグ方向がそのまま入力方向に設定されないため、入力方向の急激な変化を防止することができる。
【００２６】
第５の発明によれば、ポインティングデバイスから指示される座標情報が１点に特定できずに変動しても、処理に使用する指示座標を座標情報とは別に定め、当該座標情報が示す位置に遊びを持たせることができる。
【００２７】
第６の発明によれば、入力方向が継続されているため、操作が途切れることなくゲームを楽しむことができる。また、プレイヤが意図しない状態で操作が途切れても、そのままの操作状態でゲームを継続することができる。
【００２８】
第７の発明によれば、プレイヤが同じ操作を長時間継続することが不要となり、同じ操作を継続する操作が容易になる。
【００２９】
また、本発明のゲーム装置、入力装置、およびプログラムによれば、上述したゲームプログラムと同様の効果を得ることができる。
【発明を実施するための最良の形態】
【００３０】
図面を参照して、本発明の一実施形態に係るゲームプログラムを実行するゲーム装置について説明する。なお、図１は、本発明のゲームプログラムを実行するゲーム装置１の外観図である。ここでは、ゲーム装置１の一例として、携帯ゲーム装置を示す。
【００３１】
図１において、本実施形態のゲーム装置１は、２つの液晶表示器（ＬＣＤ）１１および１２を所定の配置位置となるように、ハウジング１８に収納して構成される。具体的には、第１液晶表示器（以下、「ＬＣＤ」という）１１および第２ＬＣＤ１２を互いに上下に配置して収納する場合は、ハウジング１８が下部ハウジング１８ａおよび上部ハウジング１８ｂから構成され、上部ハウジング１８ｂが下部ハウジング１８ａの上辺の一部で回動自在に支持される。上部ハウジング１８ｂは、第１ＬＣＤ１１の平面形状よりも少し大きな平面形状を有し、一方主面から第１ＬＣＤ１１の表示画面を露出するように開口部が形成される。下部ハウジング１８ａは、その平面形状が上部ハウジング１８ｂよりも横長に選ばれ、横方向の略中央部に第２ＬＣＤ１２の表示画面を露出する開口部が形成され、第２ＬＣＤ１２を挟む何れか一方にスピーカ１５の音抜き孔が形成されるとともに、第２ＬＣＤ１２を挟む左右に操作スイッチ部１４が装着される。
【００３２】
操作スイッチ部１４は、第２ＬＣＤ１２の右横における下部ハウジング１８ａの一方主面に装着される動作スイッチ（Ａボタン）１４ａおよび動作スイッチ（Ｂボタン）１４ｂと、第２ＬＣＤ１２の左横における下部ハウジング１８ａの一方主面に装着される方向指示スイッチ（十字キー）１４ｃと、スタートスイッチ１４ｄと、セレクトスイッチ１４ｅと、側面スイッチ１４ｆおよび１４ｇとを含む。動作スイッチ１４ａおよび１４ｂは、例えばサッカーゲーム等のスポーツゲームにおいてはパスやシュートを行う等の指示、アクションゲームにおいてはジャンプ、パンチ、武器を動かす等の指示、ロールプレイングゲーム（ＲＰＧ）やシミュレーションＲＰＧにおいてはアイテムの取得、武器またはコマンドの選択決定等の指示入力に使用される。方向指示スイッチ１４ｃは、プレイヤによって操作スイッチ部１４を用いて操作可能なプレイヤオブジェクト（またはプレイヤキャラクタ）の移動方向を指示したり、カーソルの移動方向を指示したりする等のゲーム画面における方向指示に用いられる。側面スイッチ（Ｌボタン）１４ｆおよび側面スイッチ（Ｒボタン）１４ｇは、下部ハウジング１８ａにおける上部面（上部側面）の左右に設けられる。また、必要に応じて、動作スイッチをさらに追加してもかまわない。
【００３３】
また、第２ＬＣＤ１２の上面には、本発明の入力装置の一例としてタッチパネル１３（図１における破線領域）が装着される。タッチパネル１３は、例えば、抵抗膜方式、光学式（赤外線方式）、静電容量結合式の何れの種類でもよく、その上面をスタイラス１６（または指でも可）で押圧操作、移動操作、または撫でる操作をしたとき、スタイラス１６の座標位置を検出して座標データを出力するポインティングデバイスの一例である。
【００３４】
上部ハウジング１８ｂの側面近傍には、必要に応じてタッチパネル１３を操作するスタイラス１６を収納するための収納孔（図１における二点破線領域）が形成される。この収納孔には、スタイラス１６が収納される。下部ハウジング１８ａの側面の一部には、ゲームプログラムを記憶したメモリ（例えば、ＲＯＭ）を内蔵したゲームカートリッジ１７（以下、単にカートリッジ１７と記載する）を着脱自在に装着するためのカートリッジ挿入部（図１における一点破線領域）が形成される。カートリッジ１７は、ゲームプログラムを記憶する情報記憶媒体であり、例えば、ＲＯＭまたはフラッシュメモリのような不揮発性半導体メモリが用いられる。カートリッジ挿入部の内部には、カートリッジ１７と電気的に接続するためのコネクタ（図２参照）が内蔵される。さらに、下部ハウジング１８ａ（または上部ハウジング１８ｂでも可）には、ＣＰＵ等の各種電子部品を実装した電子回路基板が収納される。なお、ゲームプログラムを記憶する情報記憶媒体としては、上記不揮発性半導体メモリに限らず、ＣＤ−ＲＯＭ、ＤＶＤ、あるいはそれらに類する光学式ディスク状記憶媒体でもよい。
【００３５】
次に、図２を参照して、ゲーム装置１の内部構成について説明する。なお、図２は、ゲーム装置１の内部構成を示すブロック図である。
【００３６】
図２において、ハウジング１８に収納される電子回路基板には、ＣＰＵコア２１が実装される。ＣＰＵコア２１には、所定のバスを介して、カートリッジ１７と接続するためのコネクタ２８が接続されるとともに、入出力インターフェース（Ｉ／Ｆ）回路２７、第１のグラフィック処理ユニット（第１ＧＰＵ）２４、第２のグラフィック処理ユニット（第２ＧＰＵ）２６、およびワーキングＲＡＭ（ＷＲＡＭ）２２が接続される。
【００３７】
コネクタ２８には、カートリッジ１７が着脱自在に接続される。カートリッジ１７は、上述したようにゲームプログラムを格納するための記憶媒体であり、具体的には、ゲームプログラムを記憶するＲＯＭ１７１とバックアップデータを書き換え可能に記憶するＲＡＭ１７２とを搭載する。カートリッジ１７のＲＯＭ１７１に記憶されたゲームプログラムは、ＷＲＡＭ２２にロードされ、当該ＷＲＡＭ２２にロードされたゲームプログラムがＣＰＵコア２１によって実行される。ＣＰＵコア２１がゲームプログラムを実行して得られる一時的なデータや画像を生成するためのデータがＷＲＡＭ２２に記憶される。
【００３８】
このように、ＲＯＭ１７１には、ゲーム装置１のコンピュータ、特にＣＰＵコア２１によって実行可能な形式の命令群及びデータ群であるゲームプログラムが記録される。そして、このゲームプログラムは、ＷＲＡＭ２２に適宜読み込まれ実行される。なお、本実施例では、ゲームプログラムなどをカートリッジ１７に記録させたが、これらゲームプログラムを他の媒体や通信回線を通じて供給することもできる。
【００３９】
Ｉ／Ｆ回路２７には、タッチパネル１３、操作スイッチ部１４、およびスピーカ１５が接続される。スピーカ１５は、上述した音抜き孔の内側位置に配置される。
【００４０】
第１ＧＰＵ２４には、第１ビデオＲＡＭ（以下「ＶＲＡＭ」）２３が接続され、第２ＧＰＵ２６には、第２のビデオＲＡＭ（以下「ＶＲＡＭ」）２５が接続される。第１ＧＰＵ２４は、ＣＰＵコア２１からの指示に応じて、ＷＲＡＭ２２に記憶される画像を生成するためのデータに基づいて第１ゲーム画像を生成し、第１ＶＲＡＭ２３に描画する。第２ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて、ＷＲＡＭ２２に記憶される画像を生成するためのデータに基づいて第２ゲーム画像を生成し、第２ＶＲＡＭ２５に描画する。
【００４１】
第１ＧＰＵ２４が第１ＬＣＤ１１に接続され、第２ＧＰＵ２６が第２ＬＣＤ１２に接続される。第１ＧＰＵ２４は、ＣＰＵコア２１からの指示に応じて第１ＶＲＡＭ２３に描画された第１ゲーム画像を第１ＬＣＤ１１に出力する。そして、第１ＬＣＤ１１は、第１ＧＰＵ２４から出力された第１ゲーム画像を表示する。第２ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて第２ＶＲＡＭ２５に描画された第２ゲーム画像を第２ＬＣＤ１２に出力する。そして、第２ＬＣＤ１２は、第２ＧＰＵ２６から出力された第２ゲーム画像を表示する。
【００４２】
Ｉ／Ｆ回路２７は、タッチパネル１３、操作スイッチ部１４、およびスピーカ１５等の外部入出力装置とＣＰＵコア２１との間のデータの受け渡しを行う回路である。タッチパネル１３（タッチパネル用のデバイスドライバを含む）は、第２ＶＲＡＭ２５の座標系に対応するタッチパネル座標系を有し、スタイラス１６等によって入力（指示）された位置に対応する位置座標のデータを出力するものである。例えば、第２ＬＣＤ１２の表示画面の解像度は２５６ｄｏｔ×１９２ｄｏｔであり、タッチパネル１３の検出精度も表示画面に対応した２５６ｄｏｔ×１９２ｄｏｔである。なお、タッチパネル１３の検出精度は、第２ＬＣＤ１２の表示画面の解像度よりも低いものであってもよいし、高いものであってもよい。
【００４３】
次に、図３〜図６を参照して、本発明のゲームプログラムによってゲーム装置１で実行されるタッチパネル１３から入力される情報に基づいた処理について説明する。なお、図３は、当該ゲームプログラムを実行することによってゲーム装置１が処理する動作を示すフローチャートである。図４は、図３におけるステップ４２のタッチ開始時の初期化処理について詳細な動作を示すサブルーチンである。図５は、図３におけるステップ４８のスティック方向を現在のベクトル方向に近づける処理について詳細な動作を示すサブルーチンである。図６は、図３に示すフローチャートに基づいた動作によって処理されるタッチ操作の一例を示す図である。なお、これらの処理を実行するためのプログラムは、ＲＯＭ１７１に格納されたゲームプログラムに含まれており、ゲーム装置１の電源がオンになったときに、ＲＯＭ１７１からＷＲＡＭ２２に読み出されて、ＣＰＵコア２１によって実行される。
【００４４】
まず、ゲーム装置１の電源（図示せず）がＯＮされると、ＣＰＵコア２１によってブートプログラム（図示せず）が実行され、これによりカートリッジ１７に格納されているゲームプログラムがＷＲＡＭ２２にロードされる。当該ロードされたゲームプログラムがＣＰＵコア２１に実行されることによって、図３に示すステップ（図３〜図５では「Ｓ」と略称する）が実行される。なお、上記ゲームプログラムを実行することによって、当該ゲームプログラムに応じたゲーム画像などが第１ＬＣＤ１１および第２ＬＣＤ１２に描画されるが、ゲーム内容についての詳細な説明を省略し、ここではタッチパネル１３から入力される情報に基づいた処理について詳述する。
【００４５】
図３において、ＣＰＵコア２１は、プレイヤがタッチパネル１３に触れているか否かを判断する（ステップ４０）。タッチパネル１３は、上述したようにタッチパネル座標系を有し、スタイラス１６やプレイヤの指などによって入力（指示）された位置に対応する位置座標のデータを出力する。つまり、ステップ４０では、ＣＰＵコア２１がタッチパネル１３（タッチパネル１３を制御するデバイスドライバを含む）から出力される位置座標のデータ有無を検出する。そして、ＣＰＵコア２１は、プレイヤがタッチパネル１３に触れていない場合、接触フラグをＯＦＦに設定し（ステップ５１）、スティック値をニュートラル（ｓｘ＝０、ｓｙ＝０）に設定して（ステップ５２）、当該フローチャートによる処理を終了する。一方、ＣＰＵコア２１は、プレイヤがタッチパネル１３に触れている場合、処理を次のステップ４１に進める。
【００４６】
ステップ４１において、ＣＰＵコア２１は、プレイヤのタッチパネル１３に対するタッチ操作がタッチ開始時か否かを判断する（すなわち、非タッチ状態からタッチ状態に変化したか否かを判断する）。なお、ＣＰＵコア２１は、後述で明らかとなる接触フラグのＯＮまたはＯＦＦの設定によってタッチ開始時か否かを判断することができる。そして、ＣＰＵコア２１は、タッチ開始時である（接触フラグがＯＦＦ）場合、処理を次のステップ４２に進める。一方、ＣＰＵコア２１は、タッチ開始時でない（すなわち、タッチが継続している状態；接触フラグがＯＮ）場合、処理を次のステップ４３に進める。
【００４７】
ステップ４２において、ＣＰＵコア２１は、タッチ開始時の初期化処理を行う。以下、図４に示すサブルーチンを参照して、タッチ開始時の初期化処理について説明する。
【００４８】
図４において、ＣＰＵコア２１は、接触フラグをＯＮに設定する（ステップ６１）。そして、ＣＰＵコア２１は、現在プレイヤがタッチパネル１３をタッチ操作している接触点（以下、単に接触点と記載する）をタッチパネル１３の旧接触点に設定する（ステップ６２）。具体的には、上記タッチパネル座標系において、現在の接触点を（ｔｘ、ｔｙ）、旧接触点を（ｏｘ、ｏｙ）とすると、ＣＰＵコア２１は、
ｏｘ＝ｔｘ
ｏｙ＝ｔｙ
として、旧接触点座標を設定する。
【００４９】
次に、ＣＰＵコア２１は、スティック方向ｓａを無効に設定し（ステップ６３）、当該サブルーチンによる処理を終了する。具体的には、ＣＰＵコア２１は、
ｓａ＝−１
として、スティック方向ｓａを無効に設定する。
【００５０】
図３に戻り、ステップ４３において、ＣＰＵコア２１は、接触点の移動ベクトルを求める。具体的には、ＣＰＵコア２１は、現在の接触点と旧接触点との差分から、移動ベクトル（ｖｘ、ｖｙ）を求める。上記タッチパネル座標系において、現在の接触点を（ｔｘ、ｔｙ）、旧接触点を（ｏｘ、ｏｙ）とすると、ＣＰＵコア２１は、移動ベクトル（ｖｘ、ｖｙ）を、
ｖｘ＝ｔｘ−ｏｘ
ｖｙ＝ｔｙ−ｏｙとして求める。
【００５１】
次に、ＣＰＵコア２１は、現在プレイヤがタッチパネル１３をタッチ操作している現在の接触点をタッチパネル１３の旧接触点として保存する（ステップ４４）。具体的には、上記タッチパネル座標系において、現在の接触点を（ｔｘ、ｔｙ）、旧接触点を（ｏｘ、ｏｙ）とすると、ＣＰＵコア２１は、
ｏｘ＝ｔｘ
ｏｙ＝ｔｙ
として、旧接触点座標を保存する。
【００５２】
次に、ＣＰＵコア２１は、移動ベクトル（ｖｘ、ｖｙ）の長さが０か否かを判断する（ステップ４５）。そして、ＣＰＵコア２１は、移動ベクトルの長さが０（つまり、ｖｘ＝０、ｖｙ＝０）の場合、当該フローチャートによる処理を終了する。一方、ＣＰＵコア２１は、移動ベクトルの長さが０でない場合、処理を次のステップ４６に進める。
【００５３】
ステップ４６において、ＣＰＵコア２１は、移動ベクトル（ｖｘ、ｖｙ）の方向（以下、ドラッグ方向ｄａと記載する）を求める。具体的には、ドラッグ方向ｄａを
ｄａ＝ａｔａｎ（ｖｘ、ｖｙ）
で求める。なお、ａｔａｎ（ｘ、ｙ）は、２次元のベクトル値（ｘ、ｙ）から度数単位で０以上３６０未満の値を返す、ベクトルの逆正接を求める関数である。
【００５４】
次に、ＣＰＵコア２１は、スティック方向ｓａが有効か否かを判断する（ステップ４７）。そして、ＣＰＵコア２１は、スティック方向ｓａが有効（ｓａ≠−１）の場合、処理を次のステップ４８に進める。一方、ＣＰＵコア２１は、スティック方向ｓａが無効（ｓａ＝−１）の場合、処理を次のステップ４９に進める。
【００５５】
ステップＳ４８において、ＣＰＵコア２１は、スティック方向ｓａを現在のドラッグ方向ｄａに近づける処理を行い、処理を次のステップ５０に進める。以下、図５を参照して、スティック方向ｓａを現在のドラッグ方向ｄａに近づける処理の詳細な動作について説明する。
【００５６】
図５において、ＣＰＵコア２１は、現在のスティック方向ｓａからドラッグ方向ｄａへの角度の差分ｖを演算する（ステップ７１）。具体的には、ＣＰＵコア２１は、差分ｖを、
ｖ＝ｄａ−ｓａ
で演算する。
【００５７】
次に、ＣＰＵコア２１は、差分ｖを−１８０°≦ｖ≦１８０°の範囲で表現するために、ｖ＞１８０°か否か（ステップ７２）、ｖ＜−１８０°か否か（ステップ７３）、およびｖ＝−１８０°またはｖ＝１８０°か否か（ステップ７４）を判断する。そして、ｖ＞１８０°の場合、ＣＰＵコア２１は、ｖ−３６０°を新たな差分ｖに設定して（ステップ７５）、処理を次のステップ７７に進める。また、ｖ＜−１８０°の場合、ＣＰＵコア２１は、ｖ＋３６０°を新たな差分ｖに設定して（ステップ７６）、処理を次のステップ７７に進める。さらに、ＣＰＵコア２１は、ｖ＝−１８０°またはｖ＝１８０°の場合に処理を次のステップ７８に進め、−１８０°＜ｖ＜１８０°の場合にそのまま処理を次のステップ７７に進める。
【００５８】
ステップ７７において、ＣＰＵコア２１は、スティック方向ｓａをドラッグ方向ｄａに近づける処理を行い、処理を次のステップ７９に進める。具体的には、ＣＰＵコア２１は、新たなスティック方向ｓａを、
ｓａ＝ｓａ＋ｖ＊ｐ
で演算する。なお、左辺のｓａは、新たなスティック方向を示し、右辺のｓａは、ステップ７７を実行する前に設定されているスティック方向を示している。また、ｐは、０＜ｐ＜１の間で調整されるスティック方向ｓａをドラッグ方向ｄａに近づける度合いを示すパラメータである。例えば、ｐ＝１（現実には設定されない）では、新たなスティック方向ｓａがドラッグ方向ｄａと同じになるように敏感に近づけて設定され、ｐ＝０（現実には、設定されない）では、新たなスティック方向はドラッグ方向ｄａに全く近づかず、スティック方向の変化がない設定となる。
【００５９】
また、ステップ７８において、ＣＰＵコア２１は、スティック方向ｓａを現在のドラッグ方向ｄａで初期化する処理を行い、処理を次のステップ７９に進める。具体的には、ＣＰＵコア２１は、新たなスティック方向ｓａを、
ｓａ＝ｄａ
で演算する。なお、左辺のｓａは、新たなスティック方向を示している。このステップ７８の処理は、スティック方向とドラッグ方向とが正反対の場合に生じる処理上のエラー（スティック方向ｓａを少しずつドラッグ方向ｄａに近づけることができない）を回避するために行われる。
【００６０】
次に、ステップ７９〜８２において、ＣＰＵコア２１は、新たなスティック方向ｓａを０≦ｓａ≦３６０°の範囲で表現するために、ｓａ＞３６０°か否か（ステップ７９）、およびｓａ＜０°か否か（ステップ８０）を判断する。そして、ｓａ＞３６０°の場合、ＣＰＵコア２１は、ｓａ−３６０°を新たなスティック方向ｓａに設定して（ステップ８１）、当該サブルーチンによる処理を終了する。また、ｓａ＜０°の場合、ＣＰＵコア２１は、ｓａ＋３６０°を新たなスティック方向ｓａに設定して（ステップ８２）、当該サブルーチンによる処理を終了する。なお、０°≦ｓａ≦３６０°の場合、ＣＰＵコア２１は、そのまま当該サブルーチンによる処理を終了する。
【００６１】
図３に戻り、上記ステップ４７において、スティック方向ｓａが無効の場合、ＣＰＵコア２１は、スティック方向ｓａを現在のドラッグ方向ｄａで初期化し（ステップ４９）、処理を次のステップ５０へ進める。具体的には、ＣＰＵコア２１は、スティック方向ｓａを、
ｓａ＝ｄａ
で初期化する。
【００６２】
ステップ５０において、ＣＰＵコア２１は、スティック方向ｓａからスティック値（ｓｘ、ｓｙ）を求めて、当該フローチャートによる処理を終了する。具体的には、ＣＰＵコア２１は、スティック値（ｓｘ、ｓｙ）を
ｓｘ＝ｃｏｓ（ｓａ）
ｓｙ＝ｓｉｎ（ｓａ）
によって求める。なお、ステップ５０で求められたスティック値は、従来のジョイスティックを使用するゲームと同様、ゲーム処理に利用される。
【００６３】
上記フローチャートでは、タッチパネル１３を用いてジョイスティックを模した操作を実現し、必要な情報は、ジョイスティックの入力値に相当するＸＹ２軸のベクトル値である。このベクトル値を、スティック座標系でスティック値（ｓｘ、ｓｙ）と表す。そして、このスティック値（ｓｘ、ｓｙ）が示す方向がジョイスティックを倒している方向である。そして、ｓｘ＝−１〜＋１、ｓｙ＝−１〜＋１で設定され、ｓｘ＝０およびｓｙ＝０の時、ジョイスティックがニュートラル（直立）状態であることを示す。
【００６４】
以下、図６を参照して、ドラッグ方向に近づける処理が行われたスティック方向の変化の一例を説明する。なお、図６は、ドラッグ方向に近づける処理が行われたスティック方向が変化する一例を示す図である。
【００６５】
図６（ａ）において、タッチパネル１３に対して、非タッチ状態から最初にプレイヤが接触点Ｔ１をタッチし、その後タッチを継続したままＴ２までタッチ操作することによって、旧接触点Ｔ１および現在の接触点Ｔ２が設定されているとする。この場合、旧接触点Ｔ１から現在の接触点Ｔ２までが移動ベクトルに設定される。そして、旧接触点Ｔ１から現在の接触点Ｔ２までの移動ベクトルが示す方向がドラッグ方向ｄａ１２に設定される。ここで、スティック方向ｓａが無効である場合（ステップ４７でＮｏ）、スティック方向ｓａ１２はドラッグ方向ｄａ１２で初期化される。すなわち、最初の接触点Ｔ１から接触点Ｔ２に向かう方向が初期のスティック方向に設定される。
【００６６】
その後、図６（ｂ）において、タッチパネル１３に対して、プレイヤがドラッグ方向ｄａ１２を基準に接触点Ｔ２から右上方向となる接触点Ｔ３までタッチ操作することによって、旧接触点Ｔ２および現在の接触点Ｔ３が設定される。この場合、旧接触点Ｔ２から現在の接触点Ｔ３までが移動ベクトルに設定される。そして、旧接触点Ｔ２から現在の接触点Ｔ３までの移動ベクトルが示す方向がドラッグ方向ｄａ２３に設定される。そして、上記ステップ４８が実行されることによって、スティック方向ｓａ１２がドラッグ方向ｄａ２３に近づけられる処理が行われて、新たなスティック方向ｓａ２３が設定される。
【００６７】
スティック方向ｓａ１２がドラッグ方向ｄａ２３に近づける処理の際、まずスティック方向ｓａ１２からドラッグ方向ｄａ２３への角度の差分ｖが求められる。そして、新たなスティック方向ｓａ２３は、スティック方向ｓａ１２にパラメータｐで定められる割合の差分ｖを加算することによって求められる。したがって、新たなスティック方向ｓａ２３は、更新前のスティック方向ｓａ１２とドラッグ方向ｄａ２３との間の方向に設定され、ドラッグ方向に近づく割合がパラメータｐで調整される。
【００６８】
このように、スティック方向をドラッグ方向に近づける処理によって、接触点を一定方向（プレイヤによるタッチ点が移動する方向；図６では右上方向）に継続的に移動していると、スティック値が示す方向（つまり、ジョイスティックを倒している方向）は、接触点の移動方向（右上方向）に次第に近づいていく。これにより、プレイヤは指示座標を一定方向に継続的に移動することによって原点の位置を意識せずにスティック入力の方向を決定することができる。したがって、プレイヤのタッチ操作方向に近い方向がスティック方向となり、ジョイスティックを操作するような感覚でタッチパネル１３を操作することができる。また、従来設定されていたタッチパネル上の原点が設定されず、直前の接触点が原点のように扱われるため、プレイヤはタッチパネル１３に設定される原点を感覚的に把握することができ、タッチパネル１３自体を視認しなくても、ジョイスティックを操作するような感覚でタッチパネル１３を操作することができる。また、パラメータｐの設定値によってドラッグ方向に近づける割合が調整可能であり、ゲーム毎のレスポンスや操作性に応じて最良の値に調整することができる。さらに、ドラッグ方向がそのままスティック方向に設定されないため、入力方向の急激な変化を防止することができる。
【００６９】
なお、上記実施例では、プレイヤがタッチパネル１３をタッチ操作した接触点をそのままドラッグ方向の演算に用いたが、接触点の周りに遊び範囲を設けてもかまわない。つまり、プレイヤがタッチ操作したタッチパネル１３上の点が上記遊び範囲の中に自由に配置され、タッチ操作した点が遊び範囲から外れるとその動きに合わせて遊び範囲が移動し、結果的にその中央の接触点が移動する。これによって、プレイヤがタッチパネル１３をタッチ操作する際の手ブレ補正を行うことができる。
【００７０】
また、上記ステップ４２における処理では、プレイヤがタッチパネル１３を最初にタッチ操作した位置が旧接触点に設定されるが、タッチパネル１３で予め設定された所定位置（例えば中央）を旧接触点の初期位置に設定してもかまわない。この場合、プレイヤが最初にタッチ操作した接触点と旧接触点の初期位置との間でドラッグ方向が設定可能であるため、迅速にジョイスティックを模した操作を開始することができる。
【００７１】
また、図３で説明したフローチャートでは、プレイヤがタッチパネル１３へのタッチ操作を終了する（ステップ４０でＮｏ）と、スティック値がニュートラルに設定されるが、次のタッチ操作が行われるまで、または所定時間を経過するまで、タッチ操作終了前に設定されているスティック値をゲームパラメータとして継続して処理してもかまわない。次のタッチ操作が行われるまでスティック値をゲームパラメータとして継続して処理する場合、プレイヤが同じタッチ操作を長時間継続することが不要となり、同じ操作を継続する操作が容易になる。また、所定時間を経過するまでスティック値をゲームパラメータとして継続して処理する場合、プレイヤが意図しない状態でタッチパネル１３へのタッチ操作が途切れても（例えば、不注意でタッチパネルから指が離れてしまった場合でも）、そのままの操作状態でゲームを継続することができる。
【００７２】
また、図３で説明したフローチャートでは、プレイヤがタッチパネル１３へのタッチ操作を終了し、再度タッチ操作をすると新たに旧接触点が設定されるが、次のタッチ操作が行われた場合、終了前のスティック方向を継続してもかまわない。例えば、ステップ５２では、タッチ操作終了前のステップ５０で用いられたスティック方向を記憶する。そして、タッチ操作が再開された際、そのスティック方向を用いてステップ４８の処理を行う。一般的に、プレイヤがタッチパネル１３をタッチ操作中にタッチパネル１３の領域外に達すると、タッチパネル１３の異なった位置を再度タッチ操作して同じ操作を継続しようとする。このようなタッチ操作のやり直しにおいても、スティック方向が継続されているため、操作が途切れることなくゲームを楽しむことができる。
【００７３】
また、上記実施例では、ジョイスティックを模した操作を行う入力装置としてタッチパネルを用いたが、他のポインティングデバイスを用いてもかまわない。ここで、ポインティングデバイスは、画面上での入力位置や座標を指定する入力装置であり、例えば、マウス、トラックパッド、トラックボールなどを入力装置として使用し、入力装置から出力される出力値から計算された画面座標系の情報を用いれば、本発明を同様に実現することができる。なお、マウス等のポインティングデバイスの場合、タッチ状態と非タッチ状態をクリックボタンのオンオフに対応させ、マウス等から出力される出力値から座標を計算する処理はゲーム装置等で行えばよい。
【００７４】
また、上記実施例では、ゲーム装置１にタッチパネル１３が一体的に設けられているが、ゲーム装置とタッチパネルとを別体にして構成しても、本発明を実現できることは言うまでもない。さらに、上記実施例では表示器を２つ設けたが、表示器は１つであってもかまわない。すなわち、上記実施例において、第２ＬＣＤ１２設けず単にタッチパネル１３のみを設けるようにしてもよい。また、上記実施例において、第２ＬＣＤ１２を設けず第１ＬＣＤ１１の上面にタッチパネル１３を設けても良い。
【００７５】
また、上記実施例では、ゲーム装置１にタッチパネル１３が一体的に設けられているが、タッチパネルを入力装置の１つとする一般的なパーソナルコンピュータなどの情報処理装置でもかまわない。この場合、この情報処理装置のコンピュータが実行するプログラムは、典型的にゲームに用いられるゲームプログラムに限らず、上述した方式で得られたスティック値が上記情報処理装置に対する操作処理に用いられる汎用的なプログラムである。
【００７６】
なお、上記実施例では、スティック入力の方向のみ決定するようにしたが、スティック入力の入力量（レバーの傾き量に相当する）は、ドラッグ入力の速度に応じて決定してもよい（このとき、ドラッグ入力がない場合には一定の入力量に設定するようにしてもよい）。または、タッチパネル上の基準点と接触点との距離に応じて決定してもよいし、ボタンスイッチ（１４ａ、１４ｂ）等によって入力量を制御してもよい。
【産業上の利用可能性】
【００７７】
本発明のゲームプログラム、ゲーム装置、および入力装置は、レスポンスを高めながらプレイヤの操作感覚に一致させてジョイスティックを模した操作を行うことができ、ポインティングデバイスを用いて操作するゲーム等に適用できる。
【図面の簡単な説明】
【００７８】
【図１】本発明の一実施形態に係るゲームプログラムを実行するゲーム装置１の外観図
【図２】図１のゲーム装置１の内部構成を示すブロック図
【図３】本発明の一実施形態に係るゲームプログラムを実行することによってゲーム装置１が処理する動作を示すフローチャート
【図４】図３におけるステップ４２のタッチ開始時の初期化処理について詳細な動作を示すサブルーチン
【図５】図３におけるステップ４８のスティック方向を現在のベクトル方向に近づける処理について詳細な動作を示すサブルーチン
【図６】図３に示すフローチャートに基づいた処理が繰り返されることによって、スティック方向が変化する一例を示す図
【図７】従来のプレイヤがタッチパネルを用いて真上への入力から右方向への入力に移行する際の操作例
【符号の説明】
【００７９】
１…ゲーム装置
１１…第１ＬＣＤ
１２…第２ＬＣＤ
１３…タッチパネル
１４…操作スイッチ部
１５…スピーカ
１６…スタイラス
１７…カートリッジ
１７１…ＲＯＭ
１７２…ＲＡＭ
１８…ハウジング
２１…ＣＰＵコア
２２…ＷＲＡＭ
２３…第１ＶＲＡＭ
２４…第１ＧＰＵ
２５…第２ＶＲＡＭ
２６…第２ＧＰＵ
２７…Ｉ／Ｆ回路
２８…コネクタ
【図１】
2006034517.tif 000003
【図２】
2006034517.tif 000004
【図３】
2006034517.tif 000005
【図４】
2006034517.tif 000006
【図５】
2006034517.tif 000007
【図６】
2006034517.tif 000008
【図７】
2006034517.tif 000009