(57)【特許請求の範囲】
【請求項１】
座標入力手段および操作手段を利用可能な、射撃ゲームを実行する情報処理装置のコンピュータを、
射撃の方向を示す照準を所定の位置に配置する照準配置手段、
前記座標入力手段に対する入力座標の変化に応じて前記照準を前記所定の位置から変位させる照準変位手段、
仮想空間内に仮想カメラを配置する仮想カメラ配置手段、
前記仮想カメラにより前記仮想空間を撮像して画像を生成する画像生成手段、
前記仮想カメラの撮像方向を変更する撮像方向変更手段、
前記操作手段による操作に応じて、前記照準の位置に基づく方向に仮想的に射撃を行う射撃手段、
前記座標入力手段に対してプレイヤが座標入力している入力状態から、前記座標入力手段に対してプレイヤが座標入力していない非入力状態になったことを検出する操作判別手段として機能させ、
前記座標入力手段はタッチパネルであり、
前記タッチパネルへの入力がまだ行われていない状態のときは、予め設定されているデフォルト照準位置に前記照準が表示されており、
前記照準変位手段は、
前記タッチパネルへのタッチ開始位置に関わらず、前記入力座標の変化量を算出し、前記デフォルト照準位置を起点として、前記画像生成手段で生成された画像の大きさよりも小さくなるように設定された照準移動可能範囲の境界位置に前記照準の位置が至るまでは、当該変化量に応じて前記照準の位置を変位させ、
前記非入力状態になったことが検出された場合、当該非入力状態になる直前のかかる前記座標入力手段に対する入力座標の変化に応じた慣性力に基づいて前記照準の位置を変化させ、
前記撮像方向変更手段は、
前記照準の位置が前記照準移動可能範囲の境界に至った後は前記変化量に応じて前記仮想カメラの向きを変更させ、
前記慣性力に基づく前記照準の位置の変化により前記照準が前記照準移動可能範囲の境界に至った際に前記慣性力が残っていれば、前記残っている慣性力に基づいて前記仮想カメラの向きを変更させ、
前記照準変位手段は、仮想カメラの撮像方向の所定範囲内におけるノンプレイヤキャラクタの有無に基づいて、前記非入力状態であると前記操作判別手段によって判別されたときの前記慣性力に基づいた前記照準の位置の変位の減速度合いを異ならせる、情報処理プログラム。
【請求項２】
前記コンピュータを、
前記操作手段の操作が一定時間ないときに、前記照準変位手段によって変位された前記照準を前記所定の位置に戻す照準位置リセット手段としてさらに機能させる請求項１に記載の情報処理プログラム。
【請求項３】
前記照準位置リセット手段は、前記操作手段の操作が一定時間なく、かつ、前記座標入力手段からの入力が一定時間ないときに、前記照準変位手段によって変位された前記照準を前記所定の位置に戻す、請求項２に記載の情報処理プログラム。
【請求項４】
前記コンピュータを、
前記仮想空間にプレイヤオブジェクトを配置するプレイヤオブジェクト配置手段、
として更に機能させ、
前記所定の位置は、前記プレイヤオブジェクトの位置を基準とした位置であり、
前記照準変位手段は、前記座標入力手段に対する入力座標の変化に応じて前記照準の位置を前記所定の位置を基準位置とする変位として決定する
請求項１に記載の情報処理プログラム。
【請求項５】
前記照準変位手段は、前記仮想空間における前記プレイヤオブジェクトの位置が変化したとき、前記所定の位置を基準とする変位を維持するように前記照準を移動する、請求項４に記載の情報処理プログラム。
【請求項６】
前記照準配置手段は、射撃の方向を示す照準オブジェクトを、前記仮想空間の所定の位置に配置し、
前記照準変位手段は、前記座標入力手段に対する入力座標の変化に応じて前記照準オブジェクトを前記所定の位置から変位させ、
前記射撃手段は、前記操作手段による操作に応じて、照準オブジェクトの位置に基づく方向に仮想的に射撃を行う、
請求項１に情報処理プログラム。
【請求項７】
前記照準配置手段は、前記プレイヤオブジェクトの位置から前記仮想空間の撮像方向に伸びる直線上に前記照準オブジェクトを配置する、請求項６に記載の情報処理プログラム。
【請求項８】
前記照準変位手段は、前記座標入力手段に対する入力座標の変化に応じて、前記仮想空間の撮像方向に垂直な面上において前記照準オブジェクトを移動する、
請求項６に記載の情報処理プログラム。
【請求項９】
前記コンピュータを、
前記操作手段の操作が一定時間なく、かつ、前記座標入力手段からの入力が一定時間ないときに、情報処理装置の表示手段に前記照準オブジェクトを表示させないための消去処理を行う照準消去手段、
として更に機能させ、
前記照準消去手段は、前記消去処理の実行後、前記座標入力手段への入力または前記操作手段の操作を受け付けたときに、前記照準オブジェクトを前記表示手段に再度表示するための処理を実行する、
請求項３に記載の情報処理プログラム。
【請求項１０】
前記コンピュータを、
仮想空間にプレイヤオブジェクトを配置するプレイヤオブジェクト配置手段、
として更に機能させ、
前記プレイヤオブジェクト配置手段は、前記仮想空間内に設けられたパスに沿って自動的に前記プレイヤオブジェクトを移動させる、
請求項１に記載の情報処理プログラム。
【請求項１１】
前記パスには、仮想カメラの位置及び撮像方向が設定された複数のパス点が設定されており、
前記仮想カメラ配置手段は、前記複数のパス点のうち前記プレイヤオブジェクトの位置に対応するパス点に基づいて、前記仮想カメラのカメラ初期位置及び撮像方向を決定し、この決定したカメラ初期位置及び撮像方向で前記仮想空間に前記仮想カメラを配置する、
請求項１０に記載の情報処理プログラム。
【請求項１２】
前記プレイヤオブジェクト配置手段は、前記パスの位置を基準として所定のオブジェクト移動可能範囲に限ってプレイヤからの前記操作部に対する操作に応じて前記プレイヤオブジェクトの位置を移動させる、
請求項１１に記載の情報処理プログラム。
【請求項１３】
前記射撃手段は、前記照準の位置に基づく方向に射撃対象が居ないときであって、前記照準の位置と前記射撃対象の位置が所定の関係にあるときには、照準の位置に基づく方向を前記射撃対象に向かうように補正する、
請求項１に記載の情報処理プログラム。
【請求項１４】
座標入力手段および操作手段を利用可能な、射撃ゲームを実行する情報処理装置であって、
射撃の方向を示す照準を、所定の位置に配置する照準配置手段、
前記座標入力手段に対する入力座標の変化に応じて前記照準を前記所定の位置から変位させる照準変位手段、
仮想空間内に仮想カメラを配置する仮想カメラ配置手段、
前記仮想カメラにより前記仮想空間を撮像して画像を生成する画像生成手段、
前記仮想カメラの撮像方向を変更する撮像方向変更手段、
前記操作手段による操作に応じて、前記照準の位置に基づく方向に仮想的に射撃を行う射撃手段、
前記座標入力手段に対してプレイヤが座標入力している入力状態から、前記座標入力手段に対してプレイヤが座標入力していない非入力状態になったことを検出する操作判別手段を備え、
前記座標入力手段はタッチパネルであり、
前記タッチパネルへの入力がまだ行われていない状態のときは、予め設定されているデフォルト照準位置に前記照準が表示されており、
前記照準変位手段は、
前記タッチパネルへのタッチ開始位置に関わらず、前記入力座標の変化量を算出し、前記デフォルト照準位置を起点として、前記画像生成手段で生成された画像の大きさよりも小さくなるように設定された照準移動可能範囲の境界位置に前記照準の位置が至るまでは、当該変化量に応じて前記照準の位置を変位させ、
前記非入力状態になったことが検出された場合、当該非入力状態になる直前のかかる前記座標入力手段に対する入力座標の変化に応じた慣性力に基づいて前記照準の位置を変化させ、
前記撮像方向変更手段は、前記照準の位置が前記照準移動可能範囲の境界に至った後は前記変化量に応じて前記仮想カメラの向きを変更させ、
前記慣性力に基づく前記照準の位置の変化により前記照準が前記照準移動可能範囲の境界に至った際に前記慣性力が残っていれば、前記残っている慣性力に基づいて前記仮想カメラの向きを変更させ、
前記照準変位手段は、仮想カメラの撮像方向の所定範囲内におけるノンプレイヤキャラクタの有無に基づいて、前記非入力状態であると前記操作判別手段によって判別されたときの前記慣性力に基づいた前記照準の位置の変位の減速度合いを異ならせる、情報処理装置。
【請求項１５】
座標入力手段および操作手段を利用可能な、射撃ゲームを実行する情報処理システムであって、
射撃の方向を示す照準を所定の位置に配置する照準配置手段、
前記座標入力手段に対する入力座標の変化に応じて前記照準を前記所定の位置から変位させる照準変位手段、
仮想空間内に仮想カメラを配置する仮想カメラ配置手段、
前記仮想カメラにより前記仮想空間を撮像して画像を生成する画像生成手段、
前記仮想カメラの撮像方向を変更する撮像方向変更手段、
前記操作手段による操作に応じて、前記照準の位置に基づく方向に仮想的に射撃を行う射撃手段、
前記座標入力手段に対してプレイヤが座標入力している入力状態から、前記座標入力手段に対してプレイヤが座標入力していない非入力状態になったことを検出する操作判別手段、を備え、
前記座標入力手段はタッチパネルであり、
前記タッチパネルへの入力がまだ行われていない状態のときは、予め設定されているデフォルト照準位置に前記照準が表示されており、
前記照準変位手段は、
前記タッチパネルへのタッチ開始位置に関わらず、前記入力座標の変化量を算出し、前記デフォルト照準位置を起点として、前記画像生成手段で生成された画像の大きさよりも小さくなるように設定された照準移動可能範囲の境界位置に前記照準の位置が至るまでは、当該変化量に応じて前記照準の位置を変位させ、
前記非入力状態になったことが検出された場合、当該非入力状態になる直前のかかる前記座標入力手段に対する入力座標の変化に応じた慣性力に基づいて前記照準の位置を変化させ、
前記撮像方向変更手段は、
前記照準の位置が前記照準移動可能範囲の境界に至った後は前記変化量に応じて前記仮想カメラの向きを変更させ、
前記慣性力に基づく前記照準の位置の変化により前記照準が前記照準移動可能範囲の境界に至った際に前記慣性力が残っていれば、前記残っている慣性力に基づいて前記仮想カメラの向きを変更させ、
前記照準変位手段は、仮想カメラの撮像方向の所定範囲内におけるノンプレイヤキャラクタの有無に基づいて、前記非入力状態であると前記操作判別手段によって判別されたときの前記慣性力に基づいた前記照準の位置の変位の減速度合いを異ならせる、情報処理システム。
【請求項１６】
座標入力手段および操作手段を利用可能な、射撃ゲームを実行する情報処理装置が行う情報処理方法であって、
照準配置手段が、射撃の方向を示す照準を所定の位置に配置する照準配置ステップ、
照準移動手段が、前記座標入力手段に対する入力座標の変化に応じて、前記照準を前記所定の位置から変位させる照準変位ステップ、
仮想空間内に仮想カメラを配置する仮想カメラ配置ステップ、
前記仮想カメラにより前記仮想空間を撮像して画像を生成する画像生成ステップ、
前記仮想カメラの撮像方向を変更する撮像方向変更ステップ、
射撃手段が、前記操作手段による操作に応じて、前記照準の位置に基づく方向に仮想的に射撃を行う射撃ステップ、
前記座標入力手段に対してプレイヤが座標入力している入力状態から、前記座標入力手段に対してプレイヤが座標入力していない非入力状態になったことを検出する操作判別ステップ、を含み、
前記座標入力手段はタッチパネルであり、
前記タッチパネルへの入力がまだ行われていない状態のときは、予め設定されているデフォルト照準位置に前記照準が表示されており、
前記照準変位ステップでは、
前記タッチパネルへのタッチ開始位置に関わらず、前記入力座標の変化量を算出し、前記デフォルト照準位置を起点として、前記画像生成ステップで生成された画像の大きさよりも小さくなるように設定された照準移動可能範囲の境界位置に前記照準の位置が至るまでは、当該変化量に応じて前記照準の位置を変位させ、
前記非入力状態になったことが検出された場合、当該非入力状態になる直前のかかる前記座標入力手段に対する入力座標の変化に応じた慣性力に基づいて前記照準の位置を変化させ、
前記撮像方向変更ステップは、
前記照準の位置が前記照準移動可能範囲の境界に至った後は前記変化量に応じて前記仮想カメラの向きを変更させ、
前記慣性力に基づく前記照準の位置の変化により前記照準が前記照準移動可能範囲の境界に至った際に前記慣性力が残っていれば、前記残っている慣性力に基づいて前記仮想カメラの向きを変更させ、
前記照準変位ステップは、仮想カメラの撮像方向の所定範囲内におけるノンプレイヤキャラクタの有無に基づいて、前記非入力状態であると前記操作判別ステップで判別されたときの前記慣性力に基づいた前記照準の位置の変位の減速度合いを異ならせる、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法に関し、より特定的には、仮想空間において仮想的に所定の射撃位置からの射撃を行い、かつこの射撃方向を示す照準オブジェクトを画面に表示するとともに、座標入力手段へのプレイヤによる操作に基づいて画面における照準の位置を変更する情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法に関する。
【背景技術】
【０００２】
仮想空間において仮想的に所定の射撃位置からの射撃を行うゲーム機（情報処理装置）は広く一般的に知られている。この様なゲーム機では、例えば、特許文献１及び非特許文献１等で示すように、射撃を行う方向を示す照準オブジェクトが仮想空間に配置され、かつ画面に表示される。すなわち、照準オブジェクトの位置と敵キャラクタの位置が画面上で重なっているタイミングで射撃が行われると、敵キャラクタの射撃が成功となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１９１８６０号公報
【非特許文献】
【０００４】
【非特許文献１】“メトロイドプライムハンターズ  ゲーム紹介”、〔online〕、任天堂株式会社、〔平成22年5月9日検索〕、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｍｅｔｒｏｉｄ．ｊｐ／ｍｅｔｒｏｉｄ＿ｖｅｒｓｉｏｎ４／ｓｙｓｔｅｍ／ｉｎｄｅｘ１．ｈｔｍｌ＃Ｓｙｓｔｅｍ＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記のようなゲーム装置では、照準オブジェクトは常に画面の中心の位置に表示されていた。従って、照準オブジェクトの位置と敵キャラクタの位置を画面上に重ねるためには、仮想空間に配置された仮想カメラの位置又は撮像方向を変更することで、照準オブジェクトの位置を移動させる必要があった。
【０００６】
それゆえ、本発明の目的は、照準の画面における位置を変更すること、かつこの位置の変更を直感的で簡易な操作によって行うことを可能とする情報処理プログラム、情報処理装置、情報処理システム及び情報処理方法に関する。
【課題を解決するための手段】
【０００７】
第１の発明のプログラムは、上記目的を達成するために、座標入力手段および操作手段を利用可能な、射撃ゲームを実行する情報処理装置のコンピュータを、照準配置手段、照準変位手段及び射撃手段として機能させる。
【０００８】
照準配置手段は、射撃の方向を示す照準を、所定の位置に配置する。照準変位手段は、座標入力手段に対する入力座標の変化に応じて照準を所定の位置から変位させる。射撃手段は、操作手段による操作に応じて、照準の位置に基づく方向に仮想的に射撃を行う。
【０００９】
上記構成によれば、座標入力手段に対する入力座標の変化に応じて、照準が所定の位置（仮想空間における初期位置に対応する位置）から移動される。すなわち、プレイヤが、入力座標が変化するように座標入力手段に対して操作を行うことで、この入力座標の変化
に応じて照準の位置（例えば表示位置）が所定の位置から変位される。これによって、照準を変位させたい方向及び変位させたい量に応じて入力座標を変化させるという、プレイヤの直感的で簡易な操作によって、照準を所定の位置から変位することが可能になる。また、照準の位置（例えば、表示画面における位置）が固定ではなく、プレイヤの操作によって変更可能なため、仮想カメラの位置又は撮像方向を変更しなくても、照準の位置を所定の位置から変位させることが可能になる。
【００１０】
なお、上記座標入力手段は、一例としてタッチパネル、又はポインティングデバイス等がある。タッチパネルは、プレイヤがタッチパネル上をタッチすることで座標入力を行うことができる。また、ポインティングデバイスには、例えば、マウス等があり、この場合には、プレイヤがマウスをクリック操作することで座標入力が行われる。なお、このクリック操作を受け付けている状態が入力状態、受け付けていない状態が非入力状態となる。そして、クリック操作をしながらスライド操作することで入力座標が変化することになる。この入力座標の変化に基づいて照準を変位する構成も第１の発明に含まれる。
【００１１】
また、ポインティングデバイスの他の例としては、画面内の位置をポイント（指定）することが可能なリモートコントローラ等がある。具体例としては、プレイヤがこのリモートコントローラを画面に向けた状態でこのリモートコントローラの所定の操作子を押下することで、座標入力が行われる。このリモートコントローラがポイントした画面内の位置で入力座標が決定される。なお、所定の操作子が押下されている状態が入力状態、されていない状態が非入力状態となる。そして、所定の操作子を押下しながらプレイヤが画面内のポイント位置を変えることで、入力座標が変化することになる。この入力座標の変化に基づいて照準を変位する構成も第１の発明に含まれる。
【００１２】
第２の発明のプログラムは、コンピュータを、照準位置リセット手段としてさらに機能させる。ここで、照準位置リセット手段は、操作手段の所定の操作が一定時間ないときに、照準変位手段によって変位された照準を所定の位置に戻す。ここで、操作手段の所定の操作が一定時間ないときにとは照準の変位後の位置には射撃対象が存在しなかったと推定される。第２の発明の構成によれば、このような場合には、照準の位置を移動後の位置に維持する必要性が乏しいため、プレイヤの照準の位置を所定の位置に戻すための操作がなくても、照準の位置が自動的に所定の位置（初期位置）に戻される。
【００１３】
第３の発明のプログラムでは、照準位置リセット手段は、操作手段の操作が一定時間なく、かつ、座標入力手段からの入力が一定時間ないときに、照準変位手段によって変位された照準を所定の位置に戻す。ここで、操作手段の所定の操作が一定時間なく、かつ、座標入力手段からの入力が一定時間ないときとは照準の変位後の位置には射撃対象が存在しなかったと推定される。この構成によれば、このような場合には、照準の位置を移動後に位置に維持する必要性が乏しいため、照準の位置が所定の位置（初期位置）に戻される。
【００１４】
第４の発明のプログラムは、コンピュータを、プレイヤオブジェクト配置手段として更に機能させる。プレイヤオブジェクト配置手段は、仮想空間にプレイヤオブジェクトを配置する。また、所定の位置は、プレイヤオブジェクトを基準とした位置である。そして、照準変位手段は、座標入力手段に対する入力座標の変化に応じて照準の位置を所定の位置を基準位置とする変位として決定する。
【００１５】
上記構成によれば、所定の位置は、プレイヤオブジェクトの位置を基準として決定されるため、プレイヤオブジェクトの移動にともなって移動する。また、照準の位置は所定の位置を基準として決定される。従って、プレイヤの移動にともなって所定の位置が移動したときには、移動後の所定の位置に基づいて照準の位置が決定される。
【００１６】
第５の発明のプログラムでは、照準変位手段は、仮想空間におけるプレイヤオブジェクトの位置が変化したとき、所定の位置を基準とする変位を維持するように照準オブジェクトを移動する。これによって、プレイヤオブジェクトの移動に追随させて照準も移動させることができる。このように、プレイヤオブジェクトの移動に追随させて照準の位置も移動させることができるため、プレイヤが照準の移動のための特別な操作を行わずプレイヤオブジェクトを移動させるための操作を行うだけで、照準の位置を移動させることが可能になる。
【００１７】
第６の発明のプログラムでは、照準配置手段は、射撃の方向を示す照準オブジェクトを、仮想空間の所定の位置に配置する。照準変位手段は、座標入力手段に対する入力座標の変化に応じて照準オブジェクトを所定の位置から変位させる。射撃手段は、操作手段による操作に応じて、照準オブジェクトの位置に基づく方向に仮想的に射撃を行う。この構成によれば、照準オブジェクトを変位させたい方向及び変位させたい量に応じて入力座標を変化させるという、プレイヤの直感的で簡易な操作によって、照準オブジェクトを所定の位置から変位させ、照準オブジェクトの表示位置を変更することが可能になる。
【００１８】
第７の発明のプログラムは、照準配置手段は、プレイヤオブジェクトの位置から仮想空間の撮像方向に伸びる直線上に照準オブジェクトを配置する。この構成によれば、照準オブジェクトの位置をプレイヤオブジェクトの位置を基準として、かつプレイヤオブジェクトが撮像範囲に入っていれば、照準オブジェクトをプレイヤオブジェクトと同じ表示位置に表示することが可能である。なお、この場合には、プレイヤオブジェクトに照準オブジェクトが隠れてしまわないよう、プレイヤオブジェクトの照準オブジェクトと重なる位置に透過処理が施されることが好ましい。
【００１９】
第８の発明のプログラムでは、照準変位手段は、前記座標入力手段に対する入力座標の変化に応じて、仮想空間の撮像方向に垂直な面上において前記照準オブジェクトを移動する。この構成によると、仮想空間の撮像方向及び／又は視点が変更されても、撮影画像における照準オブジェクトの位置を維持する場合に、照準オブジェクトの仮想空間における位置を決定するための処理が簡易になる。
【００２０】
第９の発明のプログラムは、コンピュータを、照準消去手段として更に機能させる。ここで、照準消去手段は、操作手段の操作が一定時間なく、かつ、座標入力手段からの入力が一定時間ないときに、情報処理装置の表示手段に照準オブジェクトを表示させないための消去処理を行う。また、照準消去手段は、消去処理の実行後、座標入力手段への入力または操作手段の操作を受け付けたときに、照準オブジェクトを表示手段に再度表示するための処理を実行する。ここで、操作手段の操作が一定時間なく、かつ、座標入力手段からの入力が一定時間ないときとは、照準の表示が不要であると推定される。また、操作手段の操作又は座標入力手段からの入力を受け付けたときは、照準の表示が必要であると推定される。従って、この構成によれば、照準が必要なときのみ表示される。
【００２１】
第１０の発明のプログラムは、コンピュータを、プレイヤオブジェクト配置手段として更に機能させる。ここで、プレイヤオブジェクト配置手段は、仮想空間にプレイヤオブジェクトを配置する。また、プレイヤオブジェクト配置手段は、仮想空間内に設けられたパスに沿って自動的にプレイヤオブジェクトを移動させる。この構成によれば、プレイヤオブジェクトが自動的に移動するので、表示される仮想空間の内容に対するプレイヤの予測可能性が下がる。例えば、プレイヤの予期しない射撃対象が予期しない速度でプレイヤオブジェクトに迫ってくる場合等がある。このため、照準を素早く的確に移動させることが必要となる。第８の発明のプログラムによれば、仮想カメラの撮像方向及び／又は位置を変更しなくても、照準の位置を直感的かつ簡易な操作によって移動させることが可能であるため、表示される仮想空間の内容に対するプレイヤの予測可能性が低い状況においても
、プレイヤが照準の位置を素早く的確に移動させることが可能になる。
【００２２】
第１１の発明のプログラムでは、パスには、仮想カメラの位置及び撮像方向が設定された複数のパス点が設定されている。ここで、仮想カメラ配置手段は、複数のパス点のうちプレイヤオブジェクトの位置に対応するパス点に基づいて、仮想カメラのカメラ初期位置及び撮像方向を決定する。そして、仮想カメラ配置手段は、この決定したカメラ初期位置及び撮像方向で仮想空間に仮想カメラを配置する。この構成によれば、パスにおけるプレイヤオブジェクトの位置に基づく好適な所期位置及び撮像方向で仮想カメラを配置することが可能になる。
【００２３】
第１２の発明のプログラムでは、プレイヤオブジェクト配置手段は、パスの位置を基準として所定のオブジェクト移動可能範囲に限ってプレイヤからの操作部に対する操作に応じてプレイヤオブジェクトの位置を移動させる。この構成によれば、プレイヤオブジェクトの位置がパスに基づいて決定されるものの、所定の範囲でプレイヤの操作に基づいて変更することができる。
【００２４】
第１３の発明のプログラムは、コンピュータを、操作判別手段として更に機能させる。ここで、操作判別手段は、座標入力手段に対してプレイヤが座標入力していない非入力状態であるか否かを判別する。また、照準移動手段は、照準移動手段は、非入力状態であると操作判別手段によって判別されたときには、非入力状態になる前の座標入力手段に対する入力座標の変化に基づいて照準を変位させる。この構成によれば、照準の撮影画像における位置がプレイヤの所望の位置に到るまで、プレイヤが座標入力を続けなくてもよく、操作性良く照準の位置を変更することが可能になる。
【００２５】
第１４の発明のプログラムでは、射撃手段は、照準の位置に基づく方向に射撃対象が居ないときであって、照準の位置と射撃対象の位置が所定の関係にあるときには、照準の位置に基づく方向を射撃対象に向かうように補正する。この構成によれば、照準の位置に基づく方向に射撃対象が居ないときでも、照準の位置と射撃対象の位置が所定の関係にあるときには、射撃対象を射撃することが可能になり、多少、照準の位置が射撃対象を射撃可能な位置から外れていても射撃可能になる。
【００２６】
第１５の発明の情報処理装置は、座標入力手段および操作手段を利用可能な、射撃ゲームを実行し、照準配置手段、照準変位手段及び射撃手段を備える。また、第１６の発明の情報処理システムは、座標入力手段および操作手段を利用可能な、射撃ゲームを実行し、照準配置手段、照準変位手段及び射撃手段を備える。
【００２７】
ここで、照準配置手段は、射撃の方向を示す照準を、所定の位置に配置する。照準変位手段は、座標入力手段に対する入力座標の変化に応じて照準を所定の位置から変位させる。射撃手段は、操作手段による操作に応じて、照準の位置に基づく方向に仮想的に射撃を行う。
【００２８】
上記構成によれば、第１の発明のプログラムと同様の作用効果を奏する。
【００２９】
第１７の発明の情報処理方法は、座標入力手段および操作手段を利用可能な、射撃ゲームを実行する情報処理装置が行う情報処理方法であって、照準配置ステップ、照準変位ステップおよび射撃ステップを含む。
【００３０】
上記構成によれば、照準配置ステップにおいて、照準配置手段が、射撃の方向を示す照準を、所定の位置に配置する。照準変位ステップにおいて、照準移動手段が、座標入力手段に対する入力座標の変化に照準を所定の位置から変位させる。射撃ステップにおいて、
射撃手段が、操作手段による操作に応じて、照準の位置に基づく方向に仮想的に射撃を行う。
【００３１】
上記構成によれば、第１の発明のプログラムと同様の作用効果を奏する。
【発明の効果】
【００３２】
本発明によれば、照準の位置をプレイヤが入力座標を変化させるための操作という直感的で簡易な操作で変更することができる。ここで、従来技術では、常に表示画面の中央に位置するように照準が配置され、照準の位置を移動させるためには仮想カメラの向き又は位置そのものを変更しなければならなかった。これに対して、本発明によれば、仮想カメラの向き又は位置を変更しなくても照準の位置を変更させて射撃方向を変えることができる。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施形態にかかるゲーム装置の外観図
【図２】ゲーム装置の内部構成の一例を示すブロック図
【図３】地上戦ステージにおける表示画面の一例を示す図
【図４】仮想カメラＣａのデフォルトでの位置と向きを示す図
【図５】照準Ｇ３の位置とプレイヤのシューティング方向の関係を示す図
【図６】地上戦ステージにおける表示画面の一例を示す図
【図７】照準の移動可能領域を示す図
【図８】スライド操作におけるタッチ位置の変化をＸ成分の変化とＹ成分の変化に分解した状態を示す図
【図９】地上戦ステージにおける表示画面の一例を示す図
【図１０】スライド操作中における仮想カメラＣａの向き及び位置の水平方向における変更を示す図
【図１１】スライド操作中における仮想カメラＣａの向き及び位置の垂直方向における変更を示す図
【図１２】スライドオフ後の、垂直方向における仮想カメラ移動可能範囲及び仮想カメラＣａの向きの変化を示す図
【図１３】照準Ｇ３の位置、仮想カメラＣａの向き及び位置の慣性力による変化の減速度合いが小さくなる場合を説明するための図
【図１４】照準Ｇ３の位置、仮想カメラＣａの向き及び位置の慣性力による変化の減速度合いが小さくなる場合を説明するための図
【図１５】照準Ｇ３の位置、仮想カメラＣａの向き及び位置の慣性力による変化の減速度合いが小さくなる場合を説明するための図
【図１６】仮想空間をズームで表示する上側ＬＣＤを示す図
【図１７】通常時の画角を説明するための図
【図１８】ズーム時の画角を説明するための図
【図１９】ズーム時の照準移動可能範囲を示す図
【図２０】空中戦ステージにおける表示画面の一例を示す図
【図２１Ａ】仮想空間に配置されたパスとプレイヤキャラクタの移動ルートとの関係を示す図
【図２１Ｂ】プレイヤキャラクタＧ１の移動可能方向を示す図
【図２２Ａ】空中戦ステージにおける表示画面の一例を示す図
【図２２Ｂ】照準位置Ｇ３のスクリーン画面Ｇ４におけるデフォルト位置の変更を示す図
【図２２Ｃ】プレイヤキャラクタＧ１のデフォルト位置と、このデフォルト位置に対する照準Ｇ３の双方を変更して表示する上側ＬＣＤを示す図
【図２３】メインメモリが記憶するプログラム及び各種データの一例を示す図
【図２４】メイン処理の一例を示すフローチャート
【図２５】地上戦時照準位置・カメラ制御処理の一例を示すフローチャート
【図２６】通常照準位置・カメラ制御処理の一例を示すフローチャート
【図２７】パラメータ設定処理の一例を示すフローチャート
【図２８】照準位置設定処理の一例を示すフローチャート
【図２９】カメラ向き設定処理の一例を示すフローチャート
【図３０】カメラ位置設定処理の一例を示すフローチャート
【図３１】ズーム処理の一例を示すフローチャート
【図３２】ズーム時照準設定処理の一例を示すフローチャート
【図３３】空中戦時キャラクタ制御処理の一例を示すフローチャート
【発明を実施するための形態】
【００３４】
以下に図面を参照して、本発明を適用した一実施形態にかかるゲーム装置について説明する。本ゲーム装置は、本発明の情報処理装置の一例であり、タッチパネル（座標入力手段の一例）を備えている。また、本実施形態で想定するゲームは、３次元仮想空間を舞台としたシューティングゲームである。本ゲームでは、基本的には、プレイヤキャラクタ（プレイヤオブジェクト）の後方に配置された仮想カメラで撮影されたゲーム画像が表示されてゲームが進行する（いわゆるＴＰＳ（Third Person Shooting Game））。この仮想カメラに関して、上記タッチパネルに対するプレイヤの操作に応じて三次元仮想空間に配置された仮想カメラの向き（撮像方向）を変更することが可能である。
【００３５】
本実施形態では、タッチパネルに対してプレイヤがスライド操作（タッチオンした後、タッチを継続しつつタッチ位置を移動する操作）を行っている間にこのスライド量に応じて仮想カメラの向きを変更するのに加え、タッチパネルに対してプレイヤがタッチ操作を行っていないときにも仮想カメラの向きを変更する場合がある点が第１の特徴である。すなわち、プレイヤが、スライド操作を行った後にタッチオフすると（以下、「スライドオフ」と言う）を行ったときには、タッチオフ直前のスライド操作（スライド方向、スライド速さ；少なくともスライド方向）に応じて、タッチオフ後において慣性的に仮想カメラの向きを変更する点が本実施形態の第１の特徴となる。ただし、後述のとおり、スライド操作の最後にタッチ位置を停止させた後タッチオフした場合には、慣性的な変更は行われない。なお、本明細書においてタッチオンとは非タッチ状態からタッチ状態に移行した瞬間のことを言い、タッチオフとはタッチ状態から非タッチ状態に移行した瞬間のことを言う。
【００３６】
また、本実施形態の第２の特徴は、タッチパネルの所定領域内（例えば、全面）におけるプレイヤの任意の位置でプレイヤがダブルタップ操作を行うことで、仮想カメラの画角の変更等によって画面をズームすることである。なお、ダブルタップ操作（連続入力）とは、プレイヤが所定時間内に所定回数（例えば２回）の断続的なタッチ操作（座標入力）を行うこと、例えば、１回目のタッチ操作があってから所定の期間以内に２回目のタッチ操作を行うことである。なお、２回目のタッチ位置が１回目のタッチ位置から所定距離以内であることをダブルタップ操作のさらなる条件としてもよい。また、本実施形態において、ズームアップのことを単にズームと記載する。
【００３７】
また、本実施形態では、上記のようなシューティングゲームを想定しているが、ゲーム画面上には、プレイヤのシューティング方向を示す照準が表示されている。そして、本実施形態では、当該照準の位置をプレイヤのタッチパネルに対するスライド操作に応じてデフォルト位置から変更することを第３の特徴とする。
【００３８】
以下、本実施形態にかかるゲーム装置１の構成について図１及び図２を用いて説明する。図１は、本発明の一実施形態にかかるゲーム装置の外観図である。ゲーム装置は、本発
明のプログラムを実行することで、本発明の情報処理装置として機能する。
【００３９】
図１において、ゲーム装置１は、折り畳み型の携帯ゲーム装置であり、開いた状態（開状態）のゲーム装置１を示している。ゲーム装置１は、開いた状態においてもプレイヤが両手または片手で把持することができるようなサイズで構成される。
【００４０】
ゲーム装置１は、下側ハウジング１１及び上側ハウジング２１を有する。下側ハウジング１１と上側ハウジング２１とは、開閉可能（折り畳み可能）に連結されている。図１の例では、下側ハウジング１１及び上側ハウジング２１は、それぞれ横長の長方形の板状で形成され、互いの長辺部分で回転可能に連結されている。通常、プレイヤは、開状態でゲーム装置１を使用する。また、プレイヤは、ゲーム装置１を使用しないときには閉状態としてゲーム装置１を保管する。また、図１に示した例では、ゲーム装置１は、上記閉状態及び開状態のみでなく、下側ハウジング１１と上側ハウジング２１とのなす角度が閉状態と開状態との間の任意の角度において、連結部分に発生する摩擦力などによってその開閉角度を維持することができる。つまり、上側ハウジング２１を下側ハウジング１１に対して任意の角度で静止させることができる。
【００４１】
下側ハウジング１１には、下側ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１２が設けられる。下側ＬＣＤ１２は横長形状であり、長辺方向が下側ハウジング１１の長辺方向に一致するように配置される。なお、本実施形態では、ゲーム装置１に内蔵されている表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置等、他の任意の表示装置を利用してもよい。また、ゲーム装置１は、任意の解像度の表示装置を利用することができる。なお、詳細は後述するが、下側ＬＣＤ１２は、主に、内側カメラ２３または外側カメラ２５で撮影されている画像をリアルタイムに表示するために用いられる。
【００４２】
下側ハウジング１１には、入力装置として、各操作ボタン１４Ａ〜１４Ｋ、アナログ操作子１４Ｌ及びタッチパネル１３が設けられる。図１に示されるように、各操作ボタン１４Ａ〜１４Ｋのうち、方向入力ボタン１４Ａ、操作ボタン１４Ｂ、操作ボタン１４Ｃ、操作ボタン１４Ｄ、操作ボタン１４Ｅ、電源ボタン１４Ｆ、スタートボタン１４Ｇ、及びセレクトボタン１４Ｈは、上側ハウジング２１と下側ハウジング１１とを折りたたんだときに内側となる、下側ハウジング１１の内側主面上に設けられる。方向入力ボタン１４Ａは、例えば選択操作等に用いられる。各操作ボタン１４Ｂ〜１４Ｅは、例えば決定操作やキャンセル操作等に用いられる。電源ボタン１４Ｆは、ゲーム装置１の電源をオン／オフするために用いられる。図１に示す例では、方向入力ボタン１４Ａ及び電源ボタン１４Ｆは、下側ハウジング１１の内側主面中央付近に設けられる下側ＬＣＤ１２に対して、左右一方側（図１では左側）の当該主面上に設けられる。また、操作ボタン１４Ｂ〜１４Ｅ、スタートボタン１４Ｇ、及びセレクトボタン１４Ｈは、下側ＬＣＤ１２に対して左右他方側（図１では右側）となる下側ハウジング１１の内側主面上に設けられる。方向入力ボタン１４Ａ、操作ボタン１４Ｂ〜１４Ｅ、スタートボタン１４Ｇ、及びセレクトボタン１４Ｈは、ゲーム装置１に対する各種操作を行うために用いられる。
【００４３】
なお、図１においては、操作ボタン１４Ｉ〜１４Ｋの図示を省略している。例えば、Ｌボタン１４Ｉは、下側ハウジング１１の上側面の左端部に設けられ、Ｒボタン１４Ｊは、下側ハウジング１１の上側面の右端部に設けられる。Ｌボタン１４Ｉ及びＲボタン１４Ｊは、ゲーム装置１に対して、例えば撮影指示操作（シャッター操作）を行うために用いられる。また、本ゲーム装置１は上述したようにシューティングゲームを実行するが、Ｌボタン１４Ｉはプレイヤがシューティング操作を行うために用いられる。更に、音量ボタン１４Ｋは、下側ハウジング１１の左側面に設けられる。音量ボタン１４Ｋは、ゲーム装置１が備えるスピーカの音量を調整するために用いられる。
【００４４】
また、ゲーム装置１はアナログ操作子１４Ｌを備えている。このアナログ操作子１４Ｌは、例えば３６５°の方向に傾倒可能なジョイスティック等であり、傾倒方向と傾倒量に応じた操作信号を出力する。本実施形態では、アナログ操作子１４Ｌは、仮想空間内のプレイヤキャラクタの位置を移動させるための操作をプレイヤから受け付け、例えばスライドスティックのスライド方向とスライド量に応じてゲーム装置１はプレイヤキャラクタを移動させる。
【００４５】
更に、ゲーム装置１は、各操作ボタン１４Ａ〜１４Ｋ及びアナログ操作子１４Ｌとは別の入力装置として、さらにタッチパネル１３を備えている。タッチパネル１３は、下側ＬＣＤ１２の画面上を覆うように装着されている。なお、本実施形態では、タッチパネル１３は、例えば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル１３は、抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。また、本実施形態では、タッチパネル１３として、例えば下側ＬＣＤ１２の解像度と同解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１３の解像度と下側ＬＣＤ１２の解像度とが一致している必要はない。
【００４６】
本実施形態では、このタッチパネル１３は照準の位置の変更を指示する操作と、仮想カメラの向き及び位置の変更を指示する操作をプレイヤから受け付ける。タッチパネル１３に対する操作に基づく具体的な照準の位置の変更方法、仮想カメラの向き及び位置の変更方法については説明を後述する。
【００４７】
また、下側ハウジング１１の右側面には、挿入口（図１に示す破線）が設けられている。挿入口は、タッチパネル１３に対する操作を行うために用いられるタッチペン２７を収納することができる。なお、タッチパネル１３に対する入力は、通常タッチペン２７を用いて行われるが、タッチペン２７に限らずプレイヤの指でタッチパネル１３を操作することも可能である。
【００４８】
また、下側ハウジング１１の右側面には、メモリカード２８を収納するための挿入口（図１では、二点鎖線で示している）が設けられている。この挿入口の内側には、ゲーム装置１とメモリカード２８とを電気的に接続するためのコネクタ（図示せず）が設けられる。メモリカード２８は、例えばＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカードであり、コネクタに着脱自在に装着される。メモリカード２８は、例えば、ゲーム装置１によって撮影された画像を記憶（保存）したり、他の装置で生成された画像をゲーム装置１に読み込んだりするために用いられる。
【００４９】
さらに、下側ハウジング１１の上側面には、カートリッジ２９を収納するための挿入口（図１では、一点鎖線で示している）が設けられている。この挿入口の内側にも、ゲーム装置１とカートリッジ２９とを電気的に接続するためのコネクタ（図示せず）が設けられる。カートリッジ２９は、ゲームプログラム等を記録した記録媒体であり、下側ハウジング１１に設けられた挿入口に着脱自在に装着される。
【００５０】
下側ハウジング１１と上側ハウジング２１との連結部の左側部分には、３つのＬＥＤ１５Ａ〜１５Ｃが取り付けられる。ここで、ゲーム装置１は、他の機器との間で無線通信を行うことが可能であり、第１ＬＥＤ１５Ａは、ゲーム装置１の電源がオンであるときに点灯する。第２ＬＥＤ１５Ｂはゲーム装置１の充電中に点灯する。第３ＬＥＤ１５Ｃは無線通信が確立している場合に点灯する。したがって、３つのＬＥＤ１５Ａ〜１５Ｃによって、ゲーム装置１の電源のオン／オフ状況、充電状況、及び、通信確立状況をプレイヤに通知することができる。
【００５１】
一方、上側ハウジング２１には、上側ＬＣＤ２２が設けられる。上側ＬＣＤ２２は横長形状であり、長辺方向が上側ハウジング２１の長辺方向に一致するように配置される。なお、下側ＬＣＤ１２と同様、上側ＬＣＤ２２に代えて、他の任意の方式及び任意の解像度の表示装置を利用してもよい。なお、上側ＬＣＤ２２上を覆うように、タッチパネルを設けてもかまわない。例えば、上側ＬＣＤ２２には、プレイヤに各操作ボタン１４Ａ〜１４Ｋ、アナログ操作子１４Ｌ及びタッチパネル１３の役割を教えるための、操作説明画面が表示される。
【００５２】
また、上側ハウジング２１には、２つのカメラ（内側カメラ２３及び外側カメラ２５）が設けられる。図１に示されるように、内側カメラ２３は、上側ハウジング２１の連結部付近の内側主面に取り付けられる。一方、外側カメラ２５は、内側カメラ２３が取り付けられる内側主面の反対側の面、すなわち、上側ハウジング２１の外側主面（ゲーム装置１が閉状態となった場合に外側となる面であり、図１に示す上側ハウジング２１の背面）に取り付けられる。なお、図１においては、外側カメラ２５を破線で示している。これによって、内側カメラ２３は、上側ハウジング２１の内側主面が向く方向を撮影することが可能であり、外側カメラ２５は、内側カメラ２３の撮像方向の逆方向、すなわち、上側ハウジング２１の外側主面が向く方向を撮影することが可能である。このように、本実施形態では、２つの内側カメラ２３及び外側カメラ２５の撮像方向が互いに逆方向となるように設けられる。例えば、プレイヤは、ゲーム装置１からプレイヤの方を見た景色を内側カメラ２３で撮影することができるとともに、ゲーム装置１からプレイヤの反対側の方向を見た景色を外側カメラ２５で撮影することができる。
【００５３】
なお、上記連結部付近の内側主面には、音声入力装置としてマイク（図２に示すマイク４１）が収納されている。そして、上記連結部付近の内側主面には、マイク４１がゲーム装置１外部の音を検知できるように、マイクロフォン用孔１６が形成される。マイク４１を収納する位置及びマイクロフォン用孔１６の位置は必ずしも上記連結部である必要はなく、例えば下側ハウジング１１にマイク４１を収納し、マイク４１を収納位置に対応させて下側ハウジング１１にマイクロフォン用孔１６を設けるようにしても良い。
【００５４】
また、上側ハウジング２１の外側主面には、第４ＬＥＤ２６（図１では、破線で示す）が取り付けられる。第４ＬＥＤ２６は、外側カメラ２５によって撮影が行われた（シャッターボタンが押下された）時点で点灯する。また、外側カメラ２５によって動画が撮影される間点灯する。第４ＬＥＤ２６によって、ゲーム装置１による撮影が行われた（行われている）ことを撮影対象者や周囲に通知することができる。
【００５５】
また、上側ハウジング２１の内側主面中央付近に設けられる上側ＬＣＤ２２に対して、左右両側の当該主面に音抜き孔２４がそれぞれ形成される。音抜き孔２４の奥の上側ハウジング２１内にはスピーカが収納されている。音抜き孔２４は、スピーカからの音をゲーム装置１の外部に放出するための孔である。
【００５６】
以上に説明したように、上側ハウジング２１には、画像を撮影するための構成である内側カメラ２３及び外側カメラ２５と、例えば撮影の際に操作説明画面を表示する表示手段である上側ＬＣＤ２２とが設けられる。一方、下側ハウジング１１には、ゲーム装置１に対する操作入力を行うための入力装置（タッチパネル１３、各操作ボタン１４Ａ〜１４Ｋ及びアナログ操作子１４Ｌ）と、ゲーム画面を表示するための表示手段である下側ＬＣＤ１２とが設けられる。したがって、ゲーム装置１を使用する際には、プレイヤは、下側ＬＣＤ１２に表示される撮影画像（カメラによって撮影された画像）を見ながら、下側ハウジング１１を把持して入力装置に対する入力を行うことができる。
【００５７】
次に、図２を参照して、ゲーム装置１の内部構成を説明する。なお、図２は、ゲーム装
置１の内部構成の一例を示すブロック図である。
【００５８】
図２において、ゲーム装置１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３１、メインメモリ３２、メモリ制御回路３３、保存用データメモリ３４、プリセットデータ用メモリ３５、メモリカードインターフェース（メモリカードＩ／Ｆ）３６及びカートリッジＩ／Ｆ４３、無線通信モジュール３７、リアルタイムクロック（ＲＴＣ）３８、電源回路３９、及びインタフェース回路（Ｉ／Ｆ回路）４０等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて、下側ハウジング１１（または上側ハウジング２１でもよい）内に収納される。
【００５９】
ＣＰＵ３１は、所定のプログラム（本発明の情報処理プログラムを含む）を実行するための情報処理手段である。ＣＰＵ３１は、通信に関する処理を実行するコア３１Ａとアプリケーションの実行を行うコア３１Ｂを備える。本実施形態では、所定のプログラムがゲーム装置１内のメモリ（例えば保存用データメモリ３４）やメモリカード２８、カートリッジ２９に記憶されており、コア３１Ａは当該所定のプログラムを実行することによって通信処理の一部を実行する。
【００６０】
また、コア３１Ｂは、当該所定のプログラムを実行することによって、所定のゲーム処理を実行する。この所定のゲーム処理としてはゲーム画像データの作成処理を含む。より具体的には、コア３１Ｂは、ゲーム画像データの作成処理として、３Ｄグラフィックスの表示に必要な計算処理、例えば、モデリング処理、仮想カメラ及び光源の設定処理及びレンダリング処理等の実行によって所定期間毎（例えば１／６０秒毎）にゲーム画像データを作成してメインメモリ３２のＶＲＡＭ領域に書き込む。また、所定のゲーム処理にはメイン処理も含まれる。メイン処理についての詳細は図２４を用いて後述する。
【００６１】
本実施形態では、コア３１Ａが専ら通信処理を行うため、コア３１Ｂがアプリケーションを実行している間もアプリケーションの実行処理とは無関係に他のゲーム装置との間の通信処理を行うことができる。なお、ＣＰＵ３１によって実行されるプログラムは、ゲーム装置１内のメモリに予め記憶されていてもよいし、メモリカード２８及び／またはカートリッジ２９から取得されてもよいし、他の機器との通信によって他の機器から取得されてもよい。例えば、インターネットを経由して所定のサーバからダウンロードすることで取得しても良いし、据置型ゲーム装置と通信を行うことで、当該据置型ゲーム装置に記憶されている所定のプログラムをダウンロードすることで取得しても良い。
【００６２】
ＣＰＵ３１には、メインメモリ３２、メモリ制御回路３３、及びプリセットデータ用メモリ３５が接続される。また、メモリ制御回路３３には、保存用データメモリ３４が接続される。メインメモリ３２は、ＣＰＵ３１のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ３２は、上記したＣＰＵ３１の実行する処理に用いられる各種データを記憶したり、外部（メモリカード２８及び２９や他の機器等）から取得されるプログラムを記憶したりする。また、メインメモリ３２には、画面表示を行う為に使用するVRAM領域が設定されている。本実施形態では、メインメモリ３２として、例えばＰＳＲＡＭ（Ｐｓｅｕｄｏ−ＳＲＡＭ）を用いる。保存用データメモリ３４は、ＣＰＵ３１によって実行されるプログラムや内側カメラ２３及び外側カメラ２５によって撮影された画像のデータ等を記憶するための記憶手段である。保存用データメモリ３４は、不揮発性の記憶媒体によって構成されており、例えば本実施例ではＮＡＮＤ型フラッシュメモリで構成される。メモリ制御回路３３は、ＣＰＵ３１の指示に従って、保存用データメモリ３４に対するデータの読み出し及び書き込みを制御する回路である。プリセットデータ用メモリ３５は、ゲーム装置１において予め設定される各種パラメータ等のデータ（プリセットデータ）を記憶するための記憶手段である。プリセットデータ用メモリ３５としては、ＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）バスによ
ってＣＰＵ３１と接続されるフラッシュメモリを用いることができる。
【００６３】
メモリカードＩ／Ｆ３６はＣＰＵ３１に接続される。メモリカードＩ／Ｆ３６は、コネクタに装着されたメモリカード２８に対するデータの読み出し及び書き込みを、ＣＰＵ３１の指示に応じて行う。本実施形態では、外側カメラ２５によって撮像された画像データがメモリカード２８に書き込まれたり、メモリカード２８に記憶された画像データがメモリカード２８から読み出されて保存用データメモリ３４に記憶されたりする。
【００６４】
カートリッジＩ／Ｆ４３はＣＰＵ３１に接続される。カートリッジＩ／Ｆ４３は、コネクタに装着されたカートリッジ２９に対するデータの読み出し及び書き込みをＣＰＵ３１の指示に従って行う。本実施形態では、アプリケーションプログラムがカートリッジ２９から読み出されてＣＰＵ３１によって実行されたり、当該アプリケーションプログラムに関するデータ（例えばゲームのセーブデータ等）がカートリッジ２９に書き込まれたりする。
【００６５】
無線通信モジュール３７は、例えばＩＥＥＥ８０２．１１ｂ／ｇの規格に準拠した方式により、無線ＬＡＮに接続する機能を有する。無線通信モジュール３７はコア３１Ａに接続される。コア３１Ａは、無線通信モジュール３７を用いてインターネットを介して、又は介さないで他の機器との間でデータを送受信することができる。
【００６６】
また、無線通信モジュール３７は、所定の通信方式により同種のゲーム装置との間で無線通信を行う機能を有する。ここで、無線通信モジュール３７は、この無線通信で使用する電波は例えば無線局の免許が不要な程の微弱電波であり、例えばデータ伝送距離が１０ｍの範囲内の近距離無線通信を行う。従って、コア３１Ａは、他のゲーム装置１の通信可能範囲内（例えば、両機間の距離が１０ｍ以内）に位置するときに、無線通信モジュール３７を用いて当該他のゲーム装置１とデータを送受信することができる。このデータの送受信は、プレイヤの指示があったときに行われるのに加え、プレイヤの指示を条件とせずに所定周期毎に自動的に繰り返し行われる。
【００６７】
また、ＣＰＵ３１にはＲＴＣ３８及び電源回路３９が接続される。ＲＴＣ３８は時間をカウントしてＣＰＵ３１に出力する。例えば、ＣＰＵ３１はＲＴＣ３８によって計時された時間に基づいて、現在時刻（日付）等を計算することもできる。電源回路３９は、ゲーム装置１が有する電源（典型的には電池であり、下側ハウジング１１に収納される）から供給される電力を制御し、ゲーム装置１の各部品に電力を供給する。
【００６８】
また、ゲーム装置１はマイク４１及びアンプ４２を備えている。マイク４１及びアンプ４２はそれぞれＩ／Ｆ回路４０に接続される。マイク４１は、ゲーム装置１に向かって発声されたプレイヤの音声を検知して、当該音声を示す音声信号をＩ／Ｆ回路４０に出力する。アンプ４２はＩ／Ｆ回路４０から音声信号を増幅してスピーカ（図示せず）から出力させる。Ｉ／Ｆ回路４０はＣＰＵ３１に接続される。
【００６９】
また、タッチパネル１３はＩ／Ｆ回路４０に接続される。Ｉ／Ｆ回路４０はマイク４１及びアンプ４２（スピーカ）の制御を行う音声制御回路と、タッチパネル１３の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するＡ／Ｄ変換及びＤ／Ａ変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル１３からの信号に基づいて所定の形式のタッチ位置データを生成してＣＰＵ３１に出力する。例えば、タッチ位置データは、タッチパネル１３の入力面に対して入力が行われた位置の座標を示すデータである。なお、タッチパネル制御回路は、タッチパネル１３からの信号の読み込み、及び、タッチ位置データの生成を所定時間に１回の割合で行う。ＣＰＵ３１は、Ｉ／Ｆ回路４０を介して、タッチ位置データを取得
することにより、タッチパネル１３に対して入力が行われた位置を知ることができる。
【００７０】
操作子１４は、上記各操作ボタン１４Ａ〜１４Ｋ及びアナログ操作子１４Ｌから構成され、ＣＰＵ３１に接続される。操作子１４からＣＰＵ３１へは、各操作ボタン１４Ａ〜１４Ｋ及びアナログ操作子１４Ｌに対する入力状況（押下されたか否か）を示す操作情報が出力される。ＣＰＵ３１は、操作子１４から操作情報を取得することによって、操作子１４に対する入力に応じた処理を実行する。
【００７１】
内側カメラ２３及び外側カメラ２５は、それぞれＣＰＵ３１に接続される。内側カメラ２３及び外側カメラ２５は、ＣＰＵ３１の指示に応じて画像を撮影し、撮影した画像データをＣＰＵ３１に出力する。本実施形態では、ＣＰＵ３１は、内側カメラ２３及び外側カメラ２５のいずれか一方に対して撮影指示を行い、撮影指示を受けたカメラが画像を撮影して画像データをＣＰＵ３１に送る。
【００７２】
また、下側ＬＣＤ１２及び上側ＬＣＤ２２は、それぞれＣＰＵ３１に接続される。下側ＬＣＤ１２及び上側ＬＣＤ２２は、それぞれＣＰＵ３１の指示に従って画像を表示する。
【００７３】
以下、図３〜図２２を用いて本ゲーム装置１が実行するシューティングゲームの内容を説明する。このシューティングゲームでは、複数のステージが用意されており、プレイヤが１のステージをクリアすると次のステージに進むようになっている。また、これらのステージの種類として、空中戦ステージと地上戦ステージの２種類のステージがある。空中戦ステージは、空又は宇宙等の空中を表す仮想空間内をプレイヤキャラクタが飛行するステージである。また、地上戦ステージは、陸上を表す仮想空間内をプレイヤキャラクタが徒歩又は走行するステージである。空中戦ステージは、プレイヤキャラクタの移動経路が予め決まっていて、プレイヤキャラクタはその経路に沿って自動的に移動する。そして、プレイヤ操作によりプレイヤキャラクタはその経路から一定範囲だけ離れることが可能である。一方、地上戦ステージでは、プレイヤキャラクタは自動的に移動せずプレイヤ操作によって自由に移動する。空中戦ステージ及び地上戦ステージの何れのステージにおいても、仮想空間内にスタート地点とゴール地点（または、例えばボスキャラを倒すなどのゴールとなる条件）が設定されている。そして、プレイヤが、キャラクタ移動操作を行うことによって、プレイヤキャラクタをスタート地点からゴール地点まで移動させることができたらゲームクリアとなる。
【００７４】
ここで、スタート地点からゴール地点までの道中には敵キャラクタが出現して、この敵キャラクタの攻撃によってプレイヤキャラクタの体力値が０になると、ゲームは終了してしまう。プレイヤは、プレイヤキャラクタを移動操作したり、射撃動作の指示操作をおこなって、敵キャラクタを射撃（シューティング）して倒したり、敵キャラクタからの攻撃を回避することができる。このシューティング方向は上述しように仮想空間における照準の位置に基づいて決定される。
【００７５】
本実施形態においては、照準の位置、仮想カメラの向き、位置及び画角がプレイヤのタッチパネル１３に対する操作に応じて変更されることが特徴である。以下、本実施形態の特徴となる照準位置、仮想カメラの向き、位置及び画角の変更について記載する。ここで、地上戦ステージと空中戦ステージとでは照準位置、仮想カメラの向き、位置及び画角の変更に関する処理が異なるため、地上戦ステージと空中戦ステージとに分けて照準位置、仮想カメラの向き、位置及び画角の変更に関する処理を説明する。
【００７６】
（地上戦ステージ上のスライド操作中における照準位置の変更）
図３は地上戦ステージにおける表示画面の一例を示す図である。地上戦ステージにおいては上側ＬＣＤ２２には、仮想カメラＣａ（図４を参照）から見た仮想空間が表示されて
いる。この仮想空間には、プレイヤキャラクタＧ１、このプレイヤキャラクタを攻撃するノンプレイヤキャラクタである複数の敵キャラクタＧ２、及び照準Ｇ３（常に仮想カメラの方向を向くように制御される板ポリゴンオブジェクト）が配置されている。また図示を省略しているが地上を表す背景オブジェクトも仮想空間に配置されている。地上戦ステージでは、プレイヤキャラクタＧ１はプレイヤのアナログ操作子１４Ｌによるキャラクタ移動操作に応じて仮想空間内を自由に移動することが可能となっている。
【００７７】
そして、本実施形態では、仮想カメラＣａの制御については、基本的には、キャラクタの移動に追従して仮想カメラＣａの位置及び向きも移動するように制御される。図４は仮想カメラＣａのデフォルトでの位置と向きを示す図である。図４では仮想空間を上方から真下に見た状態を示している。なお、図７、図１０、図１３〜図１５、図１７、図１８、図１９及び図２２Ｂについても同様である。
【００７８】
図４で示すように、仮想カメラＣａの位置（図面では「Ｐ１」で示す）は、デフォルトでは、プレイヤキャラクタＧ１の代表点Ｐ２と同一水平面上でこの代表点Ｐ２から所定距離だけ離れた位置で、かつプレイヤキャラクタＧ１の水平方向での向き（プレイヤキャラクタＧ１の前方方向）と仮想カメラＣａの水平方向での向きとが一致する位置に設定される。なお、仮想カメラの向きは、デフォルトでは水平方向、かつプレイヤキャラクタＧ１（代表点Ｐ２）を向くように設定される。また、代表点Ｐ２は、例えば、プレイヤキャラクタＧ１の所定部位の位置（例えば頭部の重心位置）に設定される。
【００７９】
次に、同図（図４）を用いて照準Ｇ３のデフォルト位置を説明する。照準Ｇ３の代表点Ｐ３は、デフォルトでは、プレイヤキャラクタＧ１の代表点Ｐ２から仮想カメラＣａの向いている方向に延びる直線とスクリーン面Ｇ４との交点に配置される。例えば、代表点Ｐ３は照準Ｇ３の板ポリゴンオブジェクトの所定位置（例えば中心位置）に設定される。なお、本実施形態では、照準Ｇ３はスクリーン面Ｇ４上に配置されるが、この構成に代えて、照準Ｇ３は、代表点Ｐ２から仮想カメラＣａの向いている方向に所定距離だけ離れた仮想カメラＣａの撮像方向に垂直な平面上に配置されてもよい。また、本実施形態では、プレイヤキャラクタＧ１及び敵キャラクタＧ２に隠れて照準Ｇ３が表示されないことを防止するために、照準Ｇ３の手前に重なるオブジェクトに対して透過処理を施すことで、他のオブジェクトに隠されることなく照準Ｇ３を必ず表示している。なお、この構成に代えて、照準Ｇ３の仮想空間における位置をスクリーン上の位置（スクリーン上位置）に変換し、仮想カメラＣａの撮像画像のスクリーン上位置に照準Ｇ３の画像を合成する構成であってもよい。
【００８０】
図５は照準Ｇ３の位置とプレイヤのシューティング方向の関係を示す図である。この図５は仮想空間を上方から見た状態を示す。図５で示すように、シューティング方向は、プレイヤキャラクタＧ１の代表点Ｐ２から照準Ｇ３の代表点Ｐ３に向かう方向であり、この方向に向けて代表点Ｐ２から弾丸オブジェクトＧ５が発射されて飛行する。そして、弾丸オブジェクトＧ５と衝突した敵キャラクタＧ２がシューティングされて倒される。なお、本実施形態では、プレイヤキャラクタＧ１の代表点Ｐ２と照準Ｐ３の代表点Ｐ３を結ぶ直線を基準として、水平方向で所定角度以内に敵キャラクタＧ２が位置するときには、シューティング方向がその敵キャラクタＧ２に向かうように補正される。
【００８１】
次に、図６〜図８を用いてスライド操作中（スライド操作をしてタッチオフしていない状態）の照準の移動について説明する。図６は地上戦ステージにおける表示画面の一例を示す図である。この図では、スライド操作に応じて照準Ｇ３が移動されている。本実施形態では、プレイヤがタッチパネル１３に対してスライド操作を行うと、このスライド量に応じた移動量及び移動方向で照準Ｇ３が仮想空間を移動する。図６では、タッチペン２７が図１で示すタッチ位置からスライド量ａ１だけＸ軸正方向にスライド操作されている。
なお、ここのでＸ軸正方向とはタッチパネル１３の座標を基準とした方向であり、タッチパネル１３の座標では図６における右方向がＸ軸正方向、左方向がＸ軸負方向、上方向がＹ軸正方向、下方向がＹ軸負方向となる。このとき、照準Ｇ３が、カメラ座標系のＸ軸方向にスライド量ａ１に応じた移動量だけデフォルト位置から移動する。ここで、照準Ｇ３は、スライド操作に応じて無制限に移動可能ではなく、図６に点線で示す範囲（照準移動可能範囲）でのみ移動可能になっている。なお、この点線は画面には表示されない。
【００８２】
図７は照準移動可能領域を示す図である。照準移動可能範囲は、スクリーン面Ｇ４上における仮想カメラＧ４の画角θ１よりも小さい角度の範囲に設定されている。具体的には、代表点Ｐ２から仮想カメラＧ４の向いている方向に延びる直線を基準として、照準Ｇ３は水平方向に左右にθ２ｘ（θ１より小さい）の範囲まで移動可能である。また、この直線を基準として照準Ｇ３は垂直方向に上下にθ２ｙ（θ１より小さい）の範囲まで移動可能である。
【００８３】
前述の通り、照準Ｇ３の代表点Ｐ３は、デフォルトでは、プレイヤキャラクタＧ１の代表点Ｐ２から仮想カメラＣａの向いている方向に延びる直線上に存在し、また、照準移動可能範囲は、当該直線を基準として、水平方向に左右にθ２ｘ、上下にθ２ｙの範囲である。すなわち、照準Ｇ３の位置や照準移動可能範囲は、仮想カメラの位置および向きに基づいて決定されるものであり、仮想カメラＣａの位置および向きに追従して変更される。
【００８４】
そして、図８で示すように、スライド操作におけるタッチ位置の変化は、タッチパネル１３の座標におけるＸ成分の変化と、Ｙ成分の変化に分けて検出される。ここでは、スライド量ａ１のうち、Ｘ成分の変化量が変化量ａｘであり、Ｙ成分の変化量が変化量ａｙである。そして、このＸ成分の変化量ａｘに応じた移動量で、照準Ｇ３における代表点Ｐ３が仮想カメラＣａの座標系を基準としてＸ軸方向に移動する。そして、このＹ成分の変化量ａｙに応じた移動量で、照準Ｇ３における代表点Ｐ３が仮想カメラＣａの座標系を基準としてＹ軸方向に移動する。なお、仮想カメラＣａの座標系では、図７における右方向が、Ｘ軸正方向、左方向がＸ軸負方向、手前方向がＹ軸正方向、奥方向がＹ軸負方向となる。
【００８５】
上述したように、本実施形態では、照準Ｇ３の仮想空間における位置をプレイヤのスライド操作という直感的で簡易な操作で変更することができる。なお、従来技術では、常に表示画面の中央に位置するように照準Ｇ３が配置され、照準の位置を移動させるためには仮想カメラの向きそのものを変更しなければならなかったが、本実施形態では仮想カメラＣａの向き又は位置を変更しなくても一定の範囲で照準Ｇ３の位置を変更させてシューティング方向を変えることができる。
【００８６】
（地上戦ステージにおけるスライド操作による仮想カメラの向き、位置の変更）
次に、図９〜図１１を用いてスライド操作中の仮想カメラ向き及び仮想カメラ位置の移動について説明する。図９は地上戦ステージにおける表示画面の一例を示す図である。この図９の例では、タッチペン２７が図６で示すタッチ位置から更にスライド量ａ２だけスライド操作されている。従って、この例では、タッチペン２７はタッチオンした位置からスライド量ａ（スライド量ａ１＋スライド量ａ２）移動している。この例では、照準Ｇ３がスライド量ａ１に応じた移動量で移動すると照準移動可能範囲の境界に到るが、本実施形態では、照準Ｇ３が境界位置に到るまではスライド操作によって照準Ｇ３の位置が変更され、到った後には、スライド操作によって仮想カメラＣａの向きと位置の移動が行われる。
【００８７】
すなわち、仮想カメラＣａの向きおよび向きは、照準Ｇ３が境界に至った後のスライド操作の方向に応じた方向にスライド量ａ２に応じた度合いで変更される。
【００８８】
なお、以下の説明において、照準Ｇ３がＸ軸方向の境界位置に至ってからのＸ軸方向（タッチパネル１３の座標系におけるＸ軸方向）のスライド量をａ２ｘとし、照準Ｇ３がＹ軸方向の境界位置に至ってからのＹ軸方向（タッチパネル１３の座標系におけるＹ軸方向）のスライド量をａ２ｙとして説明する。
【００８９】
図１０はスライド操作中における仮想カメラＣａの向き及び位置の水平方向における変更を示す図である。仮想カメラＣａの位置は、プレイヤキャラクタＧ１の代表点Ｐ２を含む水平面において、当該Ｐ２を中心とする所定半径ｒ１の円上に設定される。すなわち、仮想カメラＣａの水平方向についての移動可能範囲（仮想カメラ移動可能範囲）はこの円上である。そして、図１の右方向（Ｘ軸正方向）にスライド操作があったときには、照準Ｇ３がＸ軸方向の右側境界に至った後、仮想カメラＣａの位置が現在位置からＣ１の方向にスライド量ａ２ｘに応じて移動する。また、図１の左方向（Ｘ軸負方向）にスライド操作があったときには、照準Ｇ３がＸ軸方向の左側境界に至った後、仮想カメラＣａの位置がデフォルト位置からＣ２の方向にスライド量ａ２ｘに応じて移動する。
【００９０】
そして、仮想カメラＣａの向きは仮想カメラＣａの移動後においてもプレイヤキャラクタＧ１の代表点Ｐ２を向くように変更される。同図では、仮想カメラＣａの向きは、デフォルトでは矢印Ａの方向を向いていたが、位置の変更後には矢印Ｂの方向に向くように変更されている。上述したように仮想カメラＣａの位置はスライド量ａ２ｘとスライド操作の方向に応じて変更されるため、仮想カメラＣａの向きもスライド量ａ２ｘとスライド操作の方向に応じて変更されることになる。
【００９１】
図１１はスライド操作中における仮想カメラＣａの向き及び位置の垂直方向における変更を示す図である。仮想カメラＣａの位置は、プレイヤキャラクタＧ１の代表点Ｐ２を含む垂直面において、当該Ｐ２を中心とする所定半径ｒ１の円弧上に設定される。すなわち、仮想カメラの垂直方向についての移動可能範囲はこの円弧上であり、仮想カメラＣａは、直線ｒ１を基準として下方向にα１°（９０°よりも小さい角度）、上方向にα２°（例えば９０°）の範囲で移動可能である。そして、図１の上方向にスライド操作があったときには、照準Ｇ３がＹ軸方向の上側境界に至った後、仮想カメラＣａの位置がデフォルト位置からＣ３の方向にスライド量ａ２ｙに応じて移動する。また、図１の下方向にスライド操作があったときには、照準Ｇ３がＹ軸方向の下側境界に至った後、仮想カメラＣａの位置がデフォルト位置からＣ４の方向にスライド量ａ２ｙに応じて移動する。
【００９２】
そして、仮想カメラＣａの向きは仮想カメラＣａの移動後もプレイヤキャラクタＧ１の代表点Ｐ２を向くように変更される。同図では、仮想カメラＣａの向きは、デフォルトでは矢印Ａの方向を向いていたが、位置の変更後には矢印Ｃの方向に向くように変更されている。上述したように垂直方向においても、仮想カメラＣａの位置はスライド量ａ２ｙとスライド操作の方向に応じて変更されるため、仮想カメラＣａの向きもスライド量ａ２ｙとスライド操作の方向に応じて変更されることになる。
【００９３】
上述したように、本実施形態では、スライド操作によって照準Ｇ３の位置、仮想カメラＣａの向き及び位置を変更することができるが、さらに、「スライドオフ」（スライド操作をしてタッチオフすること）の後においても、照準Ｇ３の位置、仮想カメラＣａの向き及び位置は慣性力によって変化する。なお、スライド操作中は慣性力による変化はしない。
【００９４】
以下、この慣性力による照準Ｇ３の位置、仮想カメラＣａの向き及び位置の変化について図７、図１０、図１２〜図１５を用いて説明する。
【００９５】
（地上戦ステージにおけるスライドオフ後の照準位置の変更）
まず、スライドオフの時点において、照準が照準移動可能範囲の境界に到達していないときには、照準Ｇ３の位置が慣性的に変化する。
【００９６】
照準Ｇ３の慣性力による移動について説明する。まず、照準移動可能範囲を説明すると、この照準移動可能範囲については図７を用いて説明したスライド操作中のものと同一である。スライド操作中と相違する点は、スライド操作中は照準Ｇ３がスライド操作の方向に応じた方向とスライド量に応じた移動量で移動するが、スライドオフ後には照準Ｇ３がタッチオフ直前のスライド方向とスライド量に応じた慣性力に応じて移動し、かつ徐々に減速して停止することである。ここで、慣性停止する前にプレイヤがタッチパネル１３上の任意の１点をタッチすると、照準Ｇ３の移動は瞬時に停止する。このため、プレイヤが、自己の所望の位置に照準Ｇ３が移動させるためには、スライドオフ後、慣性移動している照準が所望の位置まで移動したときに任意の位置をタッチオンするだけの操作でよい。これによって、タッチ操作を行い続けなくても、操作性よく照準Ｇ３を所望の位置まで移動させることができる。
【００９７】
（地上戦ステージのスライドオフ後における仮想カメラの向き、位置の変更）
スライドオフの時点において、照準が照準移動可能範囲の境界に既に到達しているとき、または、慣性力で移動する照準Ｇ３が照準移動可能範囲の境界に到達した後には、仮想カメラの向き、位置が慣性力で変化する。
【００９８】
仮想カメラＣａの向きの慣性力による変更及び仮想カメラＣａの位置の慣性力による移動について説明する。ここで、水平方向における仮想カメラ移動可能範囲及び仮想カメラＣａの向きの変化は図１０を用いて説明したスライド操作中のものと同一である。しかしながら、垂直方向における仮想カメラ移動可能範囲及び仮想カメラＣａの向きの変化については、スライド操作中とは異なっている。
【００９９】
図１２は、スライドオフ後の、垂直方向における仮想カメラ移動可能範囲及び仮想カメラＣａの向きの変化を示す図である。図１２で示すように、スライドオフ後においてもスライド操作中と同様に、仮想カメラＣａの位置は、プレイヤキャラクタＧ１の代表点Ｐ２を含む垂直面において、当該Ｐ２を中心とする所定半径ｒ１の円弧上に設定され、この円弧上で変更可能である。しかしながら、仮想カメラ移動可能範囲が、直線ｒ１を基準として下方向にα１°（９０°よりも小さい角度）、上方向にα１°の範囲で移動可能である点が異なっている。なお、スライド操作中には仮想カメラＣａは上方向にα２°の範囲で移動可能であるが、このα２°はα１°よりも大きい角度となっている。このように、仮想カメラ移動可能範囲がスライド操作中よりも狭くなっている。そして、仮想カメラＣａの向きについてもスライド操作中と同様にして変更される。もっとも、垂直方向における仮想カメラ移動可能範囲がスライド操作中よりも狭くなっているため、垂直方向における仮想カメラＣａの向きについてはスライド操作中よりも小さい度合いでのみ変更可能（Ｄ方向からＥ方向まで変更可能）になっている。
【０１００】
照準Ｇ３が照準移動可能範囲の境界に到達した後は、スライドオフ後に、仮想カメラＣａの向き及び位置がタッチオフ直前のスライド方向とスライド量に応じた慣性力で変化又は移動する。そして、仮想カメラＣａの向きの変化及び位置の移動が徐々に減速して停止する。ここで、慣性力による仮想カメラＣａの向きの変化及び位置の移動が停止する前にプレイヤがタッチパネル１３上の任意の１点をタッチすると、仮想カメラＣａの向きの変化及び位置の移動が瞬時に停止する。このため、自己の所望の仮想カメラＣａの向き及び位置にするためには、スライドオフをした後、慣性で変化している仮想カメラＣａが自己の所望の向き及び位置に到ったときに任意の位置をタッチオンするだけの操作でよい。これにより、プレイヤがタッチ操作を行い続けなくても、所望の向き及び位置に仮想カメラ
Ｃａの向き及び位置させることができ、操作性よく仮想カメラＣａの向き及び位置の変更を行うことができる。
【０１０１】
なお、スライドオフ後には垂直方向の仮想カメラＣａの位置及び向きは、自動的にデフォルト位置（プレイヤキャラクタＧ１の代表点Ｐ２と同一水平面）及びデフォルト向き（水平方向）に徐々に戻っていく。
【０１０２】
なお、前述の通り、照準Ｇ３の位置は仮想カメラＣａの位置および向きに基づいて決定されるので、スライド操作により、または、スライドオフ後に慣性的に、仮想カメラＣａの位置および向きが変化する場合、それに応じて、照準Ｇ３の位置も変化する。ただし、照準Ｇ３の画面上の位置は変化しない（例えば、照準が境界位置に達した後、仮想カメラＣａが慣性移動する場合において、照準Ｇ３は境界位置のままである）。
【０１０３】
（仮想カメラの慣性制御の減速度合いの変化：仮想カメラの撮像方向の一定範囲内にＮＰＣが存在する場合）
上述したように、スライドオフ後には、照準Ｇ３の位置、仮想カメラＣａの向き及び位置が慣性力によって変化していき、徐々にこの変化が減速していくが、本実施例では、この変化の減速度合いをある条件で大きくする。具体的には、ノンプレイヤキャラクタ（ＮＰＣ）が仮想カメラの撮像方向の一定範囲内に存在するときに減速度合いを大きくする。例えば、図１３に示すように、慣性移動中の仮想カメラＣａの位置から仮想カメラＣａの向きに延びる直線と、仮想カメラＣａの位置から或るＮＰＣの位置に延びる直線の構成する角度が所定角度α３°以内であるときには、仮想カメラＣａの向き及び位置の慣性力による変化の減速度合いを大きくする。ここで、撮像方向の一定範囲内に存在するときに減速度合いを大きくする対象は、任意のＮＰＣとしてもよいし、特定のＮＰＣ(例えば、す
べての敵キャラクタ、または、特定種類の敵キャラクタ)としてもよいし、プレイヤキャ
ラクタＧ１が敵キャラクタから攻撃を受けてダメージを受けたときに、その敵キャラクタＧ２の識別情報を記憶しておいて、当該敵キャラクタのみとしてもよい（または、当該敵キャラクタについての減速力をさらに強くしてもよい）。なお、ＮＰＣの種類によって減速度合いを変更してもよい。これによって、プレイヤがシューティングすべき敵キャラクタＧ２が仮想カメラの中心付近に表示されているとき等には仮想カメラＣａの向き及び位置の変化がゆるやかになり、敵キャラクタＧ２を仮想カメラでとらえることが容易となる。
【０１０４】
（仮想カメラの慣性制御の減速度合いの変化：プレイヤキャラクタの近くに所定数以上のＮＰＣが存在する場合）
また、図１４で示すように、プレイヤキャラクタＧ１を中心として所定距離以内に居る敵キャラクタＧ２の数が所定数以上のときには（または、現在のプレイエリアに存在する敵キャラクタＧ２の数が所定数以上のときには）、上述の「仮想カメラＣａの撮像方向の一定範囲内にＮＰＣが存在する場合の減速度合いの変化」の処理を停止してもよい。これは、多数の敵キャラクタＧ２が存在するときには、敵キャラクタＧ２が撮像方向に存在する頻度が高く、頻繁に強く減速することになって、慣性によるカメラ制御が有効に働かない。このため、敵キャラクタＧ２がプレイヤキャラクタＧ２の周辺に多くいるときには、上述の減速度合いの変更処理を停止するようにする。
【０１０５】
（仮想カメラの慣性制御の減速度合いの変化：プレイヤキャラクタの進行すべき方向に撮像方向が向いている場合）
また、本実施形態において、地上戦ステージでは、当該ステージのスタート地点からゴール地点を結ぶ所定のルートがパスとして定義されている。当該パスは、プレイヤキャラクタＧ１の進行すべき方向（ルート）をガイドするためのものであり、仮想ゲーム空間においてその座標およびその座標それぞれについて進行方向（水平方向のみ）が定義されて
いる。（または、地面オブジェクトに埋め込む形で設定されていてもよい。）そして、例えば、プレイヤキャラクタＧ１がパスの近辺に居るとき（一定距離以内等）には進行方向を示す矢印オブジェクトが表示される。ここで、図１５で示すように、仮想カメラＣａ（またはプレイヤキャラクタＧ１）が、パスの近辺（例えば、仮想カメラＣａからパスへの距離が一定以内、または、プレイヤキャラクタＧ１からパスへの距離が一定以内）に位置するときに、仮想カメラＣａの向き及び位置の慣性力による変化の減速度合いを大きくしてもよい。具体的には、仮想カメラＣａが位置する地点（またはプレイヤキャラクタＧ１の地点）から一番近いパス上の点に設定された進行方向（水平方向）が仮想カメラＣａの向いている方向（水平方向）から角度α４°以内で場合である。従って、仮想カメラＣａの位置（またはプレイヤキャラクタＧ１の位置）がパスの近辺にあり、かつ仮想カメラＣａの向きがパス方向に近いときには、仮想カメラＣａの向き及び位置の変化がゆるやかになり、プレイヤが、仮想カメラＣａをプレイヤキャラクタＧ１の進行すべき方向に向くように制御することが容易になる。
【０１０６】
（地上戦ステージにおけるズーム処理）
次に、図１６〜１８を用いて地上戦ステージにおけるズーム処理について説明する。図１６は仮想空間をズームで表示する上側ＬＣＤ２２を示す図である。地上戦ステージにおいては、プレイヤがダブルタップ操作をタッチパネル１３に対して行うことで、図１６で示すように、仮想カメラＣａの視点が主観視点に変更され、かつ通常時よりもズームして仮想空間を仮想カメラＣａに投影する。具体的には、注視点を同一に維持した状態で仮想カメラＣａの画角θ１を変更することで、仮想空間がズームで表示される。図１７は通常時（地上戦ステージにおいてズーム時ではない時）の画角を説明するための図であり、図１８はズーム表示がなされている期間（ズーム時）の画角を説明するための図である。ダブルタップ操作があると、仮想カメラＣａの画角θ１を小さく変更することで、敵キャラクタＧ２等のオブジェクトのスクリーン面Ｇ４上における投影範囲が大きくなる。なお、図１７及び図１８の斜線部分が敵キャラクタＧ２の投影範囲を示している。従って、画角θ１を小さく変更することでズーム表示が行われる。
【０１０７】
上述したズーム処理はダブルタップ操作によって行われるが、このダブルタップ操作はタッチパネル１３の所定領域内(たとえば、全面）の何れの領域で行ってもよい。これに
よって、プレイヤのタッチパネル１３における所望の位置でダブルタップ操作を行うという簡易な操作によって、ズーム処理の実行をゲーム装置１に指示することができる。
【０１０８】
なお、ズームは、ダブルタップにおける２回目のタッチ操作を継続している間だけ行われ、当該２回目のタッチ操作をオフすると、ズーム処理は解除されて、通常の処理に戻る。ダブルタップにおける２回目のタッチ操作が継続している限り、そのタッチ位置が移動してもズーム処理は継続する。
【０１０９】
なお、ズーム時には、上述したように、仮想カメラＣａの視点は主観視点に変更される。すなわち、プレイヤキャラクタＧ１の代表点Ｐ２の位置に仮想カメラＣａ位置が設定される（図１９を参照）。また、ズーム中にスライド操作を行っても（すなわち、ダブルタップしてそのままタッチ操作を継続しつつタッチ位置を移動させても）仮想カメラＣａの向き及び位置は変更しない。ズーム中にスライド操作を行うと、照準Ｇ３の位置が移動する。
【０１１０】
（ズーム処理時の照準Ｇ３の移動）
以下に、図１９を用いて、ズーム中の照準Ｇ３の移動について説明する。ズーム中においても照準Ｇ３は、スクリーン面Ｇ４上に配置され、デフォルト位置についても通常時（非ズーム時）と同一である。また、ズーム中のスライド操作の方向とスライド量に応じて、照準Ｇ３がデフォルト位置から移動する。ただし、ズーム時ではスライド操作によって
のみ照準Ｇ３の位置を変更することができ、慣性力によって照準Ｇ３を移動させることができない。
【０１１１】
また、図１９はズーム中の照準移動可能範囲を示す図であるが、図１９で示すように、照準移動可能範囲が通常時の照準移動可能範囲よりも広く、具体的には、スクリーン面Ｇ４の全域である点が異なっている。すなわち、移動可能範囲を規定する角度θ２（θ２ｘ、θ２ｙ）が通常時のθ２（θ２ｘ、θ２ｙ）よりも大きく、具体的には、画角θ１と同一に設定される。更に、スライド操作の量に対する照準Ｇ３の移動量が通常時よりも小さい点が異なっている。これによって、ズーム時ではプレイヤは通常時よりも緻密に照準Ｇ３の位置を変更することができる。
【０１１２】
（空中戦ステージにおける照準位置、カメラ向き及び位置の変更）
次に、空中戦ステージにおける照準Ｇ３の位置、仮想カメラＣａの向き及び位置に関する処理を説明する。なお、空中戦ステージでは仮想カメラＣａの画角θ１の変更は行われず、仮想空間がズーム表示されることはない。図２０は空中戦ステージにおける表示画面の一例を示す図である。
【０１１３】
図２０で示すように、空中戦ステージにおいても地上戦ステージと同様に、上側ＬＣＤ２２には仮想カメラＣａ（図４を参照）から見た仮想空間が表示されている。そして、地上戦ステージと同様に、この仮想空間には、プレイヤキャラクタＧ１、このプレイヤキャラクタを攻撃するノンプレイヤキャラクタである複数の敵キャラクタＧ２、及び照準Ｇ３が配置されている。また、図示を省略しているが、空中戦ステージでは地上戦ステージとは異なり、空中（宇宙や空）を表す背景オブジェクトも仮想空間に配置されている。
【０１１４】
本実施形態では、空中戦ステージにおいても、上述したような、スタート地点からゴール地点に至るまでの仮想区間内の所定のルートがパスとして設定されている。但し、地上戦ステージとは異なり、プレイヤがキャラクタ移動操作を行わなくても、プレイヤキャラクタＧ１が当該設定されたパスに沿って自動的に移動する。図２１Ａは仮想空間に配置されたパスとプレイヤキャラクタの移動ルートとの関係を示す図である。図２１Ａでは上方から真下に見た状態の仮想空間が示されている。同図では、二点鎖線矢印がパスの位置及び向きを示している。なお、パスは画面には表示されない。ここでは、プレイヤがキャラクタ移動操作を全く行わず（つまり、アナログ操作子１４Ｌを一切操作せず）、プレイヤキャラクタＧ１が自動的に移動したときの状態を示している。この様に、キャラクタ移動操作を行わなければ、プレイヤキャラクタＧ１はパスに沿って代表点Ｐ２が通るように移動する。但し、プレイヤはキャラクタ移動操作によってパスを基準として所定範囲まではプレイヤキャラクタＧ１を移動させることができる。
【０１１５】
次に、図２１Ｂを用いてキャラクタ移動操作に基づくプレイヤキャラクタＧ１の移動を説明する。図２１ＢはプレイヤキャラクタＧ１の移動可能方向を示す図である。図２１Ｂで示すように、本実施形態では、プレイヤキャラクタＧ１のローカル座標系のＺ軸方向はパス方向と一致するように設定される。そして、プレイヤキャラクタＧ１のローカル座標系のＺ軸方向の移動は、プレイヤのキャラクタ移動操作によって移動されず、自動で移動される。もっとも、ローカル座標系のＸ軸方向とＹ軸方向についてはパスの位置から所定範囲以内に限って、プレイヤのキャラクタ移動操作によってプレイヤキャラクタＧ１の位置を移動させることができる。
【０１１６】
具体的には、プレイヤがアナログ操作子１４Ｌを図１における左にスライドさせるとプレイヤキャラクタＧ１はパスに向かって左側に移動するように（Ｘ軸負方向に）移動する。また、プレイヤがアナログ操作子１４Ｌを図１における右にスライドさせるとプレイヤキャラクタＧ１はパスに向かって右側に移動するように（Ｘ軸正方向に）移動する。また
、プレイヤがアナログ操作子１４Ｌを図１における上にスライドさせるとプレイヤキャラクタＧ１はパスに向かって上側に移動するように（Ｙ軸正方向に）移動する。プレイヤがアナログ操作子１４Ｌを図１における下にスライドさせるとプレイヤキャラクタＧ１はパスに向かって下側に移動するように（Ｙ軸負方向に）移動する。
【０１１７】
ここで、空中戦ステージにおけるデフォルトでの仮想カメラＣａの向き及び位置を説明する。まず、上記パスの全域に亘って対応点が配置されている。この対応点には仮想カメラＣａのデフォルト位置及び向きが設定されている。そして、図２１Ａを参照して、仮想カメラＣａのデフォルトでの位置及び向きは、プレイヤキャラクタＧ２が位置する対応点に設定された位置及び向きで決定される。なお、仮想カメラＣａのデフォルトでの位置は必ずプレイヤキャラクタＧ１と同一水平面上に設定される。また、仮想カメラＣａのデフォルトでの向きは必ずプレイヤキャラクタＧ１の代表点Ｐ２を向くように設定されている。従って、プレイヤキャラクタＧ１の移動がなければ、画面の中心に必ずプレイヤキャラクタＧ１が表示されている状態になる。
【０１１８】
しかしながら、プレイヤ操作によりプレイヤキャラクタＧ１がパスから上下左右方向に移動したときでも基本的には仮想カメラＣａの位置及び向きの変更はされないため、このときには、プレイヤキャラクタＧ１は画面の中心から移動した位置に表示される（図２２Ｃを参照）。
【０１１９】
なお、空中戦ステージにおいては、スライド操作に応じて仮想カメラＣａの位置及び向きが変更されることはないし、スライドオフ後も仮想カメラＣａの位置及び向きが変更されることはない。
【０１２０】
次に、図２２Ａを用いて空中戦ステージにおける照準Ｇ３について説明する。図２２Ａは空中戦ステージにおける表示画面の一例を示す図である。
【０１２１】
照準Ｇ３のデフォルト位置は、地上戦ステージと同様、プレイヤキャラクタＧ１の代表点Ｐ２から仮想カメラＣａの向いている方向に延びる直線とスクリーン面Ｇ４（または、代表点Ｐ２から仮想カメラＣａの向いている方向に所定距離だけ離れた仮想カメラＣａの向きに垂直な平面）との交点に配置される。プレイヤキャラクタＧ１が移動したときには、図２２Ｂで示すように、移動後におけるプレイヤキャラクタＧ１の代表点Ｐ２の位置に基づいて照準Ｇ３のデフォルト位置も変更される。図２２Ｂは、プレイヤキャラクタＧ１が移動した場合の照準位置Ｇ３のスクリーン画面Ｇ４におけるデフォルト位置の変更を示す図である。なお、同図では、照準Ｇ３のデフォルト位置について、プレイヤキャラクタＧ１の移動前の位置を斜線で示し、プレイヤキャラクタＧ１の移動後の位置を黒塗で示す。
【０１２２】
上記のように、プレイヤキャラクタＧ１の移動に応じて照準Ｇ３のデフォルト位置が変化する。スライド操作がされなければ、照準Ｇ３の位置はこのデフォルト位置に設定される。そして、スライド操作中は、地上戦ステージの通常時（ズーム中でないとき）と同様、スライド操作の移動方向及びスライド量に応じて、照準Ｇ３はデフォルト位置から移動する。また、スライドオフ後にも、地上戦ステージの通常時と同様、慣性により照準Ｇ３は移動する。図２２Ａでは、照準Ｇ３の位置がデフォルト位置から移動されている。図２２Ｃは、図２２Ａの状態から、プレイヤキャラクタＧ１が移動した場合の上側ＬＣＤ２２を示す図である。
【０１２３】
なお、上述のように照準Ｇ３の位置がデフォルト位置から変更されて算出されることで、プレイヤキャラクタＧ１が移動することによって、照準Ｇ３（代表点Ｐ３）の位置がスクリーン面Ｇ４の境界位置を超えるときがある。このときには、図２２Ｃで示すように、
スクリーン面Ｇ４の境界位置に照準Ｇ３の位置が補正される。なお、空中戦ステージにおける照準Ｇ３は、照準移動可能範囲がスクリーン面Ｇ４の全域である。また、空中戦ステージにおいても、地上戦ステージと同様、照準Ｇ３は仮想カメラの方向を向く板ポリゴンオブジェクトである。
【０１２４】
次に、図２３を参照して、ゲーム装置１がメインメモリ３２に記憶する各種プログラムや各種データについて説明する。
【０１２５】
図２３はメインメモリ３２が記憶するプログラム及び各種データの一例を示す図である。各種データはプログラムをゲーム装置１が実行することに応じて記憶される。
【０１２６】
メインメモリ３２は、プログラム記憶領域３２ａとデータ記憶領域３２ｂを備える。プログラム記憶領域３２ａは、図２４を用いて後述のメイン処理等を実行するメイン処理プログラム３２１等を記憶する。
【０１２７】
データ記憶領域３２ｂは、タッチパネル操作情報３２２、ステージ情報３２３、プレイヤキャラクタ情報３２４、ノンプレイヤキャラクタ情報３２５、照準情報３２６、カメラ情報３２７及びダブルタップフラグ３２８等を記憶する。タッチパネル操作情報３２２はタッチの有無、及びタッチパネル１３におけるプレイヤにタッチされた位置（タッチ座標、すなわち入力座標）を示す情報である。タッチパネル１３からの入力信号は所定周期毎（例えば１／６０秒の描画周期毎）に検出されるが、タッチパネル操作情報３２２はこの入力信号に基づくタッチ座標を示す。なお、タッチデータ記憶領域３２ｂには複数回分の操作情報３２２が記憶される。また、ステージ情報３２３は各ステージの仮想空間の生成に必要な情報であり、例えば背景オブジェクトに関する情報、仮想空間に設定されるパスの位置等に関する情報、スタート地点とゴール地点を示す情報等を含む。
【０１２８】
そして、プレイヤキャラクタ情報３２４は、プレイヤキャラクタＧ１を仮想空間に生成するための情報であり、例えばプレイヤキャラクタＧ１のポリゴンデータやテクスチャデータ、保有アイテムを示すデータ等が含まれる。また、ノンプレイヤキャラクタ情報３２５は、敵キャラクタＧ２を仮想空間に生成するための情報であり、例えば敵キャラクタＧ２の種類、初期配置位置を示すデータ、ポリゴンデータやテクスチャデータ、動作パターンを示すデータ等が含まれる。ノンプレイヤキャラクタ情報３２５は、仮想空間に配置する敵キャラクタＧ２の数だけ記憶されている。また、プレイヤに特定の攻撃を加えた敵キャラクタＧ２に対応するノンプレイヤキャラクタ情報３２５には所定のフラグが一定時間の間、オンとして設定される。
【０１２９】
また、照準情報３２６は、照準Ｇ３のスクリーン面Ｇ４上の位置を、例えば、スクリーン面Ｇ４上のデフォルト位置からのベクトルで示す情報である。更に、照準情報３２６は仮想空間における照準３２６の位置及び向きを示す。なお、最新の照準情報３２６だけでなく、過去数回分の照準情報３２６も記憶されている。そして、カメラ情報３２７は、仮想カメラＣａの仮想空間における位置、向き、注視点の位置及び画角を示す情報である。そして、ダブルタップフラグ３２８は、プレイヤのダブルタップ操作が行われたことを示すフラグであり、ダブルタップ操作が検出されたときから２回目のタッチ操作がオフになるまで記憶される。
【０１３０】
以下、図２４を用いてゲーム装置１が実行するメイン処理を説明する。図２４はゲーム装置１が実行するメイン処理の一例を示すフローチャートである。まず、コア３１Ｂがゲームに関する初期処理を実行する（Ｓ１）。具体的には、コア３１Ｂは、プレイヤの選択によって、複数のキャラクタの中からゲームに使用するプレイヤキャラクタＧ１及びこのプレイヤキャラクタＧ１の装備（保有アイテム）等の選択を行う。そして、コア３１Ｂは
、複数のステージの中からステージを選択する（Ｓ２）。ここで、最初はファーストステージを選択する。そして、コア３１Ｂは、プレイヤキャラクタＧ１及び敵キャラクタＧ２等のゲームキャラクタのデータ、および、選択したステージの仮想空間を構築するための地形オブジェクトのデータ等をカートリッジ２９から読み込んで、仮想空間を構築する処理を行う（Ｓ３）。具体的には、コア３１Ｂは、読み込んだデータを用いて当該ステージの３次元空間を構築し、プレイヤキャラクタＧ１、及び敵キャラクタＧ２や他のオブジェクトを仮想空間の初期位置に配置する処理等を実行する。また、コア３１Ｂは、デフォルト位置で照準Ｇ３及び仮想カメラＣａを仮想空間に設定するとともに、仮想カメラＣａの向きをデフォルトの向きに設定する。
【０１３１】
次に、コア３１Ｂは操作情報を取得する。すなわち、操作子１４から送信されてくる操作情報がメインメモリに記憶されるので、ＣＰＵ１０は、この操作情報を取得して操作内容を判別する（Ｓ４）。例えば、コア３１Ｂは、タッチパネル１３に対するタッチの有無やタッチ位置を判別してタッチパネル操作情報３２２を生成してデータ記憶領域３２ｂに記憶させる。また、アナログ操作子１４Ｌの操作方向及び操作量、Ｌボタン１４Ｉの押下の有無等を判別して、この判別内容をデータ記憶領域３２ｂに記憶させる。
【０１３２】
次に、コア３１ＢはステップＳ２で選択したステージが地上戦ステージか否かを判断する（Ｓ５）。そして、地上戦ステージであると判断したときには（Ｓ５でＹＥＳ）、コア３１Ｂは地上戦キャラクタ制御処理を実行する（Ｓ６）。この地上戦キャラクタ制御処理では、コア３１Ｂは、アナログ操作子１４Ｌの操作方向及び操作量に基づいてプレイヤキャラクタＧ１の位置、向き及び動作を変更するようメインメモリ３２に設定する。このメインメモリ３２へのプレイヤキャラクタＧ１の位置、向き及び動作の設定に基づいて、後述のステップＳ１１の描画処理が行われる。なお、上述したように、地上戦ステージにおいては、コア３１Ｂはアナログ操作子１４の操作に基づいて仮想空間内を水平方向に移動するように制御される。更に、地上戦キャラクタ制御処理では、コア３１Ｂは敵キャラクタＧ２の仮想空間における向き、位置及び動作を所定のアルゴリズムを用いて決定してメインメモリ３２に設定する。なお、このメインメモリ３２への敵キャラクタＧ２の位置、向き及び動作の設定に基づいて、後述のステップＳ１１の描画処理が行われる。
【０１３３】
続いて、コア３１Ｂは地上戦時照準位置・カメラ制御処理を実行する（Ｓ７）。この地上戦時照準位置・カメラ制御処理は、上述したような、プレイヤのスライド操作中及びスライドオフ後における照準位置の変更及びカメラ制御（位置及び向きの変更）を行う。また、地上戦照準位置・カメラ制御処理では、上述したようなズーム処理とズーム時の照準位置の変更が行われる場合もある。この地上戦照準位置・カメラ制御処理についての詳細は図２５等を用いて後述する。この後、コア３１Ｂは続くステップＳ１０に処理を進める。
【０１３４】
一方、地上戦ステージではないと判断したとき、すなわち空中戦ステージであると判断したときには（Ｓ５でＮＯ）、コア３１Ｂは空中戦時キャラクタ制御処理を実行する（Ｓ８）。この空中戦時キャラクタ制御処理は、アナログ操作子１４Ｌの操作方向及び操作量とパスに基づいてプレイヤキャラクタＧ１の位置、向き及び動作をメインメモリ３２に設定するための処理である。なお、上述したように、空中戦ステージでは地上戦ステージとは異なり、プレイヤキャラクタＧ１は仮想空間に設定されたパスに沿って自動的に移動する。そして、プレイヤキャラクタＧ１は、アナログ操作子１４Ｌの操作方向及び操作量に基づいて、プレイヤキャラクタＧ１のローカル座標系のＸ軸方向とＹ軸方向に所定範囲だけパスから移動することになっている。従って、コア３１Ｂは、プレイヤキャラクタＧ１の位置を、プレイヤキャラクタＧ１のＺ軸方向に所定量だけ自動的に移動させる。また、アナログ操作子１４Ｌの操作があったときには、更に、アナログ操作子１４Ｌの操作方向及び操作量に基づいて、プレイヤキャラクタＧ１のローカル座標系のＸ軸方向とＹ軸方向
に所定範囲だけパスから移動させてプレイヤキャラクタＧ１の位置がメインメモリ３２に設定される。そして、プレイヤキャラクタＧ１の向きは常にパス方向を向くようにメインメモリ３２に設定される。なお、このメインメモリ３２へのプレイヤキャラクタＧ１の位置、向き及び動作の設定に基づいて、後述のステップＳ１１の描画処理が行われる。更に、空中戦キャラクタ制御処理では、敵キャラクタＧ２の仮想空間における向き、位置及び動作を所定のアルゴリズムを用いて決定して、メインメモリ３２に設定する。なお、このメインメモリ３２への敵キャラクタＧ２の位置、向き及び動作の設定に基づいて、後述のステップＳ１１の描画処理が行われる。
【０１３５】
次に、コア３１Ｂは空中戦時照準位置・カメラ制御処理を実行する（Ｓ９）。この空中戦時照準位置・カメラ制御処理では、上述したような、プレイヤのスライド操作中の照準Ｇ３の位置の変更を行う。また、パスに設定された仮想カメラＣａの向き及び位置と、仮想空間におけるプレイヤキャラクタＧ１の位置に応じてカメラ制御（位置及び向きの設定）を行う。この空中戦照準位置・カメラ制御処理についての詳細は図３３等を用いて後述する。この後、コア３１Ｂは続くステップＳ１０に処理を進める。
【０１３６】
ステップＳ１０では、コア３１Ｂは攻撃関連処理を行う（Ｓ１０）。この攻撃関連処理では、プレイヤキャラクタＧ１のシューティングに関連するシューティング処理と敵キャラクタＧ２からプレイヤキャラクタＧ１への攻撃に関連する敵攻撃処理が行われる。シューティング処理では、シューティング操作の入力の有無が判断され、この操作の入力があったときには後の描画処理Ｓ１１で弾が発射するように描画されるように設定する。また、シューティング操作があったときには、コア３１Ｂはシューティング方向を算出する。このシューティング方向はプレイヤキャラクタＧ１の代表点Ｐ２の位置から照準Ｇ３の代表点Ｐ３の位置に向かう方向である。
【０１３７】
この後、コア３１Ｂは敵キャラクタＧ２のシューティングの成否を判断する。具体的には、コア３１ＢはプレイヤキャラクタＧ１の代表点Ｐ２からシューティング方向に発射された弾丸オブジェクトＧ５が敵キャラクタＧ２に衝突したか否かを判断し、衝突したときにはこの敵キャラクタＧ２のシューティングが成功した（射撃が命中した）と決定する。なお、上述したように、シューティング直線（プレイヤキャラクタＧ１の代表点Ｐ２からシューティング方向に発射された弾丸オブジェクトＧ５が所定距離だけ延びる直線）上に敵キャラクタＧ２が居ないときでも、敵キャラクタＧ２の位置がこのシューティング直線から所定角度以内の位置でありかつプレイヤキャラクタＧ１から所定距離以内であるときには、このシューティング方向は敵キャラクタＧ２に向かうように補正される。そして、当該敵キャラクタＧ２へのシューティングの成功が決定される。
【０１３８】
そして、敵攻撃処理では、コア３１Ｂは、敵キャラクタＧ２にプレイヤキャラクタＧ１に対して攻撃動作（例えばシューティング動作）を行わせるか否かを所定のアルゴリズムを用いて決定する。そして、攻撃動作を行わせると決定したときには、コア３１Ｂは後の描画処理Ｓ１１で数フレームかけて敵キャラクタＧ２に攻撃モーションをさせるように設定する。そして、コア３１Ｂは、所定のアルゴリズムを用いて敵キャラクタＧ２の攻撃が成功したか否かを決定し、成功したときにはプレイヤの体力値を所定値だけ減少させる。
【０１３９】
この後、コア３１Ｂは、仮想空間を上側ＬＣＤ２２に表示するための描画処理を実行する（Ｓ１１）。なお、コア１３Ｂは下側ＬＣＤ１２にも所定の画像を表示するための処理を実行する。
【０１４０】
その後、コア３１Ｂは、プレイヤキャラクタＧ１がゴール地点に到達し、ステップＳ２で選択したステージを攻略（ステージクリア）したか否かを判断する（Ｓ１２）。そして、ステップＳ２でステージクリアしたと判断したときには（Ｓ１２でＹＥＳ）、コア３１
ＢはステップＳ２に戻って新たなステージを選択し、上記ステップＳ３移行の処理を繰り返す。一方、ステップＳ２でステージクリアしていないと判断したときには（Ｓ１２でＮＯ）、コア３１Ｂは、プレイヤの体力値が０になり、ゲーム終了であるか否かを判断する（Ｓ１３）。そして、ゲーム終了であると判断したときには（Ｓ１３でＮＯ）、コア３１Ｂは処理をステップＳ４に戻す。一方、ゲーム終了でないと判断したときには（Ｓ１３でＹＥＳ）、コア３１Ｂは本メイン処理を終了させる。
【０１４１】
以下、図２５を用いて、上記ステップＳ１１の地上戦時照準位置・カメラ制御処理を説明する。図２５は地上戦時照準位置・カメラ制御処理の一例を示すフローチャートである。まず、コア３１は、最新のタッチパネル操作情報３２２を参照してタッチ有りか否か（入力状態か否か）を判断する（Ｓ２１）。ここで、タッチ有りと判断したときには（Ｓ２１でＹＥＳ）、コア３１Ｂは、タッチが継続中であるか否かを判断する（Ｓ２２）。なお、タッチが継続中か否かは前回のフレームにかかる処理ループにおいてもタッチ有りであったか否かで判断される。この判断には、前回のタッチパネル操作情報３２２が使用される。
【０１４２】
ここで、タッチ継続中ではないと判断したときには（Ｓ２２でＮＯ）、コア３１Ｂは、デフォルト戻しフラグ（このフラグについては詳細を後述）をオフに設定して（Ｓ２３）、タイマの作動がないか否かを判断する（Ｓ２４）。なお、タイマの作動がないときとは、ダブルタップ操作の２回目のタッチがオフされた後からタッチオンのときと初回時だけであり、他のときにはタイマが作動されている。そして、タイマ作動なしと判断した場合には（Ｓ２４でＹＥＳ）、コア３１Ｂは、タイマのカウント値をリセットした後にタイマを作動させ（Ｓ２５）、処理をステップＳ３６に進める。一方、タイマ作動ありと判断した場合には（Ｓ２４でＮＯ）、コア３１Ｂは、タイマのカウント期間が所定期間以内であるか否かを判断し（Ｓ２６）、所定期間以内であるときには（Ｓ２６でＹＥＳ）、タイマのカウント値をリセットした後にタイマの作動を停止し、ダブルタップフラグ３２８をオンする（Ｓ２７）。この後、コア３１Ｂは、本地上戦時照準位置・カメラ制御処理を終了させ、処理を図２４のステップＳ１０に戻す。
【０１４３】
また、タイマのカウント期間が所定期間以内でないときには（Ｓ２６でＮＯ）、コア３１Ｂは、タイマのカウント値をリセットする。これによって、タイマのカウント期間が所定期間を超えたときには、タイマが初期値に戻されて再度初期値からカウントが開始される。この後、コア３１Ｂは処理をステップＳ３５に進める。すなわち、タイマは、前回のタッチオンから今回のタッチオンまでの時間を計測するものである。これは、ダブルタップの判定に用いられる。
【０１４４】
次に、ステップＳ２２でタッチ継続中であると判断したとき（Ｓ２２でＹＥＳ）の処理を説明する。このときには、コア３１Ｂはダブルタップフラグ３２８がオンか否かを判断する（Ｓ２８）。ここで、ダブルタップフラグ３２８がオンでないと判断したとき、すなわちダブルタップ操作がないと判断したときには（Ｓ２８でＮＯ）、コア３１Ｂは後述のステップＳ３６の処理を実行する。一方、ダブルタップフラグ３２８がオンであると判断したときには（Ｓ２８でＹＥＳ）、コア３１Ｂは、仮想空間をズームで表示するためのズーム処理（Ｓ２９）と、プレイヤの所望の位置にスクリーン面Ｇ４における照準Ｇ３の位置を設定するためのズーム時照準位置設定処理を実行する（Ｓ３０）。このズーム処理及びズーム時照準位置設定処理についての詳細は図３１及び図３２を用いて後述する。この後、コア３１Ｂは、設定されているスクリーン面Ｇ４における照準Ｇ３の位置に基づいて、照準Ｇ３のワールド座標上の位置を算出してメインメモリ３２に設定する（Ｓ３１）。なお、この設定された照準Ｇ３の位置に基づいて、図２４のステップＳ１１で照準Ｇ３が描画される。そして、コア３１Ｂは、本地上戦時照準位置・カメラ制御処理を終了させ、処理を図２４のステップＳ１０に戻す。
【０１４５】
次に、ステップＳ２１でタッチ無し（非入力状態）と判断されたときの処理を説明する。タッチ無しと判断したときには（Ｓ２１でＮＯ）、コア３１Ｂは、ダブルタップフラグ３２８がオンか否かを判断する（Ｓ３２）。ここで、ダブルタップフラグ３２８がオンであると判断したときには（Ｓ３２でＹＥＳ）、コア３１Ｂは仮想カメラＣａの画角θ１の設定を通常設定に戻す（Ｓ３３）。これによって、タッチオフになったときには、ダブルタップ操作によって変更された特別な設定が解除される。
【０１４６】
そして、コア３１Ｂは、ダブルタップフラグ３２８をオフに設定する（Ｓ３４）。続いて、コア３１Ｂは、プレイヤキャラクタＧ１の代表点Ｐ２の位置に（主観視点で）配置された仮想カメラＣａを、水平方向かつ仮想カメラＣａの撮像方向と反対の方向に代表点Ｐ２から所定距離だけ離れた位置に移動させる（Ｓ３５）。その後、通常照準位置・カメラ制御処理を実行する（Ｓ３６）。この通常照準位置・カメラ制御処理についての詳細は図３１及び図３２を用いて後述する。なお、この処理で設定された仮想カメラＣａの向き及び位置に基づいて図２４のステップＳ１１で描画処理が行われる。この後、コア３１Ｂは、上記ステップＳ３１を実行して、照準Ｇのワールド座標上の位置を算出してメインメモリ３２に設定する（Ｓ３１）。そして、コア３１Ｂは、本地上戦時照準位置・カメラ制御処理を終了させ、処理を図２４のステップＳ１０に戻す。
【０１４７】
次に、図２６〜図３０を用いて、図２５のステップＳ３５の通常照準位置・カメラ制御処理を説明する。図２６は通常照準位置・カメラ制御処理の一例を示すフローチャートである。まず、コア３１Ｂは、照準Ｇ３の位置、仮想カメラＣａの向き及び位置を算出するために必要な各種パラメータを設定するための処理（パラメータ設定処理）を実行する（Ｓ４１）。このパラメータ設定処理の詳細については図２７を用いて後述する。次に、コア３１Ｂは、照準Ｇ３のスクリーン面Ｇ４上の位置を算出するとともに、この位置に基づいて仮想空間における照準Ｇ３の位置及び向きを決定するための処理（照準位置設定処理）を実行する（Ｓ４２）。この照準位置設定処理の詳細については図２８を用いて後述する。
【０１４８】
この後、コア３１Ｂは、仮想カメラＣａの仮想空間における向きを算出して設定するための処理（カメラ向き設定処理）を実行する（Ｓ４３）。このカメラ向き設定処理の詳細については図２９を用いて後述する。そして、コア３１Ｂは、ステップＳ４３によって算出された仮想カメラＣａの向きに基づいて仮想空間における仮想カメラＣａの位置を算出して設定するための処理（カメラ位置設定処理）を実行する（Ｓ４４）。このカメラ位置設定処理の詳細については図３０を用いて後述する。この後、コア３１Ｂは本通常照準位置・カメラ制御処理を終了させて、図２５のステップＳ３１に処理を進める。
【０１４９】
図２７を参照して、上記ステップＳ４１のパラメータ設定処理を説明する。図２７はパラメータ設定処理の一例を示すフローチャートである。まず、コア３１Ｂは、仮想カメラＣａの位置から仮想カメラＣａの撮像方向に延びる直線と、仮想カメラＣａの位置から特定の敵キャラクタＧ２に延びる直線の構成する角度が所定角度以内であるか否かを判断する（Ｓ５１）。
【０１５０】
なお、特定の敵キャラクタＧ２か否かは、例えば図２３で示すノンプレイヤキャラクタ情報３１５にフラグが含まれるか否かで判断される。また、本実施形態では、特定の敵キャラクタＧ２についてのみステップＳ５１の判断が行われているが、全ての敵キャラクタＧ２についてステップＳ５１の判断が行われてもよい。更に、敵キャラクタＧ２ではなくノンプレイヤキャラクタについてステップＳ５１の判断を行ってもよい。また、上記ステップＳ５１に代えて、スクリーン面Ｇ４において、特定の敵キャラクタＧ２が前回の照準Ｇ３の位置から所定範囲以内に位置するか否かを判断してもよい。
【０１５１】
ステップＳ５１でＮｏと判断したときには、コア３１Ｂは、係数Ａ（詳細は後述する）をリセットして（すなわち、係数Ａに１を設定して）（Ｓ５２）、処理をステップＳ５５に進める。一方、ステップＳ５１でＹｅｓと判断したときには、コア３１ＢはプレイヤキャラクタＧ１における代表点Ｐ２を中心として所定距離以内に居る敵キャラクタＧ２の数が所定数以上であるか否かを判断する（Ｓ５３）。なお、代表点Ｐ２に代えて、仮想カメラＣａの位置を中心として所定距離以内に居る敵キャラクタＧ２の数が所定数以上であるか判断する構成を採用してもよい。そして、代表点Ｐ２を中心として所定距離以内に居る敵キャラクタＧ２の数が所定数以上であると判断したときには（Ｓ５３でＹＥＳ）、コア３１Ｂは、係数Ａをリセットして（Ｓ５２）、処理をステップＳ５５に進める。また、代表点Ｐ２を中心として所定距離以内に居る敵キャラクタＧ２の数が所定数以上でないと判断したときには（Ｓ５３でＮＯ）、コア３１Ｂは、係数Ａをセットして（すなわち、係数Ａに１より小さい正の小数を設定して）（Ｓ５４）、処理をステップＳ５５に進める。
【０１５２】
次に、ステップＳ５５の処理について説明する。ステップＳ５５では、コア３１Ｂは、仮想カメラＣａがパスから一定距離以内に位置し、かつ仮想カメラＣａの向きとパスの向きとの差が一定以内であるか否かを判断する（Ｓ５５）。ここで、仮想カメラＣａの向きとパスの向きとの差が一定以内であると判断したときには（Ｓ５５でＹＥＳ）、コア３１Ｂは、係数Ｂをセットして（すなわち、係数Ｂに１より小さい正の小数を設定して）（Ｓ５６）、続くステップＳ５８に処理を進める。また、仮想カメラＣａの向きとパスの向きとの差が一定より大きいと判断したときには（Ｓ５５でＮＯ）、コア３１Ｂは、係数Ｂをリセットして（すなわち、係数Ｂに１を設定して）（Ｓ５７）、続くステップＳ５８に処理を進める。
【０１５３】
ステップＳ５８では、コア３１Ｂはタッチオンかどうかを判断する。このタッチオンとは、上述したように、直前のフレームにかかる処理ループにおいて非タッチ（タッチ無し）が検出されており、今回のフレームにかかる処理ループにおいてタッチ有りが検出された状態（すなわち、タッチした瞬間）のことである。ここで、タッチオンであると判断したときには（Ｓ５８でＹＥＳ）、コア３１Ｂは制御ベクトルに０をセットして（Ｓ５９）、コア３１Ｂは、本照準位置設定処理を終了させ、処理を図２６のステップＳ４３で示すカメラ向き設定処理に進める。
【０１５４】
一方、タッチオンではないと判断したときには（Ｓ５８でＮＯ）、コア３１Ｂは、制御ベクトルを算出する（Ｓ６０）。この制御ベクトルとは、照準Ｇ３の位置、仮想カメラＣａの位置及び向きを算出するために用いられる値である。以下、制御ベクトルの算出方法について詳細に説明する。制御ベクトルの算出方法は、「タッチオン時」（タッチオンした瞬間）、「タッチ継続中」、「タッチオフ時」（タッチオフした瞬間）及び「非タッチ継続中」で異なっている。  次に、「タッチ継続中」の制御ベクトルの算出方法を説明する。「タッチ継続中」とは、タッチパネル１３に対するタッチが継続して検出されている状態のことである。このときは、以下の式（Ａ）を用いて制御ベクトルを算出する。
制御ベクトル＝最新のタッチ位置−前回のタッチ位置・・・式（Ａ）
【０１５５】
そして、上述したように、タッチ位置の変化はＸ座標の変化とＹ座標の変化に分解することができるため、Ｘ座標とＹ座標の両方について上記式（Ａ）で制御ベクトルを算出する。以下、Ｘ座標の制御ベクトルとＹ座標の制御ベクトルを区別する場合には、「Ｘ制御ベクトル」と「Ｙ制御ベクトル」と記載する。なお、タッチ位置がスライドしているとき（スライド操作中）は、制御ベクトルの値は０にはならないが、タッチパネル１３の１点で停止してタッチが継続されているときには、最新のタッチ位置と前回のタッチ位置が同一になるため、制御ベクトルが０になる。最新のタッチ位置と前回のタッチ位置の取得には、タッチパネル操作情報３２２が使用される。
【０１５６】
次に、「タッチオフ時」の制御ベクトルの算出方法について説明する。「タッチオフ時」とは、直前のフレームにかかる処理ループにおいて、タッチが検出されており、今回のフレームにかかる処理ループにおいて非タッチが検出された時である。このときには、下記の式（Ｂ）を使用して制御ベクトルを算出する。なお、Ｘ制御ベクトル、Ｙ制御ベクトルの両方を算出する点は上記「タッチ継続中」の制御ベクトルの算出方法と同一である。制御ベクトル＝（タッチ位置（ｎ）−タッチ位置（ｎ＋１））＋（タッチ位置（ｎ−１）−タッチ位置（ｎ））…（タッチ位置（１）−タッチ位置（２））／ｎ・・・式（Ｂ）
【０１５７】
なお、上記式（Ｂ）において、ｎは２以上の自然数であり、タッチ位置（ｎ）とはタッチオフが検出されたフレームのｎフレーム前のタッチ位置のことであり、タッチ位置（ｎ＋１）とはｎ＋１フレーム前のタッチ位置のことであり、タッチ位置（ｎ−１）とはｎ−１フレーム前のタッチ位置のことである。また、タッチ位置（１）はタッチオフの検出がされたフレームの１フレーム前のタッチ位置で、タッチ位置（２）はタッチオフの検出がされたフレームの２フレーム前のタッチ位置である。上記式（Ｂ）では、過去ｎフレーム分のタッチ位置について前回のタッチ位置との差を算出し、この差の平均値を算出している。すなわち、上記式（Ｂ）は、過去ｎフレーム分のスライド量（１フレーム当たりのタッチ位置の変化量）の平均である。なお、ｎは本実施例では固定値である。
【０１５８】
上記式（Ｂ）において、過去ｎフレーム分のうち１回分でもスライド操作がなされていたときには、上記式（Ｂ）で算出された制御ベクトルは０にはならない。もっとも、過去ｎ回分の全ての操作においてタッチ位置が変化していないとき（タッチパネル１３の１点で停止してタッチされているとき）には、上記式（Ｂ）で算出された制御ベクトルは０になる。
【０１５９】
続いて、「非タッチ継続中」の制御ベクトルの算出方法を説明する。ここで、「非タッチ継続中」とは、上記「タッチオフ時」を除く、タッチパネル１３に対するタッチがない期間のことである。このときには、下記の式（Ｃ）を使用して制御ベクトルを算出する。なお、Ｘ制御ベクトル、Ｙ制御ベクトルの両方を算出する点は上記「タッチ継続中」「タッチオフ時」の制御ベクトルの算出方法と同一である。
制御ベクトル＝（前回の制御ベクトル＋（前回の制御ベクトル×減衰率））÷２×係数Ａ×係数Ｂ・・・式（Ｃ）
【０１６０】
なお、上述したように、タッチオフ直前の過去ｎフレーム分の操作において１回分もスライド操作がなされていないときには、上記式（Ｂ）で算出された制御ベクトルは０になる。このときには、上記式（Ｃ）において前回の制御ベクトルは０になるため、上記式（Ｃ）においても制御ベクトルが０に算出される。
【０１６１】
上述のようにして算出した制御ベクトルを、コア３１Ｂがメインメモリ３２にセットする（Ｓ６１）。この制御ベクトルは、図２６の上記ステップ４２の照準位置設定処理において照準の位置を算出するために使用されるとともに、上記ステップＳ４３のカメラ向き設定処理において仮想カメラＣａの向きを算出するために使用される。この後、コア３１Ｂは、本パラメータ設定処理を終了させ、処理を図２６のステップＳ４２で示す照準位置設定処理に進める。
【０１６２】
次に、図２８を参照して、上記ステップＳ４２の照準位置設定処理を説明する。図２８は照準位置設定処理の一例を示すフローチャートである。まず、コア３１Ｂは一定期間、タッチパネル１３へのタッチ及びシューティング操作のいずれもなかったか否かを判断する（Ｓ７１）。このステップＳ７１でＹＥＳのときには、コア３１Ｂは、照準Ｇ３のスクリーン面Ｇ４上の位置をデフォルト位置に設定し（Ｓ７２）、消去フラグをオンする（Ｓ
７３）。この消去フラグがオンのときには、後の描画処理（ステップＳ１１）において照準Ｇ３が描画されない（Ｓ１１）。この様に、一定期間、プレイヤがタッチ操作及びシューティング操作のいずれも行わなければ照準Ｇ３はデフォルト位置に戻ることになる。なお、この後、コア３１Ｂは、本照準位置設定処理を終了させ、処理を図２６のステップＳ４３で示すカメラ向き設定処理に進める。
【０１６３】
一方、ステップＳ７１において、一定期間内にタッチ及びシューティング操作の何れかがあったと判断したときの処理を説明する。このときには（Ｓ７１でＮＯ）、コア３１Ｂは、消去フラグをオフして（Ｓ７４）、照準Ｇ３のスクリーン面Ｇ４上の位置を算出する（Ｓ７５）。以下に、照準位置の算出方法を説明する。照準Ｇ３のスクリーン面Ｇ４上の位置（照準位置）は下記式（Ｄ）を用いて算出する。
今回の照準位置＝前回の照準位置＋制御ベクトル・・・式（Ｄ）
【０１６４】
なお、照準位置についてもＸ座標における位置とＹ座標における位置に分けて算出される。また、ここで照準位置はデフォルト位置を基準（Ｘ＝０，Ｙ＝０）とした座標で算出される。
【０１６５】
ここで、上述したように、制御ベクトルは、スライドオフ後の慣性制御中とスライド操作中は０にならないため、今回の照準位置が前回の照準位置から移動することになる。一方、タッチをしていないとき（スライドオフ後の慣性制御中を除く）、または、タッチオン時や同じ位置をタッチし続けているときは、制御ベクトルは０になるため、今回の照準位置は前回の照準位置から変化しない。なお、タッチオン時には制御ベクトルが０になるので、このことを利用して、スライドオフ後に慣性力によって照準Ｇ３の位置が変化しているときに、プレイヤがタッチパネル１３の任意の点をタッチオンすることにより、慣性移動中の照準Ｇ３の位置の変化を停止させることができる。
【０１６６】
次に、コア３１Ｂは、ステップＳ７５で算出した照準Ｇ３の位置がＸ座標において境界位置外（照準移動可能範囲外）になるか否かを判断する（Ｓ７６）。ここで、Ｘ座標において境界位置外になると判断したときには（Ｓ７６でＹＥＳ）、コア３１Ｂは照準Ｇ３のスクリーン面Ｇ４上のＸ座標を境界位置（算出した座標が超えてしまった境界の座標）に設定する（Ｓ７７）。この後、コア３１Ｂは処理をステップＳ７９に進める。一方、Ｘ座標において境界位置外にならないと判断したときには（Ｓ７６でＮＯ）、コア３１Ｂは照準Ｇ３のスクリーン面Ｇ４上のＸ座標をステップＳ７５で算出した位置に設定する（Ｓ７８）。この後、コア３１Ｂは処理をステップＳ７９に進める。
【０１６７】
次に、ステップＳ７９の処理を説明する。コア３１Ｂは、ステップＳ７５で算出した照準Ｇ３の位置がＹ座標において境界位置外（照準移動可能範囲外）になるか否かを判断する（Ｓ７９）。ここで、Ｙ座標において境界位置外になると判断したときには（Ｓ７９でＹＥＳ）、コア３１Ｂは照準Ｇ３のスクリーン面Ｇ４上のＹ座標を境界位置（算出した座標が超えてしまった境界の座標）に設定する（Ｓ８０）。この後、コア３１Ｂは処理をステップＳ７９に進める。一方、Ｙ座標において境界位置外にならないと判断したときには（Ｓ７９でＮＯ）、コア３１Ｂは照準Ｇ３のスクリーン面Ｇ４上のＹ座標をステップＳ７５で算出した位置に設定する（Ｓ８１）。この後、コア３１Ｂは、本照準位置設定処理を終了させ、処理を図２６のステップＳ４３で示すカメラ向き設定処理に進める。
【０１６８】
図２９を参照して、上記ステップＳ４３のカメラ向き設定処理を説明する。図２９はカメラ向き設定処理の一例を示すフローチャートである。まず、コア３１Ｂはプレイヤのデフォルト戻し操作があったかを判断する（Ｓ９１）。ここで、デフォルト戻し操作とは例えばＲボタン１４Ｊの押下等である。そして、デフォルト戻し操作があったと判断したときには（Ｓ９１でＹＥＳ）、コア３１Ｂは、仮想カメラ９２の向きをデフォルトに設定し
て（Ｓ９２）、本カメラ向き設定処理を終了させ、処理を図２６のステップＳ４４で示すカメラ位置設定処理に進める。なお、Ｓ９２では、具体的には、仮想カメラＣａの向きは、デフォルトでは水平方向、かつプレイヤキャラクタＧ１（代表点Ｐ２）を向くように設定される。また、仮想カメラＣａの向きがこの様に設定されることで、後述のステップＳ４４で示すカメラ位置設定処理において、仮想カメラの位置は、プレイヤキャラクタＧ１の代表点Ｐ２と同一水平面上でこの代表点Ｐ２から所定距離だけ離れた位置で、かつプレイヤキャラクタＧ１の水平方向での向きと仮想カメラＣａの水平方向での向きとが一致する位置に設定される。
【０１６９】
一方、デフォルト戻し操作がなかったと判断したときには（Ｓ９１でＮＯ）、コア３１Ｂは、デフォルト戻しフラグがオンしているかを判断する（Ｓ９３）。ここで、デフォルト戻しフラグがオンしているときには（Ｓ９３でＹＥＳ）、コア３１Ｂは、垂直方向で所定角度分だけデフォルト位置に戻す（Ｓ９４）。このように、このデフォルト戻しフラグがオンしているときには、垂直方向の仮想カメラＣａの垂直方向における角度がデフォルト向きまで徐々に戻される状態（デフォルト戻し状態）になる。なお、図２５で示すように、タッチオンがなされたときにデフォルト戻しフラグがオフされるためステップ（Ｓ２３）、プレイヤのタッチオンによってデフォルト戻し状態が解除される。
【０１７０】
そして、コア３１Ｂは、仮想カメラＣａの向きがデフォルトに戻ったか否かを判断する（Ｓ９５）。ここで、仮想カメラＣａの向きがデフォルトに戻っているときには（Ｓ９５でＹＥＳ）、コア３１Ｂはデフォルト戻しフラグをオフする（Ｓ９６）。この後、コア３１Ｂは処理をステップＳ１０２に進める。また、仮想カメラＣａの向きがデフォルトに戻っていないときには（Ｓ９５でＮＯ）、デフォルト戻しフラグをオフに設定することなく、コア３１Ｂは処理をステップＳ１０２に進める。
【０１７１】
次に、ステップＳ９３でＮＯと判断したときのコア３１Ｂの処理を説明する。デフォルト戻しフラグがオフしているときには（Ｓ９３でＮＯ）、コア３１Ｂは、垂直方向の仮想カメラＣａの向きを算出する（Ｓ９７）。以下に、仮想カメラＣａの向きの算出方法を説明する。なお、ステップＳ９７では垂直方向の仮想カメラＣａの向きしか算出されないが、後述のステップＳ１０２で実行される水平方向における仮想カメラＣａの向きの算出方法についてもここで説明する。まず、下記式（Ｅ）を用いてカメラ回頭用ベクトルを算出する。
カメラ回頭用ベクトル＝制御ベクトル−（今回の照準位置−前回の照準位置）・・・式（Ｅ）
【０１７２】
上記式（Ｅ）では制御ベクトルから今回の照準位置と前回の照準位置との差分を除いているがこの理由は次のようなものである。すなわち、制御ベクトルの成分のうち、図９で示すように、照準Ｇ３の位置が境界に到るまでのスライド操作のスライド量ａ１が照準Ｇ３の移動に用いられ、照準Ｇ３の位置が境界に到ってからのスライド量ａ２が仮想カメラの向きの変更に用いられる。また、スライドオフ後においても、照準Ｇ３の位置が境界に到るまでの制御ベクトルの成分は照準Ｇ３の移動に用いられる。従って、上記式（Ｅ）によって、制御ベクトルから照準Ｇ３の移動に用いる成分を除くことで、仮想カメラＣａの向きの変更に用いるカメラ回頭用制御ベクトルを算出するのである。ここで、上述したように制御ベクトルはＹ制御ベクトルとＸ制御ベクトルとがあるため、カメラ回頭用ベクトルについてもＸ成分とＹ成分に分けて算出される。このＸ成分とＹ成分のカメラ回頭用ベクトルを区別するときには、「Ｘカメラ回頭用ベクトル」と「Ｙカメラ回頭用ベクトル」と記載する。
【０１７３】
なお、上述したように、制御ベクトルは、スライドオフ後の慣性制御中及びスライド操作中は０にならない。従って、このときにはカメラ回頭用ベクトルも０にはならない。一
方、タッチをしていないとき（スライドオフ後の慣性制御中を除く）、タッチオン時、または、同じ位置をタッチし続けているときは、制御ベクトルは０になるため、カメラ回頭用ベクトルも０になる。なお、タッチオン時はカメラ回頭用ベクトルが０になるので、このことを利用して、スライドオフ後に慣性力によって仮想カメラＣａの位置や向きが変化しているときに、プレイヤがタッチパネル１３の任意の点をタッチオンしてタッチ位置を変化させなければ、仮想カメラＣａの位置や向きの変化を停止させることができる。
【０１７４】
次に、下記式（Ｆ）を用いてカメラ角速度が算出される。
カメラ角速度＝カメラ回頭用ベクトル×係数Ｄ・・・式（Ｆ）
なお、Ｙカメラ回頭用ベクトルを用いて垂直方向のカメラ角速度（垂直方向カメラ角速度）が算出されるとともに、Ｘカメラ回頭用ベクトルを用いて水平方向のカメラ角速度（水平方向カメラ角速度）が算出される。
【０１７５】
そして、水平方向カメラ角速度分だけ仮想カメラＣａの向きを垂直方向に回転するように、仮想カメラＣａの垂直方向の向きを算出する。また、水平方向カメラ角速度分だけ仮想カメラＣａの向きを水平方向に回転するように、仮想カメラＣａの水平方向の向きを算出する。なお、仮想カメラＣａの回転をするときの中心は、プレイヤキャラクタの代表点Ｐ２である。
【０１７６】
なお、上述したように、カメラ回頭用ベクトルは、スライドオフ後の慣性制御中及びスライド操作中は０にならない。従って、カメラ角速度も０にならず、仮想カメラＣａの向きが変更される。一方、タッチをしていないとき（スライドオフ後の慣性制御中を除く）、タッチオン時、または、同じ位置をタッチし続けているときは、は、カメラ回頭用ベクトルは０になる。このため、カメラ角速度も０になり、仮想カメラＣａの向きが変更されない。
【０１７７】
上述した仮想カメラＣａの向きの算出方法を用いて、ステップＳ９７で垂直方向の仮想カメラＣａの向きを算出した後、コア３１Ｂは非タッチ状態か否かを判断する（Ｓ９８）。非タッチ状態であると判断したときには（Ｓ９８でＹＥＳ）、コア３１Ｂは、算出した垂直方向での仮想カメラＣａの向きがデフォルトの向きから所定角度以内を向いているか否かを判断する（Ｓ９９）。この所定角度は、スライドオフ後における仮想カメラＣａの向きの変更可能範囲を示す角度であり、例えば図１２の角度α１°等である。以下、この所定角度を慣性限界角度と記載する。
【０１７８】
そして、算出した垂直方向での仮想カメラＣａの向きがデフォルトの向きから慣性限界角度以内を向いていないと判断したときには（Ｓ９９でＮＯ）、コア３１Ｂは、仮想カメラＣａの向きが慣性限界角度を向くように、ステップＳ９７で算出した向きを補正し、この補正後の向きに仮想カメラＣａの向きを設定する（Ｓ１００）。この後、コア３１Ｂはデフォルト戻しフラグをオンする（Ｓ１０１）。これによって、垂直方向での仮想カメラＣａの向きがデフォルトの向きから慣性限界角度に到ったときには、上述のステップＳ９４〜Ｓ９６の実行によって、垂直方向での仮想カメラＣａの向きが徐々にデフォルト向きにもどされることになる。この後、コア３１Ｂは、上述した仮想カメラＣａの向きの算出方法を用いて仮想カメラＣａの水平方向での向きを算出して、この算出した向きに仮想カメラＣａの水平方向での向きを設定する（Ｓ１０２）。この後、コア３１Ｂは、本カメラ向き設定処理を終了させ、処理を図２６のステップＳ４４で示すカメラ位置設定処理に進める。
【０１７９】
一方、算出した垂直方向での仮想カメラＣａの向きがデフォルトの向きから慣性限界角度以内を向いていると判断したときには（Ｓ９９でＹＥＳ）、コア３１Ｂは、垂直方向での仮想カメラＣａの向きがステップＳ９７で算出した向きを向くように設定する（Ｓ１０
３）。そして、コア３１Ｂは、上記ステップＳ１０２によって水平方向での仮想カメラＣａの向きを算出及び設定し、この後、本カメラ向き設定処理を終了させ、処理を図２６のステップＳ４４で示すカメラ位置設定処理に進める。
【０１８０】
次に、ステップＳ９８でＮＯと判断されたときの処理を説明する。コア３１Ｂが非タッチ状態であると判断したときには（Ｓ９８でＮＯ）、コア３１Ｂは、算出した垂直方向での仮想カメラＣａの向きがデフォルトの向きから所定角度以内を向いているか否かを判断する（Ｓ１０４）。この所定角度は、ステップＳ９９における角度とは異なっており、スライド操作における仮想カメラＣａの向きの変更可能範囲を示す角度である。この所定角度は例えば図１１の角度α１°及びα２°等である。以下、この所定角度をスライド操作中限界角度と記載する。
【０１８１】
そして、算出した垂直方向での仮想カメラＣａの向きがデフォルトの向きからスライド操作中限界角度以内を向いていないと判断したときには（Ｓ１０４でＮＯ）、コア３１Ｂは仮想カメラＣａの向きがスライド操作中限界角度を向くようにステップＳ９７で算出した向きを補正し、この補正後の向きに仮想カメラＣａの向きを設定する（Ｓ１０５）。そして、コア３１Ｂは、上記ステップＳ１０２によって水平方向での仮想カメラＣａの向きを算出及び設定し、この後、本カメラ向き設定処理を終了させ、処理を図２６のステップＳ４４で示すカメラ位置設定処理に進める。
【０１８２】
一方、算出した垂直方向での仮想カメラＣａの向きがデフォルトの向きからスライド操作中限界角度以内を向いていると判断したときには（Ｓ１０４でＹＥＳ）、コア３１Ｂは、垂直方向での仮想カメラＣａの向きがステップＳ９７で算出した向きを向くように設定する（Ｓ１０３）。そして、コア３１Ｂは、上記ステップＳ１０２によって水平方向での仮想カメラＣａの向きを算出及び設定し、この後、本カメラ向き設定処理を終了させ、処理を図２６のステップＳ４４で示すカメラ位置設定処理に進める。
【０１８３】
次に、図３０を参照して、上記ステップＳ４４のカメラ位置設定処理を説明する。図３０はカメラ位置設定処理の一例を示すフローチャートである。この処理において、コア３１Ｂは、上記カメラ位置設定処理によって設定した仮想カメラＣａの向きに基づいて仮想カメラＣａの仮想空間における位置を算出して、メインメモリ３２に設定する（Ｓ１１１）。ここで、仮想カメラＣａの位置は、図１０〜図１２に示すようにプレイヤキャラクタＧ１の代表点Ｐ２から所定距離だけ離れた位置でこの代表点Ｐ２を向くように算出され、設定される。
【０１８４】
そして、コア３１Ｂはシューティング操作があったか否かを判断する（Ｓ１１２）。ここで、シューティング操作があったと判断したときには（Ｓ１１２でＹＥＳ）、コア３１ＢはステップＳ１１１で算出した仮想カメラＣａの位置を仮想カメラＣａの座標でＸ軸方向に所定値だけスライド移動（シフト）するよう補正する（Ｓ１１３）。この後、コア３１Ｂはシフトフラグをオンに設定する（Ｓ１１４）。本実施形態では、図３で示すように、照準Ｇ３の位置はデフォルト位置ではプレイヤキャラクタＧ１に重ねて表示される。従って、仮想カメラＣａの位置をシフトさせないと、プレイヤキャラクタＧ１の表示に妨げられて、仮想空間におけるシューティングの様子をプレイヤが視認することができない。ステップＳ１１３によって、シューティング時には仮想カメラＣａの位置がスライドするため、プレイヤはプレイヤキャラクタＧ１の表示に妨げられずにシューティングの様子を視認することができる。この後、コア３１Ｂは、本カメラ位置設定処理及び通常照準位置・カメラ制御処理を終了させて、処理を図２５のステップＳ３１に進める。
【０１８５】
一方、シューティング操作がなかったと判断したときには（Ｓ１１２でＮＯ）、コア３１Ｂは、シフトフラグがオンか否かを判断する（Ｓ１１５）。そして、シフトフラグがオ
ンであると判断したときには（Ｓ１１５でＹＥＳ）、コア３１ＢはステップＳ１１１で算出した仮想カメラＣａの位置をステップＳ１１３でスライド移動させた分だけ戻すよう補正する（Ｓ１１６）。この後、コア３１Ｂは、シフトフラグをオフに設定する（Ｓ１１７）。そして、コア３１Ｂは本カメラ位置設定処理及び通常照準位置・カメラ制御処理を終了させて、処理を図２５のステップＳ３１に進める。また、シフトフラグがオンでないと判断したときには（Ｓ１１５でＮＯ）、コア３１Ｂは、上記ステップＳ１１６及びＳ１１７の処理を実行することなく、本カメラ位置設定処理及び通常照準位置・カメラ制御処理を終了させて、処理を図２５のステップＳ３１に進める。
【０１８６】
ここまで、図２５で示す地上戦時照準位置・カメラ制御処理のステップＳ３６の処理について説明してきたが、続いて、図３１及び図３２を用いてステップＳ２９のズーム処理とステップＳ３０のズーム時照準位置設定処理とを説明する。
【０１８７】
図３１はズーム処理の一例を示すフローチャートである。まず、コア３１Ｂは、仮想カメラＣａの画角θ１をズームの角度に変更済みか否かを判断する（Ｓ１２１）。ここで、ズームの角度は図１７及び図１８を用いて上述したように、通常時の角度よりも小さい角度である。
【０１８８】
そして、画角θ１をズームの画角に変更済みでないと判断したときには（Ｓ１２１でＹＥＳ）、コア３１Ｂは仮想カメラＣａの画角θ１をズームの角度に変更する（Ｓ１２２）。なお、このステップS１２１において、プレイヤが特定アイテム（例えば、武器アイテ
ム等）を保有しているか否かで、画角θ１が異なった角度で設定されてもよい。また、特定アイテムを複数種類設定し、何れの種類の特定アイテムを保持しているかによって、画角θ１に設定される角度が異なるようにしてもよい。例えば、特定アイテムとこのアイテムに対応する角度を登録したテーブルをメインメモリ３２に記憶し、コア３１Ｂは、プレイヤキャラクタ情報３２４で示す保有アイテムでこのテーブルを検索する。この検索の結果、保有アイテムが登録されているときには、このアイテムに対応する角度で画角θ１を変更する。続いて、コア３１Ｂは、ステップＳ１２３において、仮想カメラＣａの撮像方向を維持したまま、仮想カメラＣａの位置をプレイヤキャラクタＧ１の代表点Ｐ２の位置に移動させる（主観視点に変更する）。この後、コア３１Ｂは、本ズーム処理を終了させて、処理を図２５のステップＳ３０で示すズーム時照準設定処理に進める。
【０１８９】
一方、画角θ１をズーム時の画角に変更済みであると判断したときには（Ｓ１２１でＹＥＳ）、コア３１Ｂは、仮想カメラＣａの画角θ１をズームの角度に変更することなく、本ズーム処理を終了させて、処理を図２５のステップＳ３０で示すズーム時照準設定処理に進める。
【０１９０】
次に、図３２を参照して図２５のステップＳ３０で示すズーム時照準設定処理を説明する。図３２はズーム時照準設定処理の一例を示すフローチャートである。まず、コア３１Ｂは下記式（Ｆ）を用いて制御ベクトルを算出する（Ｓ１３１）。
制御ベクトル＝（最新のタッチ位置−前回のタッチ位置）×係数Ｃ・・・式（Ｆ）
【０１９１】
なお、この係数Ｃは正の小数である。式（Ａ）と異なり、最新のタッチ位置と前回のタッチ位置の差分に係数Ｃ（Ｃ＜１である正の数）が乗算されている。このため、同じ量だけスライド操作を行ったときには、ズーム時の方が通常時よりも制御ベクトルが小さく算出されることになる。
【０１９２】
そして、コア３１Ｂは上記式（Ｄ）を用いて照準Ｇ３のスクリーン面Ｇ４上の位置を算出する（Ｓ１３２）。ここで、上述したように、同じ量だけスライド操作を行ったときには、ズーム時の方が通常時よりも制御ベクトルが小さく算出される。このため、同じ量だ
けスライド操作を行ったときには、ズーム時の方が通常時よりも小さく照準Ｇ３の位置が移動することになる。この後、コア３１Ｂは、ステップＳ１３２で算出したＸ座標の位置がスクリーン面Ｇ４の範囲外（照準移動可能範囲外）になるどうかを判断する（Ｓ１３３）。そして、ステップＳ１３２で算出したＸ座標の位置がスクリーン面Ｇ４の範囲外になるときには（Ｓ１３３でＹＥＳ）、コア３１Ｂは、照準Ｇ３のＸ座標をスクリーン面Ｇ４の境界の座標（算出した座標が超えてしまった境界の座標）に設定する（Ｓ１３４）。この後、コア３１Ｂは、処理をステップＳ１３６に進める。
【０１９３】
一方、ステップＳ１３２で算出したＸ座標の位置がスクリーン面Ｇ４の範囲内になるときには（Ｓ１３３でＮＯ）、コア３１Ｂは、照準Ｇ３のＸ座標をステップＳ１３２で算出した座標に設定する（Ｓ１３５）。この後、コア３１Ｂは、処理をステップＳ１３６に進める。ステップＳ１３６では、コア３１Ｂは、ステップＳ１３２で算出したＹ座標の位置がスクリーン面Ｇ４の範囲外（照準移動可能範囲外）になるどうかを判断する（Ｓ１３６）。ここで、ステップＳ１３２で算出したＹ座標の位置がスクリーン面Ｇ４の範囲外になるときには（Ｓ１３６でＹＥＳ）、コア３１Ｂは、照準Ｇ３のＹ座標をスクリーン面Ｇ４の境界の座標（算出した座標が超えてしまった境界の座標）に設定する（Ｓ１３７）。この後、コア３１Ｂは、本ズーム時照準設定処理を終了させて、処理を図２５のステップＳ３１に進める。
【０１９４】
また、ステップＳ１３２で算出したＹ座標の位置がスクリーン面Ｇ４の範囲内になるときには（Ｓ１３６でＮＯ）、コア３１Ｂは、照準Ｇ３のＹ座標をステップＳ１３２で算出した座標に設定する（Ｓ１３８）。この後、コア３１Ｂは、本ズーム時照準設定処理を終了させて、処理を図２５のステップＳ３１に進める。
【０１９５】
以上、地上戦ステージにおける照準Ｇ３の位置、仮想カメラＣａの向き及び位置の制御処理を説明してきたが、以下に図２８及び図３３を用いて空中戦ステージにおける照準Ｇ３の位置、仮想カメラＣａの向き及び位置の制御処理を説明する。
【０１９６】
図３３は図２４で示すメイン処理のステップＳ９で実行される空中戦時キャラクタ制御処理の一例を示すフローチャートである。本処理では、コア３１Ｂは、タッチオンかどうかを判断する（Ｓ１４０）。そして、タッチオンでないと判断したときには（Ｓ１４０でＮＯ）、コア３１Ｂは、地上戦時と同様、上記式（Ａ）、式（Ｂ）及び式（Ｃ）を用いて制御ベクトルを算出する（Ｓ１４１）。この制御ベクトルの算出の方法は、図２７のステップＳ５８における方法と同一である。これによって、空中戦ステージにおいても通常時の地上戦ステージと同様に、スライド操作中だけでなくスライドオフ後においても照準Ｇ３の位置が変更されることになる。
【０１９７】
次に、コア３１Ｂは照準位置設定処理を実行する（Ｓ１４２）。ここで図２８を参照して、ステップＳ１４２の照準位置設定処理を説明する。ステップＳ１４２の照準位置設定処理は、スクリーン面Ｇ４における照準Ｇ３の位置を設定するための処理であり、図２８で示す通常時の地上戦ステージにおける照準位置処理と同じである。しかしながら、ステップＳ１４２の照準位置設定処理においては、通常時の地上戦ステージにおける照準位置設定処理とは、ステップＳ７６とステップＳ７９で判断されるＸ座標及びＹ座標における境界位置が異なった位置に設定されている。すなわち、ステップＳ１４２の照準位置設定処理では、ステップＳ７６とステップＳ７９で判断されるＸ座標及びＹ座標における境界位置がスクリーン面Ｇ４の端に設定されている。これによって、照準移動可能範囲はスクリーン面Ｇ４全域になる。
【０１９８】
そして、コア３１Ｂは、プレイヤキャラクタＧ１の位置を取得するとともに、パスに設定された対応点のうちプレイヤキャラクタＧ１の位置に最寄りの対応点を決定する。そし
て、コア３１Ｂは、この決定した対応点に関連付けられた仮想カメラＣａのデフォルトでの位置及び向きを取得する。この後、コア３１Ｂは、取得した仮想カメラＣａのデフォルトでの位置と、後述のステップＳ１４５でメインメモリ３２に記憶された補正値に基づいて、仮想空間の仮想カメラＣａの位置を算出してメインメモリ３２に設定する（Ｓ１４３）。そして、コア３１Ｂは、取得した仮想カメラＣａのデフォルトでの向きに、仮想空間の仮想カメラＣａの向きをメインメモリ３２に設定する（Ｓ１４４）。なお、このメインメモリ３２に設定された仮想カメラＣａの位置及び向きに基づいて、図２４のステップＳ１１で仮想空間の描画が行われる。
【０１９９】
そして、コア３１Ｂは、設定されているスクリーン面Ｇ４における照準Ｇ３の位置に基づいて、照準Ｇのワールド座標上の位置を算出してメインメモリ３２に設定する（Ｓ１４５）。なお、この設定された照準Ｇ３の位置に基づいて、図２４のステップＳ１１で照準Ｇ３が描画される。この後、コア３１Ｂは、本空中戦時照準位置・カメラ制御処理を終了させ、図２４のステップＳ１０に処理を進める。
【０２００】
なお、ステップＳ１４０でＹＥＳ、すなわち、タッチオンであると判断したときには、コア３１Ｂは、制御パラメータを０にセットし（Ｓ１４６）、上記ステップＳ１４２の照準位置設定処理を実行する。これによって、空中戦ステージにおいても地上戦ステージと同様に、タッチパネル１３に対してタッチオンするだけの操作で、照準Ｇ３の移動を停止させることができる。
【０２０１】
上述したように、本実施形態では、タッチパネル１３に対してプレイヤがスライド操作を行っている間にはこのスライド量に応じて仮想カメラの向きが変更されるのに加え、タッチパネル１３に対してプレイヤがタッチ操作を行っていないときにも仮想カメラの向きを変更することが可能である。すなわち、プレイヤがスライドオフを行ったときには、タッチオフ直前のスライド操作（スライド方向、スライド速さ）に応じて慣性的に仮想カメラの向きが変更される。これによって、タッチ操作を行っていないときにも、プレイヤのそれまでの操作に応じて、仮想カメラＣａの向きを変更することができる。すなわち、本実施形態では、自己の所望の向きに仮想カメラＣａが向くまでスライド操作を行わなくても、スライドオフを行った後、慣性力によって仮想カメラＣａが所望の向きになったときにタッチパネル１３をタッチ（１点で停止してタッチ）するだけの操作で、プレイヤが自己の所望の向きに仮想カメラＣａの向きを設定することができる。このため、仮想カメラＣａの向きを変更するための操作性を向上させることができる。
【０２０２】
また、タッチパネル全面におけるプレイヤの任意の位置でプレイヤがダブルタップ操作を行うことで、仮想カメラの画角の変更等によって画面をズームさせることができる。従って、オブジェクト上をタッチすることで画面がズームされていた従来技術に比較して、画面をズームさせるためのプレイヤの操作性を向上させることができる。また、入力座標に応じて仮想カメラの撮像方向が変更しないので、プレイヤは入力座標を気にせずに、簡単にズームアップ入力を行うことができる。
【０２０３】
更に、本実施形態では、照準Ｇ３のスクリーン面Ｇ４上の位置及び三次元仮想空間での位置をプレイヤのタッチパネルに対するスライド操作に応じてデフォルト位置から変更することができる。これによって、常に表示画面の中央に位置するように照準Ｇ３が配置されていた従来技術のように、照準Ｇ３の位置を移動させるために、仮想カメラの向き又は位置を移動しなくてもよい。本実施形態では、タッチパネル１３に対するスライド操作という直感的で簡易な操作で、仮想カメラの位置又は向きを変えることなくシューティング方向を変えることができる。
【０２０４】
なお、本実施形態では、スライドオフ後における慣性力による照準Ｇ３の移動、仮想カ
メラＣａの向き及び位置の移動が減速していく度合について、プレイヤの設定変更によって変更することができないが、プレイヤによって設定変更することができるようにしてもよい。例えば、プレイヤの設定変更によって、式（Ｃ）における減衰率を変更するか、所定の係数を乗算してもよい。
【０２０５】
また、本実施形態では、スライド操作中及びスライドオフ後において、仮想カメラＣａの向き及び位置が、プレイヤキャラクタＧ１に設定された代表点Ｐ２の位置を中心に回転するように変更されているが、この構成に限られず、プレイヤキャラクタＧ１外にプレイヤキャラクタＧ１と所定の位置関係で設定された所定位置を中心に回転するように変更されてもよい。例えば、回転の中心は、仮想カメラＣａの位置であってもよいし、仮想カメラＣａの注視点であってもよいし、特定のオブジェクトの位置であってもよい。また、仮想カメラＣａの位置の変更を伴わず、仮想カメラＣａの向きだけ回転する構成であってもよい。
【０２０６】
そして、本実施形態では、本発明の情報処理装置をゲーム装置１に適用したものであるが、本発明はゲーム装置に限定されない。例えば、携帯電話機、簡易型携帯電話機（ＰＨＳ）、携帯情報端末（ＰＤＡ）等の携帯端末情報にも本発明の適用は可能である。また、据え置き型ゲーム機やパーソナルコンピュータにも本発明の適用は可能である。また、本発明の情報処理装置は、複数の装置（例えば、サーバとクライアント等）から構成されてもよい。例えば、上述した情報処理装置の処理のうち、主要な処理をサーバ側で実行し、他の処理をクライアント側で実行してもよい。
【産業上の利用可能性】
【０２０７】
本発明の情報処理装置は、仮想空間における照準オブジェクトの位置を変更するための情報処理装置において有用である。
【符号の説明】
【０２０８】
１…ゲーム装置
１１…下側ハウジング
１２…下側ＬＣＤ
１３…タッチパネル
１４…操作子
１５、２６…ＬＥＤ
１６…マイクロフォン用孔
２１…上側ハウジング
２２…上側ＬＣＤ
２３…内側カメラ
２４…音抜き孔
２５…外側カメラ
２７…タッチペン
２８…メモリカード
２９…カートリッジ
３１…ＣＰＵ
３２…メインメモリ
３３…メモリ制御回路
３４…保存用データメモリ
３５…プリセットデータ用メモリ
３６…メモリカードＩ／Ｆ
３７…無線通信モジュール
３８…ＲＴＣ
３９…電源回路
４０…Ｉ／Ｆ回路
４１…マイク
４２…アンプ
【図１】
0006707497.tif 000002
【図２】
0006707497.tif 000003
【図３】
0006707497.tif 000004
【図４】
0006707497.tif 000005
【図５】
0006707497.tif 000006
【図６】
0006707497.tif 000007
【図７】
0006707497.tif 000008
【図８】
0006707497.tif 000009
【図９】
0006707497.tif 000010
【図１０】
0006707497.tif 000011
【図１１】
0006707497.tif 000012
【図１２】
0006707497.tif 000013
【図１３】
0006707497.tif 000014
【図１４】
0006707497.tif 000015
【図１５】
0006707497.tif 000016
【図１６】
0006707497.tif 000017
【図１７】
0006707497.tif 000018
【図１８】
0006707497.tif 000019
【図１９】
0006707497.tif 000020
【図２０】
0006707497.tif 000021
【図２１Ａ】
0006707497.tif 000022
【図２１Ｂ】
0006707497.tif 000023
【図２２Ａ】
0006707497.tif 000024
【図２２Ｂ】
0006707497.tif 000025
【図２２Ｃ】
0006707497.tif 000026
【図２３】
0006707497.tif 000027
【図２４】
0006707497.tif 000028
【図２５】
0006707497.tif 000029
【図２６】
0006707497.tif 000030
【図２７】
0006707497.tif 000031
【図２８】
0006707497.tif 000032
【図２９】
0006707497.tif 000033
【図３０】
0006707497.tif 000034
【図３１】
0006707497.tif 000035
【図３２】
0006707497.tif 000036
【図３３】
0006707497.tif 000037