説明

オブジェクト制御プログラムおよび情報処理装置

【構成】情報処理装置10はたとえば表示画面上に設けられたタッチパネル22を含む。たとえば、タッチ入力の開始が検出されると、最初のタッチ入力座標がオブジェクト発生座標に決定されて、当該座標にオブジェクトが表示される。オブジェクト発生座標に続いてたとえばタッチオフまで連続的に検出される座標に基づく入力方向が所定の方向であると判定されるとき、当該オブジェクトが特定方向に移動される。あるいは、オブジェクト発生座標に続けてタッチオフまで連続的に検出される座標から入力方向が決定され、当該入力方向に基づいてたとえばその反対方向が移動方向に決定され、当該移動方向にオブジェクトが移動される。
【効果】簡単で直感的な操作によって、オブジェクトを任意の位置に発生させて、その位置を起点として当該オブジェクトを特定方向または入力に基づく方向に移動させることができる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、オブジェクト制御プログラムおよび情報処理装置に関し、特にたとえば、入力手段の入力に応じてオブジェクトを発生させて移動させる、オブジェクト制御プログラムおよび情報処理装置に関する。
【背景技術】
【0002】
たとえばタッチパネル上に表示されたオブジェクトを操作する技術の一例が特許文献1に開示されている。具体的には、タッチパネル上に予め表示されているオブジェクトを指でタッチして指の位置に合わせて移動(ドラッグ移動)させたり、指で弾いて指の移動した方向に慣性移動させたりする技術が記載されている。
【0003】
また、非特許文献1には、タッチパネル上の所定位置に表示されたパチンコの弾をドラッグ移動させることによって飛ばすミニゲームが記載されている。
【特許文献1】特許第2827612号公報
【非特許文献1】ニンテンドーDS用ゲームソフト「スーパーマリオ64DS」の取扱説明書、31ページ、2004年12月発売
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1および非特許文献1では、固定された位置に既に存在しているオブジェクトをタッチした後に、移動させたい方向を見据えてその方向にまたはその反対方向にドラッグ操作をする必要がある。このため、オブジェクトを操作しようとする度にオブジェクトの位置を確認しなければならないので、操作が面倒である。さらに、パチンコ弾を連続的に撃つような操作も困難であり、爽快感が得難く、操作性が良くない。
【0005】
それゆえに、この発明の主たる目的は、新規な、オブジェクト制御プログラムおよび情報処理装置を提供することである。
【0006】
この発明の他の目的は、簡単に任意の位置にオブジェクトを発生させて移動させることができる、オブジェクト制御プログラムおよび情報処理装置を提供することである。
【0007】
この発明のさらに他の目的は、簡単で直感的な操作によってオブジェクトを発生させて移動させることができる、オブジェクト制御プログラムおよび情報処理装置を提供することである。
【0008】
この発明のその他の目的は、簡単に複数のオブジェクトを連続して発生させて移動させることができる、オブジェクト制御プログラムおよび情報処理装置を提供することである。
【課題を解決するための手段】
【0009】
第1の発明(請求項1の発明)は、入力手段の入力に応じて発生および移動されるオブジェクトを表示手段に表示する情報処理装置のオブジェクト制御プログラムである。このオブジェクト制御プログラムは、情報処理装置のプロセサに、検出ステップ、第1判定ステップ、発生座標決定ステップ、オブジェクト発生ステップ、およびオブジェクト制御ステップを実行させる。検出ステップは、入力手段によって入力された座標を検出する。第1判定ステップは、検出ステップによる検出結果に基づいて第1条件が満たされたか否かを判定する。発生座標決定ステップは、第1判定ステップによって第1条件が満たされたと判定されたときの検出ステップによる検出座標をオブジェクト発生座標に決定する。オブジェクト発生ステップは、発生座標決定ステップによって決定されたオブジェクト発生座標にオブジェクトを発生させる。オブジェクト制御ステップは、オブジェクト発生座標に続く検出ステップによる連続的な検出結果に基づいてオブジェクトの移動を制御する。
【0010】
請求項1の発明では、オブジェクト制御プログラムは、情報処理装置(10:後述する実施例で相当する参照符号。以下同じ。)のプロセサ(42)に以下に説明するような各ステップを実行させる。情報処理装置は、入力手段(22)の入力に応じて発生および移動されるオブジェクト(72)を表示手段(12、14)に表示する。検出ステップ(S3、S5、S15、S17、S35、S37)は、入力手段によって入力された座標を検出する。第1判定ステップ(S3、S121、S151−S157、S171、S173)は、検出ステップによる検出結果に基づいて第1条件が満たされたか否かを判定する。第1条件とは、検出ステップにおいて検出がない状態から検出がある状態に変化したことや、検出がある状態が継続しているときに、検出される座標の変化量が閾値より小さい(または大きい)こと(すなわち、入力座標の移動速度が閾値より小さいまたは大きいこと)、または、検出される座標が所定時間の間変化しないこと(すなわち、入力座標が所定時間停止していること)などが考えられる。発生座標決定ステップ(S7、S181)は、第1条件が満たされたと判定されたときの検出座標をオブジェクト発生座標に決定する。オブジェクト発生ステップ(S9)は、決定されたオブジェクト発生座標にオブジェクトを発生させる。オブジェクト発生ステップは、たとえば、オブジェクト画像データに基づいて、オブジェクト発生座標にオブジェクト画像を表示する。また、オブジェクト発生ステップは、オブジェクト発生座標決定ステップによってオブジェクト発生座標が決定したときに、当該決定した座標にオブジェクト画像を表示してもよいし、その後適切なタイミングで(たとえばオブジェクトが移動開始するタイミングで)、当該決定した座標にオブジェクト画像を表示してもよい。オブジェクト制御ステップ(S43、S61、S65、S93、S95、S99)は、オブジェクト発生座標に続く検出ステップによる連続的な検出結果に基づいてオブジェクトの移動を制御する。たとえば、オブジェクト制御ステップは、オブジェクト発生座標が検出された後、検出手段によって連続的に検出される結果に基づいて、オブジェクト発生座標に表示されるオブジェクトの移動を制御する。ここで、連続的に検出されるとは、オブジェクト発生座標が検出された後、検出がない状態とならずに、検出がある状態が継続している状態である。なお、検出がなくなった場合でも、一定期間が経過するまでに検出が有る状態となったときには、連続的な検出とみなすようにしてもよい。このようにして、入力の検出結果が第1条件を満たすと判定されたときの入力座標にオブジェクトが発生され、発生座標に続く連続的な入力の検出結果に基づいて当該オブジェクトの移動が制御される。したがって、第1条件を満足する入力とこれに続く一連の入力に応じて、簡単に任意の位置にオブジェクトを発生させて、当該発生座標を起点としてオブジェクトを移動させることができる。
【0011】
請求項2の発明は、請求項1の発明に従属し、第1判定ステップによって第1条件が満たされたと判定された後、検出ステップにより連続的に検出される座標の少なくとも1つに基づいて第2条件が満たされたか否かを判定する第2判定ステップをさらにプロセサに実行させる。オブジェクト制御ステップは、第2判定ステップによって第2条件が満たされたと判定されたときに、オブジェクト発生ステップによって発生されたオブジェクトの移動を開始する。
【0012】
請求項2の発明では、第2判定ステップ(S21、S29、S35、S41)は、第1条件が満足されたと判定された後に連続的に検出された座標の少なくとも1つに基づいて、つまり、オブジェクト発生座標に続く連続的な検出座標のうちの少なくとも1つに基づいて、第2条件が満たされたか否かを判定する。第2条件としては、第1条件が満たされた後に、検出ステップにおいて検出がある状態から無い状態に変化したことや、検出がある状態が継続しているときに、検出された座標の変化量が閾値より小さい(または大きい)こと、または、検出される座標が所定時間の間変化しないこと、あるいは、第1条件が満足されたときの座標から所定距離だけ離れたことや当該座標から所定の方向への入力とみなせるような座標検出が続いたことなどが考えられる。オブジェクト制御ステップは、第2条件が満たされたときには、オブジェクトの移動を開始する。したがって、第2条件を満足する入力に応じてオブジェクトの移動を開始することができる。
【0013】
請求項3の発明は、請求項2の発明に従属し、オブジェクト制御ステップは、連続的な検出の後検出ステップによる検出がなくなったときに、オブジェクト発生ステップによって発生されたオブジェクトの移動を開始する。
【0014】
請求項3の発明では、第1条件が満足された後の連続的な検出の後に検出が無くなったことが第2条件として判定される。したがって、連続的な検出が無くなったときに、つまり、たとえばタッチオンからタッチオフになったときに、オブジェクトの移動を開始することができる。
【0015】
請求項4の発明は、請求項1ないし3のいずれかの発明に従属し、オブジェクト制御ステップは、検出ステップによって連続的に検出された座標のうちの少なくとも1つの座標に基づいて、オブジェクトの移動のパラメータを決定する。
【0016】
請求項4の発明では、オブジェクト制御ステップ(S141、S143、S43)は、オブジェクトの移動のパラメータを、第1条件を満足した後に連続的に検出された座標のうちの少なくとも1つの座標に基づいて決定する。たとえばタッチオフ直前の座標がオブジェクト発生座標からどの程度離れているかによってパラメータが決定されてよい。当該移動のパラメータは、たとえば、オブジェクトの移動速度、移動方向、移動距離などのパラメータである。したがって、連続的に検出された座標に基づいて決定したパラメータに基づいてオブジェクトの移動を制御することができる。
【0017】
請求項5の発明は、請求項2または3の発明に従属し、オブジェクト発生座標に続いて検出ステップによって連続的な検出がされている間に検出される座標が第3条件を満たすことを判定する第3条件判定ステップをさらにプロセサに実行させる。オブジェクト制御ステップは、第3条件判定ステップによって第3条件を満たすことが判定されることを条件として、オブジェクトの移動を制御する。
【0018】
請求項5の発明では、第3条件判定ステップ(S21、S29)は、オブジェクト発生座標に続く連続的な検出の間に検出される座標が第3条件を満たすことを判定する。第3条件は、たとえば、連続的な検出中の座標が所定領域の外になることとしてもよい。なお、所定領域は、オブジェクト発生座標を基準として設定してもよい。たとえばオブジェクト発生座標から所定距離の範囲外の座標が検出されることが第3条件とされてよい。また、第3条件は、連続的な検出中の座標の移動方向が所定方向であることとしてもよい。なお、連続的な検出中の座標の移動方向がオブジェクト発生座標を基準として所定方向であることとしてもよい。たとえば、実施例では、連続検出中の座標が、所定方向の入力とみなせるように設定された第1有効範囲内であることが第3条件とされる。さらに、第3条件は、連続的に検出される座標の変化量が閾値より小さい(または大きい)こと、または、連続的に検出される座標が所定時間の間変化しないことなどとしてもよい。オブジェクト制御ステップは、第3条件を満たすことが判定されるときには、オブジェクトの移動を制御するが、第2条件を満たす場合であっても第3条件を満たさない場合は、オブジェクトを移動させない。したがって、オブジェクト発生座標に続く連続的な検出の間に検出される座標が第3条件を満足したことに応じて、オブジェクトの移動制御を起動させることができる。
【0019】
請求項6の発明は、請求項5の発明に従属し、第3条件判定ステップは、オブジェクト発生座標に続いて検出ステップによって連続的な検出がされている間に検出される座標が、オブジェクト発生座標から所定距離だけ離れたことを判定する。
【0020】
請求項6の発明では、第3条件判定ステップ(S21)は、第3条件として、オブジェクト発生座標に続く連続的な検出の間に検出される座標が、オブジェクト発生座標から所定距離だけ離れたことを判定する。したがって、オブジェクト発生座標から所定距離範囲外の座標が検出された場合には、オブジェクトの移動制御を起動することができる。
【0021】
請求項7の発明は、請求項2ないし6のいずれかの発明に従属し、オブジェクト制御ステップは、オブジェクト発生座標に続く検出ステップによる連続的な検出結果が第2条件を満たすとき、オブジェクト発生ステップによって発生されたオブジェクトを一定方向に移動させる。
【0022】
請求項7の発明では、オブジェクト制御ステップ(S61)は、第2条件が満足されたとき、オブジェクトを一定方向に移動する。この発明では、オブジェクト制御ステップは、連続的な検出中の座標の移動方向に基づいて(または、オブジェクト発生座標を基準とする方向に基づいて)、オブジェクトの移動方向を決定してもよい(たとえば、当該連続的な検出中の座標の移動方向と反対方向をオブジェクトの移動方向としてもよいし、同じ方向をオブジェクトの移動方向としてもよい)。しかし、ここでは、当該連続的な検出結果の内容に関係なく、例えば、当該連続的な検出中の座標の移動方向がいずれの方向であっても、第2条件が満足される場合には、オブジェクトを一定の方向に移動させる。したがって、第2条件を満足するオブジェクト発生座標に続く連続的な入力に応じて、オブジェクトを一定方向に移動させることができる。
【0023】
請求項8の発明は、請求項7の発明に従属し、第2判定ステップは、第2条件に加えて、以下の追加条件を判定する。すなわち、第1判定ステップによって第1条件が満たされたと判定された後、オブジェクト発生座標に続いて検出ステップによって連続的な検出がされている間に検出される座標が、オブジェクト発生座標から一定方向(請求項7におけるオブジェクトの移動方向)と同じ方向または反対方向を中心とした所定の範囲の方向に存在することを追加条件として判定する。なお、連続的な検出がされている間に検出される座標が当該所定の範囲の方向から外れた時点で直ちに上記の追加条件を満たさないと判定してもよいし、連続的な検出の途中で当該所定の範囲の方向から外れたときでも、第2条件を満たすタイミングにおいて検出される座標が当該所定の範囲の方向に存在していれば上記の追加条件を満たすと判定してもよい。
【0024】
請求項8の発明では、第2判定ステップ(S29、S41)は、第2条件に加えて、第1条件が満たされたと判定された後、オブジェクト発生座標に続く連続的な検出において検出された座標が、オブジェクト発生座標から一定方向の同じ方向または反対方向を中心とした所定の範囲の方向に存在することを判定する。つまり、連続的な検出中の座標の移動方向が、オブジェクトの移動方向である一定方向に対して、その同じ方向または反対方向を中心とした所定の範囲に含まれる方向であるときには、追加条件が満たされる。実施例では、オブジェクト発生座標後の連続的な検出座標が、オブジェクト発生座標から下方向を中心とした角度θの範囲に含まれる方向に存在しているかが、第1有効範囲を基に判定される。さらに、タッチオフ直前の入力座標が、オブジェクト発生座標から下方向を中心とした角度θの範囲に含まれる方向に存在しているか(さらに、実施例では、所定の距離d2だけ移動したか否か)が、第2有効範囲を基に判定される。第2条件が満足されると、オブジェクト制御ステップによって、オブジェクトの一定方向への移動が開始される。したがって、オブジェクトの移動方向の同じ方向または反対方向への入力が行われた場合には、オブジェクトを一定方向へ移動させることができる。
【0025】
請求項9の発明は、請求項1ないし8のいずれかの発明に従属し、第4条件判定ステップおよびオブジェクト消滅ステップをさらに実行させる。第4条件判定ステップは、オブジェクト発生座標に続いて検出ステップによって連続的な検出がされている間において検出ステップによって検出される座標が第4条件を満たすことを判定する。オブジェクト消滅ステップは、第4条件判定ステップによって第4条件を満たすことが判定されたときに、オブジェクト発生ステップによって発生されたオブジェクトを消滅させる。
【0026】
請求項9の発明では、第4条件判定ステップ(S15、S21、S29)は、オブジェクト発生座標に続いて連続的な検出がされている間に検出される座標が第4条件を満たすか否かを判定する。第4条件は、たとえば、連続的な検出中の座標が、所定領域より外になったこととしてもよいし、所定領域より外になる前に検出がなくなった場合でもよいし、第2条件を満たしてオブジェクトの移動が開始する前に検出がなくなったこととしてもよい。なお、所定領域は、オブジェクト発生座標を基準として設定してもよい。また、オブジェクト発生座標を基準として、所定方向(一定の範囲)であることとしてもよい。さらに、検出された座標の変化量が閾値より小さい(または大きい)こと、または、検出される座標が所定時間の間変化しないことなどとしてもよい。オブジェクト消滅ステップ(S45)は、第4条件が満足されたとき、オブジェクト発生座標からオブジェクト画像の表示を消去する。したがって、オブジェクト発生座標に続く連続的な検出の間に検出される座標が第4条件を満足したことに応じて、オブジェクトを移動させずに消滅させることができる。
【0027】
請求項10の発明は、請求項9の発明に従属し、第4条件判定ステップは、オブジェクト発生座標に続いて検出ステップによって連続的な検出がされている間において検出ステップによって検出される座標が、オブジェクト発生座標を基準とする第2領域より外になる前に、検出ステップによる検出がなくなったことを、第4条件として判定する。
【0028】
請求項10の発明では、第4条件判定ステップ(S15、S21)は、第4条件として、連続的な検出中の座標が第2領域の範囲外になる前に検出が無くなったか否かを判定する。第2領域は、オブジェクト発生座標を基準とする所定距離以内の領域であってもよい。したがって、オブジェクト発生座標に続く連続的な検出の間に検出される座標が第2領域外になる前に検出が無くなったときには、発生しているオブジェクトを消滅させることができる。
【0029】
請求項11の発明は、請求項9の発明に従属し、第4条件判定ステップは、オブジェクト発生座標に続いて検出ステップによって連続的な検出がされている間において検出ステップによって検出される座標が、オブジェクト発生座標を基準とする第3領域より外になったことを、第4条件として判定する。
【0030】
請求項11の発明では、第4条件判定ステップ(S29)は、第4条件として、連続的な検出中の座標がオブジェクト発生座標を基準とした第3領域の範囲外になったか否かを判定する。第3領域は、たとえば、オブジェクト発生座標の周囲の所定距離内の領域と、オブジェクト発生座標から所定方向を中心とした所定範囲内の領域とを含む領域であってもよく、実施例では第1有効範囲が適用され得る。したがって、オブジェクト発生座標に続く連続的な検出の間に検出される座標が第3領域外になったときには、発生しているオブジェクトを消滅させることができる。
【0031】
請求項12の発明は、請求項11の発明に従属し、オブジェクト制御ステップは、連続的な検出の後検出ステップによる検出がなくなった場合に、当該検出がなくなる直前に検出ステップによって検出された座標が、第3領域と異なるオブジェクト発生座標を基準とする第4領域内であるときに、オブジェクト発生ステップによって発生されたオブジェクトの移動を開始する。
【0032】
請求項12の発明では、オブジェクト制御ステップは、連続的な検出の後に検出が無しになった場合において(S35)、検出が無くなる直前の検出座標がオブジェクト発生座標を基準とした第4領域内であると判定されるとき(S41)、オブジェクトの移動を開始する。第4領域は、第3領域と異なる領域であり、たとえば座標がオブジェクト発生座標から所定方向に少なくとも所定距離だけ移動したと見なせるような範囲であってよく、実施例では第2有効範囲が適用され得る。したがって、連続的な検出のなくなる直前の座標が第4領域内であるときには、オブジェクトを移動させることができる。
【0033】
請求項13の発明は、請求項12の発明に従属し、第3領域は、オブジェクト発生座標の全方向に存在する領域であり、第4領域は、オブジェクト発生座標の所定方向にのみ存在する領域である。
【0034】
請求項13の発明では、第3領域は、オブジェクト発生座標の全方向に存在する領域であり、実施例では、オブジェクト発生座標から全方向に所定距離内の領域を含む第1有効範囲が適用され得る。一方、第4領域は、オブジェクト発生座標の所定方向にのみ存在する領域であり、実施例ではオブジェクト発生座標から所定方向に所定距離だけ移動した位置から所定方向にのみ広がる第2有効範囲が適用され得る。したがって、オブジェクトの消滅条件を判定する際には、オブジェクト発生座標から全方向に存在する領域を含む範囲外になったか否かが判定されるので、たとえば手ぶれによって所定方向以外の方向が入力された場合でも、オブジェクトを消滅させないでおくことが可能になる。また、オブジェクトの移動条件を判定する際には、オブジェクト発生座標の所定方向にのみ存在する領域の範囲外になったか否かが判定されるので、所定方向への入力であるか否かを確実に判別することができる。
【0035】
請求項14の発明は、請求項2ないし13のいずれかの発明に従属し、第2条件は、オブジェクト発生座標とオブジェクト発生座標に続いて検出ステップによって連続的に検出される座標のうちの少なくとも1つの座標とに基づく入力方向が所定の方向であることを含む。オブジェクト制御ステップは、第2判定ステップによって第2条件が満たされたと判定されるとき、オブジェクトを移動させる。
【0036】
請求項14の発明では、第2条件として、オブジェクト発生座標とこれに続く連続的な検出座標のうちの少なくとも1つの座標とに基づく入力方向が所定の方向であるか否かが判定される(S21、S29、S41)。オブジェクト制御ステップ(S61)は、入力方向が所定の方向であると判定されるときには、オブジェクトを移動させる。したがって、オブジェクト発生座標に続く所定の方向への入力によって、オブジェクトを移動させることができる。
【0037】
請求項15の発明は、請求項14の発明に従属し、入力手段は表示手段に対する座標を検出するためのものである。第2条件における所定の方向と、オブジェクト制御ステップにおけるオブジェクトの移動方向とは、同じ方向または反対の方向である。
【0038】
請求項15の発明では、入力手段は表示手段に対する座標を検出するためのものであり、たとえば表示画面における位置を指示するためのポインティングデバイスであってよい。入力方向はオブジェクト発生座標とこれに続く連続的な検出座標のうちの少なくとも1つの座標とに基づいて決定されるので、この入力手段によって所望の方向を簡単かつ直感的に入力することができる。そして、オブジェクト発生座標に続いて所定の方向への入力があったときには、オブジェクトを当該所定の方向とは同じ方向または反対の方向へ移動させることができる。たとえば前に押す入力または後ろに引く入力に応じてオブジェクトをその同じ方向または反対方向に放つことができるので、直感的な入力操作でオブジェクトを移動させることができる。
【0039】
請求項16の発明は、請求項15の発明に従属し、所定の方向は第1の方向の正成分を持つ方向であり、オブジェクトの移動方向は第1の方向と反対の方向である。つまり、オブジェクト発生座標に続いて第1の方向の正成分を持つ方向への入力があったときには、オブジェクトを第1の方向と反対方向へ移動させることができる。したがって、オブジェクト発生座標から第1の方向の正成分側という広い範囲への入力によって、簡単に第1の方向の反対方向にオブジェクトを移動させることができる。
【0040】
請求項17の発明は、請求項15の発明に従属し、所定の方向は第1の方向を基準として左右に90度未満の範囲内の方向であり、オブジェクトの移動方向は第1の方向と反対の方向である。つまり、オブジェクト発生座標に続いて第1の方向を基準として左右に90度未満の範囲内の方向への入力があったときには、オブジェクトを第1の方向と反対方向へ移動させることができる。したがって、オブジェクト発生座標から第1の方向を基準に左右に90度未満の範囲内という比較的広い範囲への入力によって、簡単に第1の方向の反対方向にオブジェクトを移動させることができる。
【0041】
請求項18の発明は、請求項2ないし14のいずれかの発明に従属し、オブジェクト制御ステップは、オブジェクト発生座標とオブジェクト発生座標に続いて検出ステップによって連続的に検出される座標のうちの少なくとも1つの座標とに基づいて、入力手段による入力方向を決定する入力方向決定ステップ、および入力方向決定ステップによって決定された入力方向に基づいて、オブジェクトの移動方向を決定する移動方向決定ステップをさらに含み、第2判定ステップによって第2条件が満たされたと判定されるとき、移動方向決定ステップによって決定された移動方向にオブジェクトを移動させる。
【0042】
請求項18の発明では、入力方向決定ステップ(S91)は、オブジェクト発生座標とオブジェクト発生座標に続いて連続的に検出される座標のうちの少なくとも1つの座標とに基づいて、入力手段による入力方向を決定する。移動方向決定ステップ(S93)は、決定された入力方向に基づいてオブジェクトの移動方向を決定する。オブジェクト制御ステップ(S95)は、第2条件が満足されたと判定されるとき、決定された移動方向へオブジェクトを移動させる。したがって、オブジェクト発生座標に続く入力の方向に応じて移動方向が決定されるので、入力する方向によってオブジェクトの移動方向を制御することができる。
【0043】
請求項19の発明は、請求項18の発明に従属し、入力方向決定ステップは、オブジェクト発生座標と第2判定ステップによって第2条件を満たすと判定されたときの検出ステップによる検出座標とを結ぶ方向を入力方向に決定する。つまり、第1条件が満たされたときの検出座標と第2条件が満たされたときの検出座標とを結ぶ方向が入力方向として決定され、当該入力方向に基づいてオブジェクトの移動方向が決定される。したがって、ユーザは第1条件を満たす入力と第2条件を満たす入力とをそれぞれ適宜な位置で行うことによって、オブジェクトを所望の方向に移動させることができる。
【0044】
請求項20の発明は、請求項18または19の発明に従属し、移動方向決定ステップは、入力方向を反転してオブジェクトの移動方向とする。つまり、入力方向の反対方向が移動方向として決定される。したがって、オブジェクト発生座標に続く入力方向の反対の方向にオブジェクトを移動させることができる。たとえば引く入力に応じてオブジェクトをその反対方向に放つことができるので、直感的な入力操作でオブジェクトを移動させることができる。
【0045】
請求項21の発明は、請求項18ないし20のいずれかの発明に従属し、入力方向決定ステップは、第1判定ステップによって第1条件を満たすと判定されてから第2判定ステップによって第2条件を満たすと判定されるまでの期間における検出ステップによる検出座標に基づいて、当該期間ごとの入力方向を決定し、移動方向決定ステップは、期間ごとの入力方向に基づいて、期間ごとのオブジェクトの移動方向を決定し、オブジェクト発生ステップは、期間ごとに異なるオブジェクトを、当該期間に対応するオブジェクト発生座標に発生させ、オブジェクト制御ステップは、期間ごとの移動方向に当該オブジェクトを移動させる。
【0046】
請求項21の発明では、第1条件を満たすときから第2条件を満たすときまでの期間ごとに決定された入力方向に基づいて、移動方向が決定される。また、期間ごとに異なるオブジェクトが当該期間に対応するオブジェクト発生座標に発生され、当該期間に対応する移動方向に移動される。したがって、第1条件および第2条件を満たす入力を繰り返すことによって、簡単に複数ないし多数のオブジェクトを連続して発生させて、対応する移動方向に移動させることができる。
【0047】
請求項22の発明は、請求項1ないし21のいずれかの発明に従属し、オブジェクト発生ステップは、発生座標決定ステップによる決定ごとに異なるオブジェクトを発生させる。つまり、第1条件が満足されるごとに異なるオブジェクトが発生されるので、簡単に複数ないし多数のオブジェクトを連続して発生させることができる。
【0048】
請求項23の発明は、請求項2ないし22のいずれかの発明に従属し、オブジェクト発生ステップは、第2判定ステップによって第2条件を満たすと判定されたときにオブジェクトを発生させる。つまり、オブジェクト発生座標に続く連続した入力に基づいて第2条件が満足されたと判定されたときに、オブジェクトを発生させて、かつ、移動させることができる。
【0049】
請求項24の発明は、請求項2ないし23のいずれかの発明に従属し、オブジェクト発生ステップは、第1判定ステップによって第1条件を満たすと判定されてから第2判定ステップによって第2条件を満たすと判定されるまでの間に、さらに、第1判定ステップによって第1条件を満たすと判定された場合には、第1条件を満たすと先に判定されたときのオブジェクト発生座標に第1のオブジェクトを発生させ、第1条件を満たすと後に判定されたときのオブジェクト発生座標に第1のオブジェクトとは異なる第2のオブジェクトを発生させる。つまり、第1条件が満たされた後、第2条件が満たされたと判定される前に再び第1条件が満たされたと判定された場合には、第1条件を満たすごとに、異なるオブジェクトを発生させることができる。したがって、簡単に複数ないし多数のオブジェクトを連続して発生させることができる。
【0050】
請求項25の発明は、請求項1ないし24のいずれかの発明に従属し、プロセサに、第1判定ステップによって第1条件を満たすと判定された後、検出ステップによる検出座標がオブジェクト発生座標から所定の領域内で連続している時間を計測する時間計測ステップをさらに実行させる。オブジェクト制御ステップは、時間計測ステップによって計測される時間に応じて、オブジェクトの種類データおよび移動パラメータの少なくとも一方を設定する第1特性設定ステップを含む。
【0051】
請求項25の発明では、時間計測ステップ(S23)は、第1条件を満足した後の検出座標がオブジェクト発生座標から所定の領域内で連続している時間を計測する。第1特性設定ステップ(S25、S27)は、計測時間に応じてオブジェクトの種類データや移動パラメータを設定する。移動パラメータは、たとえば移動速度、移動方向、移動距離であってよい。したがって、オブジェクト発生座標から所定領域内への入力を継続することによって、簡単にオブジェクトの種類や移動パラメータを変化させることができる。
【0052】
請求項26の発明は、請求項2ないし25のいずれかの発明に従属し、プロセサに、オブジェクト発生座標と第2判定ステップによって第2条件を満たすと判定されたときの検出ステップによる検出座標との距離を計算する距離計算ステップをさらに実行させる。オブジェクト制御ステップは、距離計算ステップによって計算される距離に応じて、オブジェクトの種類データおよび移動パラメータの少なくとも一方を設定する第2特性設定ステップを含む。
【0053】
請求項26の発明では、距離計算ステップ(S141)は、オブジェクト発生座標と第2条件を満たすときの検出座標との距離を算出する。第2特性設定ステップ(S143)は、算出距離に応じてオブジェクトの種類データや移動パラメータを設定する。したがって、オブジェクト発生座標に対しての第2条件を満たす入力を行う位置によって、簡単にオブジェクトの種類や移動パラメータを変化させることができる。
【0054】
請求項27の発明は、請求項1ないし26のいずれかの発明に従属し、オブジェクト制御ステップは、発生座標決定ステップによって決定されたオブジェクト発生座標に応じて、オブジェクトの種類データおよび移動パラメータの少なくとも一方を設定する第3特性設定ステップを含む。つまり、第3特性設定ステップ(S131)は、オブジェクト発生座標に応じて、オブジェクトの種類データや移動パラメータを設定する。したがって、第1条件を満たす入力を行う位置によって、簡単にオブジェクトの種類や移動パラメータを変化させることができる。
【0055】
請求項28の発明は、請求項1ないし27のいずれかの発明に従属し、プロセサに、射撃対象オブジェクトの発生および移動を制御する射撃対象制御ステップ、オブジェクトと射撃対象オブジェクトとの衝突判定をおこなう衝突判定ステップ、および衝突判定ステップによってオブジェクトと射撃対象オブジェクトとが衝突したと判定されたときに、射撃対象オブジェクトを消滅させる衝突ステップをさらに実行させる。
【0056】
請求項28の発明では、射撃対象制御ステップ(S1)は、射撃対象オブジェクト(70)の発生および移動を制御する。衝突判定ステップ(S67、S101)は、オブジェクトと射撃対象オブジェクトとが衝突するか否かを判定する。衝突ステップ(S71、S109)は、衝突が起こったとき、射撃対象オブジェクトを消滅させる。したがって、たとえばオブジェクトを任意の位置に発生させて所定の移動方向に移動させることによって射撃対象オブジェクトを撃ち落とすような、戦略性の高いシューティングゲームを実現することができる。
【0057】
請求項29の発明は、請求項28の発明に従属し、射撃対象制御ステップは、射撃対象オブジェクトごとに耐久力データを設定する耐久力設定ステップを含む。衝突ステップは、衝突判定ステップによってオブジェクトと射撃対象オブジェクトとが衝突したと判定されたときに、当該射撃対象オブジェクトの耐久力データの示す耐久力を減算する減算ステップを含み、減算ステップによる減算後の当該耐久力が所定の閾値以下になったときに当該射撃対象オブジェクトを消滅させる。
【0058】
請求項29の発明では、耐久力設定ステップ(S1)は、射撃対象オブジェクトごとに耐久力データを設定する。減算ステップ(S75、S105)は、衝突が起こったとき、当該射撃対象オブジェクトの耐久力を減算する。衝突ステップは、耐久力が所定の閾値以下になったとき(S107)当該射撃対象オブジェクトを消滅させる。したがって、たとえば、射撃対象オブジェクトの耐久力が無くなるまで必要な数のオブジェクトを続々と発生させて衝突させるような戦略性の高いシューティングゲームを提供できる。
【0059】
請求項30の発明は、請求項29の発明に従属し、第1判定ステップによって第1条件を満たすと判定された後、検出ステップによる検出座標がオブジェクト発生座標から所定の領域内で連続している時間をオブジェクトごとに計測する時間計測ステップを含む。衝突ステップは、射撃対象オブジェクトに衝突したオブジェクトに対応する時間計測ステップによって計測された時間が長いほど、当該射撃対象オブジェクトの耐久力データから減算する値を大きくする。したがって、たとえばオブジェクト発生座標から所定領域内への入力を継続することによって各オブジェクトの攻撃力を高めることができるような戦略性の高いシューティングゲームを提供できる。
【0060】
請求項31の発明は、請求項29または30の発明に従属し、オブジェクト発生座標と、第2判定ステップによって第2条件を満たすと判定されたときの検出ステップによる検出座標との距離をオブジェクトごとに計算する距離計算ステップを含む。衝突ステップは、射撃対象オブジェクトに衝突したオブジェクトに対応する距離計算ステップによって計算された距離が長いほど、当該射撃対象オブジェクトの耐久力データから減算する値を大きくする。したがって、たとえばオブジェクト発生座標からより離れた位置で第2条件を満たす入力を行うことによって各オブジェクトの攻撃力を高めることができるような戦略性の高いシューティングゲームを提供できる。
【0061】
請求項32の発明は、請求項29ないし31のいずれかの発明に従属し、衝突ステップは、射撃対象オブジェクトに衝突したオブジェクトに対応するオブジェクト発生座標に応じて、当該射撃対象オブジェクトの耐久力データから減算する値を変化させる。したがって、第1条件を満たす入力を行う位置に応じて各オブジェクトの攻撃力を変化させることができるような戦略性の高いシューティングゲームを提供できる。
【0062】
請求項33の発明は、請求項1ないし32のいずれかの発明に従属し、入力手段は、表示手段の表示画面上に設置されたタッチパネルである。したがって、表示画面上を直接触るような直感的でしかも簡単な入力操作によって、任意の位置にオブジェクトを発生させて移動させることができる。
【0063】
第2の発明(請求項34の発明)は、入力手段の入力に応じて発生および移動されるオブジェクトを表示手段に表示する情報処理装置のオブジェクト制御プログラムである。このオブジェクト制御プログラムは、情報処理装置のプロセサに、検出ステップ、第1判定ステップ、発生座標決定ステップ、オブジェクト発生ステップ、領域外判定ステップ、オブジェクト制御ステップ、およびオブジェクト消滅ステップを実行させる。検出ステップは、入力手段によって入力された座標を検出する。第1判定ステップは、検出ステップによる検出結果に基づいて第1条件が満たされたか否かを判定する。発生座標決定ステップは、第1判定ステップによって第1条件が満たされたと判定されたときの検出ステップによる検出座標をオブジェクト発生座標に決定する。オブジェクト発生ステップは、発生座標決定ステップによって決定されたオブジェクト発生座標にオブジェクトを発生させる。領域外判定ステップは、オブジェクト発生座標に続いて検出ステップによって連続的な検出がされている間において検出ステップによって検出される座標が、オブジェクト発生座標を基準とする第1領域より外になったか否かを判定する。オブジェクト制御ステップは、領域外判定ステップによって連続的な検出における座標が第1領域から外になったことが判定された後に、検出ステップによる検出がなくなったときに、オブジェクト発生ステップによって発生されたオブジェクトの移動を開始させる。オブジェクト消滅ステップは、領域外判定ステップによって連続的な検出における座標が第1領域から外になったことが判定される前に、検出ステップによる検出がなくなったときに、オブジェクト発生ステップによって発生されたオブジェクトを消滅させる。
【0064】
請求項34の発明は、上述の第1の発明と同様な情報処理装置(10)のオブジェクト制御プログラムである。検出ステップ(S3、S5、S15、S17、S35、S37)は、入力手段によって入力された座標を検出する。第1判定ステップ(S3、S121、S151−S157、S171、S173)は、検出ステップによる検出結果に基づいて第1条件が満たされたか否かを判定する。第1条件とは、検出ステップにおいて検出がない状態から検出がある状態に変化したことや、検出がある状態が継続しているときに、検出される座標の変化量が閾値より小さい(または大きい)こと、または、検出される座標が所定時間の間変化しないことなどが考えられる。発生座標決定ステップ(S7、S181)は、第1条件が満たされたと判定されたときの検出座標をオブジェクト発生座標に決定する。オブジェクト発生ステップ(S9)は、決定されたオブジェクト発生座標にオブジェクトを発生させる。オブジェクト発生ステップは、たとえば、オブジェクト画像データに基づいて、オブジェクト発生座標にオブジェクト画像を表示する。また、オブジェクト発生ステップは、オブジェクト発生座標決定ステップによってオブジェクト発生座標が決定したときに、当該決定した座標にオブジェクト画像を表示してもよいし、その後適切なタイミングで(たとえばオブジェクトが移動開始するタイミングで)、当該決定した座標にオブジェクト画像を表示してもよい。領域外判定ステップ(S21、S185)は、オブジェクト発生座標に続いて検出ステップによって連続的な検出がされている間に検出される座標が、オブジェクト発生座標を基準とする第1領域より外になったか否かを判定する。第1領域はたとえばオブジェクト発生座標から所定距離以内の領域であってよい。オブジェクト制御ステップ(S35、S43、S61、S65、S93、S95、S99)は、連続的な検出における座標が第1領域から外になったことが判定された後に、検出ステップによる検出がなくなったときに、オブジェクトの移動を開始させる。オブジェクト消滅ステップ(S15、S45)は、連続的な検出における座標が第1領域から外になったことが判定される前に、検出ステップによる検出がなくなったときに、オブジェクトを消滅させる。このようにして、第1条件を満たす入力によって、簡単に任意の位置にオブジェクトを発生させることができる。そして、オブジェクト発生座標に続く連続的な入力によって第1領域外の座標を入力した後に入力をオフにすることによって、発生したオブジェクトを簡単に移動させ始めることができる。また、オブジェクト発生座標に続く連続的な入力によって第1領域外の座標を入力する前に入力をオフにすることによって、発生したオブジェクトを簡単に消滅させることができる。
【0065】
第3の発明(請求項35の発明)は、入力手段の入力に応じて発生および移動されるオブジェクトを表示手段に表示する情報処理装置である。この情報処理装置は、検出手段、第1判定手段、発生座標決定手段、オブジェクト発生手段、およびオブジェクト制御手段を備える。検出手段は、入力手段によって入力された座標を検出する。第1判定手段は、検出手段による検出結果に基づいて第1条件が満たされたか否かを判定する。発生座標決定手段は、第1判定手段によって第1条件が満たされたと判定されたときの検出手段による検出座標をオブジェクト発生座標に決定する。オブジェクト発生手段は、発生座標決定手段によって決定されたオブジェクト発生座標にオブジェクトを発生させる。オブジェクト制御手段は、オブジェクト発生座標に続く検出手段による連続的な検出結果に基づいてオブジェクトの移動を制御する。
【0066】
請求項35の発明は、上述の第1の発明のオブジェクト制御プログラムに対応する情報処理装置であり、第1の発明と同様にして、簡単に任意の位置にオブジェクトを発生させてオブジェクトを移動させることができる。
【0067】
第4の発明(請求項36の発明)は、入力手段の入力に応じて発生および移動されるオブジェクトを表示手段に表示する情報処理装置である。この情報処理装置は、検出手段、第1判定手段、発生座標決定手段、オブジェクト発生手段、領域外判定手段、オブジェクト制御手段、およびオブジェクト消滅手段を備える。検出手段は、入力手段によって入力された座標を検出する。第1判定手段は、検出手段による検出結果に基づいて第1条件が満たされたか否かを判定する。発生座標決定手段は、第1判定手段によって第1条件が満たされたと判定されたときの検出手段による検出座標をオブジェクト発生座標に決定する。オブジェクト発生手段は、発生座標決定手段によって決定されたオブジェクト発生座標にオブジェクトを発生させる。領域外判定手段は、オブジェクト発生座標に続いて検出手段によって連続的な検出がされている間において検出手段によって検出される座標が、オブジェクト発生座標を基準とする第1領域より外になったか否かを判定する。オブジェクト制御手段は、領域外判定手段によって連続的な検出における座標が第1領域から外になったことが判定された後に、検出手段による検出がなくなったときに、オブジェクト発生手段によって発生されたオブジェクトの移動を開始させる。オブジェクト消滅手段は、領域外判定手段によって連続的な検出における座標が第1領域から外になったことが判定される前に、検出手段による検出がなくなったときに、オブジェクト発生手段によって発生されたオブジェクトを消滅させる。
【0068】
請求項36の発明は、上述の第2の発明のオブジェクト制御プログラムに対応する情報処理装置であり、第2の発明と同様にして、簡単に任意の位置にオブジェクトを発生させるとともに、オブジェクトの移動および消滅を簡単に制御することができる。
【発明の効果】
【0069】
この発明によれば、第1条件を満たす入力に応じてそのときの検出座標にオブジェクトが発生され、さらに、オブジェクト発生座標に連続する入力に基づいて当該オブジェクトの移動や消滅が制御される。たとえば、発生位置を起点として、オブジェクトを特定方向または入力方向に基づく方向などに移動させることができる。このように、一連の入力によって簡単にオブジェクトを任意の位置に発生させて移動させることができる。したがって、たとえばゲームの場合には、プレイヤの入力によってオブジェクトの発生位置(移動の起点)や移動方向を自由に制御できるので、ゲームの戦略性を高めることができる。また、たとえば決定されたオブジェクト発生座標ごとに異なるオブジェクトを発生させて入力方向と同じ方向又は反対方向に移動させるような場合には、簡単かつ直感的な操作で多数のオブジェクトを連続して発生させて移動させることができるので、爽快感を生じさせ、初心者にとっても楽しめるゲームを提供できる。
【0070】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0071】
図1を参照して、この発明の実施例である情報処理装置10は、一例としてゲーム装置の形態で実現される。このゲーム装置10は、第1の液晶表示器(LCD)12および第2のLCD14を含む。このLCD12およびLCD14は、所定の配置位置となるようにハウジング16に収納される。この実施例では、ハウジング16は、上側ハウジング16aと下側ハウジング16bとによって構成され、LCD12は上側ハウジング16aに収納され、LCD14は下側ハウジング16bに収納される。したがって、LCD12とLCD14とは縦(上下)に並ぶように近接して配置される。
【0072】
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。
【0073】
図1からも分かるように、上側ハウジング16aは、LCD12の平面形状よりも少し大きな平面形状を有し、一方主面からLCD12の表示面を露出するように開口部が形成される。一方、下側ハウジング16bは、その平面形状が上側ハウジング16aよりも横長に選ばれ、横方向の略中央部にLCD14の表示面を露出するように開口部が形成される。また、下側ハウジング16bには、音抜き孔18が形成されるとともに、操作スイッチ20(20a,20b,20c,20d,20e,20Lおよび20R)が設けられる。
【0074】
また、上側ハウジング16aと下側ハウジング16bとは、上側ハウジング16aの下辺(下端)と下側ハウジング16bの上辺(上端)の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、LCD12の表示面とLCD14の表示面とが対面するように、上側ハウジング16aを回動させて折りたたんでおけば、LCD12の表示面およびLCD14の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング16aと下側ハウジング16bとは、回動可能に連結せずに、それらを一体的(固定的)に設けたハウジング16を形成するようにしてもよい。
【0075】
操作スイッチないし操作キー20は、方向指示スイッチ(十字スイッチ)20a,スタートスイッチ20b、セレクトスイッチ20c、動作スイッチ(Aボタン)20d、動作スイッチ(Bボタン)20e、動作スイッチ(Lボタン)20Lおよび動作スイッチ(Rボタン)20Rを含む。スイッチ20a,20bおよび20cは、下側ハウジング16bの一方主面において、LCD14の左側に配置される。また、スイッチ20dおよび20eは、下側ハウジング16bの一方主面において、LCD14の右側に配置される。さらに、スイッチ20Lおよびスイッチ20Rは、それぞれ、下側ハウジング16bの上端(天面)の一部であり上側ハウジング16aとの連結部以外の部分において、当該連結部を挟むようにして左右に配置される。
【0076】
方向指示スイッチ(方向キー)20aは、ディジタルジョイスティックとして機能し、操作対象の移動方向を指示するために用いられる。つまり、4つの押圧部の1つを操作することによって、プレイヤ(ユーザ)によって操作可能なプレイヤキャラクタ(またはプレイヤオブジェクト)やカーソル等を当該操作した部分に対応する方向に移動させることができる。
【0077】
スタートスイッチ20bは、プッシュボタンで構成され、ゲームの開始(再開)、や一時停止等のために用いられる。セレクトスイッチ20cは、プッシュボタンで構成され、ゲームモードの選択等のために用いられる。
【0078】
動作スイッチ(動作キー)20dすなわちAボタンは、プッシュボタンで構成され、移動方向以外の動作の指示のために用いられる。たとえばプレイヤキャラクタに、打つ(パンチ)、投げる、つかむ(取得)、乗る、ジャンプする、切る等の任意の動作(アクション)をさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲーム(RPG)やシミュレーションRPGにおいては、アイテムの取得、武器やコマンドの選択および決定等を指示することができる。また、メニュー選択の際には、カーソルの表示された、すなわち、選択状態にあるメニュー項目を決定して当該項目に対応する動作ないし処理を実行させることが可能である。
【0079】
動作スイッチ20eすなわちBボタンは、プッシュボタンで構成され、たとえばセレクトスイッチ20cで選択したゲームモードの変更やAボタン20dで決定したアクションの取り消し等のために用いられる。また、Bボタン20eも、Aボタン20dと同様に、プレイヤキャラクタの動作を指示するための動作キーとして使用され得る。
【0080】
動作スイッチ20L(Lボタン)および動作スイッチ20R(Rボタン)は、プッシュボタンで構成され、Lボタン20LおよびRボタン20Rは、上述の各動作スイッチ20d、20eと同じまたは別の操作に用いることができ、また、上述の各動作スイッチ20d、20eの補助的な操作に用いることができる。なお、上述のプッシュボタンは、キートップを押し下げることにより作動するスイッチとして構成されてよい。したがって、各スイッチを押し下げるという簡単な操作によって、動作指示等を行うことができる。
【0081】
また、LCD14の上面には、タッチパネル22が装着される。タッチパネル22としては、たとえば、抵抗膜方式、光学式(赤外線方式)および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル22は、その上面をスティック24ないしはペン(スタイラスペン)或いは指(以下、これらを「スティック24等」という場合がある。)で、押圧したり、撫でたり、触れたり、叩いたりすることによって操作すると、スティック24等によって指示された(つまり、タッチ入力された)位置の座標を検出して、検出した座標(検出座標)に対応する座標データを出力する。
【0082】
なお、この実施例では、LCD14(LCD12も同じ、または略同じ。)の表示面の解像度は256dot×192dotであり、タッチパネル22の検出精度(操作面)も表示画面に対応して256dot×192dotとしてある。ただし、図1では、タッチパネル22を分かり易く示すために、タッチパネル22をLCD14と異なる大きさで示してあるが、LCD14の表示画面の大きさとタッチパネル22の操作面の大きさとは同じ大きさである。なお、タッチパネル22の検出精度は、表示画面の解像度よりも低くてもよく、高くてもよい。
【0083】
LCD12およびLCD14には異なるゲーム画面などの表示画面が表示され得る。たとえば、レースゲームでは一方のLCDに運転席からの視点による画面を表示し、他方のLCDにレース(コース)全体の画面を表示することができる。また、RPGでは、一方のLCDにマップやプレイヤキャラクタ等のキャラクタを表示し、他方のLCDにプレイヤキャラクタが所有するアイテムを表示することができる。さらに、一方のLCD(この実施例では、LCD12)にゲームのプレイ画面を表示し、他方のLCD(この実施例では、LCD14)に当該ゲームを操作するための文字情報やアイコン等の画像を含むゲーム画面(操作画面)を表示することができる。さらには、2つの表示領域(LCD12およびLCD14)を合わせて1つの画面として用いることにより、プレイヤキャラクタが倒さなければならない巨大な怪物(敵キャラクタ)を表示することもできる。また、LCD12およびLCD14に異なる仮想ゲーム世界のゲーム画面をそれぞれ表示することもできる。
【0084】
したがって、プレイヤはスティック24等でタッチパネル22を操作することにより、LCD14の画面に表示されるプレイヤキャラクタ、敵キャラクタ、アイテムキャラクタ、文字情報、アイコン等のキャラクタ画像を指示したり、コマンドを選択したりすることができる。
【0085】
なお、ゲームの種類によっては、その他の入力指示、たとえばLCD14に表示されたアイコンの選択または操作、座標入力指示等に用いることもできる。
【0086】
このように、ゲーム装置10は、2画面分の表示部となるLCD12およびLCD14を有し、いずれか一方(この実施例では、LCD14)の上面にタッチパネル22が設けられるので、2画面ないし2表示領域(12,14)と2系統の操作部(20,22)とを有する構成になっている。
【0087】
また、この実施例では、スティック24は、たとえば上側ハウジング16aの側面(右側面)近傍に設けられる収納部(穴ないし凹部)26に収納することができ、必要に応じて取り出される。ただし、スティック24を設けない場合には、収納部26を設ける必要もない。
【0088】
さらに、ゲーム装置10はメモリカード(またはゲームカートリッジ)28を含む。このメモリカード28は着脱自在であり、下側ハウジング16bの裏面ないしは底面(下端)に設けられる挿入口30から挿入される。図1では省略するが、挿入口30の奥部には、メモリカード28の挿入方向先端部に設けられるコネクタ(図示せず)と接合するためのコネクタ46(図2参照)が設けられており、したがって、メモリカード28が挿入口30に挿入されると、コネクタ同士が接合され、ゲーム装置10のCPUコア42(図2参照)がメモリカード28にアクセス可能となる。
【0089】
なお、図1では表現できないが、下側ハウジング16bの音抜き孔18と対応する位置であり、この下側ハウジング16bの内部には、スピーカ32(図2参照)が設けられる。
【0090】
また、図1では省略するが、たとえば、下側ハウジング16bの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング16bの底面側には、電源スイッチ、音量スイッチ、外部拡張コネクタおよびイヤフォンジャックなども設けられる。
【0091】
図2はゲーム装置10の電気的な構成を示すブロック図である。図2を参照して、ゲーム装置10は電子回路基板40を含み、この電子回路基板40にはCPUコア42等の回路コンポーネントが実装される。CPUコア42は、バス44を介してコネクタ46に接続されるとともに、RAM48、第1のグラフィック処理ユニット(GPU)50、第2のGPU52、入出力インターフェイス回路(以下、「I/F回路」という。)54、LCDコントローラ60およびワイヤレス通信部64に接続される。
【0092】
コネコタ46には、上述したように、メモリカード28が着脱自在に接続される。メモリカード28は、ROM28aおよびRAM28bを含み、図示は省略するが、ROM28aおよびRAM28bは、互いにバスで接続され、さらに、コネクタ46と接合されるコネクタ(図示せず)に接続される。したがって、上述したように、CPUコア42は、ROM28aおよびRAM28bにアクセスすることができるのである。
【0093】
ROM28aは、ゲーム装置10で実行すべきゲーム(仮想ゲーム)のためのゲームプログラム、画像(キャラクタ画像、オブジェクト画像、背景画像、アイテム画像、アイコン(ボタン)画像、メッセージ画像、カーソル画像など)データおよびゲームに必要な音(音楽)のデータ(音データ)等を予め記憶する。このゲームプログラムはこの発明にかかるオブジェクト制御プログラムを含む。RAM(バックアップRAM)28bは、そのゲームの途中データや結果データを記憶(セーブ)する。
【0094】
また、ゲーム以外のアプリケーションが実行される場合、メモリカード28のROM28aには、当該アプリケーションについてのプログラムおよび当該アプリケーションの実行に必要な画像データ等が記憶される。また、必要に応じて音(音楽)データも記憶されてよい。
【0095】
RAM48は、バッファメモリないしはワーキングメモリとして使用される。つまり、CPUコア42は、メモリカード28のROM28aに記憶されたプログラム、画像データおよび音データ等をRAM48にロードし、ロードしたプログラムに従って処理を実行する。また、CPUコア42は、ゲーム等の進行に応じて発生または取得されるデータ(ゲームデータやフラグデータ等)をRAM48に記憶しつつ処理を実行する。
【0096】
なお、プログラム、画像データおよび音データ等は、ROM28aから一度に全部または必要に応じて部分的にかつ順次的に読み出され、RAM48に記憶される。ただし、この実施例のように、固定的にプログラムおよびデータを記憶している記憶媒体をCPUコア42に直接接続可能なゲーム装置10の場合には、CPUコア42が記憶媒体に直接アクセスできるので、RAM48にプログラムやデータを転送して保持しなくてよい。
【0097】
GPU50およびGPU52は、それぞれ、描画手段の一部を形成し、たとえばシングルチップASICで構成され、CPUコア42からのグラフィックスコマンド(graphics command :作画命令)を受け、そのグラフィックスコマンドに従ってゲーム画像データを生成する。ただし、CPUコア42は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラム(ゲームプログラムに含まれる。)をGPU50およびGPU52のそれぞれに与える。
【0098】
また、GPU50には、第1のビデオRAM(以下、「VRAM」という。)56が接続され、GPU52には、第2のVRAM58が接続される。GPU50およびGPU52が作画コマンドを実行するにあたって必要なデータ(画像データ:キャラクタデータやテクスチャ等のデータ)は、GPU50およびGPU52が、それぞれ、第1のVRAM56および第2のVRAM58にアクセスして取得する。ただし、CPUコア42は、描画に必要な画像データをRAM48から読み出し、GPU50およびGPU52を介して第1のVRAM56および第2のVRAM58に書き込む。GPU50はVRAM56にアクセスして表示のためのゲーム画像データを作成し、その画像データをVRAM56の描画バッファに記憶する。GPU52はVRAM58にアクセスして描画のためのゲーム画像データを作成し、その画像データをVRAM58の描画バッファに記憶する。描画バッファとしてはフレームバッファまたはラインバッファ等が採用されてよい。
【0099】
VRAM56およびVRAM58は、LCDコントローラ60に接続される。LCDコントローラ60はレジスタ62を含み、レジスタ62はたとえば1ビットで構成され、CPUコア42の指示によって「0」または「1」の値(データ値)を記憶する。LCDコントローラ60は、レジスタ62のデータ値が「0」である場合には、GPU50によって作成されたゲーム画像データをLCD12に出力し、GPU52によって作成されたゲーム画像データをLCD14に出力する。一方、レジスタ62のデータ値が「1」である場合には、LCDコントローラ60は、GPU50によって作成されたゲーム画像データをLCD14に出力し、GPU52によって作成されたゲーム画像データをLCD12に出力する。
【0100】
なお、LCDコントローラ60は、VRAM56およびVRAM58から直接画像データを読み出すことができるし、あるいはGPU50およびGPU52を介してVRAM56およびVRAM58から画像データを読み出すこともできる。
【0101】
また、VRAM56およびVRAM58はRAM48に設けられてもよいし、あるいはその描画バッファおよびZバッファがRAM48に設けられてもよい。
【0102】
I/F回路54には、操作スイッチ20,タッチパネル22およびスピーカ32が接続される。ここで、操作スイッチ20は、上述したスイッチ20a,20b,20c,20d,20e,20Lおよび20Rであり、操作スイッチ20が操作されると、対応する操作信号(操作データ)がI/F回路54を介してCPUコア42に入力される。また、タッチパネル22から出力される操作データ(座標データ)がI/F回路54を介してCPUコア42に入力される。さらに、CPUコア42は、ゲーム音楽(BGM)、効果音またはゲームキャラクタの音声(擬制音)などのゲームに必要な音データをRAM48から読み出し、I/F回路54を介してスピーカ32からその音を出力する。
【0103】
ワイヤレス通信部64は他のゲーム装置10との間で無線によってデータを送受信するための通信手段である。すなわち、ワイヤレス通信部64は、相手方への通信データを無線信号に変調してアンテナから送信し、また、相手方のゲーム装置10からの無線信号を同じアンテナで受信して通信データに復調する。
【0104】
このゲーム装置10では、たとえばシューティングゲームが実行され得る。図3に示すように、ゲームの初期画面では、上画面に複数の敵キャラクタ70が所定の形状(たとえば縦横)に配列された状態で表示される。一方、下画面には上画面の敵キャラクタ70の存在するゲーム空間と同じゲーム空間が表示される。プレイヤは下画面に重ねられたタッチパネル22を操作することによって、弾オブジェクト72をゲーム空間に発生させて敵キャラクタ70へ向けて移動させ、射撃対象としての敵キャラクタ70を撃ち落とす。
【0105】
この実施例では、タッチパネル22での入力が第1の条件を満足するときに、弾オブジェクト72の発生座標が決定されて、当該オブジェクト発生座標に弾オブジェクト72が発生および表示される。具体的には、図4に示すように、タッチパネル22でタッチ入力があったときに、つまり、タッチオフの状態(タッチ入力のない状態)からタッチオンの状態(タッチ入力のある状態)になったときに、最初のタッチ入力座標がオブジェクト発生座標に設定されて、当該入力座標に対応する下画面の位置に弾オブジェクト72が発生されて表示される。このように、下画面のタッチパネル22上の任意の位置をスティック24等でタッチするだけで、当該位置に弾オブジェクト72を簡単に発生させることができる。
【0106】
続いて、図5に示すように、最初のタッチ入力位置からタッチオン状態のままで下方向にスティック24等がスライドされると、弾オブジェクト72に尾ひれ74が表示されて、弾の発射準備が完了したことが表現される。尾ひれ74の画像は、タッチ入力位置が尾ひれ74の先端の位置となるように変化される。
【0107】
その後、図6に示すように、スティック24等がタッチパネル22から離されたとき、つまり、タッチオフの状態にされたとき、弾オブジェクト72は、オブジェクト発生位置から特定方向(この実施例では画面の上方向)に向かって移動される。なお、尾ひれ74は、弾オブジェクト72の移動に従って上方向へ延びるように変化される。そして、図7に示すように、弾オブジェクト72が敵キャラクタ70に衝突すると、敵キャラクタ70にダメージが与えられる。敵キャラクタ70の耐久力が弾オブジェクト72の攻撃力よりも小さい場合には、敵キャラクタ70を消滅させることができる。このように、タッチオンからタッチオフまでの一連のタッチ操作という簡単な操作によって、自由な位置に弾オブジェクト72を発生させかつ特定方向に移動させることができる。
【0108】
ただし、弾オブジェクト72の移動を起こさせるための条件(第2の条件)が設けられている。具体的には、この移動条件は、連続したタッチ入力によって入力された方向が所定の条件を満足する方向であるということを含む。入力方向は、たとえばオブジェクト発生座標に続いて連続的な検出がされている間に検出された座標の移動方向であり、オブジェクト発生座標とオブジェクト発生座標に連続して検出される座標のうちの少なくとも1つの座標とに基づいて決定される。この移動条件が満足されたときに弾オブジェクト72は特定方向に移動される。
【0109】
所定条件を満足する方向は特定の第1の方向であり、この場合の移動方向は特定方向、たとえば第1の方向と反対の方向である。この実施例では、第1の方向はタッチパネル22の重ねられたLCD14の表示画面における下方向(真下方向)に設定される。この場合の移動方向は表示画面における上方向(真上方向)とされる。発生させた弾オブジェクト72を引くような操作によって、その反対方向に弾オブジェクト72を放つことができるので、弾オブジェクト72の操作を直感的に行うことができ、プレイヤないしユーザにオブジェクト72を放つ際のリアルな感覚を与えることができる。
【0110】
または、所定条件を満足する方向は第1の方向の正成分を持つ方向であってもよい。この実施例では、表示画面における下方向の正成分を持つ方向であればよく、つまり、真下方向に限られず下側へのいずれかの方向であればよい。この場合の移動方向もたとえば表示画面における真上方向とされる。第1の方向の正成分側という広い範囲への入力によって、簡単に第1の方向の反対方向にオブジェクトを移動させることができる。
【0111】
あるいは、所定の条件を満足する方向は第1の方向を基準としてその両側に90度未満の広がりの範囲内の方向であってもよい。この実施例では、表示画面における真下方向を基準として左右に90度未満の範囲内の方向であればよく、たとえば、真下方向を基準として左右両側にそれぞれ45度未満の範囲内に含まれるいずれかの方向であればよい。この場合の移動方向も表示画面における真上方向とされる。オブジェクト発生座標から第1の方向を基準に左右に90度未満の範囲内という比較的広い範囲への入力によって、簡単に第1の方向の反対方向にオブジェクトを移動させることができる。
【0112】
この実施例では、下方向と認められるような方向へ引くような操作があれば真下方向からずれていても弾オブジェクト72を真上方向に移動させるようにしている。また、図3に示すように、この実施例では複数の敵キャラクタ70が縦方向に配列されているので、弾オブジェクト72の移動方向を真上方向に設定することで、敵キャラクタ70を倒し易くすることができる。このように、発生させるオブジェクト72の移動の目的地の位置や方向等、あるいはその移動の影響を受ける他のオブジェクト70の存在場所(位置)、配列、形状等に一致または適応するような特定の方向に、オブジェクト72の移動方向を設定することによって、オブジェクト72の移動の目的の達成、ゲームやアプリケーションの進行を容易にすることができる。
【0113】
また、上述のように、この実施例では、入力方向が、表示画面の下方向と認められるような所定条件を満たす方向であるか否かが判定される。簡単に言い換えれば、入力方向が所定の方向であったか否か、つまり、下方向への入力が行われたか否かが判定される。
【0114】
詳しくは、この実施例では、まず、図8に示すように、検出される入力座標がオブジェクト発生座標(この実施例では最初のタッチ入力座標)から一定距離d1の領域を超えて移動したか否かが判定される。距離d1はたとえば20dotに設定される。この一定距離d1を超える入力があったことを以って、プレイヤないしユーザによって方向の入力が行われていると解釈している。
【0115】
次に、入力座標とオブジェクト発生座標との距離が閾値d1を超えたと判定されるときには、図9に示すように、入力座標が第1有効範囲内であるか否かが判定される。ここで、タッチパネル22の重ねられたLCD14の表示画面における左右方向をX軸方向(画面右方向をX軸正方向)と規定し、上下方向をY軸方向(画面下方向をY軸正方向)と規定する。第1有効範囲は、オブジェクト発生座標からX軸方向の正負両方向にそれぞれ一定距離d1、かつ、オブジェクト発生座標からY軸方向の正負両方向にそれぞれ一定距離d1の範囲を含む。さらに、第1有効範囲は、オブジェクト発生座標から下方向(Y軸正方向)を基準として左右にそれぞれ角度θの範囲を含む。角度θはたとえば45度に設定される。この実施例では、オブジェクト発生座標から一定距離d1を超えたときからタッチオフが検出されるまでに連続的に検出された入力座標が第1有効範囲内であることを以って、所定方向(この実施例では下方向)への入力が行われていると解釈している。なお、第1有効範囲においてオブジェクト発生座標から上方向に一定距離d1までの範囲は、この実施例で要求される下方向への入力とは実質的に逆側の入力に相当する。しかし、この入力方向とは逆方向の範囲を設けることによって、第1有効範囲はオブジェクト発生座標の全方向に存在する領域を含む。このような所定方向以外の領域を含むやや大きめの第1有効範囲を用いて判定することによって、ユーザの手ぶれを吸収することができる。
【0116】
最後に、図10に示すように、タッチオフがあったときには、その直前の入力座標が第2有効範囲内であるか否かが判定される。つまり、オブジェクト発生座標に連続して検出される入力座標のうちの最後の座標が第2有効範囲内であるか否かが判定される。第2有効範囲は、オブジェクト発生座標からX軸方向の正負両方向にそれぞれ一定距離d1まで、かつ、Y軸方向の正方向にオブジェクト発生座標から一定距離d2だけ下がった座標から一定距離d1だけ下がった座標までの範囲を含む。さらに、第2有効範囲は、オブジェクト発生座標から下方向(Y軸正方向)を基準として左右にそれぞれ角度θの範囲を含む。ただし、オブジェクト発生座標からY軸正方向に一定距離d2までの範囲を除く。タッチオフ時の検出座標が最初のタッチ入力位置(オブジェクト発生座標)から少なくとも一定距離d2だけは下方向に移動していることが、入力方向が下方向であると認められるための必要条件とされる。一定距離d2はたとえば3dotに設定される。なお、第2有効範囲は、所定方向への入力であることを確実にするため、上述の第1有効範囲と異なり、所定方向のみに存在する領域である。この実施例では、タッチオフ直前の入力座標が第2有効範囲内であることを以って、所定方向(この実施例では下方向)への入力が実施されたと解釈している。
【0117】
なお、この実施例では、弾オブジェクト72の移動方向(上方向)と反対方向である下方向への入力が行われたか否かを判定するために、上述のようなオブジェクト発生座標から下方向へ広がる第1有効範囲および第2有効範囲を設定した。しかし、他の実施例で別の方向への入力が要求される場合には、当該別の方向へ広がる第1有効範囲および第2有効範囲が設定される。たとえば、第1有効範囲はオブジェクト発生座標から所定方向を基準としてそれぞれ角度θの範囲を含むように設けられる。また、第2有効範囲は、オブジェクト発生座標から所定方向に一定距離d2までの範囲を除き、オブジェクト発生座標から所定方向を基準としてそれぞれ角度θの範囲を含むように設けられる。
【0118】
このように、図9の第1有効範囲と図10の第2有効範囲の2段階で評価するようにしたので、所定方向への入力が行われたか否かを正確に判定することができる。図9の第1有効範囲は、オブジェクト発生座標を決定してからタッチオフがあるまでに連続的に検出される座標を判定するための領域であり、この第1有効範囲外への入力が検出されたときには、オブジェクトの発生がキャンセルされてオブジェクトは消滅される。言い換えれば、第1有効範囲は、発生したオブジェクトが消滅する範囲を規定するものと言える。また、図10の第2有効範囲は、タッチオフがあったときに検出された座標(つまり、タッチオフの直前の入力座標)を判定するための領域であり、タッチオフ直前の入力座標がこの第2有効範囲内であれば、発生したオブジェクトは発射される。つまり、第2有効範囲は、オブジェクトを発射させるための範囲を規定するものと言える。
【0119】
なお、上述のように、この実施例では、オブジェクト発生座標を決定した後連続的な検出がされている間に検出される座標が第1有効範囲内でなくなった時点で、直ちに所定の方向への入力でなくなったと判定するようにしている。しかし、他の実施例では、連続的な検出の途中で、検出座標が所定の方向を中心とした所定の範囲の方向(第1有効範囲)に存在しなくなったときでも、たとえばタッチオフのタイミングにおいて検出される座標が当該所定の範囲の方向(第2有効範囲)に存在していれば、所定の方向への入力が行われたと判定してもよい。
【0120】
また、この実施例では、弾オブジェクト72を下ないし後に引くような操作によって当該弾オブジェクト72を上ないし前に放つようにしているので、弾オブジェクト72の移動方向と反対方向への入力を要求している。しかし、他の実施例では、たとえば弾オブジェクト72の移動方向と同じ方向への入力を要求するようにしてもよい。この場合には、オブジェクト発生座標からオブジェクト移動方向と同じ方向を中心としてそれぞれ所定角度の範囲の方向を含む第1有効範囲および第2有効範囲が設定される。弾オブジェクト72を上ないし前へ押すような操作によって当該弾オブジェクト72が上ないし前に放たれることとなる。
【0121】
図11には、RAM48のメモリマップの一例が示される。RAM48はプログラム記憶領域80およびデータ記憶領域82を含む。なお、図11にはメモリマップの一部のみが示されており、ゲームやアプリケーションの進行に必要な各種プログラムおよびデータが記憶される。
【0122】
タッチ入力検出プログラム記憶領域84には、タッチパネル22からの操作データ(タッチ入力データ)を検出するためのプログラムが記憶される。タッチ入力データはたとえば一定時間間隔で(たとえば1表示フレームごとに)検出される。
【0123】
敵キャラクタ表示制御プログラム記憶領域86には、敵キャラクタ70の表示を制御するためのプログラムが記憶されている。また、このプログラムによって、敵キャラクタ70の移動、状態や配置等が制御される。敵キャラクタ70のゲーム空間における位置座標、表示画面における表示位置座標、特性等を含む制御データもこのプログラムによって制御される。敵キャラクタ70は、たとえば図3に示すように最初上画面に表示され、その後横方向への移動および下方向への移動を繰り返し、耐久力が0になればその場で消滅し、耐久力が0にならずに下画面の最下部に到達した場合にはそのまま画面外へ移動して消滅する。
【0124】
弾オブジェクト表示制御プログラム記憶領域88には、弾オブジェクト72の表示を制御するためのプログラムが記憶されている。また、このプログラムによって、弾オブジェクト72の発生、移動、状態等が制御される。たとえば、弾オブジェクト72の発生座標、ゲーム空間における位置座標、表示画面における表示位置座標、種類、移動パラメータ等を含む制御データもこのプログラムによって制御される。弾オブジェクト72は、上述のように第1条件が満足されたときに発生され、続いて連続的に検出される座標に基づく入力方向が所定条件を満足したときには、その後の弾オブジェクト72の位置は特定方向(上方向)に移動されるように制御される。ここで、連続的に検出される座標とは、オブジェクト発生座標が検出された後、検出がない状態とならずに、検出がある状態が継続している状態で検出された座標である。なお、検出がなくなった後一定期間が経過するまでに再び検出が有る状態となったときには、連続的な検出とみなしてもよい。弾オブジェクト72は、敵オブジェクト70と衝突して攻撃力が0になればその場で消滅し、攻撃力が0にならずに上画面の最上部に到達した場合にはそのまま画面外へ移動して消滅する。また、弾オブジェクト72が消滅する前に、さらに第1条件が満足されたときには、先に生成された弾オブジェクト72とは異なる弾オブジェクト72がそのときのオブジェクト発生座標に発生され、続いて連続的に検出される座標に基づく入力方向が所定条件を満足したときには、後発の弾オブジェクト72は特定方向に移動される。
【0125】
一定距離判定プログラム記憶領域90には、入力座標が弾オブジェクト72の発生座標(タッチ開始時の入力座標)から一定距離の領域(図8参照)を超えたか否かを判定するためのプログラムが記憶されている。第1有効範囲判定プログラム記憶領域92には、一定距離判定プログラムによって入力座標が一定距離範囲を超えたと判断されるときに、入力座標がオブジェクト発生座標に基づいて設定される第1有効範囲内(図9参照)であるか否かを判定するためのプログラムが記憶されている。第2有効範囲判定プログラム記憶領域94には、タッチオフ直前の入力座標がオブジェクト発生座標に基づいて設定される第2有効範囲内(図10参照)であるか否かを判定するためのプログラムが記憶されている。
【0126】
弾パワーアップ処理プログラム記憶領域96には、弾オブジェクト72の種類を変更するためのプログラムが記憶されている。この実施例では、上述の一定距離領域内へのタッチ入力の継続時間が一定時間を超えた場合には、弾オブジェクト72の種類がたとえば通常状態からパワーアップ状態に変更される。さらに、弾オブジェクト72の種類の変更に応じて、攻撃力や移動速度などの特性も変更され、たとえば攻撃力が大きくされ、移動速度が速くされる。あるいは、入力継続時間が長いほど攻撃力や移動速度の値が大きくなるようにしてもよい。したがって、タッチ入力の継続時間が一定時間を超えた場合等には、敵キャラクタ70と衝突したとき、当該敵キャラクタ70の耐久力から減算される値が大きくなる。なお、この実施例では、タッチ入力の継続時間が一定時間を超えた場合には弾オブジェクト72がパワーアップされてその攻撃力や移動速度等が増大されるが、他の実施例ではタッチ入力の継続時間が一定時間を超えた場合には、逆に弾オブジェクト72をパワーダウンしてその攻撃力や移動速度等を減少させるようにしてもよい。また、移動速度は弾オブジェクト72の移動を制御するためのパラメータの要素の1つであり、この弾パワーアップ処理プログラムや上述の弾オブジェクト表示制御プログラム等によって弾オブジェクト72の移動のためのパラメータの値が制御される。当該パラメータは、移動速度の他に、たとえば移動方向、移動距離等を含んでよい。この移動パラメータに基づいて弾オブジェクト72の移動が制御され得る。
【0127】
衝突判定プログラム記憶領域98には、弾オブジェクト72と敵キャラクタ70とが衝突したか否かを判定するためのプログラムが記憶されている。衝突の判定は、弾オブジェクト72の位置データと敵キャラクタ70の位置データとに基づいて行われる。
【0128】
敵キャラクタ画像データ記憶領域100には、敵キャラクタ70を表示するための画像データが記憶されている。弾オブジェクト画像データ記憶領域102には、弾オブジェクト72を表示するための画像データが記憶されている。弾オブジェクト72の種類(通常、パワーアップなど)ごとの画像データが記憶されている。尾ひれ画像データ記憶領域104には、弾オブジェクト72の画像に付加される尾ひれ74を表示するための画像データが記憶されている。
【0129】
タッチ入力履歴記憶領域106には、タッチ入力検出プログラムによって検出されるタッチ入力データの履歴が記憶される。たとえば、今回および前回のフレームにおけるタッチ入力の有無を示すデータおよび検出された座標データが記憶される。
【0130】
最初のタッチ入力座標記憶領域108には、タッチ入力が開始されたときに検出された座標データが記憶される。最後のタッチ入力座標記憶領域110には、連続するタッチ入力の最後に検出された座標データが記憶される。タッチオン時刻記憶領域112には、タッチ入力が開始されたときの時刻データが記憶される。
【0131】
敵制御データ記憶領域114には、各敵キャラクタ70の制御データが記憶される。この制御データは、耐久力(体力)や種類等を示す特性データ、位置座標データ等を含む。敵キャラクタ70の耐久力は、その種類に応じて異なるものであってもよいし、種類ではなく個別に異なるものであってもよい。
【0132】
弾制御データ記憶領域116には、弾オブジェクト72の制御データが記憶される。複数の弾オブジェクト72が発生されている場合には、各弾オブジェクト72に対応付けて各制御データが記憶される。この制御データは、種類、攻撃力、移動速度等を示す特性データ、位置座標データ、発生座標データ等を含む。この実施例では、たとえば図12に示すように、弾オブジェクト72の種類に対応付けて、攻撃力および移動速度等の特性値を示す弾特性テーブルデータが予めROM28aに記憶されている。弾オブジェクト72の種類が通常状態に設定される場合には、通常の攻撃力および通常の移動速度が設定され、パワーアップ状態に設定される場合には、大きい攻撃力および速い移動速度が設定される。
【0133】
図13および図14に、この実施例のゲーム装置10の動作の一例が示される。図13の最初のステップS1で、CPUコア42は、敵キャラクタ70を表示する。具体的には、CPUコア42は、GPU50または52を用いて、敵キャラクタ画像データおよび敵制御データ等に基づいて敵キャラクタ70を含むゲーム画面のデータをVRAM56または58に生成し、LCDコントローラ60を用いて当該敵キャラクタ70を含むゲーム画面をLCD12に表示する。なお、このステップS1では、各敵キャラクタ70の耐久力データおよび位置座標データ等を含む敵制御データの初期値がROM28aから読み出されて敵制御データ記憶領域114に記憶(設定)される。
【0134】
次に、ステップS3でCPUコア42はタッチ入力があるか否かを判断する。たとえば、CPUコア42はI/F回路54のバッファからタッチパネル22の操作データを取得してタッチオン状態を示すデータの有無を検出する。詳しくは、ここでは、タッチオフ状態(タッチパネル22への入力が無い状態)からタッチオン状態(タッチパネル22への入力がある状態)になったか否かを判定している。つまり、この実施例における弾オブジェクト72を発生させるための第1条件の判定である。ステップS3で“NO”であれば、処理はステップS1へ戻って、敵キャラクタ70の表示を更新する。
【0135】
一方、ステップS3で“YES”であれば、つまり、第1条件が満足されたときには、CPUコア42は、ステップS5でタッチ入力座標をタッチパネル22の操作データから検出して、タッチ入力履歴記憶領域106に記憶する。なお、タッチ入力履歴記憶領域106には、座標データだけでなくタッチオンまたはタッチオフを示すデータを記憶してもよい。
【0136】
そして、ステップS7で、CPUコア42は、検出座標を最初のタッチ入力座標記憶領域108に保存する。この第1条件が満足されたときの入力座標が当該弾オブジェクト72の発生座標に決定され、弾制御データ記憶領域116の当該弾オブジェクト72のオブジェクト発生座標としても記憶される。
【0137】
さらに、ステップS9で、CPUコア42は、当該入力位置(発生座標)に弾オブジェクト72を表示する。具体的は、CPUコア42は、GPU50または52を用いて、弾オブジェクト画像データおよび弾制御データ等に基づいて、弾オブジェクト72を含むゲーム画面のデータをVRAM56または58に生成し、LCDコントローラ60等を用いて、当該弾オブジェクト72を含むゲーム画面をLCD14に表示する。弾オブジェクト72の画像としては通常状態を示す画像データが使用される。
【0138】
また、CPUコア42は、ステップS11で、当該第1条件が満足されたときの時刻情報を図示しない時計ICから取得してタッチオン時刻記憶領域112に記憶する。
【0139】
続いて、ステップS13で、CPUコア42は、弾オブジェクト72が降りてくる敵キャラクタ70と接触したか否かを、当該弾オブジェクト72の位置データと敵キャラクタ70の位置データとに基づいて判定する。なお、ステップS13で“YES”であれば当該弾オブジェクト72を消滅すべく、処理は図14のステップS45へ進む。
【0140】
ステップS13で“NO”であれば、ステップS15で、CPUコア42は、I/F回路54のバッファからタッチ入力データを取得して、タッチ入力が無くなったか否かを判断する。つまり、タッチオフ状態を示すデータの有無を検出する。なお、ステップS13で“YES”であれば、弾オブジェクト72の発射がキャンセルされたものと見なして、処理は図14のステップS45へ進む。
【0141】
ステップS15で“NO”であれば、つまり、タッチ入力が継続されている場合には、CPUコア42は、ステップS17で、ステップS5と同様にして、タッチ入力座標を検出してタッチ入力履歴記憶領域106に記憶する。
【0142】
続くステップS19で、CPUコア42は、今回のフレームで検出された入力座標と最初のタッチ入力座標記憶領域108に記憶されている最初の座標との間の距離を算出する。そして、ステップS21で、CPUコア42は、算出された距離が一定距離を超えたか否かを判断する。つまり、タッチオン時の入力座標(オブジェクト発生座標)から一定距離範囲(図8)外がタッチされているか否かを判断する。
【0143】
ステップS21で“NO”であれば、つまり、タッチ入力開始時の座標から一定距離範囲内がタッチされ続けている場合には、CPUコア42は、ステップS23で、タッチオン時刻記憶領域112に記憶されている入力開始時の時刻と時計ICから取得した現在の時刻とに基づいて、入力継続時間を計測する。そして、ステップS25で、CPUコア42は、入力継続時間が一定時間を超えたか否か、つまり、一定時間が経過したか否かを判断する。ステップS25で“NO”であれば、処理はそのままステップS13に戻る。
【0144】
ステップS25で“YES”であれば、つまり、オブジェクト発生座標から一定距離範囲内で一定時間以上タッチされ続けた場合には、CPUコア42は、ステップS27で、当該弾オブジェクト72の種類を変更する。具体的には、当該弾オブジェクト72の弾制御データに含まれる種類データを、通常を示すデータからパワーアップを示すデータに更新する。これによって、当該弾オブジェクト72の攻撃力データが通常値から大きい値に変更され、また、移動速度データが通常値から速い値に変更される。したがって、検出座標がオブジェクト発生座標から一定距離の領域内で連続している時間が長いほど、攻撃力が大きくされるので、衝突した敵キャラクタ70の耐久力から減算される値が大きくなる。さらにまた、弾オブジェクト72の画像が、通常状態の画像からパワーアップ状態の画像に変更され、当該パワーアップ状態の弾オブジェクト72がオブジェクト発生座標に表示されたゲーム画面が生成されてLCD14に表示される。ステップS27を終了すると処理はステップS13に戻る。
【0145】
一方、ステップS21で“YES”であれば、つまり、オブジェクト発生座標から一定距離の範囲外にタッチ入力位置が移動した場合には、処理は図14のステップS29へ進む。
【0146】
この実施例では、タッチオン時の入力座標とこれに連続して検出される座標に基づいて決まる入力方向が所定の方向(下方向)であるか否かをこのステップS21ならびに後述するステップS29およびステップS41で判定している。
【0147】
図14のステップS29では、CPUコア42は、一定距離範囲外になったと判定されたときの入力座標が第1有効範囲内であるか否かを判断する。第1有効範囲は、上述のように、図9に示すようなタッチ入力開始時の入力座標と定数d1,θとに基づいて算定される領域であり、この実施例では下方向への入力が行われようとしていることを検出可能なように規定されている。なお、ステップS29で“NO”であれば、下方向への入力ではないものと見なして、処理はステップS45へ進む。
【0148】
ステップS29で“YES”であれば、つまり、下方向への入力が行われようとしていることが検出された場合には、CPUコア42は、ステップS31で、GPU50または52およびLCDコントローラ60等を用いて、弾オブジェクト72に隣接して尾ひれ74の画像をLCD14に表示する。なお、尾ひれ74は先端が現在の入力座標の位置になるように表示される。
【0149】
ステップS33では、弾オブジェクト72が降りてくる敵キャラクタ70と接触したか否かを上述のステップS13と同様にして判断する。ステップS33で“YES”であれば処理はステップS45へ進む。
【0150】
ステップS33で“NO”であれば、CPUコア42は、ステップS35でタッチ入力が無くなったか否かを上述のステップS15と同様にして判定する。ステップS35で“NO”であれば、つまり、タッチ入力が継続されている場合には、CPUコア42は、ステップS37で、上述のステップS5と同様にして、タッチ入力座標を検出してタッチ入力履歴記憶領域106に記憶する。ステップS37を終了すると処理はステップS29へ戻る。このようにして、タッチ入力が無くなるまで、下方向への入力とみなせる第1有効範囲内への入力が継続されているか否かを検出する。第1有効範囲外への入力があったときには、つまり、下方向への入力が行われていないとみなせるときには、弾オブジェクト72の発射がキャンセルされることとなる。
【0151】
一方、ステップS35で“YES”であれば、つまり、タッチオフ操作が検出されたときには、CPUコア42は、ステップS39で、タッチ入力履歴記憶領域106に記憶されているタッチオフ直前に検出されたタッチ入力座標を、最後のタッチ入力座標記憶領域110に保存する。
【0152】
そして、ステップS41で、タッチオフ直前の入力座標すなわち最後のタッチ入力座標が第2有効範囲内であるか否かを判断する。第2有効範囲は、上述のように、図10に示すようなタッチ入力開始時の入力座標と定数d1,d2,θとに基づいて算定される領域であり、この実施例では、下方向への入力が完了されたことを検出可能なように規定されている。
【0153】
ステップS41で“YES”であれば、つまり、下方向への入力が行われたと判定される場合には、CPUコア42は、続くステップS43で、弾オブジェクト移動処理を開始する。CPUコア42は弾オブジェクト移動処理を他の処理(図13および図14など)と並列的に実行する。この弾オブジェクト移動処理によって弾オブジェクト72の移動や敵キャラクタ70との衝突のゲーム処理などが実行される。このように、タッチ入力の検出、弾オブジェクト72の発生および入力方向の判定等の処理と、弾オブジェクト移動処理とが並列的に実行される。また、弾オブジェクト移動処理は、発生された弾オブジェクト72ごとに実行され、複数の弾オブジェクト移動処理を並列的に実行することが可能である。したがって、先に発生した弾オブジェクト72のための弾オブジェクト移動処理によって当該先発の弾オブジェクト72が移動している最中にタッチオンが検出されたときには、別の弾オブジェクト72が発生される。さらに発射条件が満足されたときには、当該後発の弾オブジェクト72のための弾オブジェクト移動処理が実行されることとなる。弾オブジェクト処理の動作の一例が後述する図15に詳細に示される。
【0154】
ステップS41で“NO”であれば、つまり、第2有効範囲外でタッチオフ操作がなされたときには、下方向への入力が行われなかったものと見なして、処理はステップS45へ進む。ステップS45では、CPUコア42は、当該弾オブジェクト72をゲーム画面から消滅させる。つまり、たとえば、CPUコア42は、弾制御データ記憶領域116に記憶されている当該弾オブジェクト72に対応する制御データをクリアする。また、CPUコア42は、GPU50または52を用いて、当該弾オブジェクト72や尾ひれ74の無いゲーム画面を生成して、LCDコントローラ60等を用いて当該ゲーム画面をLCD14に表示する。
【0155】
ステップS43で移動処理を開始し、またはステップS45を終了すると、CPUコア42は、ステップS47でゲーム終了であるか否かを判断する。ステップS47で“NO”であれば処理は図13のステップS1に戻って当該ゲームの処理を続行する。したがって、先の弾オブジェクト72が消滅するまでに再びタッチ入力が開始されて所定の条件を満たす方向が入力された場合には、先の弾オブジェクト72とは別の弾オブジェクト72が発生されて特定方向に移動される。一方、ステップS47で“YES”であればこのゲーム処理を終了する。
【0156】
図15には、図14のステップS43で開始される弾オブジェクト移動処理の動作の一例が示される。図15の最初のステップS61で、CPUコア42は、弾オブジェクト72を特定方向に移動させる。特定方向は、この実施例では入力方向である下方向の反対方向である上方向に固定されている。たとえば、CPUコア42は、当該弾オブジェクト72の移動後の位置座標(一定時間(1フレーム)後の位置座標)を、弾制御データ記憶領域116に記憶されている位置座標と移動速度に基づいて算出する。
【0157】
続いて、ステップS63で、CPUコア42は、移動後の位置が表示画面に表示される範囲外であるか否かを判断する。ステップS63で“YES”であれば処理はステップS77に進む。
【0158】
ステップS63で“NO”であれば、CPUコア42は、ステップS65で、移動後の位置に弾オブジェクト72を表示する。たとえば、CPUコア42は、弾制御データ記憶領域116の当該弾オブジェクト72に対応する位置データを、ステップS61で算出した移動後の位置座標に更新する。そして、CPUコア42は、移動後の位置に弾オブジェクト72を表示するゲーム画面のデータを生成してLCD12または14に表示する。
【0159】
続いて、ステップS67で、CPUコア42は、弾オブジェクト72が敵キャラクタ70と衝突するか否かを、当該弾オブジェクト72の位置データと敵キャラクタ70の位置データとに基づいて判断する。たとえば、弾オブジェクト72と各敵キャラクタ70との距離が閾値以下になったか否かを判定したり、弾オブジェクト72の位置座標が敵キャラクタ70のいずれかの表示領域に含まれるか否かを判定したりする。ステップS67で“NO”であれば、処理はステップS61に戻る。
【0160】
一方、ステップS67で“YES”であれば、CPUコア42は、ステップS69で、弾オブジェクト72の攻撃力が衝突する敵キャラクタ70の耐久力以下であるか否かを、弾オブジェクト72の攻撃力データと衝突する敵キャラクタ70の耐久力データによって判断する。
【0161】
ステップS69で“NO”であれば、つまり、弾オブジェクト72の攻撃力が勝る場合には、CPUコア42は、ステップS71で衝突する敵キャラクタ70を消滅させる。たとえば、CPUコア42は、敵制御データ記憶領域114に記憶されている当該衝突する敵キャラクタ70に対応する制御データをクリアする。また、CPUコア42は、当該敵キャラクタ70が爆発して無くなるゲーム画面のデータを生成して、当該ゲーム画面をLCD12または14に表示する。
【0162】
また、ステップS73で、CPUコア42は、弾オブジェクト72の攻撃力から衝突した敵キャラクタ70の耐久力を減算して、当該弾オブジェクト72の攻撃力データを算出された値に更新する。ステップS73を終了すると処理はステップS61へ戻る。
【0163】
一方、ステップS69で“YES”であれば、つまり、衝突する敵キャラクタ70の耐久力が勝る場合には、CPUコア42は、ステップS75で、当該敵キャラクタ70の耐久力から当該弾オブジェクト72の攻撃力を減算して、当該敵キャラクタ70の耐久力データを算出された値に更新する。
【0164】
そして、ステップS77で、CPUコア42は、上述のステップS45と同様にして、当該弾オブジェクト72を、表示画面外へまたは衝突した場所で消滅させる。ステップS77を終了すると、この弾オブジェクト移動処理を終了する。
【0165】
この実施例によれば、タッチ入力が開始されたことによってその入力の開始位置に弾オブジェクト72を発生させるようにし、さらに、連続して検出される入力が所定の第1の方向(たとえば下方向)への入力であると判定されたときには、特定方向(たとえば第1の方向の反対方向)に当該弾オブジェクト72を移動させるようにした。このように、タッチオンからタッチオフまでの一連の連続的な入力という簡単な操作によって、弾オブジェクト72を任意の位置に発生させることができるとともに、その発生位置を起点として当該弾オブジェクト72を特定方向に移動させることができる。したがって、たとえばシューティングゲームなどの戦略性を高めることができる。さらに、簡単かつ直感的な操作で多数の弾オブジェクト72を連続して発生させて移動させることができるので、爽快感を得ることができ、初心者にとっても簡単に楽しめるゲームを提供することができる。
【0166】
なお、上述の実施例では、ステップS21で、オブジェクト発生座標に続いて連続的に検出される座標が、オブジェクト発生座標から所定の距離範囲外になったと判定された場合に、ステップS43で弾オブジェクト移動処理を起動するようにしている。また、ステップS29で、オブジェクト発生座標に続いて連続的に検出される座標が第1有効範囲内である、つまり、連続的に検出される座標の移動方向がたとえばオブジェクト発生座標を基準として所定方向であると判定される場合に、ステップS43で弾オブジェクト移動処理を起動するようにしている。つまり、オブジェクト発生座標に続く連続的な検出の間に検出される座標が所定条件(第3条件)を満足することが判定されたことを条件として、弾オブジェクト72の移動制御を実行するようにしている。しかし、この所定条件(第3条件)は適宜変更されてよい。たとえば、第3条件は、連続的に検出される座標の変化量が閾値より小さい(または大きい)こと(すなわち、入力座標の移動速度が所定の閾値より小さいまたは大きいこと)、あるいは、連続的に検出される座標が所定時間の間変化しないこと(すなわち、入力座標が所定時間停止していること)などとしてもよい。
【0167】
また、上述の各実施例では、オブジェクト発生座標に続いて連続的に検出される座標が、ステップS21でオブジェクト発生座標から所定の距離範囲外になったと判定される前に、ステップS15で検出がなくなったと判定される場合には、発生している弾オブジェクト72の移動制御をキャンセルし、ステップS45で弾オブジェクト72を消滅させるようにしている。また、ステップS29でオブジェクト発生座標に続いて連続的に検出される座標が所定領域(第1有効範囲)の範囲外になったと判定される場合、または、ステップS41で連続検出の最後の座標が所定領域(第2有効範囲)の範囲外になったと判定される場合、つまり、連続的に検出される座標の移動方向がたとえばオブジェクト発生座標を基準として所定方向であるとは認められる範囲ではなくなったと判定される場合には、発生している弾オブジェクト72をステップS45で消滅させて移動させないようにしている。このように、オブジェクト発生座標に続く連続的な検出の間に検出される座標が所定条件(第4条件)を満足することが判定されたときには、弾オブジェクト72を消滅させるようにしている。しかし、この所定条件(第4条件)は適宜変更されてよい。たとえば、第4条件は、第2条件を満たしてオブジェクトの移動が開始する前に検出がなくなったこととしてもよい。また、第4条件は、連続的に検出される座標の変化量が閾値より小さい(または大きい)こと、あるいは、連続的に検出される座標が所定時間の間変化しないことなどとしてもよい。
【0168】
また、上述の各実施例では、所定の条件を満たすような所定の方向が入力されたときに特定方向へ弾オブジェクト72を移動させるようにしていた。しかし、次に示す他の実施例のように、入力方向に基づいて移動方向を決定して、当該移動方向に弾オブジェクト72を移動させるようにしてもよい。
【0169】
図16には、他の実施例でのメモリマップの一例が示される。プログラム記憶領域80は、タッチ入力検出プログラム記憶領域84、敵キャラクタ表示制御プログラム記憶領域86、弾オブジェクト表示制御プログラム記憶領域88、一定距離判定プログラム記憶領域90、入力方向決定プログラム記憶領域118、弾移動方向決定プログラム記憶領域120、衝突判定プログラム記憶領域98等を含む。また、データ記憶領域82は、敵キャラクタ画像データ記憶領域100、弾オブジェクト画像データ記憶領域102、尾ひれ画像データ記憶領域104、タッチ入力履歴記憶領域106、最初のタッチ入力座標記憶領域108、最後のタッチ入力座標記憶領域110、敵制御データ記憶領域114、弾制御データ記憶領域116等を含む。なお、上述の実施例(図11)と重複する部分の説明は省略する。
【0170】
入力方向決定プログラム記憶領域118には、入力された方向を決定または検出するためのプログラムが記憶されている。入力方向は、オブジェクト発生座標に続けて検出される座標のうちの少なくとも1つの座標とオブジェクト発生座標とに基づいて決定される。オブジェクト発生座標は、上述の実施例と同様に、第1の条件が満足されたと判定されたときに検出される入力座標であり、つまり、実施例ではタッチ入力開始時の入力座標である。入力方向は、具体的には、第1の条件を満たすと判定されてから第2の条件を満たすと判定されるまでの期間に検出された座標に基づいて決定される。この実施例では、オブジェクト発生座標と、当該オブジェクト発生座標に連続して検出される入力座標が第2の条件を満足すると判定されたときの検出座標とを結ぶ方向を入力方向として決定する。たとえば、第2の条件は、オブジェクト発生座標から一定距離範囲外の座標が入力された後にタッチオフ状態になることである。したがって、この実施例では、タッチオン時の入力座標とタッチオフ直前の入力座標とを結ぶ方向が入力方向である。
【0171】
移動方向決定プログラム記憶領域120には、入力方向に基づいて弾オブジェクト72の移動方向を決定するためのプログラムが記憶されている。この実施例では、入力方向を反転した方向が移動方向として設定される。なお、入力方向に基づく移動方向は反対方向に限られず、たとえば所定角度回転された方向であってもよい。
【0172】
このように、移動方向は、固定方向ではなく入力方向に基づいて決定されるので、弾オブジェクト72ごとに異なる方向になり得る。したがって、弾制御データ記憶領域116には、弾オブジェクト72ごとに、この移動方向決定プログラムによって決定された移動方向データが位置データおよび発生座標データ等とともに記憶される。
【0173】
また、弾オブジェクト表示制御プログラムは、弾オブジェクト72ごとの移動方向に基づいて、当該弾オブジェクト72の移動を制御し、その位置座標等の制御データを更新する。弾オブジェクト72は、たとえば上述の第2の条件を満足すると判定されたときに、その移動方向に移動される。また、上述の実施例と同様に、先に発生した弾オブジェクト72が消滅するまでに再び第1の条件と第2の条件が満足されたときには、別の弾オブジェクト72が発生および移動される。したがって、複数の弾オブジェクト72を同時にゲーム画面に表示することが可能であり、各弾オブジェクト72は異なる発生座標に発生されて異なる方向に移動され得る。
【0174】
図17には、他の実施例のゲーム装置10の動作の一例が示される。なお、図17では、上述の実施例の図13および図14と同様な処理ステップには同じ参照符号を付してある。ここでは、各ステップの詳細な説明を省略し、上述の実施例と異なる動作の流れを簡単に説明する。
【0175】
図17のステップS1で、CPUコア42は、敵キャラクタ70をたとえばLCD12に表示する。なお、この他の実施例では、敵キャラクタ70は横方向に移動するのみで下方向に降りてくることはない。次に、ステップS3でCPUコア42はタッチパネル22の操作データに基づいてタッチ入力があるか否かを判定する。ステップS3で“NO”であれば処理はステップS1に戻る。
【0176】
ステップS3で“YES”であれば、つまり、タッチ入力が開始されたときには、CPUコア42は、ステップS5で操作データからタッチ入力座標を検出してタッチ入力履歴記憶領域106に記憶し、ステップS7で最初のタッチ入力座標記憶領域108に当該入力座標を記憶する。そして、CPUコア42はステップS9で入力位置に弾オブジェクト72を配したゲーム画面をLCD14に表示する。
【0177】
続いて、ステップS15で、CPUコア42はタッチ入力が無くなったか否かを判断し、“YES”であれば入力がキャンセルされたものと見なしてステップS45で当該弾オブジェクトを消滅させて、処理はステップS47へ進む。
【0178】
一方、ステップS15で“NO”であれば、CPUコア42は、ステップS17でタッチ入力座標を検出し、ステップS19で現在の入力座標と最初のタッチ入力座標との距離を算出し、ステップS21で距離が一定距離を超えたか否かを判断する。ステップS21で“NO”であれば処理はステップS15へ戻る。
【0179】
なお、この実施例は、弾オブジェクト72の種類が一定である場合を例にとって説明しているが、その変形例では、たとえば上述の図13のステップS23−S27と同様にして、入力継続時間に応じて弾オブジェクト72の種類、攻撃力、移動速度等の特性を変更するようにしてもよい。
【0180】
ステップS21で“YES”であれば、方向の入力が行われていると見なして、CPUコア42は、ステップS31で尾ひれ74の画像を弾オブジェクト72に隣接して表示し、発射準備完了であることを表現する。そして、ステップS35で、CPUコア42は、タッチ入力が無くなったか否かを判断し、“NO”であれば処理はステップS31へ戻る。
【0181】
一方、ステップS35で“YES”であれば、つまり、タッチオフ状態になったときには、CPUコア42はステップS39でタッチオフ直前の入力座標をタッチ入力履歴記憶領域106から読み出して最後のタッチ入力座標記憶領域110に記憶する。そして、ステップS43で、CPUコア42は弾オブジェクト移動処理を開始する。この他の実施例の弾オブジェクト移動処理の動作は後述する図18に詳細に示される。弾オブジェクト移動処理を開始すると、処理はステップS47に進む。
【0182】
ステップS47ではCPUコア42はゲーム終了か否かを判断し、“NO”であれば処理はステップS1に戻り、“YES”であればこのゲーム処理を終了する。
【0183】
図18には図17のステップS43で開始される弾オブジェクト移動処理の動作の一例が示される。図18の最初のステップS91で、CPUコア42は、最初のタッチ入力座標記憶領域108の座標と最後のタッチ入力座標記憶領域110の座標からタッチ入力方向を計算する。算出される入力方向は、この実施例では最初のタッチ入力座標と最後のタッチ入力座標とを結ぶ方向である。
【0184】
次に、ステップS93で、CPUコア42は、入力方向と逆の方向を算出して、当該算出した方向を弾オブジェクト72の移動方向として決定し、当該弾オブジェクト72の移動方向データとして弾制御データ記憶領域116に記憶する。
【0185】
続いて、ステップS95で、CPUコア42は弾オブジェクト72を移動方向に移動させる。具体的には、弾制御データ記憶領域116に記憶されている当該弾オブジェクト72の位置座標、移動方向および移動速度に基づいて、移動後の位置座標(1フレーム後の位置座標)を算出する。
【0186】
そして、ステップS97で、CPUコア42は、移動後の位置が表示範囲外であるか否かを判断する。ステップS97で“NO”であれば、CPUコア42は、ステップS99で、上述のステップS65と同様にして、移動後の位置に弾オブジェクト72を表示する。 続いて、ステップS101で、CPUコア42は、上述のステップS67と同様にして、弾オブジェクト72が敵キャラクタ70と衝突するか否かを判断する。ステップS101で“NO”であれば、処理はステップS95に戻る。
【0187】
一方、ステップS101で“YES”であれば、CPUコア42は、ステップS103で、上述のステップS77と同様にして、当該弾オブジェクト72を敵キャラクタ70と衝突した位置で消滅させる。なお、この他の実施例では、弾オブジェクト72の攻撃力が敵キャラクタ70の耐久力と同等以下であることが前提となっており、弾オブジェクト72は衝突すると必ず消滅する。
【0188】
続いて、ステップS105で、CPUコア42は、衝突する敵キャラクタ70の耐久力から弾オブジェクト72の攻撃力を減算して、当該敵キャラクタ70の耐久力データを算出された値に更新する。
【0189】
そして、ステップS107で、CPUコア42は敵の耐久力がゼロになったか否かを判断する。ステップS107で“YES”であれば、CPUコア42はステップS109で上述のステップS71と同様にして、衝突する敵キャラクタ70を消滅させる。
【0190】
一方、ステップS97で“YES”であれば、つまり、弾オブジェクト72が敵キャラクタ70と衝突することなく表示範囲外へ移動した場合には、CPUコア42は、ステップS111で、上述のステップS77と同様にして、当該弾オブジェクト72を消滅させる。ステップS109またはS111を終了すると、あるいはステップS107で“NO”である場合には、この弾オブジェクト移動処理を終了する。
【0191】
この実施例によれば、タッチ入力の開始位置に弾オブジェクト72を発生させ、オブジェクト発生座標とこれに連続して検出される座標とに基づいて入力方向を決定し、当該入力方向に基づいて弾オブジェクト72の移動方向を決定し、当該移動方向に弾オブジェクト72を移動させるようにした。このように、簡単な操作で、弾オブジェクト72を任意の位置に発生させることができるとともに、その位置を起点として当該弾オブジェクト72を任意の方向に移動させることができる。したがって、上術の実施例と同様に、シューティングゲームなどの戦略性を高めることができる。さらに、簡単かつ直感的な操作で多数の弾オブジェクト72を連続して発生させて所望の方向に移動させることができるので、爽快感を得ることができ、初心者にとっても簡単に楽しめるゲームを提供することができる。
【0192】
なお、上述の各実施例では、タッチオフ状態からタッチオン状態になったことを第1の条件(オブジェクトを発生させる条件)としていたが、他の実施例では、タッチオフ状態からタッチオン状態になり、かつ、タッチオン時の入力座標が特定の領域内であることを第1の条件としてもよい。すなわち、たとえば図19に示すように、CPUコア42は、ステップS5でタッチ入力開始時の入力座標を検出した後、ステップS121で、当該入力座標が特定領域内であるか否かを判断する。ここで、特定領域は、弾オブジェクト72を発生させることの可能な領域であり、たとえばプレイヤのスコアやマップ等を表示するための領域ではなく、ゲーム空間ないしゲーム世界を表示するための領域である。ステップS121で“NO”であれば、当該タッチ入力に基づいてはオブジェクトを発生させず、処理はステップS1へ戻る。一方、ステップS121で“YES”であれば、処理は上述の図13実施例と同様にステップS7へ進む。
【0193】
また、上述の各実施例では、図13に示すように、第1の条件を満足すると判定された後検出される入力座標がオブジェクト発生座標から所定の領域(一定距離範囲)内であり続けている時間を計測し、当該計測時間に応じて弾オブジェクト72の種類、攻撃力、移動速度などの特性を設定または変更するようにしていた。しかし、発生される弾オブジェクト72の種類等の特性は、第1の条件を満足すると判定されたときの入力座標すなわちオブジェクト発生座標に応じて設定または変更されてもよい。たとえば、オブジェクト発生座標が下画面の上の方の座標である場合には、攻撃力や移動速度を通常状態よりも小さい値に設定したり、オブジェクト発生座標が下画面の下の方の座標である場合には、攻撃力や移動速度をパワーアップ状態の値に設定したりする。すなわち、たとえば図20に示すように、CPUコア42は、ステップS7で最初のタッチ入力座標を記憶すると、続くステップS131で、当該最初のタッチ入力座標に応じて弾オブジェクト72の種類を設定する。つまり、弾制御データ記憶領域116の当該弾オブジェクト72の種類データ、攻撃力データ、移動速度データなどの特性データを当該オブジェクト発生座標に応じた値に設定または変更する。したがって、オブジェクト発生座標の値に応じて当該オブジェクトの攻撃力が大きくされたり小さくされたりして変化されるので、衝突した敵キャラクタ70の耐久力データの示す耐久力から減算する値が大きくされたり小さくされたりして変化される。ステップS131を終了すると、処理はステップS9へ進み、これによって、設定された種類に応じた弾オブジェクト72の画像が表示される。
【0194】
また、弾オブジェクト72の種類等の特性は、オブジェクト発生座標と第2の条件が満足されたと判定されたときの検出座標との距離に応じて設定または変更されてもよい。すなわち、たとえば図21に示すように、CPUコア42は、ステップS41でタッチオフ直前の入力座標が第2有効範囲内であると判定される場合には、続くステップS141で、最初のタッチ入力座標と最後のタッチ入力座標との距離を算出する。そして、CPUコア42は、ステップS143で、算出された距離に応じて弾オブジェクト72の種類を設定して、弾制御データ記憶領域116の当該弾オブジェクト72の種類データ、攻撃力データ、移動速度データなどの特性データを、当該距離に応じた値に設定する。たとえば、距離が所定の第1の閾値以上である場合には、攻撃力や移動速度をパワーアップ状態の値に設定したり、距離が所定の第2の閾値未満である場合には、攻撃力や移動速度を通常状態よりも小さい値に設定したりする。ステップS143を終了すると処理はステップS43へ進む。したがって、オブジェクト発生座標からの距離が長いほど攻撃力が大きくなるので、衝突した敵キャラクタ70の耐久力から減算される値が大きくなる。なお、他の実施例では、オブジェクト発生座標からの距離が長いほど、弾オブジェクト72をパワーダウンしてその攻撃力や移動速度を小さくするようにしてもよい。
【0195】
また、上述の各実施例では、第1の条件が満足されたと判定されたときに弾オブジェクト72を発生および表示するようにしていた。しかし、他の実施例では、弾オブジェクト72を発生させるための条件(第1の条件)が満足され、かつ、当該弾オブジェクト72の移動を起こさせるための条件(第2の条件)が満足されたと判定されたときに、弾オブジェクト72をオブジェクト発生座標に発生および表示して、特定方向または入力方向に基づく方向に移動させるようにしてもよい。
【0196】
この他の実施例の動作の一例が図22および図23に示される。なお、図22および図23では、上述の実施例の図13および図14と同様な処理ステップには同じ参照符号を付してある。ここでは、重複する各ステップの詳細な説明を省略し、弾オブジェクト72の発生および表示時期に関して上述の実施例と異なる部分のみの動作の流れを簡単に説明する。図22のステップS7で、CPUコア42は、最初のタッチ入力座標を記憶し、続くステップS11でタッチオン時刻を記憶する。つまり、オブジェクト発生座標を決定しても、このタイミングでは弾オブジェクト72の表示を行わない。その後、図23のステップS41で、タッチオフ直前の入力座標が第2有効範囲内であると判定されたとき、CPUコア42は、続くステップS9で、最初のタッチ入力座標記憶領域108に記憶されている座標に、弾オブジェクト72を表示する。続いて、ステップS31で、CPUコア42は、尾ひれ74の画像を表示する。なお、尾ひれ74の先端位置はオブジェクト発生座標またはそのやや下方等に設定されてよい。そして、CPUコア42は、続くステップS43で弾オブジェクト移動処理を開始し、したがって、弾オブジェクト72は特定方向または入力方向に基づく方向に移動される。
【0197】
また、上述の各実施例では、弾オブジェクト72を発生させるための条件(第1の条件)は、タッチオフ状態からタッチオン状態になったことであった。しかし、他の実施例では、連続するタッチ入力座標(タッチオンが継続されているときに検出される座標)が所定の条件を満足することをもって第1の条件としてよい。この場合には、入力位置をスライド移動させながらオブジェクト発生座標を決定することができる。
【0198】
たとえば、図24に示す他の実施例では、連続するタッチ入力座標が一定時間以上静止していることが第1の条件とされる。一定時間以上静止していると判定されたときには、そのときの検出座標がオブジェクト発生座標に決定される。すなわち、図24に示すように、CPUコア42は、ステップS1で敵キャラクタ70をLCD12に表示し、ステップS3でタッチ入力があるか否かを判断し、“NO”であれば処理はステップS1へ戻る。一方、ステップS3で“YES”であれば、CPUコア42は、ステップS5でタッチ入力座標を検出してタッチ入力履歴記憶領域106に記憶する。
【0199】
続いて、ステップS151で、CPUコア42は、タッチ入力が連続されている場合において前回検出された入力座標と今回検出された入力座標との距離を算出する。そして、ステップS153で、CPUコア42は、算出された距離が所定の閾値以下であるか否かを判定する。この所定の閾値は、入力位置は静止していると見なされる程度の値(数dot程度)に予め設定されている。ステップS153で“NO”であれば、つまり、入力位置が移動中である場合には、処理はステップS3に戻る。
【0200】
一方、ステップS153で“YES”であれば、つまり、入力位置が静止している場合には、CPUコア42は、ステップS155で、静止継続時間を計測する。たとえば、静止開始時の時刻をデータ記憶領域82に記憶しておき、今回の時刻と静止開始時の時刻から静止継続時間を算出する。そして、ステップS157で、CPUコア42は、静止継続時間が一定時間以上になったか否かを判定する。ステップS157で“NO”であれば、処理はステップS3に戻る。
【0201】
ステップS157で“YES”であれば、つまり、入力位置が一定時間以上静止した場合には、CPUコア42は、ステップS7で、ステップS5で検出された入力座標を最初のタッチ入力座標記憶領域108にオブジェクト発生座標として記憶する。そして、CPUコア42はステップS9で、検出された入力位置に弾オブジェクト72を表示する。
【0202】
なお、上述の図24実施例では、タッチ入力有りの検出が継続しているときに、検出される座標の変化量が閾値より小さいことや、そのような変化が一定時間以上継続したことが第1の条件とされた。しかし、他の実施例では、タッチ入力が継続しているときに、検出される座標の変化量が閾値より大きくなったことや、そのような変化が一定時間以上継続したことが第1の条件とされてもよい。または、タッチ入力有りの検出が継続しているときに、検出される座標が所定時間の間変化しないことが第1の条件とされてもよい。
【0203】
また、たとえば図25に示す他の実施例では、連続するタッチ入力のスライド速度(移動入力速度)が一定速度以下になったことが第1の条件とされる。スライド入力の速度が一定速度よりも大きい場合には、プレイヤが弾オブジェクト72を発生させようとする位置を未だ決めかねているものと見なす。一定速度以下のスライド速度であると判定されたときには、そのときの検出座標がオブジェクト発生座標に決定される。すなわち、図25に示すように、CPUコア42は、ステップS5でタッチ入力座標を検出した後、ステップS171で入力のスライド速度を算出する。たとえば、タッチ入力は一定時間間隔で検出されるので、タッチ入力が連続されている場合において前回検出された座標と今回検出された座標との距離を算出し、この算出された距離を速度と見なしてもよい。そして、ステップS173で、CPUコア42は、算出された速度が所定の閾値以下であるか否かを判断する。ステップS173で“NO”であれば処理はステップS3へ戻る。
【0204】
一方、ステップS173で“YES”であれば、つまり、スライド入力の速度が一定速度以下になったときには、CPUコア42は、ステップS7で、ステップS5で検出された入力座標を最初のタッチ入力座標記憶領域108にオブジェクト発生座標として記憶する。そして、ステップS9で、CPUコア42はオブジェクト発生座標に弾オブジェクト72を表示する。
【0205】
また、上述の各実施例では、オブジェクト発生条件(第1の条件)とオブジェクト移動条件(第2の条件)の両者が満足されたことによって、弾オブジェクト72を発生および移動させるようにしていた。しかし、他の実施例では、オブジェクト発生条件が満足されてからオブジェクト移動条件が満足されるまでの間にさらにオブジェクト発生条件が満足された場合には、先にオブジェクト発生条件が満足されたときの検出座標に発生させる第1の弾オブジェクト72とは異なる第2の弾オブジェクト72を、後にオブジェクト発生条件が満足されたときの検出座標に発生させるようにしてよい。この場合には、複数のオブジェクト72を次々に発生させて、その後複数のオブジェクト72を移動させることができる。
【0206】
たとえば、図26および図27に示す実施例では、第1の条件は、図25実施例と同様に、連続するタッチ入力の移動速度が一定値以下であることである。また、第2の条件は、オブジェクト発生座標から一定距離以上移動してからタッチオフ状態になることである。なお、この実施例でも、上述の各実施例と同様な処理ステップには同じ参照符号を付してあり、重複するステップについては詳細な説明を省略する。
【0207】
CPUコア42は、図26のステップS5でタッチ入力座標を検出した後、ステップS171で入力のスライド速度を算出し、ステップS173で、算出された速度が所定の閾値以下であるか否かを判断する。ステップS173で“NO”であれば、処理はステップS35へ進む。
【0208】
一方、ステップS173で“YES”であれば、つまり、オブジェクト発生条件が満足された場合には、CPUコア42は、ステップS181で、これから発生させる弾オブジェクト72のオブジェクト発生座標として、ステップS5で検出された入力座標を弾制御データ記憶領域116に記憶する。続くステップS9で、CPUコア42は、当該発生座標に弾オブジェクト72を表示する。
【0209】
そして、CPUコア42は、ステップS15でタッチ入力が無くなったか否かを判定する。ステップS15で“NO”であれば、つまり、タッチ入力が継続されている場合には、CPUコア42はステップS17でタッチ入力座標を検出し、ステップS183で直前のオブジェクト発生座標と検出座標との距離を算出する。そして、ステップS185で、CPUコア42は、算出した距離が一定距離を超えたか否かを判定する。ステップS185で“NO”であれば、処理はステップS15に戻る。
【0210】
一方、ステップS185で“YES”であれば、CPUコア42は、ステップS187で、直前に発生した弾オブジェクト72に対応する発射可否を示すデータ(弾制御データに含まれる)を発射可能に設定する。
【0211】
続いて、ステップS35で、CPUコア42は、タッチ入力が無くなったか否かを判断する。ステップS35で“NO”であれば、つまり、タッチ入力が継続されている場合には、処理はステップS5へ戻る。したがって、再びスライド速度が一定速度以下になったときには、別の弾オブジェクト72が検出座標に発生される。
【0212】
一方、ステップS35で“YES”である場合、またはステップS15で“YES”である場合には、処理は次の図27のステップS189に進む。
【0213】
図27のステップS189では、CPUコア42は、発射可能な弾オブジェクト72があるか否かを、たとえば各弾オブジェクト72の弾制御データに含まれる発射可能を示すデータに基づいて判断する。ステップS189であれば、つまり、オブジェクト移動条件が満足されたときには、CPUコア42は、ステップS39で、最後のタッチ入力座標記憶領域110に、そのときの検出座標を記憶する。そして、ステップS43で、CPUコア42は、弾オブジェクト移動処理を開始して、処理はステップS47へ進む。この弾オブジェクト移動処理では、弾オブジェクト72の移動方向は図15の場合のように特定方向であってもよいし、図18の場合のように入力方向に基づく方向であってもよい。
【0214】
一方、ステップS189で“NO”であれば、つまり、移動条件が満足されていない場合には、CPUコア42は、ステップS45で弾オブジェクト72を消滅させる。なお、弾オブジェクト72が発生されていない場合には、処理はそのままステップS47へ進む。
【0215】
ステップS47では、CPUコア42はゲーム終了であるか否かを判定し、“NO”であれば処理はステップS1に戻り、“YES”であればこのゲーム処理を終了する。
【0216】
また、上述の各実施例では、弾オブジェクト72を発生および移動させて敵キャラクタ70を攻撃するシューティングゲームが実行される情報処理装置10を説明したが、情報処理装置10で実行されるゲームの種類またはアプリケーションは適宜変更され得る。
【0217】
また、上述の各実施例では、LCD14の画面上に設けられたタッチパネル22で座標を入力するようにしていた。しかし、このような入力手段は、画面上の位置(座標)を指示することができる装置であればよく、他の実施例では、たとえばトラックパッドやタブレットのような他のポインティングデバイスが適用されてもよい。また、マウスを適用する場合には、表示画面にマウスポインタを表示することによって入力位置を明示する。また、マウスのボタンが押されている状態をタッチオン状態とみなし、かつ、マウスのボタンが放された状態をタッチオフ状態とみなすことによって、ポインティングデバイスでの入力の有無を判断することができる。
【0218】
また、上述の各実施例では、第1のLCD12と第2のLCD14とを縦方向に並べて配置するようにしていたが、2つのLCDの配置は適宜に変更され得る。たとえば他の実施例のゲーム装置10では、第1のLCD12と第2のLCD14とを横方向に並べて配置するようにしてもよい。
【0219】
また、上述の各実施例では、2つのゲーム画面をそれぞれ表示する2つのLCDを設けるようにしていたが、表示手段としてのLCDの数は適宜変更され得る。たとえば他の実施例のゲーム装置10では、縦長形状の1つのLCDを設けて、表示領域を上下に分けて、2つのゲーム画面をそれぞれの表示領域に表示するようにしてもよいし、あるいは、横長形状の1つのLCDを設けて、表示領域を左右に分割し、2つゲーム画面をそれぞれの表示領域に表示するようにしてもよい。
【図面の簡単な説明】
【0220】
【図1】この発明の一実施例の情報処理装置の一例を示す外観図である。
【図2】図1実施例の電気的な構成を示すブロック図である。
【図3】上画面に複数の敵キャラクタが表示された初期画面の一例を示す図解図である。
【図4】タッチ入力によって下画面に弾オブジェクトが発生された場合の表示画面の一例を示す図解図である。
【図5】図4の後タッチオンのままで下方向に移動した場合の表示画面の一例を示す図解図である。
【図6】図5の後タッチオフされて弾オブジェクトが上方向に移動される場合の表示画面の一例を示す図解図である。
【図7】図6の後弾オブジェクトが敵キャラクタに衝突した場合の表示画面の一例を示す図解図である。
【図8】弾オブジェクト移動条件を説明するための図解図であり、最初のタッチ入力位置から一定距離範囲を示す。
【図9】弾オブジェクト移動条件を説明するための図解図であり、第1有効範囲を示す。
【図10】弾オブジェクト移動条件を説明するための図解図であり、第2有効範囲を示す。
【図11】RAMのメモリマップの一例を示す図解図である。
【図12】弾特性テーブルデータの内容の一例を示す図解図である。
【図13】図1実施例の情報処理装置のオブジェクト制御処理における動作の一例の一部を示すフロー図である。
【図14】図13の続きを示すフロー図である。
【図15】図14の弾オブジェクト移動処理の動作の一例を示すフロー図である。
【図16】他の実施例のRAMのメモリマップの一例を示す図解図である。
【図17】他の実施例の情報処理装置のオブジェクト制御処理における動作の一例を示すフロー図である。
【図18】図17の弾オブジェクト移動処理の動作の一例を示すフロー図である。
【図19】弾オブジェクト発生条件として入力位置を考慮する場合の動作の一例の一部を示すフロー図である。
【図20】オブジェクト発生位置に応じて弾オブジェクトの種類を設定する場合の動作の一例の一部を示すフロー図である。
【図21】弾オブジェクト移動条件が満足されたときの入力位置とオブジェクト発生位置との距離に応じて弾オブジェクトの種類を設定する場合の動作の一例の一部を示すフロー図である。
【図22】弾オブジェクト発生条件および移動条件が満足されたときに弾オブジェクトを発生させかつ移動させる場合の動作の一例の一部を示すフロー図である。
【図23】図22の続きを示すフロー図である。
【図24】入力位置が一定時間以上静止したことを条件として弾オブジェクトを発生させる場合の動作の一例の一部を示すフロー図である。
【図25】移動入力速度が一定値以下であることを条件として弾オブジェクトを発生させる場合の動作の一例の一部を示すフロー図である。
【図26】弾オブジェクト移動条件が満足されるまでに再び弾オブジェクト発生条件が満足されたときに異なる弾オブジェクトを発生させる場合の動作の一例の一部を示すフロー図である。
【図27】図26の続きを示すフロー図である。
【符号の説明】
【0221】
10 …情報処理装置
12,14…LCD
22 …タッチパネル
28 …メモリカード
28a …ROM
42 …CPUコア
48 …RAM
50,52 …GPU
54 …I/F回路
60 …LCDコントローラ

