説明

情報選択装置、情報選択プログラム、ゲーム装置およびゲームプログラム

【構成】情報選択装置はコントローラを含む。複数の項目から任意の項目がたとえばアナログジョイスティック94aの方向入力によって選択される。所定の一連の方向入力操作が行われたと判定されるとき、選択項目のうち少なくとも1つの項目が他の項目に切替えられる。
【効果】方向入力による項目選択において項目を容易に切替えることができ、操作性を向上できる。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は情報選択装置、情報選択プログラム、ゲーム装置およびゲームプログラムに関し、特にたとえば複数の項目から任意の項目をユーザに選択させる、情報選択装置、情報選択プログラム、ゲーム装置およびゲームプログラムに関する。
【背景技術】
【0002】
方向指示デバイスの操作に応じて文字セットを選択する文字入力装置の一例が特許文献1に開示されている。特許文献1の技術では、特定方向に文字セット選択行が割り当てられている。当該特定方向においてスティックを倒す角度またはスティックに加わる荷重に対応付けられた文字セットが選択される。決定キーの操作によって当該文字セットが選択されて当該文字セットに含まれる文字を入力できるモードに入る。入力モードでは、スティックの方向と角度(または荷重)に対応付けられた文字が選択される。
【特許文献1】特開2000−10716号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
特許文献1の技術では、スティックの円周方向の移動によって特定方向を指示し、当該特定方向においてスティックを半径方向に倒す角度または加重によって文字セットの選択を行い、決定キーの操作によって当該文字セットでの入力モードに入るようにしているので、文字セットの選択の操作が難しいという問題がある。
【0004】
それゆえに、この発明の主たる目的は、新規な、情報選択装置、情報選択プログラム、ゲーム装置およびゲームプログラムを提供することである。
【0005】
また、この発明の他の目的は、方向入力による項目選択において選択操作を容易に行うことができる、情報選択装置、情報選択プログラム、ゲーム装置およびゲームプログラムを提供することである。
【課題を解決するための手段】
【0006】
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施の形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【0007】
第1の発明は、複数の項目から任意の項目をユーザに選択させる情報選択装置である。情報選択装置は、方向入力手段、操作手段、記憶手段、選択項目設定手段、選択手段、シーケンス入力判定手段および切替手段を備える。方向入力手段は、方向の入力操作が可能であって、当該入力操作に応じた方向を示す方向データを入力する。操作手段は、所定の操作に応じた操作データを入力する。記憶手段は、複数の項目を示す項目データを記憶する。選択項目設定手段は、項目データのうち所定数の項目を所定の方向にそれぞれ対応付けられた選択項目として設定する。選択手段は、方向入力手段からの方向データに対応する項目を選択項目から選択し、所定の操作データが入力されたとき、当該項目を出力する。シーケンス入力判定手段は、方向データの推移に基づいて所定の一連の方向入力操作が行われたか否かを判定する。切替手段は、シーケンス入力判定手段によって所定の一連の方向入力操作が行われたことが判定されたとき、選択項目のうち少なくとも1つの項目を項目データの他の項目に切替える。
【0008】
第1の発明では、情報選択装置(10、12)は、複数の項目から任意の項目をユーザに選択させる。記憶手段(22、50、220)には複数の項目を示す項目データが記憶される。項目は、たとえば文字、ゲームアイテム、メニュー項目などであってよい。この情報選択装置では、項目はユーザの方向入力によって選択される。そのため、方向入力手段(14、82a、94a)が備えられており、ユーザの入力操作に応じた方向を示す方向データを入力する。方向入力手段は、たとえばアナログジョイスティック、十字キー、タッチパッドやマウスであってよい。なお、方向入力手段は、無操作状態において、いずれの方向も入力しないものとしてもよい。選択項目設定手段(46、S1、S101)は、所定数の項目を方向入力手段による指示方向のそれぞれに対応付けられた選択項目として設定する。したがって、ユーザは選択項目のうち所望の項目に対応する方向を入力することによって当該項目を選択できる。なお、項目の全体数は、選択項目数よりも多い。すなわち、項目の全体の中の一部が選択項目として選択される。また、この情報選択装置では、方向入力手段の方向に対応する項目の選択を、別の操作によって決定または確定する。そのため、操作手段(14、82d、94b、86、88、96)が備えられており、ユーザの所定の操作に応じた操作データを入力する。操作手段は、たとえば、ボタンスイッチなどのキーであってよいし、あるいはユーザ操作による動きを検出する加速度センサや撮像装置であってよい。選択手段(46、S9、S17、S19、S35−S39、S135、S139)は、方向データに対応する項目を選択項目から選択し、所定の操作データが入力されたとき、当該項目を出力する。このような項目を選択するための方向入力手段を用いて、選択項目の切り替えが行われる。すなわち、シーケンス入力判定手段(46、S23)は、方向データの推移に基づいて所定の一連の方向入力操作が行われたか否かを判定する。切替手段(46、S29、S31、S129、S131)は、所定の一連の方向入力操作が行われたと判定されたとき、選択項目のうち少なくとも1つの項目を項目データの他の項目に切替える。現在の選択項目の全てを他の項目に入れ替えても良いし、現在の選択項目の一部(1つのみ、1/8、1/4、半分、3/4など)を他の項目に入れ替えても良い。なお、項目データを所定順番で配列してプログラムに記憶しておいてもよく、この場合、切替手段は、少なくとも、(a)現在の選択項目のうち最も前に配列された項目を選択項目から削除し、現在の選択項目の次に配列された項目を選択項目に追加するか、または、(b)現在の選択項目のうち最も後に配列された項目を選択項目から削除し、現在の選択項目より前に配列された項目を選択項目に追加するのが望ましい。また、典型的には、選択項目数をn個としたときに、(c)現在の選択項目のすべてを削除し、現在の選択項目の次に配列されたn個の項目を新たに選択項目とし、または、(d)現在の選択項目のすべてを削除し、現在の選択項目より前に配列されたn個の項目を新たに選択項目とするようにしてもよい。
【0009】
また、シーケンス入力判定手段は、第1の一連入力操作とそれと異なる第2の一連入力操作を判定し、第1の一連入力操作がおこなわれたことが判定されたときには、上記(a)(または(c))の処理を実行し、第2の一連入力操作がおこなわれたときには、上記(b)(または(d))の処理を実行するようにしてもよい。特に、シーケンス入力判定手段が、一連の入力操作として、方向入力手段が1回転する操作を判定する場合には、第1の一連入力操作として、右回りの1回転を判定し、第2の一連入力操作として、左回りの1回転を判定するようにしてもよい。
【0010】
また、シーケンス入力判定手段は、現在の全選択項目に対応する全方向が、方向入力手段により順番に入力されたことを判定してもよい。すなわち、例えば、現在の選択項目が項目データi1〜inとするときに、i1に対応する方向d1が入力された後、i2に対応する方向d2が入力され、その後、i3に対応する方向d3が入力され、・・・、その後、in−1に対応する方向dn−1が入力された後、inに対応する方向dnが入力されたことを判定してもよい。この場合、方向d1の入力→方向d2の入力→方向d3の入力→・・・→方向dn−1の入力→方向dnの入力が連続的に(すなわち、他の方向の入力が間に入ることなく)入力されたことを判定することが好ましい。特に、方向入力手段が無操作状態においていずれの方向も入力しないものである場合、無操作状態が間に入ることなく連続入力されることを判定してもよいが、無操作状態は間に入ることを許容してもよい。
【0011】
または、シーケンス入力判定手段は、現在の全選択項目に対応する全方向が、方向入力手段により順番に入力された後、さらに、いずれかの方向が入力されたことを判定してもよい。典型的には、全方向が順番に入力された後、最初に入力した方向がさらに入力されたことを判定してもよく、典型的には、前述の例において、方向d1の入力→方向d2の入力→方向d3の入力→…→方向dn−1の入力→方向dn→方向d1の入力となったことを判定してもよい。
【0012】
なお、例えば、方向d1の入力→方向d2の入力→方向d3の入力→…→方向dn−1の入力→方向dnを判定する場合、途中の入力を或る程度飛ばすことを許容してもよい。すなわち、方向d1の入力→方向d3の入力→…→方向dn−1の入力→方向dnとなったときに肯定判定をするようにしてもよい。
【0013】
また、現在の選択項目の全てを他の項目に入れ替える場合、選択項目数をn個として、n個の選択項目を1つのグループにして、当該グループ単位で所定順番に配列してプログラムに記憶しておいて、切替手段は、一連の入力操作があったときに、現在のグループの次に配列されたグループを選択し、または、現在のグループの前に配列されたグループを選択するようにしてもよい。
【0014】
また、項目データを所定順番で配列してプログラムに記憶する場合、当該配列の順番に基づいて、項目データと方向とを対応付けるのが好ましい。典型的には、項目データが当該配列の順番に、右回り、または、左回りになるように、項目データと方向とを対応付けてもよい。
【0015】
したがって、ユーザは項目の全てまたは一部が置き換えられた新たな選択項目から、項目の選択を行うことができる。
【0016】
第1の発明によれば、所定の一連の方向を入力することによって選択項目を切替えることができるので、切替え操作を容易に行うことができ、操作性がよい。
【0017】
第2の発明は、方向入力手段は傾倒可能なスティックを含み、当該スティックの傾倒方向に応じて方向データを入力し、シーケンス入力判定手段は、方向データの推移に基づいてスティックが1回転したか否かを判定する、第1の発明に従属する情報選択装置である。
【0018】
第2の発明では、傾倒可能なスティック(94a)による方向入力に応じて項目が選択される。そして、シーケンス入力判定手段はスティックが1回転したか否かを判定する。したがって、ユーザは、スティックを1回転させる簡単な操作によって、選択項目を切替えることができる。この場合、シーケンス入力判定手段は、最初の入力方向に関わらず、1回転したことを判定してもよい。例えば、方向d1、d2、d3、・・・、dn−1、dnがこの順番に右回りまたは左回りに円形に配置されるときに、方向d1→方向d2→方向d3→・・・→方向dn−1→方向dn(→方向d1)となる一連の入力操作だけでなく、方向d2→方向d3→・・・→方向dn−1→方向dn→方向d1(→方向d2)となる一連の入力操作や、方向d3→・・・→方向dn−1→方向dn→方向d1→方向d2(→方向d3)となるような一例の入力操作などがあったときに、切替手段が項目を切り替えるようにしてもよい。
【0019】
第3の発明は、操作手段は押下可能なキーを含み、当該キーの操作に応じたキー情報を操作データとして入力する、第1の発明に従属する情報選択装置である。
【0020】
第3の発明では、所定のキー(82d、94b)の操作データが入力されたときに、方向データに対応する項目が選択される。ユーザは、キー操作によって簡単に項目の選択を決定または確定することができる。
【0021】
なお、方向入力手段と当該押下可能なキーはともに片手で把持可能なハウジングに配設されるようにしてもよい。このようにすれば、ユーザは片手で入力が可能である。さらには、ユーザが当該ハウジングを片手で把持したときの親指の位置に方向入力手段が配設され、かつ、ユーザが当該ハウジングを片手で把持したときの人差し指または中指の位置に当該キーが配設されるようにすると操作性がよい。
【0022】
第4の発明は、選択項目設定手段および切替手段によって設定された選択項目を表示装置に表示する表示制御手段をさらに備える、第1の発明に従属する情報選択装置である。
【0023】
第4の発明では、表示制御手段(46、52、S3)は、設定された選択項目および切替えられた選択項目を表示装置(30)に表示する。表示された選択項目を見ながら選択を行えるので、操作性が良い。
【0024】
第5の発明は、項目は文字または文字列であって、選択手段によって出力された文字または文字列を入力として処理する文字入力処理手段をさらに備える、第1の発明に従属する情報選択装置である。
【0025】
第5の発明では、項目として文字または文字列が適用される。文字入力処理手段(46、S41、S43)は、選択手段によって出力された文字または文字列を入力として処理する。したがって、文字入力における文字選択の操作性を向上できる。
【0026】
第6の発明は、方向の入力操作が可能であって当該入力操作に応じた方向を示す方向データを入力する方向入力手段、所定の操作に応じた操作データを入力する操作手段、および複数の項目を示す項目データを記憶する記憶手段を備え、複数の項目から任意の項目をユーザに選択させる情報選択装置のコンピュータにおいて実行される情報選択プログラムである。情報選択プログラムは、選択項目設定ステップ、選択ステップ、シーケンス入力判定ステップ、および切替ステップをコンピュータに実行させる。選択項目設定ステップは、項目データのうち所定数の項目を所定の方向にそれぞれ対応付けられた選択項目として設定する。選択ステップは、方向入力手段からの方向データに対応する項目を選択項目から選択し、所定の操作データが入力されたとき、当該項目を出力する。シーケンス入力判定ステップは、方向データの推移に基づいて所定の一連の方向入力操作が行われたか否かを判定する。切替ステップは、シーケンス入力判定ステップによって所定の一連の方向入力操作が行われたことが判定されたとき、選択項目のうち少なくとも1つの項目を項目データの他の項目に切替える。
【0027】
第6の発明は、第1の発明の情報選択装置に対応する情報選択プログラムであり、第1の発明と同様な効果を奏する。
【0028】
第7の発明は、複数の項目からユーザに選択された項目に応じたゲーム処理を行うゲーム装置である。ゲーム装置は、第1の操作ユニット、第2の操作ユニット、取得手段、記憶手段、選択項目設定手段、選択手段、シーケンス入力判定手段、切替手段、およびゲーム処理手段を備える。第1の操作ユニットは、所定の操作に応じた第1の操作データを入力する。第2の操作ユニットは、方向の入力操作が可能であって、当該入力操作に応じた方向を示す方向データを入力する方向入力手段を少なくとも含む。取得手段は、第1の操作ユニットおよび第2の操作ユニットからの第1の操作データおよび方向データを取得する。記憶手段は、複数の項目を示す項目データを記憶する。選択項目設定手段は、項目データのうち所定数の項目を所定の方向にそれぞれ対応付けられた選択項目として設定する。選択手段は、方向入力手段からの方向データに対応する項目を選択項目から選択する。シーケンス入力判定手段は、方向データの推移に基づいて所定の一連の方向入力操作が行われたか否かを判定する。切替手段は、シーケンス入力判定手段によって所定の一連の方向入力操作が行われたことが判定されたとき、選択項目のうち少なくとも1つの項目を項目データの他の項目に切替える。ゲーム処理手段は、選択手段によって選択された項目と第1の操作データとに基づいてゲーム処理を行う。
【0029】
第7の発明では、ゲーム装置(10、12)は、上述の第1の発明と同様に複数の項目から任意の項目をユーザに選択させる。そして、このゲーム装置はユーザに選択された項目に応じたゲーム処理を実行する。複数の項目を示す項目データは記憶手段(22、50、220)に記憶される。項目は、たとえば文字、ゲームアイテム、メニュー項目などであってよい。ゲーム装置は、第1の操作ユニット(34)および第2の操作ユニット(36)を備えている。項目を選択するための方向入力手段(94a)は第2の操作ユニットに設けられており、方向の入力操作に応じた方向を示す方向データを入力する。また、第1の操作ユニットが所定の操作に応じた第1の操作データを入力する。この第1の操作データは、ゲーム処理を制御するために使用され得る。選択項目設定手段(46、S1、S101)は、所定数の項目を所定の方向のそれぞれに対応付けられた選択項目として設定する。したがって、ユーザは第2の操作ユニットを用いて選択項目のうち所望の項目に対応する方向を入力することによって当該項目を選択できる。選択手段(46、S9、S17、S19、S37、S39、S139)は、方向データに対応する項目を選択項目から選択する。このような項目を選択するための方向入力手段を用いて、選択項目の切り替えが行われる。すなわち、シーケンス入力判定手段(46、S23)は、方向データの推移に基づいて所定の一連の方向入力操作が行われたか否かを判定する。切替手段(46、S29、S31、S129、S131)は、所定の一連の方向入力操作が行われたと判定されたとき、選択項目のうち少なくとも1つの項目を項目データの他の項目に切替える。したがって、ユーザは項目の全てまたは一部が置き換えられた新たな選択項目から、項目の選択を行うことができる。そして、ゲーム処理手段(46、S161)は、選択された項目と第1の操作データとに基づいてゲーム処理を行う。
【0030】
第7の発明によれば、第2の操作ユニットの方向入力手段を用いて所定の一連の方向を入力することによって選択項目を切替えることができるので、切替え操作を容易に行うことができ、操作性がよい。また、第2の操作ユニットの方向入力手段の方向入力によって項目の切り替えや選択を行い、第1の操作ユニットの操作と選択された項目とに基づいてゲーム処理を実行するので、ユーザは、一方の操作ユニットで容易に項目を選択することができるとともに、他方の操作ユニットで当該選択された項目に応じたゲーム処理に対する操作を容易に行うことができる。
【0031】
第8の発明は、第1の操作ユニットは自身の動きを検出する動き検出手段を含み、第1の操作データは、動き検出手段によって検出された動きデータを含み、ゲーム処理手段は、選択手段によって選択された項目と動きデータとに基づいてゲーム処理を行う、第7の発明に従属するゲーム装置である。
【0032】
第8の発明では、第1の操作ユニットには動き検出手段(86、88)が設けられており、第1の操作データとして動きデータが入力される。ゲーム処理手段は、選択された項目と動きデータとに基づいてゲーム処理を行う。したがって、第2の操作ユニットの方向入力によって項目の切替えや選択を容易に行うことができるとともに、第1の操作ユニットを適宜に動かすことによってゲーム処理に対する操作を容易に行うことができる。
【0033】
第9の発明は、第1の操作ユニットは、動き検出手段として加速度センサを備え、ゲーム処理手段は、選択手段によって選択された項目と加速度センサによって取得された加速度データとに基づいて、ゲーム処理を行う、第8の発明に従属するゲーム装置である。
【0034】
第9の発明では、第1の操作ユニットには加速度センサ(86)が設けられており、第1の操作ユニットの動きが加速度によって取得される。ゲーム処理手段は、選択された項目と加速度データとに基づいてゲーム処理を行う。したがって、第2の操作ユニットの方向入力によって項目の切替えや選択を容易に行うことができるとともに、第1の操作ユニットの動きによってゲーム処理に対する操作を容易に行うことができる。
【0035】
第10の発明は、第1の操作ユニットは、動き検出手段として撮像装置を備え、ゲーム処理手段は、選択手段によって選択された項目と撮像装置によって取得された撮像対象の位置を示す撮像対象データとに基づいて、ゲーム処理を行う、第8の発明に従属するゲーム装置である。
【0036】
第10の発明では、第1の操作ユニットには撮像装置(88)が設けられる。撮像装置は、撮像対象(44m、44n)を撮像し、当該撮像対象の位置を示す撮像対象データを動きデータとして入力する。つまり、第1の操作ユニットの動きが撮像対象の位置によって取得される。ゲーム処理手段は、選択された項目と撮像対象データとに基づいて、ゲーム処理を行う。したがって、第2の操作ユニットの方向入力によって項目の切り替えや選択を容易に行うことができるとともに、第1の操作ユニットの動きによってゲーム処理に対する操作を容易に行うことができる。
【0037】
第11の発明は、所定の操作に応じた第1の操作データを入力する第1の操作ユニット、方向の入力操作が可能であって当該入力操作に応じた方向を示す方向データを入力する方向入力手段を少なくとも含む第2の操作ユニット、および複数の項目を示す項目データを記憶する記憶手段を備え、複数の項目からユーザに選択された項目に応じたゲーム処理を行うゲーム装置のコンピュータにおいて実行されるゲームプログラムである。ゲームプログラムは、取得ステップ、選択項目設定ステップ、選択ステップ、シーケンス入力判定ステップ、切替ステップ、およびゲーム処理ステップをコンピュータに実行させる。取得ステップは、第1の操作ユニットおよび第2の操作ユニットからの第1の操作データおよび方向データを取得する。選択項目設定ステップは、項目データのうち所定数の項目を所定の方向にそれぞれ対応付けられた選択項目として設定する。選択ステップは、方向入力手段からの方向データに対応する項目を選択項目から選択する。シーケンス入力判定ステップは、方向データの推移に基づいて所定の一連の方向入力操作が行われたか否かを判定する。切替ステップは、シーケンス入力判定ステップによって所定の一連の方向入力操作が行われたことが判定されたとき、選択項目のうち少なくとも1つの項目を項目データの他の項目に切替える。ゲーム処理ステップは、選択ステップによって選択された項目と第1の操作データとに基づいてゲーム処理を行う。
【0038】
第11の発明は、第7の発明のゲーム装置に対応するゲームプログラムであり、第7の発明と同様な効果を奏する。
【発明の効果】
【0039】
この発明によれば、所定の一連の方向入力操作に応じて選択項目が切替えられるので、方向入力による項目選択において、選択操作を容易に行うことができる。
【0040】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【発明を実施するための最良の形態】
【0041】
図1を参照して、この発明の一実施例である情報選択装置10はゲームシステムの形態で実現される。なお、情報選択装置10は、ゲームシステムに限られず、パーソナルコンピュータ、携帯電話機、携帯端末などの形態で実現されてもよい。
【0042】
情報選択装置すなわちゲームシステム10は、ゲーム装置12およびコントローラ14を含む。ゲーム装置12は据置型ゲーム装置である。コントローラ14は、ユーザないしプレイヤの入力装置ないし操作装置である。ゲーム装置12とコントローラ14とは無線によって接続される。無線通信は、たとえばBluetooth(登録商標)規格に従って実行されるが、無線LANなど他の規格に従って実行されてもよい。
【0043】
ゲーム装置12は、略直方体のハウジング16を含み、ハウジング16の前面にはディスクスロット18およびメモリカードスロットカバー20が設けられる。ディスクスロット18から、ゲームプログラムおよびデータを記憶した情報記憶媒体の一例である光ディスク22が挿入されて、ハウジング16内のディスクドライブ24(図2)に装着される。メモリカードスロットカバー20の内側にはメモリカードスロットが設けられており、外部メモリカード26(図2)が挿入される。メモリカード26は、光ディスク22から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム10を利用してプレイされたゲームのゲームデータ(結果データまたは途中データ)を保存(セーブ)しておいたりするために利用される。また、上記ゲームデータの保存は、外部メモリカード26に代えて、たとえばフラッシュメモリ等の内部メモリに対して行うようにしてもよい。
【0044】
ゲーム装置12のハウジング16の後面には、AVケーブルコネクタ(図示せず)が設けられ、当該コネクタを用いて、ゲーム装置12はAVケーブル28を介してモニタ(ディスプレイ)30に接続される。このモニタ30は典型的にはカラーテレビジョン受像機であり、AVケーブル28は、ゲーム装置12からの映像信号をカラーテレビのビデオ入力端子に入力し、音声信号を音声入力端子に入力する。したがって、カラーテレビ(モニタ)30の画面上にたとえば3Dビデオゲームのゲーム画像が表示され、内蔵されるスピーカ32からゲーム音楽や効果音などのステレオゲーム音声が出力される。
【0045】
ゲーム装置12の電源は、一般的なACアダプタ(図示せず)によって与えられる。ACアダプタは家庭用の標準的な壁ソケットに差し込まれ、家庭用電源を、ゲーム装置12を駆動するのに適した低いDC電圧信号に変換する。他の実施例では、電源としてバッテリが用いられてもよい。
【0046】
コントローラ14は、詳細は後述されるが、第1の操作ユニットおよび第2の操作ユニットとして、それぞれが片手で把持可能な第1コントローラ34および第2コントローラ36を含む。第2コントローラ36の後端から延びるケーブル38の先端にはコネクタ40が設けられており、当該コネクタ40は、第1コントローラ34の後端面に設けられるコネクタ42(図3、図5)に接続される。第2コントローラ36において取得される入力データは、ケーブル38を介して第1コントローラ34に与えられる。第1コントローラ34は、第1コントローラ34自身の入力データと第2コントローラ36の入力データとを含むコントローラデータをゲーム装置12に送信する。
【0047】
このゲームシステム10において、ゲーム(または他のアプリケーション)をプレイするために、ユーザはまずゲーム装置12の電源をオンし、次いで、ユーザはビデオゲーム(もしくは実行したいと思う他のアプリケーション)を記憶している適宜の光ディスク22を選択し、その光ディスク22をゲーム装置12のディスクスロット18からディスクドライブ24にローディングする。これに応じて、ゲーム装置12がその光ディスク22に記憶されているソフトウェアに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザはゲーム装置12に入力を与えるためにコントローラ14を操作する。
【0048】
また、モニタ30の周辺(この実施例では、表示面の上側)には、センサバー44が設けられ、このセンサバー44には、2つのLEDモジュール(以下、「マーカ(目印)」という。)44m,44nが所定の距離を隔てて設けられる。このセンサバー44を用いることで、後述されるように、コントローラ14(第1コントローラ34)は画面上の位置を指し示すポインティングデバイスとしても機能する。マーカ44m,44nは、赤外LEDであり、それぞれモニタ30の前方に向けて赤外光を出力する。センサバー44から延びるケーブル44aはゲーム装置12の後面のコネクタ(図示せず)に接続され、マーカ44m,44nにはゲーム装置12から電源が与えられる。
【0049】
図2はゲームシステム10の電気的な構成を示すブロック図である。ゲーム装置12はCPU46を含む。このCPU46は、ゲームプロセッサとして機能し、ゲーム装置12を全体的に制御するコンピュータである。CPU46には、バスを介してメモリコントローラ48が接続される。メモリコントローラ48は主として、CPU46の制御の下で、バスを介して接続されるメインメモリ50の書込みや読出しを制御する。このメモリコントローラ48にはGPU(Graphics Processing Unit) 52が接続される。
【0050】
GPU52は、描画手段の一部を形成し、たとえばシングルチップASICで構成され、メモリコントローラ48を介してCPU46からのグラフィクスコマンド(作画命令)を受け、そのコマンドに従って、ジオメトリユニット54およびレンダリングユニット56によって3Dのゲーム画像を生成する。つまり、ジオメトリユニット54は、3次元座標系の各種オブジェクトの回転,移動,変形等の座標演算処理を行う。オブジェクトは、複数のポリゴン(ポリゴンとは少なくとも3つの頂点座標によって定義される多角形平面をいう。)で構成されている。レンダリングユニット56は、各種オブジェクトの各ポリゴンにテクスチャ(模様画像)を貼り付ける処理などの画像生成処理を行う。したがって、GPU52によって、ゲーム画面上に表示すべき3Dの画像データが生成され、その画像データがフレームバッファ58内に記憶される。
【0051】
なお、GPU52が作画コマンドを実行するにあたって必要なデータ(プリミティブまたはポリゴンやテクスチャ等)は、GPU52がメモリコントローラ48を介してメインメモリ50から入手する。
【0052】
フレームバッファ58は、たとえばラスタスキャンモニタ30の1フレーム分の画像データを描画(蓄積)しておくためのメモリであり、GPU52によって1フレーム毎に書き換えられる。具体的には、フレームバッファ58は、1画素(ピクセル)毎に、画像の色情報を順序立てて記憶している。ここで、色情報は、R,G,B,Aについてのデータであり、たとえば、8ビットのR(赤)データ、8ビットのG(緑)データ、8ビットのB(青)データおよび8ビットのA(アルファ)データである。なお、Aデータは、マスク(マット画像)についてのデータである。後述のビデオI/F68がメモリコントローラ48を介してフレームバッファ58のデータを読み出すことによって、モニタ30の画面上にゲーム画像が表示される。
【0053】
また、Zバッファ60は、(フレームバッファ58に対応する画素数×1画素当たりの奥行きデータのビット数)に相当する記憶容量を有し、フレームバッファ58の各記憶位置に対応するドットの奥行き情報または奥行きデータ(Z値)を記憶する。
【0054】
なお、フレームバッファ58およびZバッファ60は、ともにメインメモリ50の一部を用いて構成されてもよく、また、これらはGPU52の内部に設けられてもよい。
【0055】
メモリコントローラ48はまた、DSP(Digital Signal Processor)62を介して、オーディオ用のRAM(以下、「ARAM」という。)64に接続される。したがって、メモリコントローラ48は、メインメモリ50だけでなく、サブメモリとしてのARAM64の書込みおよび/または読出しを制御する。
【0056】
DSP62は、サウンドプロセッサとして働き、メインメモリ50に記憶されたサウンドデータを用いたり、ARAM64に書き込まれた音波形(音色)データを用いたりして、ゲームに必要な音、音声或いは音楽に対応するオーディオデータを生成する。
【0057】
メモリコントローラ48は、バスを介してさらに各インタフェース(I/F)66,68,70,72および74に接続される。コントローラI/F66は、ゲーム装置12にBluetooth通信ユニット76を介して接続されるコントローラ14のためのインタフェースである。具体的に言うと、Bluetooth通信ユニット76は、本体側通信装置であり、コントローラ14側通信装置である無線モジュール78(図5)から送信されるコントローラデータ(入力データ)を受信する。コントローラI/F66は、Bluetooth通信ユニット76によって受信されたコントローラデータを、メモリコントローラ48を通してCPU46に与える。ビデオI/F68は、フレームバッファ58にアクセスし、GPU52によって生成された画像データを読み出して、画像信号または画像データ(ディジタルRGBAピクセル値)をAVケーブル28(図1)を介してモニタ30に与える。
【0058】
外部メモリI/F70は、ゲーム装置12の前面から挿入される外部メモリカード26をメモリコントローラ48に連係させる。それによって、メモリコントローラ48を介して、CPU46がこのメモリカード26にデータを書き込み、またはメモリカード26からデータを読み出すことができる。オーディオI/F72は、メモリコントローラ48を通してDSP62から与えられるオーディオデータまたは光ディスク22から読み出されたオーディオストリームを受け、それらに応じたオーディオ信号(音声信号)をモニタ30のスピーカ32に与える。
【0059】
ディスクI/F74は、ディスクドライブ24をメモリコントローラ48に接続し、したがって、CPU46がディスクドライブ24を制御する。このディスクドライブ24によって光ディスク22から読み出されたプログラムおよびデータが、CPU46の制御の下でメインメモリ50に書き込まれる。CPU46は、このプログラムに従ってゲームまたはアプリケーションのための処理を実行する。
【0060】
図3には第1コントローラ34の外観の一例が示される。図3(A)は、第1コントローラ34を上面後方から見た斜視図であり、図3(B)は、第1コントローラ34を下面前方から見た斜視図である。
【0061】
第1コントローラ34は、たとえばプラスチック成型によって形成されたハウジング80を有している。ハウジング80は、その前後方向(図3に示すZ軸方向)を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。一例として、ハウジング80は人間の掌とほぼ同じ長さまたは幅を持つ大きさをしている。プレイヤは、第1コントローラ34を用いて、それに設けられたボタンを押下することと、第1コントローラ34自体を動かしてその位置や向きを変えることとによって、ゲーム操作を行うことができる。
【0062】
ハウジング80には、複数の操作ボタン(操作キー)が設けられる。すなわち、ハウジング80の上面には、十字キー82a、1ボタン82b、2ボタン82c、Aボタン82d、−ボタン82e、メニューボタン82f、および+ボタン82gが設けられる。一方、ハウジング80の下面には凹部が形成されており、当該凹部の後方側傾斜面にはBボタン82hが設けられる。これら各ボタン(スイッチ)82a−82hには、ゲーム装置12が実行するゲームプログラムに応じてそれぞれ適宜な機能が割り当てられる。また、ハウジング80の上面には、遠隔からゲーム装置12本体の電源をオン/オフするための電源スイッチ82iが設けられる。第1コントローラ34に設けられる各ボタン(スイッチ)は、包括的に参照符号82を用いて示されることもある。
【0063】
また、ハウジング80の後面には、上述のコネクタ42が設けられている。コネクタ42は、たとえば32ピンのエッジコネクタであり、第1コントローラ34に他の機器を接続するために利用される。この実施例では、コネクタ42には第2コントローラ36のコネクタ40が接続される。また、ハウジング80上面の後端側には複数のLED84が設けられ、この複数のLED84によって当該コントローラ14のコントローラ番号(コントローラの識別番号)が示される。ゲーム装置12には、たとえば最大4つのコントローラ14が接続可能であり、ゲーム装置12に複数のコントローラ14が接続される場合には、各コントローラ14には、たとえば接続順にコントローラ番号が付与される。各LED84はコントローラ番号と対応付けられており、当該コントローラ番号に対応するLED84が点灯される。
【0064】
また、第1コントローラ34のハウジング80内には加速度センサ86(図5)が設けられている。加速度センサ86としては、典型的には静電容量式の加速度センサが用いられ得る。加速度センサ86は、当該加速度センサの検出部に加わっている加速度のうち、センシング軸ごとの直線成分の加速度や重力加速度を検出する。具体的には、この実施例では、3軸加速度センサが適用され、第1コントローラ34の上下方向(図3に示すY軸方向)、左右方向(図3に示すX軸方向)および前後方向(図3に示すZ軸方向)の3軸方向のそれぞれで加速度を検知する。
【0065】
なお、加速度センサ86としては、ハウジング80の形状または第1コントローラ34の持たせ方の限定等に応じて、上下方向、左右方向および前後方向のうちいずれか2方向の加速度を検出する2軸加速度センサが用いられてもよい。場合によっては1軸加速度センサが用いられてもよい。
【0066】
さらに、コントローラ22は、撮像情報演算部88(図5参照)を有している。図3(B)に示すように、ハウジング80の先端面には撮像情報演算部88の光入射口90が設けられ、光入射口90からはセンサバー44のマーカ44m、44nの発する赤外線が取り込まれる。
【0067】
図4には第2コントローラ36の外観の一例が示される。図4(A)は、第2コントローラ36を上面後方から見た斜視図であり、図4(B)は、第2コントローラ36を下面前方から見た斜視図である。なお、図4では、第2コントローラ36のケーブル38は省略されている。
【0068】
第2コントローラ36は、たとえばプラスチック成型によって形成されたハウジング92を有している。ハウジング92は、平面視では、前後方向(図4のZ軸方向)に略細長い楕円形状を有し、後端側の左右方向(図4のX軸方向)の幅が先端側のそれよりも狭くされている。また、ハウジング92は、側面視では、全体として湾曲した形状を有しており、先端側の水平部分から後端側に向かって下がるように湾曲している。ハウジング92は、第1コントローラ34と同様に、全体として大人や子供の片手で把持可能な大きさであるが、長手方向(Z軸方向)の長さは、第1コントローラ34のハウジング80よりもやや短くされている。この第2コントローラ36でも、プレイヤは、ボタンやスティックを操作することと、コントローラ自体を動かしてその位置や向きを変えることとによって、ゲーム操作を行うことができる。
【0069】
ハウジング92の上面の先端側には、アナログジョイスティック94aが設けられる。ハウジング92の先端には、後方にやや傾斜する先端面が設けられており、この先端面には、上下方向(図4に示すY軸方向)に並べて、Cボタン94bおよびZボタン94cが設けられる。アナログジョイスティック94aおよび各ボタン94b,94cには、ゲーム装置12が実行するゲームプログラムに応じてそれぞれ適宜な機能が割り当てられる。第2コントローラ36に設けられるアナログジョイスティック94aおよび各ボタン94b,94cは、包括的に参照符号94を用いて示されることもある。
【0070】
また、第2コントローラ36のハウジング92内には加速度センサ96(図5)が設けられている。この加速度センサ96としては、第1コントローラ34の加速度センサ86と同様の加速度センサが適用される。具体的には、この実施例では3軸加速度センサが適用され、第2コントローラ36の上下方向(図4に示すY軸方向)、左右方向(図4に示すX軸方向)および前後方向(図4に示すZ軸方向)の3軸方向のそれぞれで加速度を検知する。
【0071】
なお、図3に示した第1コントローラ34および図4に示した第2コントローラ36の形状や、ボタン(スイッチまたはスティック等)の形状、数および設置位置等は一例であり、他の形状、数および設置位置等に適宜変更され得る。
【0072】
また、コントローラ14の電源は、第1コントローラ34内に取替可能に収容されるバッテリ(図示せず)によって与えられる。第2コントローラ36には、コネクタ42、コネクタ40およびケーブル38を介してこの電源が供給される。
【0073】
図5には、第1コントローラ34と第2コントローラ36とが接続されたときのコントローラ14の電気的構成の一例が示される。
【0074】
第1コントローラ34は、その内部に通信部98を備え、通信部98には、操作部82、加速度センサ86、撮像情報演算部88およびコネクタ42が接続される。操作部82は、上述の操作ボタンないし操作スイッチ82a‐82iを示す。操作部82が操作されると、その操作信号(キー情報)が通信部98に与えられる。
【0075】
加速度センサ86が検出した加速度を示すデータは、通信部98へ出力される。加速度センサ86は、たとえば最大200フレーム/秒程度のサンプリング周期を有する。
【0076】
撮像情報演算部88が取得したデータもまた通信部98に出力される。撮像情報演算部88は、赤外線フィルタ100、レンズ102、撮像素子104および画像処理回路106によって構成される。赤外線フィルタ100は、第1コントローラ34の前方の光入射口90から入射する光から赤外線のみを通過させる。上述したように、モニタ30の表示面近傍(周辺)に配置されるセンサバー44のマーカ44mおよび44nは、モニタ30の前方に向かって赤外光を出力する赤外LEDである。したがって、赤外線フィルタ100を設けることによってマーカ44mおよび44nの画像をより正確に撮像することができる。レンズ102は、赤外線フィルタ100を透過した赤外線を集光して撮像素子104へ出射する。撮像素子104は、たとえばCMOSセンサあるいはCCDのような固体撮像素子であり、レンズ102によって集光された赤外線を撮像する。したがって、撮像素子104は、赤外線フィルタ100を通過した赤外線だけを撮像して画像データを生成する。以下では、撮像素子104によって撮像された画像を撮像画像と呼ぶ。撮像素子104によって生成された画像データは、画像処理回路106で処理される。画像処理回路106は、撮像画像内における撮像対象(マーカ44mおよび44n)の位置を算出し、所定時間(たとえば1フレーム)毎に、当該位置を示す各座標値を含むマーカ座標データを通信部98に出力する。なお、画像処理回路106における処理については後述する。
【0077】
コネクタ42には、第2コントローラ36から延びるケーブル38のコネクタ40が接続される。コネクタ40には、第2コントローラ36の操作部94および加速度センサ96が接続される。操作部94は、上述のアナログジョイスティック94aおよび操作ボタン94b、94cを示す。操作部94が操作されると、その操作信号がケーブル38、コネクタ40およびコネクタ42等を介して通信部98に与えられる。また、加速度センサ96も、加速度センサ86と同様のサンプリング周期を有しており、検出された加速度を示すデータを通信部98に与える。
【0078】
通信部98は、マイクロコンピュータ(マイコン)108、メモリ110、無線モジュール78およびアンテナ112を含む。マイコン108は、処理の際にメモリ110を記憶領域(作業領域やバッファ領域)として用いながら、無線モジュール78を制御して、取得したデータをゲーム装置12に送信したりゲーム装置12からのデータを受信したりする。
【0079】
第1コントローラ34の操作部82、加速度センサ86および撮像情報演算部88ならびに第2コントローラ36の操作部94および加速度センサ96からマイコン108へ出力されたデータは、一時的にメモリ110に格納される。通信部98からゲーム装置12のBluetooth通信ユニット76への無線送信は所定の周期毎に行われる。なお、ゲームの処理は1/60秒を単位として行われることが一般的であるので、第1コントローラ34からの送信はそれと同等かそれより短い周期で行うことが必要となる。マイコン108は、ゲーム装置12への送信タイミングが到来すると、メモリ110に格納されている操作部82および94の操作データ、加速度センサ86および96の加速度データならびに撮像情報演算部88のマーカ座標データを含むデータを、コントローラデータとして無線モジュール78へ出力する。無線モジュール78は、Bluetoothのような近距離無線通信技術を用いて、所定周波数の搬送波をコントローラデータで変調し、その微弱電波信号をアンテナ112から放射する。つまり、コントローラデータは、無線モジュール78で微弱電波信号に変調されて第1コントローラ34から送信される。微弱電波信号はゲーム装置12側のBluetooth通信ユニット76で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置12はコントローラデータを取得することができる。ゲーム装置12のCPU46は、コントローラ14から取得したコントローラデータに基づいてゲーム処理を行う。
【0080】
なお、加速度センサ86および96から出力される加速度の信号に基づいて、ゲーム装置12のプロセッサ(例えばCPU46)またはコントローラ14のプロセッサ(例えばマイコン108)などのコンピュータが処理を行うことによって、コントローラ14に関するさらなる情報を推測または算出(判定)することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサ86および96を搭載する第1コントローラ34および第2コントローラ36が静的な状態であることを前提としてコンピュータ側で処理する場合(すなわち、加速度センサ86および96によって検出される加速度が重力加速度のみであるとして処理する場合)、第1コントローラ34および第2コントローラ36が現実に静的な状態であれば、検出された加速度に基づいて第1コントローラ34および第2コントローラ36の姿勢が重力方向に対して傾いているか否か又はどの程度傾いているかをそれぞれ知ることができる。具体的には、加速度センサ86および96の検出軸が鉛直下方向を向いている状態を基準としたとき、1G(重力加速度)がかかっているか否かだけで、第1コントローラ34および第2コントローラ36がそれぞれ傾いているか否かを知ることができるし、その大きさによってどの程度傾いているかも知ることができる。また、多軸加速度センサが適用される場合には、さらに各軸の加速度の信号に対して処理を施すことによって、第1コントローラ34および第2コントローラ36がそれぞれ重力方向に対してどの程度傾いているかをより詳細に知ることができる。この場合において、加速度センサ86および96からの出力に基づいて、コンピュータが第1コントローラ34および第2コントローラ36の傾き角度のデータを算出する処理を行ってもよいが、当該傾き角度のデータを算出する処理を行うことなく、加速度センサ86および96からの出力に基づいて、おおよその傾き具合を推定するような処理としてもよい。このように、加速度センサ86および96をコンピュータと組み合わせて用いることによって、第1コントローラ34および第2コントローラ36の傾き、姿勢または位置を判定することができる。
【0081】
一方、加速度センサ86および96が動的な状態であることを前提とする場合には、重力加速度成分に加えて加速度センサ86および96の動きに応じた加速度を検出するので、重力加速度成分を所定の処理により除去すれば、動き方向などを知ることができる。具体的には、加速度センサ86および96を備える第1コントローラ34および第2コントローラ36がユーザの手で動的に加速されて動かされる場合に、加速度センサ86および96によって生成される加速度信号を上記コンピュータによって処理することによって、第1コントローラ34および第2コントローラ36のさまざまな動きおよび/または位置を算出することができる。なお、加速度センサ86および96が動的な状態であることを前提とする場合であっても、加速度センサ86および96の動きに応じた加速度を所定の処理により除去すれば、重力方向に対する傾きを知ることが可能である。他の実施例では、加速度センサ86および96は、信号をマイコン108に出力する前に内蔵の加速度検出手段から出力される加速度信号に対して所望の処理を行うための、組込み式の信号処理装置または他の種類の専用の処理装置を備えていてもよい。例えば、組込み式または専用の処理装置は、加速度センサ86および96が静的な加速度(例えば、重力加速度)を検出するためのものである場合、検知された加速度信号をそれに相当する傾斜角(あるいは、他の好ましいパラメータ)に変換するものであってもよい。
【0082】
このゲームシステム10では、ユーザがコントローラ14を動かすことによってゲームに対する操作または入力を行うことができる。ゲームをプレイする際には、たとえば図6に示すように、ユーザは、その右手で第1コントローラ34を持ち、その左手で第2コントローラ36を持つ。上述のように、この実施例では、第1コントローラ34には3軸方向の加速度を検出する加速度センサ86が内蔵され、第2コントローラ36にも同様の加速度センサ96が内蔵されている。第1コントローラ34および第2コントローラ36がそれぞれユーザによって動かされると、加速度センサ86および加速度センサ96によって、それぞれのコントローラ自身の動きを示す加速度値が検出される。ゲーム装置12では、当該検出された加速度値に応じてゲーム処理が実行され得る。
【0083】
また、第1コントローラ34には撮像情報演算部88が設けられるので、ユーザは第1コントローラ34をポインティングデバイスとして使用して操作を行うことができる。この場合、ユーザは、第1コントローラ34の先端面(光入射口90)がマーカ44mおよび44nの方を向く状態で第1コントローラ34を把持する。ただし、図1から分かるように、マーカ44mおよび44nは、モニタ30の画面の所定の1辺(上辺または下辺)の近傍に、当該所定の1辺に対して平行に配置されている。この状態で、ユーザは、第1コントローラ34自体を動かして、第1コントローラ34が指示する画面上の位置を変更したり、第1コントローラ34と各マーカ44mおよび44nとの距離を変更したりすることによって、ゲーム操作を行うことができる。
【0084】
図7は、マーカ44mおよび44nと第1コントローラ34の視野角を説明するための図である。図7に示すように、マーカ44mおよび44nは、それぞれ、視野角αの範囲で赤外光を放射する。また、撮像情報演算部88の撮像素子104は、第1コントローラ34の視線方向(図3に示すZ軸方向)を中心とした視野角βの範囲で入射する光を受光することができる。たとえば、マーカ44mおよび44nの視野角αは、共に34°(半値角)であり、一方、撮像素子104の視野角βは42°である。ユーザは、撮像素子104が2つのマーカ44mおよび44nからの赤外光を受光することが可能な位置および向きとなるように、第1コントローラ34を把持する。具体的には、撮像素子104の視野角βの中に少なくとも一方のマーカ44mまたは44nが存在し、かつ、マーカ44mおよび44nの少なくとも一方の視野角αの中に第1コントローラ34が存在する状態となるように、ユーザは第1コントローラ34を把持する。この状態にあるとき、第1コントローラ34は、マーカ44mおよび44nの少なくとも一方を検知することができる。ユーザは、この状態を満たす範囲で第1コントローラ34の位置および向きを変化させることによってゲーム操作を行うことができる。なお、マーカ44mおよび44nのいずれか一方のみが検出される場合には、たとえば、直前の2つのマーカ44mおよび44nを検出したデータを利用して、検出されない他方のマーカの代わりに仮のマーカ座標を設定することによって、第1コントローラ34の指示位置を算出することができる。
【0085】
なお、第1コントローラ34の位置および向きがこの範囲外となった場合、第1コントローラ34の位置および向きに基づいたゲーム操作を行うことができなくなる。したがって、上記範囲は「操作可能範囲」と呼ばれる。
【0086】
操作可能範囲内で第1コントローラ34が把持される場合、撮像情報演算部88によってマーカ44mおよび44nの画像が撮像される。すなわち、撮像素子104によって得られる撮像画像には、撮像対象であるマーカ44mおよび44nの画像(対象画像)が含まれる。図8は、対象画像を含む撮像画像の一例を示す図である。対象画像44m’および44n’を含む撮像画像の画像データを用いて、画像処理回路106は、各マーカ44mおよび44nの撮像画像における位置を表す座標(マーカ座標)を算出する。
【0087】
撮像画像の画像データにおいて対象画像44m’および44n’は高輝度部分として現れるため、画像処理回路106は、まず、この高輝度部分を対象画像の候補として検出する。次に、画像処理回路106は、検出された高輝度部分の大きさに基づいて、その高輝度部分が対象画像であるか否かを判定する。撮像画像には、2つの対象画像(マーカ画像)44m’および44n’だけではなく、窓からの太陽光や部屋の蛍光灯の光等のような他の画像が含まれていることがある。高輝度部分が対象画像であるか否かの判定処理は、マーカ44mおよび44nの画像44m’および44n’と、それ以外の画像とを区別し、対象画像を正確に検出するために実行される。撮像画像における対象画像44m’および44n’と他の画像との区別のために、撮像対象44mおよび44nは既知のものである必要があり、この実施例ではその大きさが予め決められるので、マーカ画像44m’および44n’の大きさを予測することができる。したがって、高輝度部分の大きさに基づいて、マーカ画像44m’および44n’の判定を行うことができる。具体的には、当該判定処理においては、検出された高輝度部分が、予め定められた所定範囲内の大きさであるか否かが判定される。そして、高輝度部分が所定範囲内の大きさである場合には、当該高輝度部分は対象画像を表すと判定される。逆に、高輝度部分が所定範囲内の大きさでない場合には、当該高輝度部分は対象画像以外の画像を表すと判定される。
【0088】
さらに、上記の判定処理の結果、対象画像を表すと判定された高輝度部分について、画像処理回路106は当該高輝度部分の位置を算出する。具体的には、当該高輝度部分の重心位置を算出する。ここでは、当該重心位置の座標をマーカ座標と呼ぶ。また、重心位置は撮像素子104の解像度よりも詳細なスケールで算出することが可能である。ここでは、撮像素子104によって撮像された撮像画像の解像度が126×96であるとし、重心位置は1024×768のスケールで算出されるものとする。つまり、マーカ座標は、(0,0)から(1024,768)までの整数値で表現される。
【0089】
なお、図8に示すように、撮像画像における位置は、撮像画像の左上を原点Oとし、下向きをY軸正方向とし、右向きをX軸正方向とする座標系(撮像画像のXY座標系)で表現されるものとする。
【0090】
また、対象画像44m’および44n’が正しく検出される場合には、判定処理によって2つの高輝度部分が対象画像として判定されるので、2箇所のマーカ座標が算出される。画像処理回路106は、算出された2箇所のマーカ座標を示すデータ、つまり、撮像対象の位置を示す撮像対象データを通信部98に出力する。出力された撮像対象データ(マーカ座標データ)は、上述したように、マイコン108によってコントローラデータに含められて、ゲーム装置12に送信される。
【0091】
ゲーム装置12(CPU46)は、受信したコントローラデータからマーカ座標データを取得すると、このマーカ座標データに基づいて、モニタ30の画面上における第1コントローラ34の指示位置(指示座標)と、第1コントローラ34からマーカ44mおよび44nまでの各距離とを算出することができる。たとえば、第1コントローラ34がモニタ30の画面の左端を指示するとき、対象画像44m’および44n’は撮像画像の右側に検出され、第1コントローラ34が画面の下端を指示するとき、対象画像44m’および44n’は撮像画像の上側に検出され、つまり、画面上の第1コントローラ34の指示位置と逆側に撮像画像上のマーカ座標が検出される。したがって、第1コントローラ34の指示位置の座標をマーカ座標から算出する際には、座標系が図8の撮像画像の座標系から画面上の位置を表すための座標系に適宜に変換される。
【0092】
なお、この実施例では、第1コントローラ34で撮像データに所定の演算処理を行ってマーカ座標を検出して、そのマーカ座標データをゲーム装置12に送信するようにしている。しかし、他の実施例では、撮像データをコントローラデータとして第1コントローラ34からゲーム装置12に送信し、ゲーム装置12のCPU46が撮像データに所定の演算処理を行って、マーカ座標および指示位置の座標を検出するようにしてもよい。
【0093】
また、撮像画像における対象画像間の距離は、第1コントローラ34と、マーカ44mおよび44nとの距離に応じて変化する。マーカ44mおよび44n間の距離、撮像画像の幅、撮像素子104の視野角βが予め決まっているので、2つのマーカ座標間の距離を算出することによって、ゲーム装置12は第1コントローラ34とマーカ44mおよび44nとの間の現在の距離を算出することができる。
【0094】
ゲームシステム10では、複数の項目から任意の項目をユーザに選択させ、当該選択が決定された項目を処理する、情報選択処理が実行される。この実施例では、文字入力処理における文字選択にこの発明が適用された場合を説明する。
【0095】
図9には、文字入力を行う際に表示される文字入力画面の一例が示される。画面上には、入力すべき文字を選択するためのリスト120と、入力された文字を表示する入力欄122が設けられている。リスト120では、選択項目としての複数の文字がリング状に配列される。より詳細には、複数の文字は円形状に配置されてもよいし、多角形状に配置されてもよい。または半円状などの円弧状に配置されてもよい。
【0096】
この実施例では、16個の文字の位置は八角形の頂点および辺の中点に相当する。図9では、アルファベットa−pが時計回りで順に配置される。項目の選択は、アナログジョイスティック94aを用いた方向指示によって行われる。そのため、この実施例では、選択項目の配列形状は、アナログジョイスティック94aのガイド92aの形状によって決められている。図10から分かるように、第2コントローラ36のハウジング92には八角形のガイド92aが形成されており、このガイド92aによってアナログジョイスティック94aの傾倒される方向および量などの動きが制限される。特に、アナログジョイスティック94aはガイド92aの角の位置で当該角を形成する2辺によって安定的に係止されるので、角に対応する方向の入力が行い易い。したがって、この実施例の選択項目はガイド形状に合わせて八角形の角と辺の中央とに対応する位置に配置されている。
【0097】
また、リスト120では、アナログジョイスティック94aの操作方向に対応する項目上の位置に移動されるカーソル124が表示される。アナログジョイスティック94aがニュートラルポジションにある、つまり、操作されていないときには、カーソル124は表示されないようにしてよい。また、リスト120の中央には現在選択されている項目を示す表示欄126が設けられている。表示欄126はたとえば括弧と下線によって表現されており、図9では文字「b」が選択中であるのでbが表示されているが、項目が選択されていない場合には空白になる。なお、図9では分り易くするためにリスト120は画面の中央に大きく示されるが、リスト120のサイズや位置は任意である。他にメインとなる画像が存在する場合などには、当該メインとなる画像が画面中央に表示されて、リスト120が画面の端部に小さいサイズで表示されてよい。
【0098】
アナログジョイスティック94aが操作されると、当該アナログジョイスティック94aによる入力方向に対応する項目が選択される。カーソル124はアナログジョイスティック94aの操作方向に対応する項目上に移動される。たとえば図11に示すように、アナログジョイスティック94aが上方向に倒されたときには、カーソル124は上方向に対応する文字「a」の位置に移動されるとともに、リスト120の中央の表示欄126には、現在選択されている文字「a」が表示される。このように、この実施例では、アナログジョイスティック94aを用いた方向入力という簡単な操作によって、当該入力方向に対応する位置の項目を選択することができる。なお、アナログジョイスティック94aは、操作されていない(無操作状態)ときに項目の選択のためのいずれの方向の入力も行わないものとしてよい。この実施例では、無操作状態のとき、項目は選択されず、カーソル124が表示されないようにしている。
【0099】
このような操作方向に応じた項目の選択においては、方向と項目との対応付けの数に限度がある。文字入力のように多くの項目が存在する場合、すべての項目を同時に選択の候補(選択項目)とするのは困難である。この実施例では、ガイド92aの八角形の頂点と辺上に対応させて項目を配置するので、一度に選択候補として採用できる項目数は16個以下であり、アルファベット入力の場合、図9のように最初はa−pだけが選択可能になる。したがって、複数の項目のうちの一部である所定数以下の項目のみを選択候補として採用し、その後、選択候補を変更していく必要がある。たとえば、複数の項目を幾つかのページに分けて選択候補に採用し、ページを切替えるといった構成が必要である。この実施例では、シーケンス入力と呼ぶ特定の連続的な方向入力操作があったときに、項目の切り替えが行われるようにし、これによって方向入力に応じた項目選択の操作性を向上させるようにした。なお、ガイド92aの形状は、八角形以外の多角形であってもよく、いずれの多角形形状であっても項目を多角形の頂点と辺上に対応させて配置することができる。ここで、角を複数有する形状であれば、厳密な多角形でなくともガイドの効果を奏するので、たとえば曲線を含むような形状であってもよい。また、辺上には対応させず、頂点のみに対応させるようにして、代わりにページ数を多くするようにしてもよい。
【0100】
以降、方向の変化を伴う所定の一連の方向入力のことをシーケンス入力と呼ぶこととする。当該シーケンス入力は、通常の文字入力の操作において、誤って行われることの少ないパターンによる一連の方向入力が好ましい。図12にシーケンス入力による項目切替えの一例が示される。この実施例のシーケンス入力の成立条件は、入力方向が同一方向回りに一回転することである。つまり、アナログジョイスティック94aが連続的に同一方向回りに一回転されたとき、シーケンス入力が成立したことが判定され、項目の切り替えが行われる。具体的には、アナログジョイスティック94aが右回りに一回転されると、ページ送りが実行される。図12では、a−pの選択項目がq−zの選択項目に切替えられる。また、アナログジョイスティック94aが左回りに一回転されると、ページ戻しが実行される。図12では、q−zの選択項目がa−pの選択項目に切替えられる。
【0101】
なお、図12では、上方向の項目(aまたはq)から開始される一回転が示されるが、回転の開始位置は任意である。つまり、最初の入力方向に関わらず、1回転したことが判定されてよい。例えば、選択項目に割り当てられる方向d1、d2、d3、・・・、dn−1、dnがこの順番に右回りまたは左回りに円形に配置されるときに、方向d1→方向d2→方向d3→・・・→方向dn−1→方向dn(→方向d1)となる一連の入力操作だけでなく、方向d2→方向d3→・・・→方向dn−1→方向dn→方向d1(→方向d2)となる一連の入力操作や、方向d3→・・・→方向dn−1→方向dn→方向d1→方向d2(→方向d3)となるような一例の入力操作などがあったときに、項目が切り替えられてもよい。
【0102】
このように、項目を選択するための操作と同じく、方向入力操作に基づいたシーケンス入力によって、項目の切り替えを行うようにしたので、項目選択を容易に行うことができる。また、一回転によるシーケンス入力は、文字の入力と誤って発生してしまうことが少ないため、ページの切り替えという文字入力と別の操作を行うのに適している。
【0103】
図13にはメモリマップの一例が示される。メモリマップはプログラム記憶領域200およびデータ記憶領域202を含む。プログラムとデータの一部とは、光ディスク22から一度に全部または必要に応じて部分的に、かつ順次的に読み出され、メインメモリ50に記憶される。なお、図13にはメモリマップの一部のみが示されており、処理に必要な他のプログラムおよびデータも記憶される。たとえば、音声、効果音、音楽などの音を出力するためのサウンドデータや画面を生成するための画像データなどが光ディスク22から読み出されてデータ記憶領域202に記憶される。なお、本実施例においては、プログラムとデータの一部は光ディスク22から読み出されるが、別の実施例においては、たとえばゲーム装置12にフラッシュメモリ等の不揮発的な記憶媒体を内蔵させ、当該記憶媒体に予め記憶したプログラムやデータを読み出してメインメモリ50に記憶するようにしてもよい。その際さらに、ゲーム装置12に無線または有線の通信モジュールを設け、ネットワーク経由でダウンロードしたプログラムを当該記憶媒体に記憶しておくようにしてもよい。
【0104】
プログラム記憶領域200の記憶領域204には項目設定プログラムが記憶される。このプログラムは複数の項目から選択項目を設定するためのプログラムである。アナログジョイスティック94aの入力方向に応じた項目の選択を行うために、選択項目は入力方向に対応付けられる必要がある。このため、この実施例では、アナログジョイスティック94aの入力値に予め対応付けられた領域を設けておき、この領域と項目との対応付けを行うことによって、項目と入力方向とが対応付けられる。この領域をセルと呼ぶこととする。
【0105】
この実施例においては、図14に示すように、アナログジョイスティック94aの入力値による座標平面内において、八角形を16分割した領域と、当該八角形の中央付近の領域との計17個の領域としてセル0−16が設けられている。セル1−16には上述の選択項目(たとえば上述のa−p等)が関連付けられる。なお、中央のセル0は、方向入力がほとんど無い場合(アナログジョイスティック94aがほとんど操作されていない場合、つまり、無操作状態)に対応付けられており、このセル0には選択項目は関連付けられず、何も選択されていない状態に対応する。
【0106】
セルに関連付けられてリスト120に設定すべき項目は、項目データ220から選出される。図15には項目データの一部が示される。項目データは複数の項目を含み、それぞれの項目は例えば配列(i[1],i[2],…)として記憶されている。図15の例では、i[1]からi[26]にはアルファベットaからzが登録される。i[27]からi[32]はブランクである。i[33]からi[48]には各種記号が登録される。i[49]からi[64]には数字に関する項目が登録される。その他、アルファベットの大文字AからZや、仮名等を登録しておいてもよい。また、項目データは、文字だけでなく、所定の文字列を設定してもよい。本実施例では、i[56]、i[58]、i[60]およびi[65]からi[80]に[]で表している部分に、図15の下段で文字列データとして示したような複数の文字からなる文字列が登録されている。アドレスの一部やドメイン名のような、よく使われる文字列を項目として登録しておくことによって、一度の入力で文字列の入力が可能となり、文字入力の効率性を向上できる。
【0107】
項目データから所定数の項目が選出され、セル1−16に対応付けられる。図16に示すように、セルの識別情報を示すセルIDと項目の識別情報を示す項目ID(区別のため、i[1],i[2],…を示すIDをi1,i2,…と表すこととする)との対応関係を示す選択項目リストデータが生成される。たとえば図9に示すリスト120の場合、アルファベットa−p(文字ID:i1−i16)が選択項目としてセル1−16(セルID:c1−c16)に設定される。
【0108】
図13の記憶領域206には操作方向検出プログラムが記憶される。このプログラムは、ユーザの操作方向(入力方向)を検出するためのプログラムである。この実施例では、ユーザの入力しようとしている項目は、アナログジョイスティック94aの倒される方向によって指示される。したがって、項目の特定のために、アナログジョイスティック94aの入力(操作信号)に基づいて、ユーザの入力方向を検出する。図17に示すように、アナログジョイスティック94aの左右方向にX軸、上下方向にY軸を定義するとき、コントローラデータには、アナログジョイスティック94aのX方向およびY方向の傾き量(X,Y)が含まれている。なお、ニュートラルポジション(傾きなし)のときの出力を(0,0)とする。このアナログジョイスティック94aの入力(X,Y)をXY平面にプロットしたとき、(0,0)と(X,Y)とを結ぶ線と基準方向(たとえばX軸)とのなす角θは、アナログジョイスティック94aの傾き方向、すなわち、ユーザの入力方向を示す。このように、アナログジョイスティック94aの操作信号(X,Y)は、入力操作に応じた方向を示す方向データに相当する。
【0109】
図13の記憶領域208にはセル選択プログラムが記憶される。このプログラムは、ユーザの入力方向に対応するセルを選択するためのプログラムである。図17に示すように、セル1−16(セルID:c1−c16)には、アナログジョイスティック94aの入力方向の受け付け範囲が均等に割り当てられている。図18に示すように、各セルと受け付け角度範囲とを対応付けたセル角度データが予め記憶されているので、このセル角度データを参照して、アナログジョイスティック94aの入力(X,Y)によって算出される角度θが含まれる受け付け角度範囲を特定することによって、ユーザの入力方向に対応するセルを特定することができる。なお、アナログジョイスティック94aの入力(X,Y)の大きさが閾値を超えない場合には、方向入力操作が行われていないものとみなして、セル0が選択される。上述の処理によって、アナログジョイスティック94aの入力が、17個のセルのいずれに含まれるかを特定することができる。なお、上述の処理ではアナログジョイスティック94aの入力(X,Y)からθを算出し、当該算出されたθがどの範囲に属するかに基づいて、ユーザの入力方向に対応するセルを特定するが、それ以外の処理によってセルの特定を行ってもよい。たとえば、θの算出を行わずに、図17のXY平面において各セルの領域を定義し、アナログジョイスティック94aの入力(X,Y)がどの領域に含まれるかに基づいて、ユーザの入力方向に対応するセルを特定してもよい。
【0110】
図13の記憶領域210には項目選択プログラムが記憶される。このプログラムは、ユーザの入力方向に対応する項目を選択するためのプログラムである。上述のセル選択プログラムによって、入力方向に対応するセルが特定されるので、当該セルに対応付けられている項目を、図16に示す選択項目リストデータを参照して特定する。また、この実施例では、第1コントローラ34で所定の操作が行われることによって、方向入力で選択されている項目の入力が決定される。したがって、所定の操作データが入力されたときに、選択されている項目が特定されて出力される。
【0111】
記憶領域212には、シーケンス判定プログラムが記憶される。このプログラムは、入力方向の推移に基づいてシーケンス入力が行われたか否かを判定するためのプログラムである。シーケンス入力は、この実施例では、図12に示すように同一方向回りの一回転であるから、入力方向が同一方向回りに一回転したか否かが判定される。また、回転の方向に応じて、切替え方向(ページ送りか戻しか)が異なるので、回転の方向も判定される。このシーケンス判定プログラムは、選択されたセルの推移によって判定を行ってもよいし、アナログジョイスティック94aの入力(X,Y)または角度θ等の推移から直接判定するようにしてもよい。
【0112】
なお、シーケンス入力判定では、現在の全選択項目に対応する全方向が、アナログジョイスティック94aにより順番に入力されたことを判定してもよい。すなわち、例えば、現在の選択項目が項目データi1〜inとするときに、i1に対応する方向d1が入力された後、i2に対応する方向d2が入力され、その後、i3に対応する方向d3が入力され、・・・、その後、in−1に対応する方向dn−1が入力された後、inに対応する方向dnが入力されたことを判定してもよい。この場合、方向d1の入力→方向d2の入力→方向d3の入力→・・・→方向dn−1の入力→方向dnの入力が連続的に(すなわち、他の方向の入力が間に入ることなく)入力されたことを判定することが好ましい。特に、アナログジョイスティック94aが無操作状態においていずれの方向も入力しないものである場合、無操作状態が間に入ることなく連続入力されることを判定してもよいが、無操作状態は間に入ることを許容してもよい。
【0113】
または、シーケンス入力判定では、現在の全選択項目に対応する全方向が、アナログジョイスティック94aにより順番に入力された後、さらに、いずれかの方向が入力されたことを判定してもよい。典型的には、全方向が順番に入力された後、最初に入力した方向がさらに入力されたことを判定してもよく、典型的には、前述の例において、方向d1の入力→方向d2の入力→方向d3の入力→…→方向dn−1の入力→方向dn→方向d1の入力となったことを判定してもよい。後述されるこの実施例の処理フロー(図23)では、この判定が行われ、つまり、現在のセルがシーケンス入力の開始セルに到達したか否かが判定される。
【0114】
なお、例えば、方向d1の入力→方向d2の入力→方向d3の入力→…→方向dn−1の入力→方向dnを判定する場合、途中の入力を或る程度飛ばすことを許容してもよい。たとえば方向d1の入力→方向d3の入力→…→方向dn−1の入力→方向dnとなったときに、肯定判定をするようにしてもよい。
【0115】
記憶領域214には項目切替プログラムが記憶される。このプログラムは、シーケンス入力に応じて選択項目の切替えを行うためのプログラムである。切替え方法は予め決められている。この実施例では、図19に示すように、複数の項目が所定数ごとにページに割り当てられている。シーケンス入力に応じてページごとの切替えが行われて全ての選択項目が他の項目に置き換えられる。第1および第2ページは、図12に示したようにアルファベットのリストである。第3−5ページは、図20に示すように、記号のリスト、数字のリスト、ドメイン名のリストとなっている。第4ページにおいては、複数の数字からなる文字列を、表示上記号で置き換え、当該記号に対応する文字列を別途表示させることで、表示が煩雑にならないようにしている。この切替え方法に従って、図15に示す項目データから必要な項目のデータが読み出されて、図16に示す選択項目リストデータが更新される。この際、選択項目リストデータを生成するにあたっては、図15の配列の順番にしたがった順番で、各項目が配置されるのが好ましい。つまり、この実施例のように項目データを所定順番で配列してプログラムに記憶する場合には、当該配列の順番に基づいて、項目データと方向とを対応付けるのが好ましい。典型的には、項目データが当該配列の順番に、右回り、または、左回りになるように、項目データと方向(セル)とを対応付けてもよい。
【0116】
なお、上述のように、項目データが所定順番で配列されてプログラムに記憶される場合、項目切替えにおいては、少なくとも、(a)現在の選択項目のうち最も前に配列された項目を選択項目から削除し、現在の選択項目の次に配列された項目を選択項目に追加するか、または、(b)現在の選択項目のうち最も後に配列された項目を選択項目から削除し、現在の選択項目より前に配列された項目を選択項目に追加するのが望ましい。また、項目の入替においては、典型的には、この実施例のように、図12のような全項目の入替が行われる。つまり、選択項目数をn個としたときに、(c)現在の選択項目のすべてを削除し、現在の選択項目の次に配列されたn個の項目を新たに選択項目とし、または、(d)現在の選択項目のすべてを削除し、現在の選択項目より前に配列されたn個の項目を新たに選択項目とする。また、シーケンス入力判定において、第1の一連入力操作(この実施例では右回り一回転)とそれと異なる第2の一連入力操作(この実施例では左回り一回転)を判定し、第1の一連入力操作がおこなわれたことが判定されたときには、たとえば、上記(a)(または(c))の処理を実行し、第2の一連入力操作がおこなわれたときには、上記(b)(または(d))の処理を実行するようにしてよい。
【0117】
また、この実施例のように、現在の選択項目の全てを他の項目に入れ替える場合、選択項目数をn個として、n個の選択項目を1つのグループにして、当該グループ単位で所定順番に配列してプログラムに記憶しておくようにしてよい。そして、項目切替においては、現在のグループの次に配列されたグループを選択し、または、現在のグループの前に配列されたグループを選択するようにしてもよい。
【0118】
記憶領域216には表示プログラムが記憶されている。このプログラムによって、選択項目を示すリスト120を含む画面の画像データが生成され、その画面がモニタ30に表示される。
【0119】
データ記憶領域202の記憶領域218は、コントローラデータバッファであり、Bluetooth通信ユニット76を介して受信したコントローラ14からのコントローラデータが記憶される。記憶領域220には、図15に示すような複数の項目を示す項目データが記憶される。項目データは光ディスク22に予め記憶されている。記憶領域222には、図16に示すようなセルと項目との対応付けを示す選択項目リストデータが記憶される。選択項目リストデータは項目設定プログラムによって生成され、項目切替プログラムによって更新される。
【0120】
記憶領域224にはセル選択フラグが記憶される。セル選択フラグは、セル0以外のセルの選択(方向入力)が行われているか否かを示すフラグである。アナログジョイスティック94aの入力の大きさ(すなわちアナログジョイスティック94aの傾き量)が所定の閾値以上であり、方向入力が行われていると判定されるとき、このセル選択フラグはオンにされる。
【0121】
記憶領域226には図18に示すようなセルの受け付け範囲を示すセル角度データが記憶される。セル角度データは光ディスク22に予め記憶されている。ただし、セル角度データ自体を光ディスク22に記憶しなくとも、たとえば必要な項目数等に応じてプログラムの処理で算出し、記憶するようにしてもよい。
【0122】
記憶領域228には、選択セルを示す情報が記憶される。この情報には、現フレームで選択されているセル(セルID)を示す現在のセルと、前フレームで選択されていたセル(セルID)を示す前回のセルとが含まれる。
【0123】
記憶領域230にはカーソル位置が記憶される。リスト120におけるカーソル124の位置情報が記憶される。カーソル124の位置は、セル1−16のそれぞれに対して予め定められて記憶されている。この記憶領域230には、現在選択されているセルに対応する位置が記憶される。
【0124】
記憶領域232には開始セルが記憶される。開始セルはシーケンス入力が開始されたときに選択されたセル(セルID)を示す。記憶領域234にはシーケンス開始フラグが記憶される。シーケンス開始フラグはシーケンス入力が開始されたときにオンにされる。記憶領域236には直後フラグが記憶される。直後フラグは、シーケンス入力が開始された直後のフレームであるか否かを判定するために設けられている。当該直後のフレームでシーケンス入力の回転方向の検出を行う必要があるためである。記憶領域238には回転方向フラグが記憶される。回転方向フラグはシーケンス入力の回転方向(右または左)を示す。記憶領域240にはシーケンス確定フラグが記憶される。シーケンス確定フラグはシーケンス入力が成立したことが判定されたときにオンにされる。
【0125】
記憶領域242には文字入力履歴が記憶される。この実施例では、アナログジョイスティック94aの方向入力によってセル1−16が選択されている状態で、第1コントローラ34で所定の操作が行われることによって、選択されているセルに対応する項目(文字)の入力が決定され、当該文字を入力することができる。この記憶領域242には、第1コントローラ34のコントローラデータに基づいて所定の操作が検出されたときに、方向入力で選択されているセルに対応する文字(文字ID)が記憶される。
【0126】
記憶領域244には確定入力が記憶される。この実施例では、アナログジョイスティック94aで方向入力が行われていない状態で、第1コントローラ34で所定の操作が行われることによって、文字入力が確定される。したがって、セル1−16が選択されていない状態で第1コントローラ34のコントローラデータに基づいて所定の操作が検出されたときに、この記憶領域244に、記憶領域242の文字入力履歴が確定入力として記憶される。
【0127】
図21および図22には文字入力処理におけるCPU46の動作の一例が示される。文字入力処理を開始すると、まずステップS1で、CPU46は項目設定プログラムに従ってリスト120に載せる文字の設定を実行する。具体的には、項目データから所定数の文字が選出されてセル1−16に割り当てられ、選択項目リストデータ(図16)が生成される。この実施例では、図19に示したように、複数の項目(文字)のうちの所定数が所定のページに割り当てられており、また、ステップS1はリスト120の初期設定であるから、第1ページの選択項目がセル1−16に対応付けられる。
【0128】
次に、ステップS3で、CPU46は表示プログラムに従って画面を表示または更新する。具体的には、CPU46は、GPU52を用いて図9に示すようなリスト120を含む画面の画像データを生成し、当該画面をモニタ30に表示する。選択項目リストデータを参照して、図9のようにセル1−16の位置関係に対応するような配置で各項目が表示される。カーソル124はカーソル位置に表示される。記憶領域228の現在のセルがセル0ではない場合、表示欄126には現在のセルに対応する項目が表示される。また、記憶領域242に文字入力履歴が記憶されている場合には、入力欄122に入力された文字の履歴が表示される。
【0129】
続いて、ステップS5で、CPU46は記憶領域218からコントローラデータを取得する。コントローラデータは、第2コントローラ36の操作部94の操作データ、第1コントローラ34の操作部82の操作データ、加速度センサ86および96の加速度データ、撮像情報演算部88の撮像対象データ等を含む。したがって、アナログジョイスティック94aの方向データや、Aボタン82dおよびBボタン82hの操作データ等が取得され得る。
【0130】
ステップS7では、CPU46は、操作方向検出プログラムに従って、アナログジョイスティック94aの傾き量と傾き方向をその操作信号から算出する。アナログジョイスティック94aの操作信号(X,Y)は、X方向およびY方向(図17)の傾き量を示す。したがって、(X,Y)の大きさを算出することによってアナログジョイスティック94a全体としての傾き量が得られる。また、(X,Y)の角度θ(図17)を算出することによって、アナログジョイスティック94aの傾き方向すなわち入力方向が得られる。
【0131】
そして、ステップS9で、CPU46は傾き量が所定の閾値以上であるか否かを判断する。この閾値判定によって不明確な入力を排除し、アナログジョイスティック94aで方向入力が行われたか否かを明確に判断できる。
【0132】
ステップS9で“NO”の場合には、つまり、セル0が選択されていて方向入力が行われていないと判断される場合には、CPU46はステップS11で記憶領域224のセル選択フラグをオフにする。また、ステップS13で、CPU46はセル0を現在のセルとして選択セル記憶領域228に記憶する。ステップS13を終了すると、処理はステップS21へ進む。
【0133】
一方、ステップS9で“YES”の場合、つまり、方向入力が行われている場合には、CPU46はステップS17で記憶領域224のセル選択フラグをオンにする。また、ステップS19で、CPU46は、セル選択プログラムに従って、セル角度データ(図18)に基づいて傾き方向に対応するセルを特定し、当該セルを現在のセルとして選択セル記憶領域228に記憶する。
【0134】
次に、ステップS21で、CPU46は記憶領域230のカーソル位置を現在のセルに対応する位置に更新する。このとき、セル0が選択されている状態のときには、カーソル位置がセル0となるが、この場合はカーソル124の表示は行われないこととなる。
【0135】
続いて、ステップS23で、CPU46はシーケンス判定プログラムに従ってシーケンス判定処理を実行する。シーケンス判定処理の動作は図23に詳細に示される。
【0136】
図23の最初のステップS61で、CPU46は記憶領域228を参照して現在のセルが前回のセルと同じであるか否かを判断する。なお、前回のセルの初期値はセル0とする。同じセルが選択され続けているときには、ステップS61では“YES”と判断され、処理は図21のステップS25に戻る。
【0137】
ステップS61で“NO”の場合、CPU46は、ステップS63で記憶領域234のシーケンス開始フラグがオンであるか否かを判断する。ステップS63で“NO”の場合、つまり、シーケンス入力の最初のタイミングであるときは、初期設定を行う。すなわち、CPU46は、ステップS65で記憶領域228の現在のセルを、シーケンス入力の開始セルとして記憶領域232に記憶する。また、CPU46は、ステップS67で記憶領域234のシーケンス開始フラグをオンにし、ステップS69で記憶領域236の直後フラグをオンにする。ステップS69を終了すると、処理はステップS87に進む。
【0138】
一方、ステップS63で“YES”の場合、つまり、シーケンス入力の判定が既に開始されているときには、CPU46は、ステップS70で、現在のセルが前回のセルに隣接するセルであるか否かを判断する。ここで、シーケンス判定処理は回転を検出する目的であるので、隣接するセルにはセル0は含まないものとする。また、アナログジョイスティック94aを高速に回転させた場合等には、検出のタイミング等によって、セルが1つ、または複数個飛ばされて検出される場合も想定されるので、隣接セルだけでなく、前回のセルに1つもしくは複数のセルを隔てて隣接するセルであっても許容するようにしてもよい。ステップS70で“NO”と判断された場合には、ステップS85に処理を進め、以降の処理によってシーケンス入力状態が解除されるようにする。ステップS70で“YES”と判断された場合には、CPU46は、ステップS71で記憶領域236の直後フラグがオンであるか否かを判断する。ステップS71で“YES”の場合、つまり、シーケンス入力の判定が開始された直後である場合には、CPU46は、ステップS73で、回転方向を検出して、その結果(右または左)を記憶領域238の回転方向フラグに設定する。シーケンス入力の回転方向は、開始セルと現在のセルとの位置関係から検出される。上述のように、ユーザによる回転操作が速い場合、1フレームの間に選択セルが2つ先のセルに進むということも起こり得る。したがって、開始セルの隣接セルだけでなく所定数個のセルの範囲内で、現在のセルが開始セルの右回り方向に存在するのか左回り方向に存在するのかを検出すればよい。あるいは、開始セルから右回りまたは左回りで現在のセルに到達するまでに存在するセルの数が少ない方の回転方向を検出することによって、シーケンス入力の回転方向を検出することもできる。続くステップS75で、CPU46は記憶領域236の直後フラグをオフにする。ステップS75を終了すると、処理はステップS87に進む。
【0139】
一方、ステップS71で“NO”の場合、つまり、シーケンス入力の回転方向を検出済みの場合、CPU46は、ステップS77で現在の回転方向を検出する。現在の回転方向は、ステップS73と同様な処理で、前回のセルと現在のセルとの位置関係から検出される。
【0140】
そして、ステップS79で、CPU46は、検出方向が記憶領域238の回転方向フラグに設定されている方向と同一であるか否かを判断する。つまり、シーケンス入力の回転方向が開始時点から同一であり続けているか否かが判断される。
【0141】
ステップS79で“YES”の場合、つまり、回転方向が変化していない場合、CPU46は、ステップS81で現在のセルが開始セルに到達したか否かを判断する。つまり、同一方向への一回転というこの実施例のシーケンス入力が成立したか否かが判断される。ステップS81で“YES”の場合、CPU46は、ステップS83で記憶領域240のシーケンス確定フラグをオンにする。ステップS83を終了すると、または、ステップS81で“NO”の場合、処理はステップS75へ進む。
【0142】
一方、ステップS79で“NO”の場合、つまり、回転方向がシーケンス入力直後のそれから変化した場合には、シーケンス入力が成立しない。CPU46は、ステップS85で記憶領域234のシーケンス開始フラグをオフにする。ステップS85を終了すると、処理はステップS75へ進む。
【0143】
ステップS75において直後フラグがオフに設定された後、ステップS87では、CPU46は、次のフレームでの処理のために、記憶領域228において現在のセルを前回のセルとして記憶する。ステップS87を終了すると、このシーケンス判定処理が終了され、処理は図21のステップS25へ戻る。
【0144】
図21のステップS25では、CPU46は記憶領域240のシーケンス確定フラグがオンであるか否かを判断する。ステップS25で“YES”の場合、つまり、シーケンス入力が成立した場合には、CPU46は、ステップS27で記憶領域238の回転方向フラグが右であるか否かを判断する。
【0145】
ステップS27で“YES”の場合、つまり、右回りの一回転が成立した場合、CPU46は、ステップS29で、項目切替プログラムに従って文字を送り方向に切替える。この実施例では、項目データから次のページの項目が読み出され、記憶領域222の選択項目リストデータにおいて全ての項目が次のページの項目に置き換えられる。なお、現在のページが最終ページである場合、第1ページの項目に置き換えられてよい。
【0146】
一方、ステップS27で“NO”の場合、つまり、左回りの一回転が成立した場合には、CPU46は、ステップS31で文字を戻り方向に切替える。つまり、項目データから前のページの項目が読み出され、記憶領域222の選択項目リストデータにおいて全ての項目が前のページの項目に置き換えられる。なお、現在のページが第1ページの場合、最終ページの項目に置き換えられてよい。
【0147】
ステップS29またはS31を終了すると、CPU46は、ステップS33で記憶領域240のシーケンス確定フラグおよび記憶領域234のシーケンス開始フラグをオフにする。ステップS33を終了すると、処理はステップS3に戻る。したがって、図12に示したように、切替えられたリスト120が画面に表示される。
【0148】
一方、ステップS25で“NO”の場合、つまり、シーケンス入力が成立していない場合には、処理は図22のステップS35に進む。
【0149】
図22のステップS35では、CPU46はAボタン82dが操作されたか否かを第1コントローラ34の操作データに基づいて判断する。ステップS35で“YES”の場合、CPU46は、ステップS37で記憶領域224のセル選択フラグがオンであるか否かを判断する。ステップS37で“YES”の場合、つまり、アナログジョイスティック94aによる方向入力が行われつつAボタン82dが押下げられたときには、ユーザが入力しようとする文字を決定したものとみなされる。したがって、ステップS39で、CPU46は現在のセルに対応する文字を選択項目リストデータを参照して特定する。そして、ステップS41で、CPU46は特定された文字を出力し、つまり、記憶領域242の文字入力履歴に記憶する。ステップS41を終了すると、処理は図21のステップS3に戻る。したがって、画面上の入力欄122には文字入力履歴に記憶された文字が表示される。
【0150】
一方、ステップS37で“NO”の場合、つまり、アナログジョイスティック94aによる方向入力が行われていない状態でAボタン82dが押下げられたときには、ユーザが文字の入力を終えたものとみなされる。したがって、ステップS43で、CPU46は、記憶領域242の文字入力履歴を確定入力として処理する。たとえば、文字入力履歴を確定入力として所定の記憶領域244に出力(記憶)したり、確定入力の文字情報を使った処理を実行したりする。ステップS43を終了すると、この文字入力処理が終了される。
【0151】
また、ステップS35で“NO”の場合には、CPU46はステップS45で第1コントローラ34の操作データに基づいてBボタン82hが操作されたか否かを判断する。ステップS45で“YES”の場合、CPU46はステップS47で文字入力履歴記憶領域242に項目が記憶されているか否かを判断する。ステップS47で“YES”の場合、直前の文字の入力がキャンセルされたものとみなされる。したがって、ステップS49で、CPU46は記憶領域242の文字入力履歴から最後に入力された1つの項目(文字または文字列)を削除する。ステップS49を終了すると、処理は図21のステップS3に戻る。したがって、画面上の入力欄122では、最後に入力された文字が消去される。
【0152】
一方、ステップS47で“NO”の場合、つまり、1つの項目も入力されていない状態でBボタン82hが押下げられたときには、文字入力自体がキャンセルされたものとみなされる。したがって、CPU46はステップS51で文字入力の取消しを実行し、この文字入力処理を終了する。
【0153】
この実施例によれば、方向指示による項目選択において、所定の一連の方向入力に応じて選択項目を切替えるようにしたので、項目選択の操作性を向上することができる。項目選択と同様に方向入力操作によって項目を切替えるので、切替えのための操作ボタンを設ける必要がなく、切替えのための操作が容易であり、切替え間違いを少なくすることができる。
【0154】
なお、上述の実施例では、切替えのためのシーケンス入力は同一方向への一回転であった。シーケンス入力の操作では、方向の入力操作が所定の順番に従って連続的に行われる。このように、シーケンス入力は所定の一連の変化を伴った方向入力であればよく、シーケンス入力の方向の変化の形態は、適宜変更され得る。また、ステップS23のシーケンス判定処理も、方向データの推移に基づいて各シーケンス入力が成立したか否かを判定するために、適宜に変更される。図24にはシーケンス入力の変形例が示される。図24(A)のシーケンス入力は半回転である。図24(B)のシーケンス入力は、半回転して開始セルに戻る入力である。図24(C)のシーケンス入力は、上方向指示から下方向へ戻る入力である。図24(D)のシーケンス入力は、左方向指示から右方向へ戻る入力である。図24(C)および(D)のようなシーケンス入力は、単なる方向の入力間違いや迷いなどと区別するために、素早く行われること、つまり、所定時間内に入力されることが条件にされてよい。
【0155】
また、他の実施例では、シーケンス判定処理において、さらにシーケンス入力の種類を判定し、当該種類に応じて項目の切替え方法を異ならせるようにしてよい。図25にその一例が示される。図25では、半回転のシーケンス入力が行われたとき、1ページ切り替えられ、一回転のシーケンス入力が行われたとき、2ページ切替えられる。
【0156】
さらに、他の実施例では、ページごとにシーケンス入力の種類を対応付けるようにしてよい。この場合、シーケンス入力の種類に対応するページに直接切替えられる、つまり、ユーザの所望のページに直に切替えられるので、項目選択の効率性を向上することができる。
【0157】
なお、上述の各実施例では、図19に示したように、複数の項目をページに分けて、項目切替えの際に、ページを送り/戻しするようにしていた。つまり、選択項目の全ての項目を置き換えるようにしていた。しかし、他の実施例では、一部の項目のみが置き換えられるようにしてもよい。図26には項目切替えの変形例が示される。図26の設定によれば、シーケンス入力ごとに、4つの項目ずつ置き換えられることとなる。この一部置換えにおいては、現在の選択項目のうち、1つのみ、1/8、1/4、半分、3/4などを他の項目に入れ替えるようにしてよい。
【0158】
また、上述の各実施例では、第1コントローラ34のBボタン82hの操作に応じて、直前に入力された文字をキャンセルするようにしていた。しかし、他の実施例では、選択項目の中に、キャンセルを行うための項目を設けるようにしてもよい。
【0159】
また、上述の各実施例では、文字の入力決定およびキャンセルのために第1コントローラ34のAボタン82dおよびBボタン82hを使用するようにしていた。しかし、他の実施例では、第2コントローラ36のCボタン94bおよびZボタン94cに、文字の入力およびキャンセルの機能を割り当てるようにしてもよい。この場合、第2コントローラ36を用いた片手の操作のみで、文字入力を簡単に行うことができる。したがって、別の手の第1コントローラ34によって、別の処理のための操作を行うことが可能になる。たとえば、一方の手の第2コントローラ36の操作で文字入力(たとえばチャット)を行いながら、他方の手の第1コントローラ34の操作でゲームをプレイするといったことが可能になる。また、第2コントローラ36においては、ユーザが当該ハウジング92を片手で把持したときの親指の位置にアナログジョイスティック94aが配設され、かつ、ユーザが当該ハウジング92を片手で把持したときの人差し指または中指の位置にCボタン94bおよびZボタン94cが配設されるので、操作性がよい。
【0160】
また、他の実施例では、文字の入力決定やキャンセルのために、コントローラ14の操作部82および94のボタン操作ではなく、加速度センサ86および96、または撮像情報演算部88によって取得されるデータを用いるようにしてよい。たとえば、加速度センサ86または加速度センサ94によって所定の条件を満足する加速度値または加速度変化量などが検出されたとき、つまり、第1コントローラ34または第2コントローラ36で所定の動きが検出されたとき、文字の入力決定やキャンセルを行うようにしてよい。あるいは、撮像情報演算部88によって取得されるデータに基づいて、第1コントローラ34による指示位置または指示位置変化などが所定の条件を満たしたと判断されるとき、つまり、第1コントローラ34で所定の動きが検出されたとき、文字の入力決定やキャンセルを行うようにしてもよい。
【0161】
また、上述の各実施例では項目は文字であったが、ゲームのアイテム選択、メニュー選択など様々な情報の選択にこの発明を適用可能である。
【0162】
図27にはゲームのアイテムを選択項目としたリスト120の一例が示される。このリスト120では、プレイヤキャラクタが使用するアイテムとしての爆弾、靴、弓、薬1−3、ブーメラン、ランプが円形状に配列されている。このリスト120では、アイテムは八角形の頂点に対応する位置に配置される。つまり、八角形を8分割した領域であるセル1−8と、八角形の中央付近の領域であるセル0とが設けられている。リスト中央には、アナログジョイスティック94aの頭部を示す画像が表示され、アナログジョイスティック94aの方向指示でアイテム選択可能であることが表現される。このゲームでも、上述の文字入力と同様に、シーケンス入力によって選択項目の全部または一部が他の項目に切替えられ、したがって、アイテム選択が容易に行える。
【0163】
また、この実施例では、アナログジョイスティック94aの方向入力でアイテムを選択している状態で第1コントローラ34を動かすことによって、当該選択されているアイテムに基づくゲーム処理を実行させることができる。
【0164】
図28および図29には、この実施例のゲームでの項目利用処理の動作の一例が示される。上述の図21および図22の文字入力処理と同様のステップには同一の参照符号を付してその説明を省略する。
【0165】
処理を開始すると、図28の最初のステップS101で、CPU46はリストに載せる項目の設定を実行する。具体的には、複数のアイテムを示す項目データから所定数(この実施例では8個以下)のアイテムを選出し、アイテムとセルとの対応付けを行って、選択項目リストデータを生成し、記憶領域222に記憶する。したがって、次のステップS3の処理で、図27に示すようなアイテムを選択するためのリスト120がモニタ30に表示される。
【0166】
シーケンス入力が検出された場合において、ステップS27で“YES”の場合には、CPU46は、ステップS129で項目を送り方向に切替える。具体的には、記憶領域222の選択項目リストデータにおいて、各セルの項目を、次のページの各アイテムに置き換える。一方、ステップS27で“NO”の場合には、CPU46は、ステップS131で項目を戻り方向に切替える。具体的には、各セルの項目が前のページの各アイテムに置き換えられるように、記憶領域222の選択項目リストデータを更新する。なお、ステップS129およびS131では、一部の項目のみが他のアイテムに置き換えられてもよい。このように、シーケンス入力に応じて、アイテムのリスト120を切替えることができる。
【0167】
また、図29の最初のステップS135では、CPU46は、加速度センサ86の加速度データまたは撮像情報演算部88の撮像対象データ(マーカ座標データ)に基づいて、第1コントローラ34が動かされたか否かを判断する。つまり、この実施例のゲーム処理を実行するための操作が行われたか否かを判断する。ステップS135で“NO”の場合、処理は図28のステップS3に戻る。
【0168】
一方、ステップS135で“YES”であり、かつ、その後のステップS37で“YES”の場合、つまり、方向入力によってアイテムが選択された状態で第1コントローラ34が動かされたときには、ユーザによってアイテムの使用が決定されたとみなされる。したがって、CPU46は、ステップS139で、記憶領域228の現在のセルに対応する項目を選択項目リストデータに基づいて特定する。続いて、ステップS141で、CPU46は特定された項目を入力として所定領域に記憶する。そして、ステップS161で、CPU46は、第1コントローラ34の加速度データまたは撮像対象データに基づいて、入力項目に対応するゲーム処理を実行する。したがって、選択されたアイテムを使用することができ、また、当該アイテムを第1コントローラ34の動きに応じて使用することができる。ゲーム処理は、たとえば、加速度センサ86で検出された加速度値または加速度変化量などに基づいて制御されてよいし、あるいは、第1コントローラ34による指示位置または指示位置変化などに基づいて制御されてもよい。たとえばアイテムが爆弾の場合、加速度の大きさに応じて爆弾を飛ばす距離を変化させ、あるいは、第1コントローラ34の指示位置の変化した方向に爆弾を飛ばすゲーム処理などが考えられる。
【0169】
一方、ステップS37で“NO”の場合、つまり、方向入力のない状態で第1コントローラ34が動かされたときには、CPU46は、ステップS163で、第1コントローラ34の加速度データまたは撮像対象データに基づくゲーム処理を実行する。この場合のゲーム処理でも、加速度センサ86で検出された加速度値または加速度変化量などに基づく制御が行われてもよいし、あるいは、第1コントローラ34による指示位置または指示位置変化などに基づく制御が行われてもよい。ステップS161またはS163を終了すると、この項目利用処理を終了する。
【0170】
この実施例では、ユーザは、第2コントローラ36のアナログジョイスティック94aの方向入力でアイテムを選択しながら第1コントローラ34を動かすことによって、アイテムを選択することができるとともに、当該選択されたアイテムと第1コントローラ34の動きとに基づいてゲームをプレイすることができる。また、第1コントローラ34を動かしてゲームをプレイしながらであっても、第2コントローラ36の操作でアイテムの切り替えや選択が容易に行えるので、アイテム選択や装備のためにゲームの進行を中断する必要がなくなり、ゲームを円滑にプレイすることが可能になり、アクションゲームや、リアルタイム戦闘のロールプレイングゲームおよびシミュレーションゲームなどの興趣性を向上することができる。
【0171】
なお、上述の各実施例では、モニタ30に選択項目を示すリスト120を表示するようにした。選択項目を表示すればユーザは選択項目を見ながら選択を行えるので、項目を選択し易く、操作性が良いが、他の実施例では、選択項目のリスト120を表示しないようにしてもよい。特にたとえば、画面上にリスト120を表示するスペースが確保できない場合、ゲームで項目の配列をユーザに覚えさせることに意味がある場合、あるいは、音楽や効果音などの音を選択させる場合などに、リスト120が表示されなくてもよいであろう。ただし、方向入力によって現在選択されている項目を示す表示欄126を画面上に表示するようにしてもよい。この場合には、現在選択している項目をユーザに明示することができるので、ユーザが選択を行い易い。また、音の選択の場合には、音そのものを表示することは不可能であるから、方向入力によって現在選択されている項目に対応する音をスピーカ32から出力して、ユーザに聞かせるようにしてよい。
【0172】
また、上述の各実施例では、項目を選択するための方向の入力は、アナログジョイスティック94aによって行われた。しかし、この方向入力のための入力装置は、連続的な方向入力操作が行えるものであればよく、適宜変更され得る。たとえば、上下左右方向を指示可能な十字キー82aが使用されてよい。あるいは、静電式または感圧式などのトラックパッド(タッチパッド)が使用されてもよく、この場合、タッチパッドの基準位置からみた接触位置または、前回の接触位置からみた現在の接触位置の方向などによってユーザの入力方向を検出することができる。タッチパッド以外のポインティングデバイス、たとえばマウスも適用可能である。
【図面の簡単な説明】
【0173】
【図1】図1はこの発明の一実施例のゲームシステムの外観を示す図解図である。
【図2】図2はゲームシステムの電気的な構成の一例を示すブロック図である。
【図3】図3は第1コントローラの外観の一例を示す図解図であり、図3(A)は後方上側から見た斜視図であり、図3(B)は前方下側から見た斜視図である。
【図4】図4は第2コントローラの外観の一例を示す図解図であり、図4(A)は後方上側から見た斜視図であり、図4(B)は前方下側から見た斜視図である。
【図5】図5はコントローラの電気的構成の一例を示すブロック図である。
【図6】図6はユーザの右手および左手でそれぞれ把持された第1コントローラおよび第2コントローラを示す図解図である。
【図7】図7は図1に示すマーカおよび第1コントローラの視野角を説明するための図解図である。
【図8】図8は対象画像を含む撮像画像の一例を示す図解図である。
【図9】図9は文字入力画面の一例を示す図解図である。
【図10】図10は第2コントローラの上面図である。
【図11】図11はアナログジョイスティックの方向指示による文字選択の一例を示す図解図である。
【図12】図12はシーケンス入力による項目切替えの一例を示す図解図である。
【図13】図13はメモリマップの一例を示す図解図である。
【図14】図14はセルの配列の一例を示す図解図である。
【図15】図15は項目データの一例を示す図解図である。
【図16】図16はセルと項目との対応付けを示す選択項目リストデータを示す図解図である。
【図17】図17はアナログジョイスティック入力に対するセルの受け付け範囲の一例を示す図解図である。
【図18】図18は各セルの受け付け角度を示すセル角度データを示す図解図である。
【図19】図19は項目切替えの一例を示す図解図である。
【図20】図20は図19の切替えによって表示される選択項目リストを示す図解図である。
【図21】図21はゲーム装置における文字入力処理の動作の一例の一部を示すフロー図である。
【図22】図22は図21の続きを示すフロー図である。
【図23】図23は図21に示すシーケンス判定処理の動作の一例を示すフロー図である。
【図24】図24はシーケンス入力の変形例を示す図解図である。
【図25】図25はシーケンス入力の種類に応じた項目切替えの一例を示す図解図である。
【図26】図26は項目切替えの変形例を示す図解図である。
【図27】図27はゲームアイテムを含む選択項目リストの一例を示す図解図である。
【図28】図28は他の実施例のゲームにおける項目利用処理の動作の一例の一部を示すフロー図である。
【図29】図29は図28の続きを示すフロー図である。
【符号の説明】
【0174】
10 …ゲームシステム
12 …ゲーム装置
14 …コントローラ
22 …光ディスク
30 …モニタ
34 …第1コントローラ
36 …第2コントローラ
44m、44n …マーカ(赤外線LED)
46 …CPU
50 …メインメモリ
52 …GPU
82、94 …操作部
82a …十字キー
86、96 …加速度センサ
88 …撮像情報演算部
94a …アナログジョイスティック
94b …Cボタン
108 …マイコン
110 …メモリ
120 …選択項目のリスト