【特許請求の範囲】
【請求項1】
入力手段の入力に応じて発生および移動されるオブジェクトを表示手段に表示する情報処理装置のオブジェクト制御プログラムであって、
前記情報処理装置のプロセサに、
前記入力手段によって入力された座標を検出する検出ステップ、
前記検出ステップによる検出結果に基づいて第1条件が満たされたか否かを判定する第1判定ステップ、
前記第1判定ステップによって前記第1条件が満たされたと判定されたときの前記検出ステップによる検出座標をオブジェクト発生座標に決定する発生座標決定ステップ、
前記発生座標決定ステップによって決定された前記オブジェクト発生座標に前記オブジェクトを発生させるオブジェクト発生ステップ、および
前記オブジェクト発生座標に続く前記検出ステップによる連続的な検出結果に基づいて前記オブジェクトの移動を制御するオブジェクト制御ステップを実行させる、オブジェクト制御プログラム。
【請求項2】
前記第1判定ステップによって前記第1条件が満たされたと判定された後、前記検出ステップにより連続的に検出される座標の少なくとも1つに基づいて第2条件が満たされたか否かを判定する第2判定ステップをさらに前記プロセサに実行させ、
前記オブジェクト制御ステップは、前記第2判定ステップによって前記第2条件が満たされたと判定されたときに、前記オブジェクト発生ステップによって発生された前記オブジェクトの移動を開始する、請求項1記載のオブジェクト制御プログラム。
【請求項3】
前記オブジェクト制御ステップは、前記連続的な検出の後前記検出ステップによる検出がなくなったときに、前記オブジェクト発生ステップによって発生された前記オブジェクトの移動を開始する、請求項2記載のオブジェクト制御プログラム。
【請求項4】
前記オブジェクト制御ステップは、前記検出ステップによって連続的に検出された前記座標のうちの少なくとも1つの座標に基づいて、前記オブジェクトの移動のパラメータを決定する、請求項1ないし3のいずれかに記載のオブジェクト制御プログラム。
【請求項5】
前記オブジェクト発生座標に続いて前記検出ステップによって連続的な検出がされている間に検出される前記座標が第3条件を満たすことを判定する第3条件判定ステップをさらに前記プロセサに実行させ、
前記オブジェクト制御ステップは、前記第3条件判定ステップによって前記第3条件を満たすことが判定されることを条件として、前記オブジェクトの移動を制御する、請求項2または3に記載のオブジェクト制御プログラム。
【請求項6】
前記第3条件判定ステップは、前記オブジェクト発生座標に続いて前記検出ステップによって連続的な検出がされている間に検出される前記座標が、前記オブジェクト発生座標から所定距離だけ離れたことを判定する、請求項5記載のオブジェクト制御プログラム。
【請求項7】
前記オブジェクト制御ステップは、前記オブジェクト発生座標に続く前記検出ステップによる連続的な検出結果が前記第2条件を満たすとき、前記オブジェクト発生ステップによって発生された前記オブジェクトを一定方向に移動させる、請求項2ないし6のいずれかに記載のオブジェクト制御プログラム。
【請求項8】
前記第2判定ステップは、前記第2条件を満たし、かつ、前記第1判定ステップによって前記第1条件が満たされたと判定された後に前記オブジェクト発生座標に続いて前記検出ステップによって連続的な検出がされている間に検出される座標が、前記オブジェクト発生座標から前記一定方向の同じ方向または反対方向を中心とした所定の範囲の方向に存在することを判定する、請求項7記載のオブジェクト制御プログラム。
【請求項9】
前記オブジェクト発生座標に続いて前記検出ステップによって連続的な検出がされている間において前記検出ステップによって検出される前記座標が第4条件を満たすことを判定する第4条件判定ステップ、および
前記第4条件判定ステップによって前記第4条件を満たすことが判定されたときに、前記オブジェクト発生ステップによって発生された前記オブジェクトを消滅させるオブジェクト消滅ステップをさらに前記プロセサに実行させる、請求項1ないし8のいずれかに記載のオブジェクト制御プログラム。
【請求項10】
前記第4条件判定ステップは、前記オブジェクト発生座標に続いて前記検出ステップによって連続的な検出がされている間において前記検出ステップによって検出される前記座標が、前記オブジェクト発生座標を基準とする第2領域より外になる前に、前記検出ステップによる検出がなくなったことを、前記第4条件として判定する、請求項9に記載のオブジェクト制御プログラム。
【請求項11】
前記第4条件判定ステップは、前記オブジェクト発生座標に続いて前記検出ステップによって連続的な検出がされている間において前記検出ステップによって検出される前記座標が、前記オブジェクト発生座標を基準とする第3領域より外になったことを、前記第4条件として判定する、請求項9に記載のオブジェクト制御プログラム。
【請求項12】
前記オブジェクト制御ステップは、前記連続的な検出の後前記検出ステップによる検出がなくなった場合に、当該検出がなくなる直前に前記検出ステップによって検出された前記座標が、前記第3領域と異なる前記オブジェクト発生座標を基準とする第4領域内であるときに、前記オブジェクト発生ステップによって発生された前記オブジェクトの移動を開始する、請求項11に記載のオブジェクト制御プログラム。
【請求項13】
前記第3領域は、前記オブジェクト発生座標の全方向に存在する領域であり、前記第4領域は、前記オブジェクト発生座標の所定方向にのみ存在する領域である、請求項12に記載のオブジェクト制御プログラム。
【請求項14】
前記第2条件は、前記オブジェクト発生座標と前記オブジェクト発生座標に続いて前記検出ステップによって連続的に検出される座標のうちの少なくとも1つの座標とに基づく入力方向が所定の方向であることを含み、
前記オブジェクト制御ステップは、前記第2判定ステップによって前記第2条件が満たされたと判定されるとき、前記オブジェクトを移動させる、請求項2ないし13のいずれかに記載のオブジェクト制御プログラム。
【請求項15】
前記入力手段は前記表示手段に対する座標を検出するためのものであり、
前記第2条件における前記所定の方向と、前記オブジェクト制御ステップにおける前記オブジェクトの移動方向とは、同じ方向または反対の方向である、
請求項14記載のオブジェクト制御プログラム。
【請求項16】
前記所定の方向は第1の方向の正成分を持つ方向であり、
前記オブジェクトの移動方向は前記第1の方向と反対の方向である、請求項15記載のオブジェクト制御プログラム。
【請求項17】
前記所定の方向は第1の方向を基準として左右に90度未満の範囲内の方向であり、前記オブジェクトの移動方向は前記第1の方向と反対の方向である、請求項15記載のオブジェクト制御プログラム。
【請求項18】
前記オブジェクト制御ステップは、
前記オブジェクト発生座標と前記オブジェクト発生座標に続いて前記検出ステップによって連続的に検出される座標のうちの少なくとも1つの座標とに基づいて、前記入力手段による入力方向を決定する入力方向決定ステップ、および
前記入力方向決定ステップによって決定された前記入力方向に基づいて、前記オブジェクトの移動方向を決定する移動方向決定ステップをさらに含み、
前記第2判定ステップによって前記第2条件が満たされたと判定されるとき、前記移動方向決定ステップによって決定された前記移動方向に前記オブジェクトを移動させる、請求項2ないし14のいずれかに記載のオブジェクト制御プログラム。
【請求項19】
前記入力方向決定ステップは、前記オブジェクト発生座標と前記第2判定ステップによって前記第2条件を満たすと判定されたときの前記検出ステップによる検出座標とを結ぶ方向を前記入力方向に決定する、請求項18記載のオブジェクト制御プログラム。
【請求項20】
前記移動方向決定ステップは、前記入力方向を反転して前記オブジェクトの移動方向とする、請求項18または19に記載のオブジェクト制御プログラム。
【請求項21】
前記入力方向決定ステップは、前記第1判定ステップによって前記第1条件を満たすと判定されてから前記第2判定ステップによって前記第2条件を満たすと判定されるまでの期間における前記検出ステップによる検出座標に基づいて、当該期間ごとの前記入力方向を決定し、
前記移動方向決定ステップは、前記期間ごとの前記入力方向に基づいて、前記期間ごとの前記オブジェクトの移動方向を決定し、
前記オブジェクト発生ステップは、前記期間ごとに異なる前記オブジェクトを、当該期間に対応する前記オブジェクト発生座標に発生させ、
前記オブジェクト制御ステップは、前記期間ごとの前記移動方向に当該オブジェクトを移動させる、請求項18ないし20のいずれかに記載のオブジェクト制御プログラム。
【請求項22】
前記オブジェクト発生ステップは、前記発生座標決定ステップによる決定ごとに異なる前記オブジェクトを発生させる、請求項1ないし21のいずれかに記載のオブジェクト制御プログラム。
【請求項23】
前記オブジェクト発生ステップは、前記第2判定ステップによって前記第2条件を満たすと判定されたときに前記オブジェクトを発生させる、請求項2ないし22のいずれかに記載のオブジェクト制御プログラム。
【請求項24】
前記オブジェクト発生ステップは、前記第1判定ステップによって前記第1条件を満たすと判定されてから前記第2判定ステップによって前記第2条件を満たすと判定されるまでの間に、さらに、前記第1判定ステップによって前記第1条件を満たすと判定された場合には、前記第1条件を満たすと先に判定されたときの前記オブジェクト発生座標に第1のオブジェクトを発生させ、前記第1条件を満たすと後に判定されたときの前記オブジェクト発生座標に前記第1のオブジェクトとは異なる第2のオブジェクトを発生させる、請求項2ないし23のいずれかに記載のオブジェクト制御プログラム。
【請求項25】
前記プロセサに、前記第1判定ステップによって前記第1条件を満たすと判定された後、前記検出ステップによる検出座標が前記オブジェクト発生座標から所定の領域内で連続している時間を計測する時間計測ステップをさらに実行させ、
前記オブジェクト制御ステップは、前記時間計測ステップによって計測される時間に応じて、前記オブジェクトの種類データおよび移動パラメータの少なくとも一方を設定する第1特性設定ステップを含む、請求項1ないし24のいずれかに記載のオブジェクト制御プログラム。
【請求項26】
前記プロセサに、前記オブジェクト発生座標と前記第2判定ステップによって前記第2条件を満たすと判定されたときの前記検出ステップによる検出座標との距離を計算する距離計算ステップをさらに実行させ、
前記オブジェクト制御ステップは、前記距離計算ステップによって計算される距離に応じて、前記オブジェクトの種類データおよび移動パラメータの少なくとも一方を設定する第2特性設定ステップを含む、請求項2ないし25のいずれかに記載のオブジェクト制御プログラム。
【請求項27】
前記オブジェクト制御ステップは、前記発生座標決定ステップによって決定された前記オブジェクト発生座標に応じて、前記オブジェクトの種類データおよび移動パラメータの少なくとも一方を設定する第3特性設定ステップを含む、請求項1ないし26のいずれかに記載のオブジェクト制御プログラム。
【請求項28】
前記プロセサに、
射撃対象オブジェクトの発生および移動を制御する射撃対象制御ステップ、
前記オブジェクトと前記射撃対象オブジェクトとの衝突判定をおこなう衝突判定ステップ、および
前記衝突判定ステップによって前記オブジェクトと前記射撃対象オブジェクトとが衝突したと判定されたときに、前記射撃対象オブジェクトを消滅させる衝突ステップをさらに実行させる、請求項1ないし27のいずれかに記載のオブジェクト制御プログラム。
【請求項29】
前記射撃対象制御ステップは、前記射撃対象オブジェクトごとに耐久力データを設定する耐久力設定ステップを含み、
前記衝突ステップは、前記衝突判定ステップによって前記オブジェクトと前記射撃対象オブジェクトとが衝突したと判定されたときに、当該射撃対象オブジェクトの前記耐久力データの示す耐久力を減算する減算ステップを含み、前記減算ステップによる減算後の当該耐久力が所定の閾値以下になったときに当該射撃対象オブジェクトを消滅させる、請求項28記載のオブジェクト制御プログラム。
【請求項30】
前記第1判定ステップによって前記第1条件を満たすと判定された後、前記検出ステップによる検出座標が前記オブジェクト発生座標から所定の領域内で連続している時間を前記オブジェクトごとに計測する時間計測ステップを含み、
前記衝突ステップは、前記射撃対象オブジェクトに衝突した前記オブジェクトに対応する前記時間計測ステップによって計測された前記時間が長いほど、当該射撃対象オブジェクトの前記耐久力データから減算する値を大きくする、請求項29記載のオブジェクト制御プログラム。
【請求項31】
前記オブジェクト発生座標と、前記第2判定ステップによって前記第2条件を満たすと判定されたときの前記検出ステップによる検出座標との距離を前記オブジェクトごとに計算する距離計算ステップを含み、
前記衝突ステップは、前記射撃対象オブジェクトに衝突した前記オブジェクトに対応する前記距離計算ステップによって計算された前記距離が長いほど、当該射撃対象オブジェクトの前記耐久力データから減算する値を大きくする、請求項29または30記載のオブジェクト制御プログラム。
【請求項32】
前記衝突ステップは、前記射撃対象オブジェクトに衝突した前記オブジェクトに対応する前記オブジェクト発生座標に応じて、当該射撃対象オブジェクトの前記耐久力データから減算する値を変化させる、請求項29ないし31のいずれかに記載のオブジェクト制御プログラム。
【請求項33】
前記入力手段は、前記表示手段の表示画面上に設置されたタッチパネルである、請求項1ないし32のいずれかに記載のオブジェクト制御プログラム。
【請求項34】
入力手段の入力に応じて発生および移動されるオブジェクトを表示手段に表示する情報処理装置のオブジェクト制御プログラムであって、
前記情報処理装置のプロセサに、
前記入力手段によって入力された座標を検出する検出ステップ、
前記検出ステップによる検出結果に基づいて第1条件が満たされたか否かを判定する第1判定ステップ、
前記第1判定ステップによって前記第1条件が満たされたと判定されたときの前記検出ステップによる検出座標をオブジェクト発生座標に決定する発生座標決定ステップ、
前記発生座標決定ステップによって決定された前記オブジェクト発生座標に前記オブジェクトを発生させるオブジェクト発生ステップ、
前記オブジェクト発生座標に続いて前記検出ステップによって連続的な検出がされている間において前記検出ステップによって検出される前記座標が、前記オブジェクト発生座標を基準とする第1領域より外になったか否かを判定する領域外判定ステップ、
前記領域外判定ステップによって前記連続的な検出における前記座標が前記第1領域から外になったことが判定された後に、前記検出ステップによる検出がなくなったときに、前記オブジェクト発生ステップによって発生された前記オブジェクトの移動を開始させるオブジェクト制御ステップ、および
前記領域外判定ステップによって前記連続的な検出における前記座標が前記第1領域から外になったことが判定される前に、前記検出ステップによる検出がなくなったときに、前記オブジェクト発生ステップによって発生された前記オブジェクトを消滅させるオブジェクト消滅ステップを実行させる、オブジェクト制御プログラム。
【請求項35】
入力手段の入力に応じて発生および移動されるオブジェクトを表示手段に表示する情報処理装置であって、
前記入力手段によって入力された座標を検出する検出手段、
前記検出手段による検出結果に基づいて第1条件が満たされたか否かを判定する第1判定手段、
前記第1判定手段によって前記第1条件が満たされたと判定されたときの前記検出手段による検出座標をオブジェクト発生座標に決定する発生座標決定手段、
前記発生座標決定手段によって決定された前記オブジェクト発生座標に前記オブジェクトを発生させるオブジェクト発生手段、および
前記オブジェクト発生座標に続く前記検出手段による連続的な検出結果に基づいて前記オブジェクトの移動を制御するオブジェクト制御手段を備える、情報処理装置。
【請求項36】
入力手段の入力に応じて発生および移動されるオブジェクトを表示手段に表示する情報処理装置であって、
前記入力手段によって入力された座標を検出する検出手段、
前記検出手段による検出結果に基づいて第1条件が満たされたか否かを判定する第1判定手段、
前記第1判定手段によって前記第1条件が満たされたと判定されたときの前記検出手段による検出座標をオブジェクト発生座標に決定する発生座標決定手段、
前記発生座標決定手段によって決定された前記オブジェクト発生座標に前記オブジェクトを発生させるオブジェクト発生手段、
前記オブジェクト発生座標に続いて前記検出手段によって連続的な検出がされている間において前記検出手段によって検出される前記座標が、前記オブジェクト発生座標を基準とする第1領域より外になったか否かを判定する領域外判定手段、
前記領域外判定手段によって前記連続的な検出における前記座標が前記第1領域から外になったことが判定された後に、前記検出手段による検出がなくなったときに、前記オブジェクト発生手段によって発生された前記オブジェクトの移動を開始させるオブジェクト制御手段、および
前記領域外判定手段によって前記連続的な検出における前記座標が前記第1領域から外になったことが判定される前に、前記検出手段による検出がなくなったときに、前記オブジェクト発生手段によって発生された前記オブジェクトを消滅させるオブジェクト消滅手段を備える、情報処理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate


【公開番号】特開2007−34634(P2007−34634A)
【公開日】平成19年2月8日(2007.2.8)
【国際特許分類】
【出願番号】特願2005−216278(P2005−216278)
【出願日】平成17年7月26日(2005.7.26)
【出願人】(000233778)任天堂株式会社 (1,115)
【出願人】(599139187)株式会社クリーチャーズ (7)
【Fターム(参考)】