【特許請求の範囲】
【請求項1】
複数の項目から任意の項目をユーザに選択させる情報選択装置であって、
方向の入力操作が可能であって、当該入力操作に応じた方向を示す方向データを入力する方向入力手段、
所定の操作に応じた操作データを入力する操作手段、
前記複数の項目を示す項目データを記憶する記憶手段、
前記項目データのうち所定数の項目を所定の方向にそれぞれ対応付けられた選択項目として設定する選択項目設定手段、
前記方向入力手段からの前記方向データに対応する項目を前記選択項目から選択し、所定の前記操作データが入力されたとき、当該項目を出力する選択手段、
前記方向データの推移に基づいて所定の一連の方向入力操作が行われたか否かを判定するシーケンス入力判定手段、および
前記シーケンス入力判定手段によって前記所定の一連の方向入力操作が行われたことが判定されたとき、前記選択項目のうち少なくとも1つの項目を前記項目データの他の項目に切替える切替手段を備える、情報選択装置。
【請求項2】
前記方向入力手段は傾倒可能なスティックを含み、当該スティックの傾倒方向に応じて前記方向データを入力し、
前記シーケンス入力判定手段は、前記方向データの推移に基づいて前記スティックが1回転したか否かを判定する、請求項1に記載の情報選択装置。
【請求項3】
前記操作手段は押下可能なキーを含み、当該キーの操作に応じたキー情報を前記操作データとして入力する、請求項1に記載の情報選択装置。
【請求項4】
前記選択項目設定手段および前記切替手段によって設定された前記選択項目を表示装置に表示する表示制御手段をさらに備える、請求項1に記載の情報選択装置。
【請求項5】
前記項目は文字または文字列であって、
前記選択手段によって出力された文字または文字列を入力として処理する文字入力処理手段をさらに備える、請求項1に記載の情報選択装置。
【請求項6】
方向の入力操作が可能であって当該入力操作に応じた方向を示す方向データを入力する方向入力手段、所定の操作に応じた操作データを入力する操作手段、および複数の項目を示す項目データを記憶する記憶手段を備え、前記複数の項目から任意の項目をユーザに選択させる情報選択装置のコンピュータにおいて実行される情報選択プログラムであって、
前記項目データのうち所定数の項目を所定の方向にそれぞれ対応付けられた選択項目として設定する選択項目設定ステップ、
前記方向入力手段からの前記方向データに対応する項目を前記選択項目から選択し、所定の操作データが入力されたとき、当該項目を出力する選択ステップ、
前記方向データの推移に基づいて所定の一連の方向入力操作が行われたか否かを判定するシーケンス入力判定ステップ、および
前記シーケンス入力判定ステップによって前記所定の一連の方向入力操作が行われたことが判定されたとき、前記選択項目のうち少なくとも1つの項目を前記項目データの他の項目に切替える切替ステップを前記コンピュータに実行させる、情報選択プログラム。
【請求項7】
複数の項目からユーザに選択された項目に応じたゲーム処理を行うゲーム装置であって、
所定の操作に応じた第1の操作データを入力する第1の操作ユニット、
方向の入力操作が可能であって、当該入力操作に応じた方向を示す方向データを入力する方向入力手段を少なくとも含む第2の操作ユニット、
前記第1の操作ユニットおよび前記第2の操作ユニットからの前記第1の操作データおよび前記方向データを取得する取得手段、
前記複数の項目を示す項目データを記憶する記憶手段、
前記項目データのうち所定数の項目を所定の方向にそれぞれ対応付けられた選択項目として設定する選択項目設定手段、
前記方向入力手段からの前記方向データに対応する項目を前記選択項目から選択する選択手段、
前記方向データの推移に基づいて所定の一連の方向入力操作が行われたか否かを判定するシーケンス入力判定手段、
前記シーケンス入力判定手段によって前記所定の一連の方向入力操作が行われたことが判定されたとき、前記選択項目のうち少なくとも1つの項目を前記項目データの他の項目に切替える切替手段、および
前記選択手段によって選択された前記項目と前記第1の操作データとに基づいてゲーム処理を行うゲーム処理手段を備える、ゲーム装置。
【請求項8】
前記第1の操作ユニットは自身の動きを検出する動き検出手段を含み、
前記第1の操作データは、前記動き検出手段によって検出された動きデータを含み、
前記ゲーム処理手段は、前記選択手段によって選択された前記項目と前記動きデータとに基づいてゲーム処理を行う、請求項7に記載のゲーム装置。
【請求項9】
前記第1の操作ユニットは、前記動き検出手段として加速度センサを備え、
前記ゲーム処理手段は、前記選択手段によって選択された前記項目と前記加速度センサによって取得された加速度データとに基づいて、前記ゲーム処理を行う、請求項8に記載のゲーム装置。
【請求項10】
前記第1の操作ユニットは、前記動き検出手段として撮像装置を備え、
前記ゲーム処理手段は、前記選択手段によって選択された前記項目と前記撮像装置によって取得された撮像対象の位置を示す撮像対象データとに基づいて、前記ゲーム処理を行う、請求項8に記載のゲーム装置。
【請求項11】
所定の操作に応じた第1の操作データを入力する第1の操作ユニット、方向の入力操作が可能であって当該入力操作に応じた方向を示す方向データを入力する方向入力手段を少なくとも含む第2の操作ユニット、および複数の項目を示す項目データを記憶する記憶手段を備え、前記複数の項目からユーザに選択された項目に応じたゲーム処理を行うゲーム装置のコンピュータにおいて実行されるゲームプログラムであって、
前記第1の操作ユニットおよび前記第2の操作ユニットからの前記第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

【図28】
image rotate

【図29】
image rotate


【公開番号】特開2008−217543(P2008−217543A)
【公開日】平成20年9月18日(2008.9.18)
【国際特許分類】
【出願番号】特願2007−55491(P2007−55491)
【出願日】平成19年3月6日(2007.3.6)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】