(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-09
(45)【発行日】2022-03-17
(54)【発明の名称】情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法
(51)【国際特許分類】
G06F 3/041 20060101AFI20220310BHJP
G06F 3/0488 20220101ALI20220310BHJP
A63F 13/2145 20140101ALI20220310BHJP
A63F 13/426 20140101ALI20220310BHJP
A63F 13/26 20140101ALI20220310BHJP
A63F 13/533 20140101ALI20220310BHJP
A63F 13/55 20140101ALI20220310BHJP
【FI】
G06F3/041 550
G06F3/0488
A63F13/2145
A63F13/426
A63F13/26
A63F13/533
A63F13/55
(21)【出願番号】P 2020022643
(22)【出願日】2020-02-13
【審査請求日】2020-10-15
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】100158780
【氏名又は名称】寺本 亮
(74)【代理人】
【識別番号】100121359
【氏名又は名称】小沢 昌弘
(74)【代理人】
【識別番号】100130269
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】鈴木 利明
(72)【発明者】
【氏名】土山 芳紀
(72)【発明者】
【氏名】福田 泉
【審査官】酒井 優一
(56)【参考文献】
【文献】特開2011-048610(JP,A)
【文献】特開2014-186699(JP,A)
【文献】国際公開第2014/054077(WO,A1)
【文献】特開2018-060438(JP,A)
【文献】国際公開第2018/047890(WO,A1)
【文献】米国特許出願公開第2019/0317719(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/041
G06F 3/0488
A63F 13/2145
A63F 13/426
A63F 13/26
A63F 13/533
A63F 13/55
(57)【特許請求の範囲】
【請求項1】
少なくとも情報処理装置を含む情報処理システムであって、
第1ディスプレイと、
第2ディスプレイと、
前記第1ディスプレイに対する座標入力を検出する第1位置検出手段と、
前記第2ディスプレイに対する座標入力を検出する第2位置検出手段と、
前記第1ディスプレイの入力開始点となる座標を含む位置に、当該入力開始点を示す画像を表示させる第1画像制御手段と、
前記第2ディスプレイの入力目標点となる座標を含む位置に、当該入力目標点を示す画像を表示させる第2画像制御手段と、
前記第1位置検出手段により検出された第1座標入力が前記入力開始点となる座標を含む位置への入力を含んでいるか否かを判定する開始判定手段と、
前記第1座標入力が前記入力開始点となる座標を含む位置への入力であると判定された場合に、当該第1座標入力から継続して検出された前記第1ディスプレイに対する第1継続座標入力が第1座標条件を満たすか否かを判定する第1座標判定手段と、
前記第1継続座標入力が前記第1座標条件を満たすと判定された場合に、当該第1継続座標入力の後に前記第2位置検出手段により検出され、かつ当該検出された前記第2座標入力が第2座標条件を満たすか否かを判定する第2座標判定手段と、
前記第2位置検出手段により検出され、かつ当該検出された前記第2座標入力が前記第2座標条件を満たすと判定された場合に、当該第2座標入力から継続して検出された前記第2ディスプレイに対する第2継続座標入力が前記入力目標点となる座標を含む位置への入力を含むか否かを判定する到達判定手段と、
前記第2継続座標入力が前記入力目標点となる座標を含む位置への入力を含むと判定された場合に、前記第1継続座標入力の座標の軌跡
に基づいたベクトルおよび前記第2継続座標入力の座標の軌跡に基づい
たベクトルが直線上に並ぶように、前記第1ディスプレイと前記第2ディスプレイとの位置関係を決定する位置関係設定手段とを備える、情報処理システム。
【請求項2】
前記第1座標判定手段は、前記第1継続座標入力の座標が前記第1ディスプレイの端部の座標であった場合に、当該第1継続座標入力の座標が前記第1座標条件を満たすと判定する、請求項1に記載の情報処理システム。
【請求項3】
前記第2座標判定手段は、前記第2座標入力の座標が前記第2ディスプレイの端部の座標であった場合に、当該第2座標入力が前記第2座標条件を満たすと判定する、請求項2に記載の情報処理システム。
【請求項4】
前記第1画像制御手段は、前記入力開始点を示す画像として、当該入力開始点となる座標を含む位置に第1移動オブジェクトの画像を配置し、前記第1座標入力が前記入力開始点となる座標を含む位置への入力であると判定された場合に、前記第1継続座標入力の座標に位置するように当該第1移動オブジェクトの位置を移動させる、請求項1乃至3の何れか1つに記載の情報処理システム。
【請求項5】
前記第2画像制御手段は、前記入力目標点を示す画像として、前記第1移動オブジェクトの形状に対応する画像を当該入力目標点となる座標を含む位置に表示させる、請求項4に記載の情報処理システム。
【請求項6】
前記第2画像制御手段は、前記第2座標入力の座標が前記第2座標条件を満たすと判定された場合に、当該第2座標入力の座標に位置するように第2移動オブジェクトの画像を表示し、前記第2継続座標入力の座標に位置するように当該第2移動オブジェクトの位置を移動させる、請求項4または5に記載の情報処理システム。
【請求項7】
前記第1画像制御手段は、前記第1座標入力が前記入力開始点となる座標への入力を含むと判定された場合に、前記第1継続座標入力の座標が前記第1座標条件を満たすと判定されるよりも前に前記第1ディスプレイに対する前記座標入力が検出されなくなったときは、前記第1移動オブジェクトを当該入力開始点となる座標を含む位置に移動させて表示する、請求項4乃至6の何れか1つに記載の情報処理システム。
【請求項8】
前記第2
移動オブジェクトの画像は、前記第1
移動オブジェクトの画像と同じ画像である、請求項6に記載の情報処理システム。
【請求項9】
前記第1画像制御手段は、前記第2座標入力の座標が前記第2座標条件を満たすと判定されたことに応じて、前記第1移動オブジェクトを消去する、請求項6または8に記載の情報処理システム。
【請求項10】
前記第1画像制御手段は、前記第2座標入力の座標が前記第2座標条件を満たすと判定された場合に、前記第2移動入力の座標が前記入力目標点となる座標への入力を含むと判定されるよりも前に前記第2ディスプレイに対する前記座標入力が検出されなくなったときは、前記第1移動オブジェクトを前記入力開始点となる座標を含む位置に表示する、請求項9に記載の情報処理システム。
【請求項11】
前記位置関係設定手段は、前記第2継続座標入力が前記入力目標点となる座標を含む位置への入力である状態で前記第2位置検出手段による前記座標入力が検出されなくなった場合、前記第1ディスプレイと前記第2ディスプレイとの前記位置関係を決定する、請求項1乃至10の何れか1つに記載の情報処理システム。
【請求項12】
第3ディスプレイと、
前記第3ディスプレイに対する座標入力を検知する第3位置検出手段と、
前記第3ディスプレイの入力目標点となる座標を含む位置に、当該第3ディスプレイの入力目標点を示す画像を表示させる第3画像制御手段と、
前記第2継続座標入力の座標が前記第2ディスプレイの入力目標点となる座標を含む位置を通過し、当該第2ディスプレイの端部の座標となった場合に、第3座標条件を満たすと判定する第3座標判定手段と、
前記第2継続座標入力が前記第3座標条件を満たすと判定された場合に、当該第2継続座標入力の後に前記第3位置検出手段により検出され、かつ当該検出された第3座標入力の座標が前記第3ディスプレイの端部の座標であったとき、当該第3座標入力が第4座標条件を満たすと判定する第4座標判定手段とを、さらに備え、
前記到達判定手段は、前記第3座標入力が前記第4座標条件を満たすと判定された場合に、当該第3座標入力から継続して検出された前記第3ディスプレイに対する第3継続座標入力が前記第3ディスプレイの入力目標点となる座標を含む位置への入力を含むか否かを判定し、
前記位置関係設定手段は、前記第3継続座標入力が前記第3ディスプレイの入力目標点となる座標を含む位置への入力を含むと判定された場合に、前記第2継続座標入力の座標の軌跡
に基づいたベクトルおよび前記第3継続座標入力の座標の軌跡に基づい
たベクトルが直線上に並ぶように、前記第2ディスプレイと前記第3ディスプレイとの位置関係を設定する、請求項1乃至11の何れか1つに記載の情報処理システム。
【請求項13】
前記第1画像制御手段は、前記入力開始点を示す画像として、当該入力開始点となる座標を含む位置に第1移動オブジェクトの画像を配置し、前記第1座標入力が前記入力開始点となる座標を含む位置への入力であると判定された場合に、前記第1継続座標入力の座標に位置するように当該第1移動オブジェクトの位置を移動させ、
前記第2画像制御手段は、前記第2座標入力の座標が前記第2座標条件を満たすと判定された場合に、当該第2座標入力の座標に位置するように第2移動オブジェクトの画像を表示し、前記第2継続座標入力の座標に位置するように当該第2移動オブジェクトの位置を移動させ、
前記第2画像制御手段は、前記第2継続座標入力が前記第2ディスプレイの入力目標点となる座標を含む位置への入力を含まずに前記第2座標条件の判定に用いられた座標とは異なる当該第2ディスプレイの端部の座標となった場合、前記第2移動オブジェクトを消去し、
前記第1画像制御手段は、前記第2継続座標入力が前記第2ディスプレイの入力目標点となる座標を含む位置への入力を含まずに前記第2座標条件の判定に用いられた座標とは異なる当該第2ディスプレイの端部の座標となった場合、前記第1移動オブジェクトを前記入力開始点となる座標を含む位置に移動させて表示する、請求項12に記載の情報処理システム。
【請求項14】
第3ディスプレイと、
前記第3ディスプレイに対する座標入力を検知する第3位置検出手段とを、さらに備え、
前記第1画像制御手段は、前記第1ディスプレイと前記第2ディスプレイとの前記位置関係が設定された後に、さらに前記第1ディスプレイと前記第3ディスプレイとの位置関係を設定する場合は、前記第1ディスプレイの前記入力開始点となる座標を含む位置に当該入力開始点を示す画像を再表示させる、請求項1乃至11の何れか1つに記載の情報処理システム。
【請求項15】
第3ディスプレイと、
前記第3ディスプレイに対する座標入力を検知する第3位置検出手段とを、さらに備え、
前記第2画像制御手段は、前記第1ディスプレイと前記第2ディスプレイとの前記位置関係が設定された後に、さらに前記第2ディスプレイと前記第3ディスプレイとの位置関係を設定する場合は、前記第2ディスプレイの入力開始点となる座標を含む位置に、当該入力開始点を示す画像を表示させる、請求項1乃至11および14の何れか1つに記載の情報処理システム。
【請求項16】
前記第1画像制御手段は、前記第1ディスプレイの中央部に、前記入力開始点を示す画像を配置する、請求項1乃至15の何れか1つに記載の情報処理システム。
【請求項17】
前記第2画像制御手段は、前記第2ディスプレイの中央部に、前記入力目標点を示す画像を配置する、請求項1乃至16の何れか1つに記載の情報処理システム。
【請求項18】
前記第1ディスプレイと前記第2ディスプレイとの前記位置関係に基づいて、前記第1ディスプレイの表示内容と前記第2ディスプレイの表示内容とが連続するように表示制御する連続画像表示制御手段を、さらに備える、請求項1乃至17の何れか1つに記載の情報処理システム。
【請求項19】
前記第1位置検出手段および前記第2位置検出手段は、それぞれタッチパネルである、請求項1乃至18の何れか1つに記載の情報処理システム。
【請求項20】
第1ディスプレイと、
前記第1ディスプレイに対する座標入力を検出する位置検出手段と、
前記第1ディスプレイの入力開始点となる座標を含む位置に、当該入力開始点を示す画像を表示させる画像制御手段と、
前記位置検出手段により検出された第1座標入力が前記入力開始点となる座標を含む位置への入力を含んでいるか否かを判定する開始判定手段と、
前記第1座標入力が前記入力開始点となる座標を含む位置への入力であると判定された場合に、当該第1座標入力から継続して検出された前記第1ディスプレイに対する第1継続座標入力が第1座標条件を満たすか否かを判定する座標判定手段と、
前記第1継続座標入力が前記第1座標条件を満たすと判定されて、当該第1継続座標入力の後に第2ディスプレイに対する座標入力が検出され、かつ当該検出された第2ディスプレイに対する座標入力が第2座標条件を満たすと判定された場合に、当該座標入力から継続して検出された前記第2ディスプレイに対する第2継続座標入力が前記第2ディスプレイの入力目標点となる座標を含む位置への入力を含むと判定されたときに、前記第1継続座標入力の座標の軌跡
に基づいたベクトルおよび前記第2継続座標入力の座標の軌跡に基づい
たベクトルが直線上に並ぶように、前記第1ディスプレイと前記第2ディスプレイとの位置関係を決定する位置関係設定手段とを備える、情報処理装置。
【請求項21】
第1ディスプレイとの位置関係が設定される情報処理装置であって、
第2ディスプレイと、
前記第2ディスプレイに対する座標入力を検出する位置検出手段と、
前記第2ディスプレイの入力目標点となる座標を含む位置に、当該入力目標点を示す画像を表示させる画像制御手段と、
前記第1ディスプレイに対する第1座標入力が当該第1ディスプレイの入力開始点となる座標を含む位置への入力を含み、当該第1座標入力から継続して検出された当該第1ディスプレイに対する第1継続座標入力が第1座標条件を満たすと判定された後に、前記位置検出手段により検出され、かつ当該検出された前記第2ディスプレイに対する第2座標入力が第2座標条件を満たすか否かを判定する座標判定手段と、
前記位置検出手段により検出され、かつ当該検出された前記第2座標入力が前記第2座標条件を満たすと判定された場合に、当該第2座標入力から継続して検出された前記第2ディスプレイに対する第2継続座標入力が前記入力目標点となる座標を含む位置への入力を含むか否かを判定する到達判定手段と、
前記第2継続座標入力が前記入力目標点となる座標を含む位置への入力を含むと判定された場合に、前記第1継続座標入力の座標の軌跡
に基づいたベクトルおよび前記第2継続座標入力の座標の軌跡に基づい
たベクトルが直線上に並ぶように、決定された前記第1ディスプレイと前記第2ディスプレイとの位置関係を取得する位置関係取得手段とを備える、情報処理装置。
【請求項22】
情報処理装置に含まれるコンピュータで実行される情報処理プログラムであって、
前記コンピュータを、
第1ディスプレイに対する座標入力を検出する位置検出手段と、
前記第1ディスプレイの入力開始点となる座標を含む位置に、当該入力開始点を示す画像を表示させる画像制御手段と、
前記位置検出手段により検出された第1座標入力が前記入力開始点となる座標を含む位置への入力を含んでいるか否かを判定する開始判定手段と、
前記第1座標入力が前記入力開始点となる座標を含む位置への入力であると判定された場合に、当該第1座標入力から継続して検出された前記第1ディスプレイに対する第1継続座標入力が第1座標条件を満たすか否かを判定する座標判定手段と、
前記第1継続座標入力が前記第1座標条件を満たすと判定されて、当該第1継続座標入力の後に第2ディスプレイに対する座標入力が検出され、かつ当該検出された第2ディスプレイに対する座標入力が第2座標条件を満たすと判定された場合に、当該座標入力から継続して検出された前記第2ディスプレイに対する第2継続座標入力が前記第2ディスプレイの入力目標点となる座標を含む位置への入力を含むと判定されたときに、前記第1継続座標入力の座標の軌跡
に基づいたベクトルおよび前記第2継続座標入力の座標の軌跡に基づい
たベクトルが直線上に並ぶように、前記第1ディスプレイと前記第2ディスプレイとの位置関係を決定する位置関係設定手段として機能させる、情報処理プログラム。
【請求項23】
第1ディスプレイに対する座標入力を検出する第1位置検出ステップと、
第2ディスプレイに対する座標入力を検出する第2位置検出ステップと、
前記第1ディスプレイの入力開始点となる座標を含む位置に、当該入力開始点を示す画像を表示させる第1画像制御ステップと、
前記第2ディスプレイの入力目標点となる座標を含む位置に、当該入力目標点を示す画像を表示させる第2画像制御ステップと、
前記第1位置検出ステップにおいて検出された第1座標入力が前記入力開始点となる座標を含む位置への入力を含んでいるか否かを判定する開始判定ステップと、
前記第1座標入力が前記入力開始点となる座標を含む位置への入力であると判定された場合に、当該第1座標入力から継続して検出された前記第1ディスプレイに対する第1継続座標入力が第1座標条件を満たすか否かを判定する第1座標判定ステップと、
前記第1継続座標入力が前記第1座標条件を満たすと判定された場合に、当該第1継続座標入力の後に前記第2位置検出手段により検出され、かつ当該検出された前記第2座標入力が第2座標条件を満たすか否かを判定する第2座標判定ステップと、
前記第2位置検出ステップにおいて検出され、かつ当該検出された前記第2座標入力が前記第2座標条件を満たすと判定された場合に、当該第2座標入力から継続して検出された前記第2ディスプレイに対する第2継続座標入力が前記入力目標点となる座標を含む位置への入力を含むか否かを判定する到達判定ステップと、
前記第2継続座標入力が前記入力目標点となる座標を含む位置への入力を含むと判定された場合に、前記第1継続座標入力の座標の軌跡
に基づいたベクトルおよび前記第2継続座標入力の座標の軌跡に基づい
たベクトルが直線上に並ぶように、前記第1ディスプレイと前記第2ディスプレイとの位置関係を決定する位置関係設定ステップとを含む、情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ディスプレイに対する操作に応じた処理を行う情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法に関する。
【背景技術】
【0002】
従来、第1タッチパネルから第2タッチパネルに向けてスライド操作を行うことに応じて、当該タッチパネル間の位置関係を設定する情報処理装置がある(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記特許文献1で開示された情報処理装置では、タッチパネル間の位置関係を設定するための操作をどのように行えばよいかをユーザに分かりやすく知らせることについてさらなる改良の余地がある。
【0005】
それ故に、本発明の目的は、位置関係を設定するための操作をユーザに分かりやすく知らせることを可能とする情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法を提供することである。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明は例えば以下のような構成を採用し得る。なお、特許請求の範囲の記載を解釈する際に、特許請求の範囲の記載によってのみその範囲が解釈されるべきであることが理解され、特許請求の範囲の記載と本欄の記載とが矛盾する場合には、特許請求の範囲の記載が優先する。
【0007】
本発明の情報処理システムの一構成例は、少なくとも情報処理装置を含む。情報処理システムは、第1ディスプレイ、第2ディスプレイ、第1位置検出手段、第2位置検出手段、第1画像制御手段、第2画像制御手段、開始判定手段、第1座標判定手段、第2座標判定手段、到達判定手段、および位置関係設定手段を備える。第1位置検出手段は、第1ディスプレイに対する座標入力を検出する。第2位置検出手段は、第2ディスプレイに対する座標入力を検出する。第1画像制御手段は、第1ディスプレイの入力開始点となる座標を含む位置に、当該入力開始点を示す画像を表示させる。第2画像制御手段は、第2ディスプレイの入力目標点となる座標を含む位置に、当該入力目標点を示す画像を表示させる。開始判定手段は、第1位置検出手段により検出された第1座標入力が入力開始点となる座標を含む位置への入力を含んでいるか否かを判定する。第1座標判定手段は、第1座標入力が入力開始点となる座標を含む位置への入力であると判定された場合に、当該第1座標入力から継続して検出された第1ディスプレイに対する第1継続座標入力が第1座標条件を満たすか否かを判定する。第2座標判定手段は、第1継続座標入力が第1座標条件を満たすと判定された場合に、当該第1継続座標入力の後に第2位置検出手段により検出され、かつ当該検出された第2座標入力が第2座標条件を満たすか否かを判定する。到達判定手段は、第2位置検出手段により検出され、かつ当該検出された第2座標入力が第2座標条件を満たすと判定された場合に、当該第2座標入力から継続して検出された第2ディスプレイに対する第2継続座標入力が入力目標点となる座標を含む位置への入力を含むか否かを判定する。位置関係設定手段は、第2継続座標入力が入力目標点となる座標を含む位置への入力を含むと判定された場合に、第1継続座標入力の座標の軌跡および第2継続座標入力の座標の軌跡に基づいて、第1ディスプレイと第2ディスプレイとの位置関係を決定する。
【0008】
上記によれば、複数のディスプレイの位置関係を設定するための操作をユーザに分かりやすく知らせることができる。
【0009】
また、上記第1座標判定手段は、第1継続座標入力の座標が第1ディスプレイの端部の座標であった場合に、当該第1継続座標入力の座標が第1座標条件を満たすと判定してもよい。
【0010】
上記によれば、入力開始点からディスプレイ端部まで座標入力されることを条件として複数のディスプレイの位置関係を設定することができるため、相対的に長い座標入力の軌跡を利用することによって正確な位置関係を設定することができる。
【0011】
また、上記第2座標判定手段は、第2座標入力の座標が第2ディスプレイの端部の座標であった場合に、当該第2座標入力が第2座標条件を満たすと判定してもよい。
【0012】
上記によれば、一方のディスプレイ端部から他方のディスプレイ端部までつながる座標入力を条件として複数のディスプレイの位置関係を設定することができる。
【0013】
また、上記第1画像制御手段は、入力開始点を示す画像として、当該入力開始点となる座標を含む位置に第1移動オブジェクトの画像を配置し、第1座標入力が入力開始点となる座標を含む位置への入力であると判定された場合に、第1継続座標入力の座標に位置するように当該第1移動オブジェクトの位置を移動させてもよい。
【0014】
上記によれば、座標入力の開始位置をユーザに分かりやすく示すことができるとともに、座標入力に追従する第1移動オブジェクトを表示することによって、第1ディスプレイへの座標入力操作をゆっくり行うことをユーザに促すことができる。
【0015】
また、上記第2画像制御手段は、入力目標点を示す画像として、第1移動オブジェクトの形状に対応する画像を当該入力目標点となる座標を含む位置に表示させてもよい。
【0016】
上記によれば、座標入力の目標位置をユーザに分かりやすく示すことができる。
【0017】
また、上記第2画像制御手段は、第2座標入力の座標が第2座標条件を満たすと判定された場合に、当該第2座標入力の座標に位置するように第2移動オブジェクトの画像を表示し、第2継続座標入力の座標に位置するように当該第2移動オブジェクトの位置を移動させてもよい。
【0018】
上記によれば、第2ディスプレイへの座標入力操作をゆっくり行うことをユーザに促すことができる。
【0019】
また、上記第1画像制御手段は、第1座標入力が入力開始点となる座標への入力を含むと判定された場合に、第1継続座標入力の座標が第1座標条件を満たすと判定されるよりも前に第1ディスプレイに対する座標入力が検出されなくなったときは、第1移動オブジェクトを当該入力開始点となる座標を含む位置に移動させて表示してもよい。
【0020】
上記によれば、複数のディスプレイの位置関係を設定するための操作が適切に行われなかったことをユーザに報知することができる。
【0021】
また、上記第2オブジェクトの画像は、第1オブジェクトの画像と同じ画像でもよい。
【0022】
上記によれば、複数のディスプレイを用いた一連の操作を分かりやすくユーザに把握させることができる。
【0023】
また、上記第1画像制御手段は、第2座標入力の座標が第2座標条件を満たすと判定されたことに応じて、第1移動オブジェクトを消去してもよい。
【0024】
上記によれば、第1移動オブジェクトが移動しているイメージをさらに明確にすることができる。
【0025】
また、上記第1画像制御手段は、第2座標入力の座標が第2座標条件を満たすと判定された場合に、第2移動入力の座標が入力目標点となる座標への入力を含むと判定されるよりも前に第2ディスプレイに対する座標入力が検出されなくなったときは、第1移動オブジェクトを入力開始点となる座標を含む位置に表示してもよい。
【0026】
上記によれば、複数のディスプレイの位置関係を設定するための操作が適切に行われなかったことをユーザに報知することができる。
【0027】
また、上記位置関係設定手段は、第2継続座標入力が入力目標点となる座標を含む位置への入力である状態で第2位置検出手段による座標入力が検出されなくなった場合、第1ディスプレイと第2ディスプレイとの位置関係を決定してもよい。
【0028】
上記によれば、複数のディスプレイの位置関係を設定するために、入力目標点付近によるタッチオフをユーザに促すことができる。
【0029】
また、上記情報処理システムは、第3ディスプレイ、第3位置検出手段、第3画像制御手段、第3座標判定手段、および第4座標判定手段を、さらに備えてもよい。第3位置検出手段は、第3ディスプレイに対する座標入力を検知する。第3画像制御手段は、第3ディスプレイの入力目標点となる座標を含む位置に、当該第3ディスプレイの入力目標点を示す画像を表示させる。第3座標判定手段は、第2継続座標入力の座標が第2ディスプレイの入力目標点となる座標を含む位置を通過し、当該第2ディスプレイの端部の座標となった場合に、第3座標条件を満たすと判定する。第4座標判定手段は、第2継続座標入力が第3座標条件を満たすと判定された場合に、当該第2継続座標入力の後に第3位置検出手段により検出され、かつ当該検出された第3座標入力の座標が第3ディスプレイの端部の座標であったとき、当該第3座標入力が第4座標条件を満たすと判定する。上記到達判定手段は、第3座標入力が第4座標条件を満たすと判定された場合に、当該第3座標入力から継続して検出された第3ディスプレイに対する第3継続座標入力が第3ディスプレイの入力目標点となる座標を含む位置への入力を含むか否かを判定してもよい。上記位置関係設定手段は、第3継続座標入力が第3ディスプレイの入力目標点となる座標を含む位置への入力を含むと判定された場合に、第2継続座標入力の座標の軌跡および第3継続座標入力の座標の軌跡に基づいて、第2ディスプレイと第3ディスプレイとの位置関係を設定してもよい。
【0030】
上記によれば、3つ以上のディスプレイの位置関係を連続的に設定することができる。
【0031】
また、上記第1画像制御手段は、入力開始点を示す画像として、当該入力開始点となる座標を含む位置に第1移動オブジェクトの画像を配置し、第1座標入力が入力開始点となる座標を含む位置への入力であると判定された場合に、第1継続座標入力の座標に位置するように当該第1移動オブジェクトの位置を移動させてもよい。上記第2画像制御手段は、第2座標入力の座標が第2座標条件を満たすと判定された場合に、当該第2座標入力の座標に位置するように第2移動オブジェクトの画像を表示し、第2継続座標入力の座標に位置するように当該第2移動オブジェクトの位置を移動させてもよい。上記第2画像制御手段は、第2継続座標入力が第2ディスプレイの入力目標点となる座標を含む位置への入力を含まずに第2座標条件の判定に用いられた座標とは異なる当該第2ディスプレイの端部の座標となった場合、第2移動オブジェクトを消去してもよい。上記第1画像制御手段は、第2継続座標入力が第2ディスプレイの入力目標点となる座標を含む位置への入力を含まずに第2座標条件の判定に用いられた座標とは異なる当該第2ディスプレイの端部の座標となった場合、第1移動オブジェクトを入力開始点となる座標を含む位置に移動させて表示してもよい。
【0032】
上記によれば、入力目標点への座標入力をせずに位置関係が設定されることを防止することができる。
【0033】
また、上記情報処理システムは、第3ディスプレイおよび第3位置検出手段を、さらに備えてもよい。第3位置検出手段は、第3ディスプレイに対する座標入力を検知する。上記第1画像制御手段は、第1ディスプレイと第2ディスプレイとの位置関係が設定された後に、さらに第1ディスプレイと第3ディスプレイとの位置関係を設定する場合は、第1ディスプレイの入力開始点となる座標を含む位置に当該入力開始点を示す画像を再表示させてもよい。
【0034】
上記によれば、3つ以上のディスプレイの位置関係を設定する際に、追加操作によって設定することができる。
【0035】
また、上記情報処理システムは、第3ディスプレイおよび第3位置検出手段を、さらに備えてもよい。第3位置検出手段は、第3ディスプレイに対する座標入力を検知する。上記第2画像制御手段は、第1ディスプレイと第2ディスプレイとの位置関係が設定された後に、さらに第2ディスプレイと第3ディスプレイとの位置関係を設定する場合は、第2ディスプレイの入力開始点となる座標を含む位置に、当該入力開始点を示す画像を表示させてもよい。
【0036】
上記によれば、3つ以上のディスプレイの位置関係を設定する際に、追加操作によって設定することができる。
【0037】
また、上記第1画像制御手段は、第1ディスプレイの中央部に、入力開始点を示す画像を配置してもよい。
【0038】
上記によれば、スライド操作されるスペースを確保することが可能となり、位置関係を正確に設定することができる。
【0039】
また、上記第2画像制御手段は、第2ディスプレイの中央部に、入力目標点を示す画像を配置してもよい。
【0040】
上記によれば、スライド操作されるスペースを確保することが可能となり、位置関係を正確に設定することができる。
【0041】
また、上記情報処理システムは、連続画像表示制御手段を、さらに備えてもよい。連続画像表示制御手段は、第1ディスプレイと第2ディスプレイとの位置関係に基づいて、第1ディスプレイの表示内容と第2ディスプレイの表示内容とが連続するように表示制御する。
【0042】
上記によれば、複数のディスプレイの位置関係に基づいた表示を行うことができる。
【0043】
また、上記第1位置検出手段および第2位置検出手段は、それぞれタッチパネルでもよい。
【0044】
上記によれば、タッチ操作によって複数のディスプレイの位置関係を設定することができる。
【0045】
また、本発明は、情報処理装置、情報処理プログラム、および情報処理方法の形態で実施されてもよい。
【発明の効果】
【0046】
本発明によれば、複数のディスプレイの位置関係を設定するための操作をユーザに分かりやすく知らせることができる。
【図面の簡単な説明】
【0047】
【
図1】本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図
【
図2】本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図
【
図6】本体装置2の内部構成の一例を示すブロック図
【
図7】本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図
【
図8】2つの本体装置2の位置関係の設定を説明する図
【
図9】2つの本体装置2の位置関係の設定を説明する図
【
図10】2つの本体装置2の位置関係の設定を説明する図
【
図11】複数の本体装置2の位置関係を設定するための操作を案内するための入力オブジェクト画像Isおよび入力目標画像Ieの一例を示す図
【
図12】第1タッチパネル13aをタッチ操作することによって入力オブジェクト画像Isを移動させる様子の一例を示す図
【
図13】第2タッチパネル13bをタッチ操作することによって入力オブジェクト画像Isを移動させる様子の一例を示す図
【
図14】入力目標画像Ieが示す位置まで入力オブジェクト画像Isを移動させる様子の一例を示す図
【
図15】予め定められた配置態様で3つ以上の本体装置2を配置し、それらの配置順を位置関係として設定する例を示す図
【
図16】任意の配置態様で3つ以上の本体装置2を配置し、それらの位置関係を設定する例を示す図
【
図17】任意の配置態様で3つ以上の本体装置2を配置し、それらの位置関係を設定する例を示す図
【
図18】仮想ゲーム空間が規定するグローバル座標空間で隣接して配置されている本体装置2間の位置ずれも規定してゲーム画像を表示する例を示す図
【
図19】仮想ゲーム空間が規定するグローバル座標空間で隣接して配置されている本体装置2間の位置ずれを規定せずにゲーム画像を表示する例を示す図
【
図20】複数の本体装置2それぞれのDRAM85に設定されるデータ領域の一例を示す図
【
図21】親機に設定されるゲームシステム1で実行される情報処理の一例を示すフローチャート
【
図22】
図21のステップS129において行われる親機位置関係設定処理の詳細な一例を示すサブルーチン
【
図23】子機に設定されるゲームシステム1で実行される情報処理の一例を示すフローチャート
【
図24】
図23のステップS168において行われる子機位置関係設定処理の詳細な一例を示すサブルーチン
【発明を実施するための形態】
【0048】
以下、本実施形態の一例に係るゲームシステムについて説明する。本実施形態におけるゲームシステム1の一例は、本体装置(情報処理装置;本実施形態ではゲーム装置本体として機能する)2と左コントローラ3および右コントローラ4とを含み、情報処理システムとしても機能する。本体装置2は、左コントローラ3および右コントローラ4がそれぞれ着脱可能である。つまり、ゲームシステム1は、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として利用できる。また、ゲームシステム1は、本体装置2と左コントローラ3および右コントローラ4とを別体として利用することもできる(
図2参照)。以下では、本実施形態のゲームシステム1のハードウェア構成について説明し、その後に本実施形態のゲームシステム1の制御について説明する。
【0049】
図1は、本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図である。
図1に示すように、左コントローラ3および右コントローラ4は、それぞれ本体装置2に装着されて一体化されている。本体装置2は、ゲームシステム1における各種の処理(例えば、ゲーム処理)を実行する装置である。本体装置2は、ディスプレイ12を備える。左コントローラ3および右コントローラ4は、ユーザが入力を行うための操作部を備える装置である。
【0050】
図2は、本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図である。
図1および
図2に示すように、左コントローラ3および右コントローラ4は、本体装置2に着脱可能である。なお、以下において、左コントローラ3および右コントローラ4の総称として「コントローラ」と記載することがある。
【0051】
図3は、本体装置2の一例を示す六面図である。
図3に示すように、本体装置2は、略板状のハウジング11を備える。本実施形態において、ハウジング11の主面(換言すれば、表側の面、すなわち、ディスプレイ12が設けられる面)は、大略的には矩形形状である。
【0052】
なお、ハウジング11の形状および大きさは、任意である。一例として、ハウジング11は、携帯可能な大きさであってよい。また、本体装置2単体または本体装置2に左コントローラ3および右コントローラ4が装着された一体型装置は、携帯型装置となってもよい。また、本体装置2または一体型装置が手持ち型の装置となってもよい。また、本体装置2または一体型装置が可搬型装置となってもよい。
【0053】
図3に示すように、本体装置2は、ハウジング11の主面に設けられるディスプレイ12を備える。ディスプレイ12は、本体装置2が生成した画像を表示する。本実施形態においては、ディスプレイ12は、液晶表示装置(LCD)とする。ただし、ディスプレイ12は任意の種類の表示装置であってよい。
【0054】
また、本体装置2は、ディスプレイ12の画面上にタッチパネル13を備える。本実施形態においては、タッチパネル13は、マルチタッチ入力が可能な方式(例えば、静電容量方式)のものである。ただし、タッチパネル13は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式(例えば、抵抗膜方式)のものであってもよい。
【0055】
本体装置2は、ハウジング11の内部においてスピーカ(すなわち、
図6に示すスピーカ88)を備えている。
図3に示すように、ハウジング11の主面には、スピーカ孔11aおよび11bが形成される。そして、スピーカ88の出力音は、これらのスピーカ孔11aおよび11bからそれぞれ出力される。
【0056】
また、本体装置2は、本体装置2が左コントローラ3と有線通信を行うための端子である左側端子17と、本体装置2が右コントローラ4と有線通信を行うための右側端子21を備える。
【0057】
図3に示すように、本体装置2は、スロット23を備える。スロット23は、ハウジング11の上側面に設けられる。スロット23は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム1およびそれと同種の情報処理装置に専用の記憶媒体(例えば、専用メモリカード)である。所定の種類の記憶媒体は、例えば、本体装置2で利用されるデータ(例えば、アプリケーションのセーブデータ等)、および/または、本体装置2で実行されるプログラム(例えば、アプリケーションのプログラム等)を記憶するために用いられる。また、本体装置2は、電源ボタン28を備える。
【0058】
本体装置2は、下側端子27を備える。下側端子27は、本体装置2がクレードルと通信を行うための端子である。本実施形態において、下側端子27は、USBコネクタ(より具体的には、メス側コネクタ)である。上記一体型装置または本体装置2単体をクレードルに載置した場合、ゲームシステム1は、本体装置2が生成して出力する画像を据置型モニタに表示することができる。また、本実施形態においては、クレードルは、載置された上記一体型装置または本体装置2単体を充電する機能を有する。また、クレードルは、ハブ装置(具体的には、USBハブ)の機能を有する。
【0059】
図4は、左コントローラ3の一例を示す六面図である。
図4に示すように、左コントローラ3は、ハウジング31を備える。本実施形態においては、ハウジング31は、縦長の形状、すなわち、上下方向(すなわち、
図1および
図4に示すy軸方向)に長い形状である。左コントローラ3は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング31は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ3は、横長となる向きで把持されることも可能である。左コントローラ3が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【0060】
左コントローラ3は、アナログスティック32を備える。
図4に示すように、アナログスティック32は、ハウジング31の主面に設けられる。アナログスティック32は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック32を傾倒することによって傾倒方向に応じた方向の入力(および、傾倒した角度に応じた大きさの入力)が可能である。なお、左コントローラ3は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施形態においては、アナログスティック32を押下する入力が可能である。
【0061】
左コントローラ3は、各種操作ボタンを備える。左コントローラ3は、ハウジング31の主面上に4つの操作ボタン33~36(具体的には、右方向ボタン33、下方向ボタン34、上方向ボタン35、および左方向ボタン36)を備える。さらに、左コントローラ3は、録画ボタン37および-(マイナス)ボタン47を備える。左コントローラ3は、ハウジング31の側面の左上に第1Lボタン38およびZLボタン39を備える。また、左コントローラ3は、ハウジング31の側面の、本体装置2に装着される際に装着される側の面に第2Lボタン43および第2Rボタン44を備える。これらの操作ボタンは、本体装置2で実行される各種プログラム(例えば、OSプログラムやアプリケーションプログラム)に応じた指示を行うために用いられる。
【0062】
また、左コントローラ3は、左コントローラ3が本体装置2と有線通信を行うための端子42を備える。
【0063】
図5は、右コントローラ4の一例を示す六面図である。
図5に示すように、右コントローラ4は、ハウジング51を備える。本実施形態においては、ハウジング51は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ4は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング51は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ4は、横長となる向きで把持されることも可能である。右コントローラ4が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【0064】
右コントローラ4は、左コントローラ3と同様、方向入力部としてアナログスティック52を備える。本実施形態においては、アナログスティック52は、左コントローラ3のアナログスティック32と同じ構成である。また、右コントローラ4は、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ4は、左コントローラ3と同様、ハウジング51の主面上に4つの操作ボタン53~56(具体的には、Aボタン53、Bボタン54、Xボタン55、およびYボタン56)を備える。さらに、右コントローラ4は、+(プラス)ボタン57およびホームボタン58を備える。また、右コントローラ4は、ハウジング51の側面の右上に第1Rボタン60およびZRボタン61を備える。また、右コントローラ4は、左コントローラ3と同様、第2Lボタン65および第2Rボタン66を備える。
【0065】
また、右コントローラ4は、右コントローラ4が本体装置2と有線通信を行うための端子64を備える。
【0066】
図6は、本体装置2の内部構成の一例を示すブロック図である。本体装置2は、
図3に示す構成の他、
図6に示す各構成要素81~91、97、および98を備える。これらの構成要素81~91、97、および98のいくつかは、電子部品として電子回路基板上に実装されてハウジング11内に収納されてもよい。
【0067】
本体装置2は、プロセッサ81を備える。プロセッサ81は、本体装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ81は、記憶部(具体的には、フラッシュメモリ84等の内部記憶媒体、あるいは、スロット23に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。
【0068】
本体装置2は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ84およびDRAM(Dynamic Random Access Memory)85を備える。フラッシュメモリ84およびDRAM85は、プロセッサ81に接続される。フラッシュメモリ84は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を記憶するために用いられるメモリである。DRAM85は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【0069】
本体装置2は、スロットインターフェース(以下、「I/F」と略記する。)91を備える。スロットI/F91は、プロセッサ81に接続される。スロットI/F91は、スロット23に接続され、スロット23に装着された所定の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書き込みを、プロセッサ81の指示に応じて行う。
【0070】
プロセッサ81は、フラッシュメモリ84およびDRAM85、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【0071】
本体装置2は、ネットワーク通信部82を備える。ネットワーク通信部82は、プロセッサ81に接続される。ネットワーク通信部82は、ネットワークを介して外部の装置と通信(具体的には、無線通信)を行う。本実施形態においては、ネットワーク通信部82は、第1の通信態様としてWi-Fiの規格に準拠した方式により、無線LANに接続して外部装置と通信を行う。また、ネットワーク通信部82は、第2の通信態様として所定の通信方式(例えば、独自プロトコルによる通信や、赤外線通信)により、同種の他の本体装置2との間で無線通信を行う。なお、上記第2の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置2との間で無線通信可能であり、複数の本体装置2の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【0072】
本体装置2は、コントローラ通信部83を備える。コントローラ通信部83は、プロセッサ81に接続される。コントローラ通信部83は、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、本実施形態においては、コントローラ通信部83は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。
【0073】
プロセッサ81は、上述の左側端子17、右側端子21、および下側端子27に接続される。プロセッサ81は、左コントローラ3と有線通信を行う場合、左側端子17を介して左コントローラ3へデータを送信するとともに、左側端子17を介して左コントローラ3から操作データを受信する。また、プロセッサ81は、右コントローラ4と有線通信を行う場合、右側端子21を介して右コントローラ4へデータを送信するとともに、右側端子21を介して右コントローラ4から操作データを受信する。また、プロセッサ81は、クレードルと通信を行う場合、下側端子27を介してクレードルへデータを送信する。このように、本実施形態においては、本体装置2は、左コントローラ3および右コントローラ4との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置または本体装置2単体がクレードルに装着された場合、本体装置2は、クレードルを介してデータ(例えば、画像データや音声データ)を据置型モニタ等に出力することができる。
【0074】
ここで、本体装置2は、複数の左コントローラ3と同時に(換言すれば、並行して)通信を行うことができる。また、本体装置2は、複数の右コントローラ4と同時に(換言すれば、並行して)通信を行うことができる。したがって、複数のユーザは、左コントローラ3および右コントローラ4のセットをそれぞれ用いて、本体装置2に対する入力を同時に行うことができる。一例として、第1ユーザが左コントローラ3および右コントローラ4の第1セットを用いて本体装置2に対して入力を行うと同時に、第2ユーザが左コントローラ3および右コントローラ4の第2セットを用いて本体装置2に対して入力を行うことが可能となる。
【0075】
本体装置2は、タッチパネル13の制御を行う回路であるタッチパネルコントローラ86を備える。タッチパネルコントローラ86は、タッチパネル13とプロセッサ81との間に接続される。タッチパネルコントローラ86は、タッチパネル13からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、プロセッサ81へ出力する。
【0076】
また、ディスプレイ12は、プロセッサ81に接続される。プロセッサ81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
【0077】
本体装置2は、コーデック回路87およびスピーカ(具体的には、左スピーカおよび右スピーカ)88を備える。コーデック回路87は、スピーカ88および音声入出力端子25に接続されるとともに、プロセッサ81に接続される。コーデック回路87は、スピーカ88および音声入出力端子25に対する音声データの入出力を制御する回路である。
【0078】
また、本体装置2は、加速度センサ89を備える。本実施形態においては、加速度センサ89は、所定の3軸(例えば、
図1に示すxyz軸)方向に沿った加速度の大きさを検出する。なお、加速度センサ89は、1軸方向あるいは2軸方向の加速度を検出するものであってもよい。
【0079】
また、本体装置2は、角速度センサ90を備える。本実施形態においては、角速度センサ90は、所定の3軸(例えば、
図1に示すxyz軸)回りの角速度を検出する。なお、角速度センサ90は、1軸回りあるいは2軸回りの角速度を検出するものであってもよい。
【0080】
加速度センサ89および角速度センサ90は、プロセッサ81に接続され、加速度センサ89および角速度センサ90の検出結果は、プロセッサ81へ出力される。プロセッサ81は、上記の加速度センサ89および角速度センサ90の検出結果に基づいて、本体装置2の動きおよび/または姿勢に関する情報を算出することが可能である。
【0081】
本体装置2は、電力制御部97およびバッテリ98を備える。電力制御部97は、バッテリ98およびプロセッサ81に接続される。また、図示しないが、電力制御部97は、本体装置2の各部(具体的には、バッテリ98の電力の給電を受ける各部、左側端子17、および右側端子21)に接続される。電力制御部97は、プロセッサ81からの指令に基づいて、バッテリ98から上記各部への電力供給を制御する。
【0082】
また、バッテリ98は、下側端子27に接続される。外部の充電装置(例えば、クレードル)が下側端子27に接続され、下側端子27を介して本体装置2に電力が供給される場合、供給された電力がバッテリ98に充電される。
【0083】
図7は、本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図である。なお、本体装置2に関する内部構成の詳細については、
図6で示しているため
図7では省略している。
【0084】
左コントローラ3は、本体装置2との間で通信を行う通信制御部101を備える。
図7に示すように、通信制御部101は、端子42を含む各構成要素に接続される。本実施形態においては、通信制御部101は、端子42を介した有線通信と、端子42を介さない無線通信との両方で本体装置2と通信を行うことが可能である。通信制御部101は、左コントローラ3が本体装置2に対して行う通信方法を制御する。すなわち、左コントローラ3が本体装置2に装着されている場合、通信制御部101は、端子42を介して本体装置2と通信を行う。また、左コントローラ3が本体装置2から外されている場合、通信制御部101は、本体装置2(具体的には、コントローラ通信部83)との間で無線通信を行う。コントローラ通信部83と通信制御部101との間の無線通信は、例えばBluetooth(登録商標)の規格に従って行われる。
【0085】
また、左コントローラ3は、例えばフラッシュメモリ等のメモリ102を備える。通信制御部101は、例えばマイコン(マイクロプロセッサとも言う)で構成され、メモリ102に記憶されるファームウェアを実行することによって各種の処理を実行する。
【0086】
左コントローラ3は、各ボタン103(具体的には、ボタン33~39、43、44、および47)を備える。また、左コントローラ3は、アナログスティック(
図7では「スティック」と記載する)32を備える。各ボタン103およびアナログスティック32は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部101へ出力する。
【0087】
左コントローラ3は、慣性センサを備える。具体的には、左コントローラ3は、加速度センサ104を備える。また、左コントローラ3は、角速度センサ105を備える。本実施形態においては、加速度センサ104は、所定の3軸(例えば、
図4に示すxyz軸)方向に沿った加速度の大きさを検出する。なお、加速度センサ104は、1軸方向あるいは2軸方向の加速度を検出するものであってもよい。本実施形態においては、角速度センサ105は、所定の3軸(例えば、
図4に示すxyz軸)回りの角速度を検出する。なお、角速度センサ105は、1軸回りあるいは2軸回りの角速度を検出するものであってもよい。加速度センサ104および角速度センサ105は、それぞれ通信制御部101に接続される。そして、加速度センサ104および角速度センサ105の検出結果は、適宜のタイミングで繰り返し通信制御部101へ出力される。
【0088】
通信制御部101は、各入力部(具体的には、各ボタン103、アナログスティック32、各センサ104および105)から、入力に関する情報(具体的には、操作に関する情報、またはセンサによる検出結果)を取得する。通信制御部101は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【0089】
上記操作データが本体装置2へ送信されることによって、本体装置2は、左コントローラ3に対して行われた入力を得ることができる。すなわち、本体装置2は、各ボタン103およびアナログスティック32に対する操作を、操作データに基づいて判別することができる。また、本体装置2は、左コントローラ3の動きおよび/または姿勢に関する情報を、操作データ(具体的には、加速度センサ104および角速度センサ105の検出結果)に基づいて算出することができる。
【0090】
左コントローラ3は、電力供給部108を備える。本実施形態において、電力供給部108は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ3の各部(具体的には、バッテリの電力の給電を受ける各部)に接続される。
【0091】
図7に示すように、右コントローラ4は、本体装置2との間で通信を行う通信制御部111を備える。また、右コントローラ4は、通信制御部111に接続されるメモリ112を備える。通信制御部111は、端子64を含む各構成要素に接続される。通信制御部111およびメモリ112は、左コントローラ3の通信制御部101およびメモリ102と同様の機能を有する。したがって、通信制御部111は、端子64を介した有線通信と、端子64を介さない無線通信(具体的には、Bluetooth(登録商標)の規格に従った通信)との両方で本体装置2と通信を行うことが可能であり、右コントローラ4が本体装置2に対して行う通信方法を制御する。
【0092】
右コントローラ4は、左コントローラ3の各入力部と同様の各入力部を備える。具体的には、各ボタン113、アナログスティック52、慣性センサ(加速度センサ114および角速度センサ115)を備える。これらの各入力部については、左コントローラ3の各入力部と同様の機能を有し、同様に動作する。
【0093】
右コントローラ4は、処理部121を備える。処理部121は、通信制御部111に接続される。
【0094】
右コントローラ4は、電力供給部118を備える。電力供給部118は、左コントローラ3の電力供給部108と同様の機能を有し、同様に動作する。
【0095】
以上に説明したように、本実施形態におけるゲームシステム1については左コントローラ3および右コントローラ4が本体装置2から着脱可能である。また、クレードルに左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置や本体装置2単体を装着することによって据置型モニタ6に画像(および音声)を出力可能である。以下、左コントローラ3および右コントローラ4を本体装置2から取り外した状態で、本体装置2から画像(および音声)を出力する利用態様におけるゲームシステムを用いて説明する。
【0096】
本実施形態においては、左コントローラ3および右コントローラ4を外した状態(「離脱状態」と呼ぶ)の本体装置2を複数用いて利用することが可能である。離脱状態でゲームシステム1を利用してアプリケーション(例えば、ゲームアプリケーション)に対する操作を行う場合の態様としては、2つ以上の本体装置2を並べて配置して、2人以上のユーザが左コントローラ3および/または右コントローラ4をそれぞれ用いる態様が考えられる。
【0097】
本実施形態においては、並べて配置された複数の本体装置2の位置関係を設定し、この位置関係に基づいて、ゲーム処理が行われる。説明を具体的にするために、本体装置2を2つ用いてそれらの位置関係を設定する例について、
図8~
図10を参照して説明する。
図8~
図10は、2つの本体装置2の位置関係の設定を説明する図である。以下では、説明の便宜のため、2つの本体装置2を、第1本体装置2aおよび第2本体装置2bとし、互いに通信可能な状態であるとする。また、第1本体装置2aのディスプレイ12およびタッチパネル13を、それぞれ第1ディスプレイ12aおよび第1タッチパネル13aとし、第2本体装置2bのディスプレイ12およびタッチパネル13を、それぞれ第2ディスプレイ12bおよび第2タッチパネル13bとする。
【0098】
図8に示すように、第1本体装置2aの第1ディスプレイ12a(第1タッチパネル13a)と第2本体装置2bの第2ディスプレイ12b(第2タッチパネル13b)とが隣接するように、第1本体装置2aおよび第2本体装置2bが任意の位置に載置される例を用いる。なお、第1本体装置2aおよび第2本体装置2bは、
図8のように載置した上で、電源が投入されてもよい。そして、第1本体装置2aおよび第2本体装置2bの位置関係を設定するため、ユーザは、いずれかの本体装置2のタッチパネル13(具体的には、互いに通信する際に親機に設定される本体装置2のタッチパネル13;ここでは第1本体装置2aの第1タッチパネル13a)をタッチオンしてタッチ操作を開始し、そこから、もう一方の本体装置2のタッチパネル13(具体的には、互いに通信する際に子機に設定される本体装置2のタッチパネル13;ここでは第2本体装置2bの第2タッチパネル13b)上までスライドするタッチ操作(スライド操作)してタッチオフさせる。
【0099】
具体的には、ユーザは、第1タッチパネル13a上の位置にタッチオンしてから、第1タッチパネル13aの周縁までスライド操作する。その後、ユーザは、第1タッチパネル13aと第2タッチパネル13bとの隙間を乗り越えるようにスライド操作を継続させ、第2タッチパネル13bの周縁をタッチ操作した後、そこから第2タッチパネル13b上の位置までスライド操作を継続させてタッチオフさせる。このスライド操作は、連続的に、かつ概ね直線に沿って行われてもよいし、タッチパネル13上で曲げられてもかまわないが、以下の例では、スライド操作が概ね直線に沿って行われる例を用いる。また、第1タッチパネル13a上で行われるスライド操作の始点および終点をそれぞれ第1始点Ps1および第1終点Pe1とし、第2タッチパネル13b上で行われるスライド操作の始点および終点をそれぞれ第2始点Ps2および第2終点Pe2とする。以下、このスライド操作が行われたときの第1本体装置2aおよび第2本体装置2bの処理例について説明する。
【0100】
位置関係を設定するためのスライド操作が行われる前には、第1本体装置2aおよび第2本体装置2bは、互いの位置関係を認識していない。そのため、
図9に示すように、第1本体装置2aおよび第2本体装置2bの位置関係が認識されることなく、第1本体装置2aおよび第2本体装置2bそれぞれにおいて、上記スライド操作が検出される。まず、ユーザが、第1タッチパネル13aの第1始点Ps1上でタッチオンすると、第1タッチパネル13aは、このタッチオン操作を検知する。これにより、第1本体装置2aのプロセッサ81aは、第1本体装置2aの第1タッチパネル13aから、第2本体装置2bの第2タッチパネル13bに向かってスライド操作が行われると判定する。
【0101】
ユーザが第1始点Ps1からスライド操作を開始し、第1終点Pe1において第1タッチパネル13aに対するタッチ操作が終了してタッチオフされると、第1タッチパネル13a上でのスライド操作が終了する。このスライド操作の過程において、第1タッチパネル13a上でタッチ操作された座標は、逐次、第1本体装置2aのDRAM85aに格納される。例えば、タッチ操作が検出されている間、処理フレーム毎にタッチ操作されている座標を格納することができる。
【0102】
次に、第2タッチパネル13bの第2始点Ps2がタッチオンされると、第1終点Pe1でタッチオフされてから第2始点Ps2でタッチオンされるまでの時間(非タッチ時間t1)が算出される。そして、ユーザが第2始点Ps2から再びスライド操作を開始し、第2終点Pe2において第2タッチパネル13bからタッチオフされると、位置関係を設定するためのスライド操作が終了する。この第2タッチパネル13b上での第2始点Ps2から第2終点Pe2までのスライド操作の間、第2タッチパネル13b上でタッチ操作された座標は、逐次第2本体装置2bのDRAM85bに格納される。
【0103】
上記スライド操作が終了した後、第1本体装置2aおよび第2本体装置2bの位置関係を設定するために、第1本体装置2aのプロセッサ81aは、
図9に示すように、第1タッチパネル13a上でタッチ操作された座標に基づき、第1始点Ps1から第1終点Pe1までの第1ベクトルV1を算出する。同様に、第2本体装置2bのプロセッサ81bも、第2始点Ps2から第2終点Pe2までの第2ベクトルV2を算出する。そして、これら第1ベクトルV1、第2ベクトルV2、および非タッチ時間t1を用いて、第1タッチパネル13a(第1ディスプレイ12a)および第2タッチパネル13b(第2ディスプレイ12b)の位置関係が設定される。すなわち、
図10に示すように、第1ベクトルV1と第2ベクトルV2とが記録された時間通りに、第1ベクトルV1および第2ベクトルV2が直線上に並んで配置されるように、第1タッチパネル13a(第1ディスプレイ12a)および第2タッチパネル13b(第2ディスプレイ12b)の位置関係が設定される。なお、スライド操作後に算出された第1ベクトルV1、第2ベクトルV2、および非タッチ時間t1は、第1本体装置2aおよび第2本体装置2bの間で相互に参照され、第1本体装置2aまたは第2本体装置2bの少なくとも一方(定型的には、親機に設定される第1本体装置2a)において位置関係が算出される。そして、この位置関係は、第1本体装置2aおよび第2本体装置2bで相互に参照される。
【0104】
具体的には、この位置関係は、例えば、
図8に示す位置に設置された第1本体装置2aおよび第2本体装置2bの第1タッチパネル13aおよび第2タッチパネル13bの各座標(第1ディスプレイ12aおよび第2ディスプレイ12bの各画素の位置)を、仮想ゲーム空間が規定するグローバル座標空間で規定したものである。これにより、第1ディスプレイ12aおよび第2ディスプレイ12bの画素の位置が既知となるので、第1ディスプレイ12aおよび第2ディスプレイ12bには、第1本体装置2aおよび第2本体装置2bの配置位置に応じた画像を表示することができ、仮想ゲーム空間を2つの第1ディスプレイ12aおよび第2ディスプレイ12bによって表示することができる。そして、ゲームを行う際には、位置関係が設定された後、この位置関係に基づいた所定のゲーム処理が行われ、当該ゲーム処理に基づいて、2つの第1ディスプレイ12aおよび第2ディスプレイ12bに仮想ゲーム空間が表示される。
【0105】
上述したグローバル座標空間での第1ディスプレイ12aおよび第2ディスプレイ12bの位置の設定は、第1本体装置2aおよび第2本体装置2bの第1タッチパネル13aおよび第2タッチパネル13bと第1ディスプレイ12aおよび第2ディスプレイ12bの大きさや座標が既知であるため、第1ベクトルV1および第2ベクトルV2が算出できれば、第1タッチパネル13aおよび第2タッチパネル13bのなす角度が算出される。また、スライド操作の速度と非タッチ時間t1とが算出できれば、第1終点Pe1と第2視点Ps2との距離が算出できるため、第1タッチパネル13aおよび第2タッチパネル13b間の距離が算出できる。これらにより、第1タッチパネル13aの座標系での、第2タッチパネル13bの座標を算出することができる。そして、第1タッチパネル13aのグローバル座標空間での位置、角度(姿勢)が予め設定されていれば、第2タッチパネル13bの座標も、グローバル座標で表すことができる。また、第1タッチパネル13aおよび第2タッチパネル13bの各座標と第1ディスプレイ12aおよび第2ディスプレイ12bの画素の位置(座標)とは概ね一致しているため、第1ディスプレイ12aおよび第2ディスプレイ12bの座標をグローバル座標で表すことができる。その結果、第1ディスプレイ12aおよび第2ディスプレイ12bには、第1本体装置2aおよび第2本体装置2bの配置位置に応じた画像を表示することができる。
【0106】
なお、第1ディスプレイ12aおよび第2ディスプレイ12bにおいて上記ベクトルを算出するためのサンプリング数は、予め決定しておくことができる。例えば、第1タッチパネル13a上でタッチ操作されているフレーム数(時間)を算出し、さらに、第2タッチパネル13b上でタッチ操作されているフレーム数を算出する。そして、いずれかが所定のフレーム数(例えば15フレーム)に満たない場合には、上記ベクトルを算出しない(エラー判定する)ことによって、上述した位置関係の設定が行われない。また、第1終点Pe1から第2始点Ps2までの所要フレーム数(非タッチ時間t1)や所要時間が所定フレーム数(例えば、80フレーム)や所定時間(例えば、0.3秒)を越えた場合、第1タッチパネル13aから第2タッチパネル13bに亘るスライド操作が連続していないものと判定(エラー判定)して、位置関係の設定を行わなくてもよい。
【0107】
また、上述した位置設定に用いるベクトルは、他の条件によって設定されてもよい。例えば、第1タッチパネル13a上の位置にタッチオンしてから第1タッチパネル13aの周縁までのスライド操作において、当該スライド操作された軌跡(すなわち、第1始点Ps1から第1終点Pe1までの軌跡)中の1点から当該周縁のタッチ位置(すなわち、第1終点Pe1)までのベクトルを、第1ベクトルV1としてもよい。一例として、上記軌跡中の点は、上記周縁のタッチ位置が得られた時点から所定フレーム前に得られた当該軌跡上のタッチ位置としてもよい。また、第2タッチパネル13b上の周縁からタッチオフするまでのスライド操作において、当該周縁のタッチ位置(すなわち、第2始点Ps2)から当該スライド操作された軌跡(すなわち、第2始点Ps2から第2終点Pe2までの軌跡)中の1点までのベクトルを、第2ベクトルV2としてもよい。一例として、上記軌跡中の点は、上記周縁のタッチ位置が得られた時点から所定フレーム後に得られた当該軌跡上のタッチ位置としてもよい。
【0108】
また、位置関係が設定される複数の本体装置2の間には、空隙が形成されていてもよい。例えば、第1ベクトルV1または第2ベクトルV2が生成されるスライド操作の速度および非タッチ時間t1から第1終点Pe1と第2始点Ps2の距離を算出し、当該距離に応じた空隙を第1タッチパネル13aおよび第2タッチパネル13bの間に設定する。すなわち、第1ベクトルV1と第2ベクトルV2とを、上記距離をおいて同一直線上に並んで配置するように、第1タッチパネル13aおよび第2タッチパネル13bの位置関係を設定する。
【0109】
ここで用いられるスライド操作の速度は、特には限定されず、第1始点Ps1から第2終点Pe2までのスライド操作のいずれの速度を用いてもよい。例えば、第1タッチパネル13a上でのスライド操作の平均速度を用いてもよいし、第2タッチパネル13b上でのスライド操作の平均速度を用いてもよい。あるいは、第1タッチパネル13aから第2タッチパネル13bに亘るスライド操作全体の平均速度を用いることもできる。その他、各スライド操作の一部の速度またはその平均速度を用いることもできる。
【0110】
また、上述した実施例では、第1本体装置2a(第1タッチパネル13a)および第2本体装置2b(第2タッチパネル13b)が同一の2次元平面上に配置されている場合の位置関係を設定する例を示したが、第1本体装置2aおよび第2本体装置2bの少なくとも一方が3次元的に傾いて配置され、第1本体装置2aおよび第2本体装置2bが3次元的に交差している場合には、慣性センサ(加速度センサ89および/または角速度センサ90)により検出された姿勢に基づいて、第1本体装置2aおよび第2本体装置2bの位置関係が当該交差による傾きを考慮して設定されてもよい。具体的には、第1ディスプレイ12aおよび第2ディスプレイ12bの座標を、3次元のグローバル座標で表すことができる。
【0111】
また、本実施形態においては、並べて配置された複数の本体装置2の位置関係を設定するための操作を案内するための画像が、それぞれのディスプレイ12に表示される。以下、
図11~
図14を参照して、上記画像を用いて2つの本体装置2の位置関係を設定するための操作を行う一例を説明する。なお、
図11は、複数の本体装置2の位置関係を設定するための操作を案内するための入力オブジェクト画像Isおよび入力目標画像Ieの一例を示す図である。
図12は、第1タッチパネル13aをタッチ操作することによって入力オブジェクト画像Isを移動させる様子の一例を示す図である。
図13は、第2タッチパネル13bをタッチ操作することによって入力オブジェクト画像Isを移動させる様子の一例を示す図である。
図14は、入力目標画像Ieが示す位置まで入力オブジェクト画像Isを移動させる様子の一例を示す図である。以下では、説明の便宜のため、上述と同様に、2つの本体装置2を、第1本体装置2aおよび第2本体装置2bとし、互いに通信可能な状態であるとする。また、第1本体装置2aのディスプレイ12およびタッチパネル13を、それぞれ第1ディスプレイ12aおよび第1タッチパネル13aとし、第2本体装置2bのディスプレイ12およびタッチパネル13を、それぞれ第2ディスプレイ12bおよび第2タッチパネル13bとする。
【0112】
図11において、第1本体装置2aおよび第2本体装置2bは、互いに通信可能な状態であり、当該通信処理において第1本体装置2aが親機、第2本体装置2bが子機にそれぞれ設定されているとする。この場合、位置関係を設定する処理を行う前の状態において、親機に設定されている第1本体装置2aの第1ディスプレイ12aには、第1ディスプレイ12aの入力開始点となる座標を含む位置(例えば、画面中央を含む位置)に入力オブジェクト画像Isが表示される。また、位置関係を設定する処理を行う前の状態において、子機に設定されている第2本体装置2bの第2ディスプレイ12bには、第2ディスプレイ12bの入力目標点となる座標を含む位置(例えば、画面中央を含む位置)に入力目標画像Ieが表示される。例えば、入力オブジェクト画像Isは、コイン等の円形状のオブジェクトで示される画像である。そして、入力目標画像Ieは、入力オブジェクト画像Isと同じ形状の図形であり、入力オブジェクト画像Isの外縁と同じサイズ、少し大きいサイズ、または少し小さいサイズで表示される。
【0113】
図12において、ユーザが第1ディスプレイ12aに表示された入力オブジェクト画像Is上の位置から第1タッチパネル13aをタッチオンして、その後にスライドさせるタッチ操作(スライド操作)を行った場合、当該スライド操作におけるタッチ位置と一致する位置に入力オブジェクト画像Isが移動する。これによって、第1ディスプレイ12aに表示された入力オブジェクト画像Isは、第1タッチパネル13aに対するスライド操作によってドラッグ移動することになる。そして、ユーザは、第1タッチパネル13a上の位置にタッチオンしてから、位置設定する第2本体装置2bに向かって、第1タッチパネル13aの周縁まで入力オブジェクト画像Isがドラッグ移動するようにスライド操作する。なお、上述した説明では、入力オブジェクト画像Is上の位置から第1タッチパネル13aをタッチオンする操作例を用いたが、第1タッチパネル13aの入力オブジェクト画像Is以外の位置にタッチオンしてからスライド操作する途中の位置に入力オブジェクト画像Isが表示されていてもよい。この場合、上記スライド操作している位置と入力オブジェクト画像Isの位置とが重複した時点から、入力オブジェクト画像Isのドラッグ移動が開始されてもよい。
【0114】
図13において、ユーザは、第2本体装置2bに向かって、第1タッチパネル13aの周縁までスライド操作した後、第1タッチパネル13aと第2タッチパネル13bとの隙間を乗り越えるようにスライド操作を継続させ、第2タッチパネル13bの周縁からタッチ操作を開始する操作を行う(
図13に示す矢印参照)。この第1タッチパネル13aから第2タッチパネル13bへのスライド操作によって、当該スライド操作は、第1タッチパネル13aの周縁部で一旦タッチオフされ、第2タッチパネル13bの周縁部から再びタッチオンされる操作となる。このスライド操作によって、第1ディスプレイ12aにおいてドラッグ移動して表示されている入力オブジェクト画像Isは、タッチオフされた第1タッチパネル13aの周縁部で一旦消去され、タッチオンされた第2タッチパネル13bの周縁部から第2ディスプレイ12bに再表示される。そして、第2タッチパネル13b上において上記周縁部からスライド操作を継続させることによって、上記周縁部からの第2タッチパネル13bに対するスライド操作に応じて入力オブジェクト画像Isがドラッグ移動して第2ディスプレイ12bに表示される。なお、第1タッチパネル13aの周縁部で入力オブジェクト画像Isが一旦消去されるタイミングは、当該周縁部でタッチオフされたタイミングでもよいし、第2タッチパネル13bの周縁部でタッチオンされたタイミングでもよい。また、他の例としては、第2タッチパネル13bに対するスライド操作が開始された後であっても、第2ディスプレイ12bに表示する入力オブジェクト画像Isとは別に、第1タッチパネル13aからタッチオフされた周縁部に入力オブジェクト画像Isの表示を継続してもかまわない。また、第1ディスプレイ12aに表示される入力オブジェクト画像Isと第2ディスプレイ12bに表示される入力オブジェクト画像Isとは、表示される画像としては同じものであることが好ましいが、第1本体装置2aおよび第2本体装置2bそれぞれの内部処理としては同じ画像オブジェクトではなく、見た目として同じとなる異なる画像オブジェクトが用いられる。このような画像オブジェクトの内部処理上の取り扱いは、他の本体装置2において処理される場合も同様である。
【0115】
図14に示すように、第2タッチパネル13bに対する上記スライド操作が第2ディスプレイ12bの入力目標画像Ieが表示されている位置まで行われ、入力目標画像Ie上の位置で第2タッチパネル13bからタッチオフされた場合、第1本体装置2aおよび第2本体装置2bの位置関係を設定するための操作が終了する。そして、上述したスライド操作によって得られた第1タッチパネル13aおよび第2タッチパネル13bに対する軌跡となるタッチ位置に基づいて、第1本体装置2aおよび第2本体装置2bの位置関係が設定される。上記位置関係が設定された場合、第2ディスプレイ12bに表示されている入力オブジェクト画像Isおよび入力目標画像Ieが消去され、第1ディスプレイ12aおよび第2ディスプレイ12bには当該位置関係に基づいた画像が表示される。
【0116】
なお、本実施形態においては、上述したスライド操作の途中で不適切な操作が行われた場合、操作エラーとなって本体装置2の間の位置関係を設定するための処理がやり直しとなり、操作エラーとなったことがユーザに示される。一例として、上記操作エラーが生じた場合、入力オブジェクト画像Isが表示される位置を、初期位置、すなわち第1ディスプレイ12aの入力開始点となる座標を含む位置(例えば、画面中央を含む位置)に戻すことによって、操作エラーとなったことがユーザに示される。ここで、本体装置2の間の位置関係を設定するための操作として不適切であると判定され得るどのような場合でも、操作エラーが生じたと判定されてもよい。例えば、タッチパネル13間の隙間を乗り越えるようにスライド操作を継続している時間(非タッチ時間)が所定時間に到達した場合、タッチパネル13に対してスライド操作されるタッチ位置移動速度が所定速度を超える場合、ディスプレイ12に表示されている入力目標画像と重複する位置にスライド操作の位置が到達する前にタッチオフされた場合、本体装置2同士の位置関係が設定される前に、無線通信可能な別の本体装置2のタッチパネル13が上記スライド操作によってタッチ操作された場合等において、操作エラーが生じたと判定されてもよい。また、操作エラーとなったことがユーザに示される表示態様は、入力オブジェクト画像Isが表示される位置によるものでなくてもよい。例えば、文字画像や音声等によって、スライド操作がエラーとなった旨をユーザに報知してもかまわない。
【0117】
また、上述した説明では、入力オブジェクト画像Isおよび入力目標画像Ieを表示することによって、並べて配置された複数の本体装置2の位置関係を設定するための操作を案内する例を用いたが、他の画像によって当該案内を行ってもよい。例えば、入力開始位置と入力目標位置とに所定の画像(例えば、×印の画像)を表示し、当該所定の画像を結ぶようにスライド操作することをユーザに促してもよい。また、上記スライド操作の軌跡を線画像で表示して、当該スライド操作の途中でタッチオフされる等によって当該スライド操作が完了せず途中でエラーとなった場合に当該線画像を消去することによって、ユーザに正しくスライド操作させることを促してもよい。また、入力オブジェクト画像Isは、コイン等の円形状でなくてもよく、多角形を示す画像、キャラクタ画像、球等の立体を示す画像であってもよい。
【0118】
また、上述した説明では、入力開始位置と入力目標位置とがそれぞれディスプレイ12の中央に設定されている。これによって、複数のタッチパネル13に対してそれぞれスライド操作されるスペースを、どのような配置関係で載置されている場合であっても確保することが可能となり、位置関係を正確に判定することができる。このような効果を期待しない場合、入力開始位置および入力目標位置の少なくとも一方は、ディスプレイ12の中央に設定されなくてもかまわない。また、他の説明によっても明らかであるが、複数の本体装置2の位置関係を設定するための操作は、予め設定された入力開始位置からタッチオンされなくてもよいし、予め設定された入力目標位置においてタッチオフされなくてもよい。例えば、スライド操作の途中において予め設定された入力開始位置や予め設定された入力目標位置を通過しても、複数の本体装置2の位置関係を設定するための操作として成立させてもよい。当然ながら、複数の本体装置2の位置関係を設定するための操作は、予め設定された入力開始位置からタッチオンされ、かつ、予め設定された入力目標位置においてタッチオフされることによって成立するものとしてもよい。
【0119】
上述した実施形態では、互いに通信可能な2つの本体装置2の間の位置関係を算出するための操作を案内する画像表示例を示しているが、互いに通信可能な3つ以上の本体装置2の間の位置関係を算出することも可能である。そして、一例として、
図15を用いて、予め定められた配置態様で3つ以上の本体装置2を配置し、それらの配置順を位置関係として設定する例を用いて説明する。また、他の例として、
図16および
図17を用いて、任意の配置態様で3つ以上の本体装置2を配置し、それらの位置関係を設定する例を用いる。
【0120】
図15に示す例では、4つの本体装置2(第1本体装置2a、第2本体装置2b、第3本体装置2c、および第4本体装置2d)が予め定められた配置態様で配置され、それらの配置順が位置関係として設定される。ここで、予め定められた配置態様とは、複数の本体装置2を横一列に並べる配置、複数の本体装置2を縦一列に並べる配置、複数の本体装置2を格子状(例えば、田の字型)に並べる配置、複数の本体装置2をL字状に並べる配置、複数の本体装置2を輪状(例えば、口の字型)に並べる配置等、予め指定された配置形状で複数の本体装置2が載置されることを示している。例えば、
図15に示す例では、第1本体装置2a、第2本体装置2b、第3本体装置2c、および第4本体装置2dを横一列に並べて配置し、当該配置順を位置関係として設定する例を用いている。
【0121】
図15の(a)において、それぞれの左右が長軸方向となるように、互いに通信可能な第1本体装置2a、第2本体装置2b、第3本体装置2c、および第4本体装置2dがユーザによって左右横一列に並べて載置されている。ここで、第1本体装置2aは、上記通信における親機に設定されており、上記左右横一列における配置順における端(左端または右端)に配置されるものとする。そして、他の第2本体装置2b、第3本体装置2c、および第4本体装置2dの配置順は任意とする。
【0122】
位置関係を設定する処理を行う前の状態において、左右横一列に配置された複数の本体装置2のうち、親機に設定されている第1本体装置2aの第1ディスプレイ12aには、第1ディスプレイ12aの入力開始点となる座標を含む位置(例えば、画面中央を含む位置)に入力オブジェクト画像Isが表示される。また、位置関係を設定する処理を行う前の状態において、子機に設定されている第2本体装置2b、第3本体装置2c、および第4本体装置2dの第2ディスプレイ12b、第3ディスプレイ12c、および第4ディスプレイ12dには、それぞれ入力目標点となる座標を含む位置(例えば、画面中央を含む位置)に入力目標画像Ieb、Iec、およびIedがそれぞれ表示される。
【0123】
図15の(b)において、ユーザが第1ディスプレイ12aに表示された入力オブジェクト画像Is上の位置から第1タッチパネル13aをタッチオンして、その後に隣接する本体装置2(
図15の例では、第2本体装置2b)の方にスライド操作を行うことによって、当該スライド操作に応じて入力オブジェクト画像Isがドラッグ移動する。そして、ユーザは、隣接する第2本体装置2bに向かって、第1タッチパネル13aの周縁までスライド操作した後、第1タッチパネル13aと第2タッチパネル13bとの隙間を乗り越えるようにスライド操作を継続させ、第2タッチパネル13bの周縁からタッチ操作を開始する操作を行う(
図15の(b)に示す矢印参照)。このスライド操作によって、第1ディスプレイ12aにおいてドラッグ移動して表示されている入力オブジェクト画像Isは、タッチオフされた第1タッチパネル13aの周縁部で一旦消去され、タッチオンされた第2タッチパネル13bの周縁部から第2ディスプレイ12bに再表示される。そして、第2タッチパネル13b上において上記周縁部からスライド操作を継続させることによって、上記周縁部からの第2タッチパネル13bに対するスライド操作に応じて入力オブジェクト画像Isがドラッグ移動して第2ディスプレイ12bに表示される。
【0124】
図15の(c)において、第2タッチパネル13bに対する上記スライド操作が第2ディスプレイ12bの入力目標画像Iebが表示されている位置まで行われ、入力目標画像Ieb上の位置で第2タッチパネル13bからタッチオフされた場合、上述したスライド操作によって得られた第1タッチパネル13aおよび第2タッチパネル13bに対する軌跡となるタッチ位置に基づいて、第2本体装置2bが第1本体装置2aの右横に隣接しているとする位置関係が設定される。そして、上記位置関係が設定された場合、第3本体装置2cおよび第4本体装置2dの位置関係が未設定であるため、第2ディスプレイ12bに表示されている入力オブジェクト画像Isが継続表示されて、第2タッチパネル13bに対するタッチオン操作が促されて、位置関係を設定するための操作が継続される。
【0125】
図15の(d)において、ユーザが第2ディスプレイ12bに表示された入力オブジェクト画像Is上の位置から第2タッチパネル13bをタッチオンして、その後に右に隣接する本体装置2(
図15の例では、第3本体装置2c)の方にスライド操作を行うことによって、当該スライド操作に応じて入力オブジェクト画像Isがドラッグ移動する。そして、ユーザは、隣接する第3本体装置2cに向かって、第2タッチパネル13bの周縁までスライド操作した後、第2タッチパネル13bと第3タッチパネル13cとの隙間を乗り越えるようにスライド操作を継続させ、第3タッチパネル13cの周縁からタッチ操作を開始する操作を行う(
図15の(d)に示す矢印参照)。このスライド操作によって、第2ディスプレイ12bにおいてドラッグ移動して表示されている入力オブジェクト画像Isは、タッチオフされた第2タッチパネル13bの周縁部で一旦消去され、タッチオンされた第3タッチパネル13cの周縁部から第3ディスプレイ12cに再表示される。そして、第3タッチパネル13c上において上記周縁部からスライド操作を継続させることによって、上記周縁部からの第3タッチパネル13cに対するスライド操作に応じて入力オブジェクト画像Isがドラッグ移動して第3ディスプレイ12cに表示される。
【0126】
図15の(e)において、第3タッチパネル13cに対するスライド操作に応じて入力オブジェクト画像Isがドラッグ移動し、第3ディスプレイ12cに表示された入力目標画像Iecの位置を経由してタッチオフされることなく当該スライド操作が継続された場合、上述したスライド操作によって得られた第2タッチパネル13bおよび第3タッチパネル13cに対する軌跡となるタッチ位置に基づいて、第3本体装置2cが第2本体装置2bの右横に隣接しているとする位置関係が設定される。そして、上記位置関係が設定されても、第4本体装置2dの位置関係が未設定であるため、第3ディスプレイ12cに表示されてドラッグ移動している入力オブジェクト画像Isが継続表示されて、さらに位置関係を設定するためのスライド操作が継続される。
【0127】
次に、ユーザが第3ディスプレイ12cに表示された入力オブジェクト画像Isをドラッグ移動させて、右に隣接する本体装置2(
図15の例では、第4本体装置2d)の方にスライド操作を行う。そして、ユーザは、隣接する第4本体装置2dに向かって、第3タッチパネル13cの周縁までスライド操作した後、第3タッチパネル13cと第4タッチパネル13dとの隙間を乗り越えるようにスライド操作を継続させ、第4タッチパネル13dの周縁からタッチ操作を開始する操作を行う(
図15の(e)に示す矢印参照)。このスライド操作によって、第3ディスプレイ12cにおいてドラッグ移動して表示されている入力オブジェクト画像Isは、タッチオフされた第3タッチパネル13cの周縁部で一旦消去され、タッチオンされた第4タッチパネル13dの周縁部から第4ディスプレイ12dに再表示される。そして、第4タッチパネル13d上において上記周縁部からスライド操作を継続させることによって、上記周縁部からの第4タッチパネル13dに対するスライド操作に応じて入力オブジェクト画像Isがドラッグ移動して第4ディスプレイ12dに表示される。
【0128】
そして、第4タッチパネル13dに対する上記スライド操作が第4ディスプレイ12dの入力目標画像Iedが表示されている位置まで行われ、入力目標画像Ied上の位置で第4タッチパネル13dからタッチオフされた場合、上述したスライド操作によって得られた第3タッチパネル13cおよび第4タッチパネル13dに対する軌跡となるタッチ位置に基づいて、第4本体装置2dが第3本体装置2cの右横に隣接しているとする位置関係が設定される。そして、上記位置関係が設定された場合、全ての本体装置2の位置関係が設定されたため、4つの本体装置2(第1本体装置2a、第2本体装置2b、第3本体装置2c、および第4本体装置2d)の位置関係の設定が終了する。そして、上記位置関係が設定された場合、各ディスプレイ12に表示されている入力オブジェクト画像Isおよび全ての入力目標画像Ieが消去され、第1ディスプレイ12a~第4ディスプレイ12dには当該位置関係に基づいたゲーム画像Ipが表示される(
図15の(f)参照)。一例として、横一列に配置された第1タッチパネル13a~第4タッチパネル13dの各座標(横一列に配置された第1ディスプレイ12a~第4ディスプレイ12dの各画素の位置)を、仮想ゲーム空間が規定するグローバル座標空間で規定したゲーム画像Ipが、第1ディスプレイ12a~第4ディスプレイ12dを用いて表示される。すなわち、第1ディスプレイ12a~第4ディスプレイ12dそれぞれの表示内容が横一列に連続するように、第1ディスプレイ12a~第4ディスプレイ12dの位置関係に基づいて表示制御されたゲーム画像が表示されることになる。
【0129】
図16および
図17に示す例では、任意の配置態様で4つの本体装置2(第1本体装置2a、第2本体装置2b、第3本体装置2c、および第4本体装置2d)が配置され、それらの位置関係を設定する。例えば、
図16および
図17に示す例では、任意の配置態様として、第1本体装置2a、第2本体装置2b、第3本体装置2c、および第4本体装置2dがL字型に並べて配置され、4つの本体装置2の位置関係を検出して設定する例を用いている。
【0130】
図16の(a)において、互いに通信可能な第1本体装置2a、第2本体装置2b、第3本体装置2c、および第4本体装置2dがユーザによってL字型に並べて載置されている。具体的には、左から順に第1本体装置2a、第2本体装置2b、および第3本体装置2cが左右横一列に並べて載置され、第1本体装置2aの下に第4本体装置2dが縦に並べて載置されている。ここで、第1本体装置2aは、上記通信における親機に設定されているものとする。
【0131】
位置関係を設定する処理を行う前の状態において、載置されている複数の本体装置2のうち、親機に設定されている第1本体装置2aの第1ディスプレイ12aには、第1ディスプレイ12aの入力開始点となる座標を含む位置(例えば、画面中央を含む位置)に入力オブジェクト画像Is1が表示される。また、位置関係を設定する処理を行う前の状態において、子機に設定されている第2本体装置2b、第3本体装置2c、および第4本体装置2dの第2ディスプレイ12b、第3ディスプレイ12c、および第4ディスプレイ12dには、それぞれ入力目標点となる座標を含む位置(例えば、画面中央を含む位置)に入力目標画像Ieb、Iec、およびIedがそれぞれ表示される。
【0132】
図16の(b)において、ユーザが第1ディスプレイ12aに表示された入力オブジェクト画像Is1上の位置から第1タッチパネル13aをタッチオンして、その後に右に隣接する本体装置2(
図16の例では、第2本体装置2b)の方にスライド操作を行うことによって、当該スライド操作に応じて入力オブジェクト画像Is1がドラッグ移動する。そして、ユーザは、右に隣接する第2本体装置2bに向かって、第1タッチパネル13aの周縁までスライド操作した後、第1タッチパネル13aと第2タッチパネル13bとの隙間を乗り越えるようにスライド操作を継続させ、第2タッチパネル13bの周縁からタッチ操作を開始する操作を行う(
図16の(b)に示す矢印参照)。このスライド操作によって、第1ディスプレイ12aにおいてドラッグ移動して表示されている入力オブジェクト画像Is1は、タッチオフされた第1タッチパネル13aの周縁部で一旦消去され、タッチオンされた第2タッチパネル13bの周縁部から第2ディスプレイ12bに再表示される。そして、第2タッチパネル13b上において上記周縁部からスライド操作を継続させることによって、上記周縁部からの第2タッチパネル13bに対するスライド操作に応じて入力オブジェクト画像Is1がドラッグ移動して第2ディスプレイ12bに表示される。
【0133】
第2タッチパネル13bに対する上記スライド操作が第2ディスプレイ12bの入力目標画像Iebが表示されている位置まで行われ、入力目標画像Ieb上の位置で第2タッチパネル13bからタッチオフされた場合、上述したスライド操作によって得られた第1タッチパネル13aおよび第2タッチパネル13bに対する軌跡となるタッチ位置に基づいて、第2本体装置2bが第1本体装置2aの右横に隣接しているとする位置関係が設定される。そして、上記位置関係が設定された場合、第3本体装置2cおよび第4本体装置2dの位置関係が未設定であるため、
図16の(c)において第2ディスプレイ12bに表示されている入力オブジェクト画像Is1が第2ディスプレイ12bの入力開始点となる座標を含む位置(例えば、画面中央を含む位置)に継続表示されるとともに、第1ディスプレイ12aの入力開始点となる座標を含む位置(例えば、画面中央を含む位置)に別の入力オブジェクト画像Is2が新たに出現して表示される。これによって、第1タッチパネル13aまたは第2タッチパネル13bに対するタッチオン操作が促されて、位置関係を設定するための操作が継続される。
【0134】
図16の(d)において、第1本体装置2aおよび第2本体装置2bの位置関係が設定された後、ユーザが第1ディスプレイ12aに表示された入力オブジェクト画像Is2上の位置から第1タッチパネル13aをタッチオンして、その後に下に隣接する本体装置2(
図16の例では、第4本体装置2d)の方にスライド操作を行うことによって、当該スライド操作に応じて入力オブジェクト画像Is2がドラッグ移動する。そして、ユーザは、下に隣接する第4本体装置2dに向かって、第1タッチパネル13aの周縁までスライド操作した後、第1タッチパネル13aと第4タッチパネル13dとの隙間を乗り越えるようにスライド操作を継続させ、第4タッチパネル13dの周縁からタッチ操作を開始する操作を行う(
図16の(d)に示す矢印参照)。このスライド操作によって、第1ディスプレイ12aにおいてドラッグ移動して表示されている入力オブジェクト画像Is2は、タッチオフされた第1タッチパネル13aの周縁部で一旦消去され、タッチオンされた第4タッチパネル13dの周縁部から第4ディスプレイ12dに再表示される。そして、第4タッチパネル13d上において上記周縁部からスライド操作を継続させることによって、上記周縁部からの第4タッチパネル13dに対するスライド操作に応じて入力オブジェクト画像Is2がドラッグ移動して第4ディスプレイ12dに表示される。
【0135】
図17の(a)において、第4タッチパネル13dに対する上記スライド操作が第4ディスプレイ12dの入力目標画像Iedが表示されている位置まで行われ、入力目標画像Ied上の位置で第4タッチパネル13dからタッチオフされた場合、上述したスライド操作によって得られた第1タッチパネル13aおよび第4タッチパネル13dに対する軌跡となるタッチ位置に基づいて、第4本体装置2dが第1本体装置2aの下に隣接しているとする位置関係が設定される。そして、上記位置関係が設定された場合、第3本体装置2cの位置関係が未設定であるため、第4ディスプレイ12dに表示されている入力オブジェクト画像Is2が第4ディスプレイ12dの入力開始点となる座標を含む位置(例えば、画面中央を含む位置)に継続表示されるとともに、第2ディスプレイ12bに表示されている入力オブジェクト画像Is1も継続表示され、第1ディスプレイ12aの入力開始点となる座標を含む位置(例えば、画面中央を含む位置)にさらに別の入力オブジェクト画像Is3が新たに出現して表示される。これによって、第1タッチパネル13a、第2タッチパネル13b、または第4タッチパネル13dに対するタッチオン操作が促されて、位置関係を設定するための操作が継続される。
【0136】
図17の(b)において、ユーザが第2ディスプレイ12bに表示された入力オブジェクト画像Is1上の位置から第2タッチパネル13bをタッチオンして、その後に右に隣接する本体装置2(
図17の例では、第3本体装置2c)の方にスライド操作を行うことによって、当該スライド操作に応じて入力オブジェクト画像Is1がドラッグ移動する。そして、ユーザは、隣接する第3本体装置2cに向かって、第2タッチパネル13bの周縁までスライド操作した後、第2タッチパネル13bと第3タッチパネル13cとの隙間を乗り越えるようにスライド操作を継続させ、第3タッチパネル13cの周縁からタッチ操作を開始する操作を行う(
図17の(b)に示す矢印参照)。このスライド操作によって、第2ディスプレイ12bにおいてドラッグ移動して表示されている入力オブジェクト画像Is1は、タッチオフされた第2タッチパネル13bの周縁部で一旦消去され、タッチオンされた第3タッチパネル13cの周縁部から第3ディスプレイ12cに再表示される。そして、第3タッチパネル13c上において上記周縁部からスライド操作を継続させることによって、上記周縁部からの第3タッチパネル13cに対するスライド操作に応じて入力オブジェクト画像Is1がドラッグ移動して第3ディスプレイ12cに表示される。
【0137】
図17の(c)において、第3タッチパネル13cに対する上記スライド操作が第3ディスプレイ12cの入力目標画像Iecが表示されている位置まで行われ、入力目標画像Iec上の位置で第3タッチパネル13cからタッチオフされた場合、上述したスライド操作によって得られた第2タッチパネル13bおよび第3タッチパネル13cに対する軌跡となるタッチ位置に基づいて、第3本体装置2cが第2本体装置2bの右横に隣接しているとする位置関係が設定される。そして、上記位置関係が設定された場合、全ての本体装置2の位置関係が設定されたため、4つの本体装置2(第1本体装置2a、第2本体装置2b、第3本体装置2c、および第4本体装置2d)の位置関係の設定が終了する。そして、上記位置関係が設定された場合、各ディスプレイ12に表示されている入力オブジェクト画像Is1、Is2、およびIs3と全ての入力目標画像Ieとが消去され、第1ディスプレイ12a~第4ディスプレイ12dには当該位置関係に基づいたゲーム画像Ipが表示される(
図17の(d)参照)。一例として、L字型に配置された第1タッチパネル13a~第4タッチパネル13dの各座標(L字型に配置された第1ディスプレイ12a~第4ディスプレイ12dの各画素の位置)を、仮想ゲーム空間が規定するグローバル座標空間で規定したゲーム画像Ipが、第1ディスプレイ12a~第4ディスプレイ12dを用いて表示される。すなわち、第1ディスプレイ12a~第4ディスプレイ12dそれぞれの表示内容がL字型で連続するように、第1ディスプレイ12a~第4ディスプレイ12dの位置関係に基づいて表示制御されたゲーム画像が表示されることになる。
【0138】
なお、
図15~
図17を用いた説明では、入力開始点となる座標を含む位置および入力目標点となる座標を含む位置が、何れも画面中央を含む位置に設定される例を用いているが、これらの位置は、各装置間において厳密に同じ座標でなくてもかまわない。例えば、用いられるディスプレイやタッチパネルによっては、各装置間で解像度が異なることもあり、この場合、入力開始点となる座標や入力目標点となる座標としては異なるため、上述したように画面中央を含む位置に設定される場合であっても各装置間では異なる座標に設定されることがあり得る。
【0139】
次に、
図18および
図19を参照して、隣接して配置されている本体装置2間の位置ずれと表示画像との関係について説明する。一例として、
図18を用いて、仮想ゲーム空間が規定するグローバル座標空間で隣接して配置されている本体装置2間の位置ずれも規定してゲーム画像を表示する例を説明する。他の例として、
図19を用いて、仮想ゲーム空間が規定するグローバル座標空間で隣接して配置されている本体装置2間の位置ずれを規定せずにゲーム画像を表示する例を説明する。
【0140】
図18において、2つの本体装置2(第1本体装置2aおよび第2本体装置2b)を用いて、1つのゲーム画像Ipを表示する例を用いる。例えば、
図18の上図に示すように、第1本体装置2aおよび第2本体装置2bがともに左右方向を長軸方向として、上側が第1本体装置2aとなり下側が第2本体装置2bとなるように上下に互いに隣接するように載置される。そして、第1本体装置2aの下側面と第2本体装置2bの上側面とが接面された状態で、互いの上下方向(図示y軸方向)の中心線方向が一致するように、第1本体装置2aおよび第2本体装置2bが隣接配置されている。このように左右方向に位置ずれがない状態で第1本体装置2aおよび第2本体装置2bが隣接配置されている場合、位置ずれなく隣接する第1ディスプレイ12aおよび第2ディスプレイ12bの各画素の位置が、仮想ゲーム空間が規定するグローバル座標空間で規定される。したがって、位置ずれなく隣接する第1ディスプレイ12aおよび第2ディスプレイ12bには、第1ディスプレイ12aの表示内容と第2ディスプレイ12bの表示内容とが位置ずれなく連続するように、1つのゲーム画像Ipが表示されることになる。一例として、
図18の上図の例では、角丸長方形の形状で1周するゲームコースを示すゲーム画像Ipが第1ディスプレイ12aおよび第2ディスプレイ12bに表示されている。
【0141】
例えば、
図18の下図に示すように、第1本体装置2aの下側面と第2本体装置2bの上側面とが接面され、互いの上下方向(図示y軸方向)の中心線方向がずれた状態で、第1本体装置2aおよび第2本体装置2bが隣接配置される場合を考える。このように左右方向に位置ずれした状態で第1本体装置2aおよび第2本体装置2bが隣接配置されている場合、隣接する第1ディスプレイ12aおよび第2ディスプレイ12bの各画素の位置が、左右の位置ずれを含めて仮想ゲーム空間が規定するグローバル座標空間で規定される。したがって、位置ずれした状態で隣接する第1ディスプレイ12aおよび第2ディスプレイ12bであっても、第1ディスプレイ12aの表示内容と第2ディスプレイ12bの表示内容とが位置ずれなく連続するように、1つのゲーム画像Ipが表示される。
【0142】
例えば、
図9および
図10を用いて説明したように、グローバル座標空間での第1ディスプレイ12aおよび第2ディスプレイ12bの位置の設定は、第1タッチパネル13aおよび第2タッチパネル13bと第1ディスプレイ12aおよび第2ディスプレイ12bの大きさや座標が既知であるため、第1ベクトルV1および第2ベクトルV2が算出できれば、第1タッチパネル13aと第2タッチパネル13bとの間の位置関係や角度を算出することができる。その結果、第1ディスプレイ12aおよび第2ディスプレイ12bには、第1本体装置2aおよび第2本体装置2bの左右位置ずれを含めた配置位置に応じたゲーム画像Ipを表示することができる。
【0143】
一例として、上述したように位置ずれした状態で隣接する第1ディスプレイ12aおよび第2ディスプレイ12bにゲーム画像を表示する場合、当該位置ずれした画面形状に応じて仮想ゲーム空間を歪ませて、当該仮想ゲーム空間を示すゲーム画像を第1ディスプレイ12aおよび第2ディスプレイ12bに表示してもよい。例えば、
図18の下図に示すように、第1本体装置2aの下側面と第2本体装置2bの上側面とが接面され、互いの上下方向(図示y軸方向)の中心線方向が左右にずれた状態で、第1本体装置2aおよび第2本体装置2bが隣接配置される場合、第1ディスプレイ12aと第2ディスプレイ12bとが略S字型に隣接した状態となる。したがって、第1本体装置2aと第2本体装置2bとが接する長さが上記側面の長さより短くなり、第1ディスプレイ12aと第2ディスプレイ12bとが左右方向に重複する長さ(図示長さL)が第1ディスプレイ12aおよび第2ディスプレイ12bの左右長さより短くなるため、第1ディスプレイ12aに表示される仮想ゲーム世界と第2ディスプレイ12bに表示される仮想ゲーム世界とが接続されているように見える長さ(図示長さL)が他の左右方向の長さより短くなる。つまり、第1ディスプレイ12aおよび第2ディスプレイ12bに表示される仮想ゲーム空間の画像は、第1ディスプレイ12aと第2ディスプレイ12bとの接続部分において左右から絞られた形状となる。このように、上記接続部分において左右から絞られた形状となった仮想ゲーム空間を表示する場合、第1ディスプレイ12aおよび第2ディスプレイ12bに表示するゲーム画像も当該接続部分において狭くなった形状に変形させてもよい。例えば、
図18の下図に示すように、角丸長方形の形状で1周するゲームコースを、上記接続部分において左右から絞られた形状に変形させた状態で、第1ディスプレイ12aの表示内容と第2ディスプレイ12bの表示内容とが位置ずれなく連続するように、1つのゲーム画像Ipとして表示してもよい。このように、仮想ゲーム空間を歪ませることによって、複数の本体装置2の位置関係に応じた仮想ゲーム空間を形成することが可能となり、当該仮想ゲーム空間を用いたゲームに対する新たな戦略が可能となる。
【0144】
次に、
図19を用いて、仮想ゲーム空間が規定するグローバル座標空間で隣接して配置されている本体装置2間の位置ずれを規定しない、すなわち本体装置2同士が位置ずれしない状態で隣接させることを前提としたゲーム画像を表示する例を説明する。例えば、
図19の下図に示すように、第1本体装置2aの下側面と第2本体装置2bの上側面とが接面され、互いの上下方向(図示y軸方向)の中心線方向がずれた状態で、第1本体装置2aおよび第2本体装置2bが隣接配置される場合を考える。このように左右方向に位置ずれした状態で第1本体装置2aおよび第2本体装置2bが隣接配置されている場合であっても、隣接する第1ディスプレイ12aおよび第2ディスプレイ12bの各画素の位置が、左右の位置ずれを考慮せずに第1ディスプレイ12aの表示内容と第2ディスプレイ12bの表示内容とが位置ずれなく連続しているように、仮想ゲーム空間が規定するグローバル座標空間で規定される。したがって、位置ずれした状態で隣接する第1ディスプレイ12aおよび第2ディスプレイ12bである場合、第1ディスプレイ12aの表示内容と第2ディスプレイ12bの表示内容とが当該位置ずれに応じたずれ量だけずれた不連続状態で、1つのゲーム画像Ipが表示されてもよい。このようなゲーム画像を表示する場合、表示されたゲーム画像の位置ずれを解消するように、ユーザが本体装置2の少なくとも1つの配置を移動させることによって、
図19の上図のような表示状態に修正することが可能である。また、このようなゲーム画像を表示する場合、第1ディスプレイ12aと第2ディスプレイ12bとの厳密な位置関係を算出することが不要であるため、第1本体装置2aと第2本体装置2bとの位置関係を算出するための処理が簡素化することができるため、処理負荷を軽減することが可能となる。
【0145】
なお、上述した隣接して配置されている本体装置2間の位置ずれと表示画像との複数の関係例は、複数の本体装置2の間に設定された位置関係に基づいて、何れの配置例であってもそれぞれ適用することができる。例えば、
図15~
図17を用いて、3つ以上の本体装置2の位置関係を設定する例を説明しているが、どの例であっても、本体装置2間の位置ずれと表示画像との複数の関係例を適用することができる。
【0146】
次に、
図20~
図24を参照して、本実施形態において2つの本体装置2間で実行される具体的な処理の一例について説明する。
図20は、本実施形態において複数の本体装置2それぞれのDRAM85に設定されるデータ領域の一例を示す図である。なお、DRAM85には、
図20に示すデータの他、他の処理で用いられるデータも記憶されるが、詳細な説明を省略する。
【0147】
DRAM85のプログラム記憶領域には、ゲームシステム1で実行される各種プログラムPaが記憶される。本実施形態においては、各種プログラムPaは、上述した左コントローラ3および右コントローラ4との間の無線通信や他のゲームシステム1(本体装置2)との間の無線通信をするための通信プログラムや、複数の本体装置2の位置関係を設定する情報処理やタッチパネル13、左コントローラ3、および/または右コントローラ4から取得したデータに基づいた情報処理(例えば、ゲーム処理)を行うためのアプリケーションプログラム等が記憶される。なお、各種プログラムPaは、フラッシュメモリ84に予め記憶されていてもよいし、ゲームシステム1に着脱可能な記憶媒体(例えば、スロット23に装着された所定の種類の記憶媒体)から取得されてDRAM85に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてDRAM85に記憶されてもよい。プロセッサ81は、DRAM85に記憶された各種プログラムPaを実行する。
【0148】
また、DRAM85のデータ記憶領域には、ゲームシステム1において実行される通信処理や情報処理等の処理において用いられる各種のデータが記憶される。本実施形態においては、DRAM85には、操作データDa、通信データDb、親機/子機設定データDc、タッチ位置データDd、入力オブジェクトデータDe、入力目標画像データDf、位置関係データDg、設定処理中フラグデータDh、設定済フラグデータDi、非タッチ時間データDj、および画像データDk等が記憶される。
【0149】
操作データDaは、タッチパネル13、左コントローラ3、および/または右コントローラ4からそれぞれ適宜取得した操作データである。上述したように、左コントローラ3および/または右コントローラ4からそれぞれ送信される操作データには、各入力部(具体的には、各ボタン、アナログスティック、各センサ)からの入力に関する情報(具体的には、操作に関する情報や各センサによる検出結果)が含まれている。本実施形態では、無線通信によって左コントローラ3および/または右コントローラ4からそれぞれ所定周期で操作データが送信されており、当該受信した操作データを用いて操作データDaが適宜更新される。また、本実施形態では、本体装置2のタッチパネル13から所定周期でタッチパネル13に対するタッチ位置(タッチ座標)を示すデータが取得されており、当該取得したタッチ位置データを用いて操作データDaが適宜更新される。なお、操作データDaの更新周期は、後述するゲームシステム1で実行される処理の周期である1フレーム毎に更新されてもよいし、上記無線通信によって操作データが送信される周期やタッチ位置データの取得周期毎に更新されてもよい。
【0150】
通信データDbは、他のゲームシステム1(本体装置2)に無線送信するデータや他のゲームシステム1(本体装置2)から受信したデータである。親機/子機設定データDcは、他のゲームシステム1(本体装置2)との通信処理において、自機が親機に設定されているのか子機に設定されているのかを示すデータである。
【0151】
タッチ位置データDdは、自機のタッチパネル13に対するタッチ位置(タッチ座標)の履歴データと、無線通信可能な他のゲームシステム1(本体装置2)のタッチパネル13に対するタッチ位置(タッチ座標)の履歴データとを含む。
【0152】
入力オブジェクトデータDeは、無線通信可能な複数の本体装置2における少なくとも1つのディスプレイ12に表示される入力オブジェクトの位置を示すデータである。入力目標画像データDfは、無線通信可能な複数の本体装置2における少なくとも1つのディスプレイ12に表示される入力目標画像の位置を示すデータである。
【0153】
位置関係データDgは、無線通信可能な複数の本体装置2の位置関係を示すデータである。
【0154】
設定処理中フラグデータDhは、複数の本体装置2の位置関係を設定するための処理を行っている場合にオンに設定される設定処理中フラグを示すデータである。設定済フラグデータDiは、複数の本体装置2の位置関係を設定するための処理が終了した場合にオンに設定される設定済フラグを示すデータである。
【0155】
非タッチ時間データDjは、複数のタッチパネル13間の隙間を乗り越える際にスライド操作が要している時間を示すデータである。
【0156】
画像データDkは、設定処理およびゲームの際に各表示画面に画像(例えば、プレイヤキャラクタの画像、仮想オブジェクトの画像、情報画像、フィールド画像、背景画像等)を表示するためのデータである。
【0157】
次に、
図21~
図24を参照して、本実施形態における情報処理(位置関係設定処理、ゲーム処理)の詳細な一例を説明する。
図21は、親機に設定されるゲームシステム1で実行される情報処理の一例を示すフローチャートである。
図22は、
図21のステップS129において行われる親機位置関係設定処理の詳細な一例を示すサブルーチンである。
図23は、子機に設定されるゲームシステム1で実行される情報処理の一例を示すフローチャートである。
図24は、
図23のステップS168において行われる子機位置関係設定処理の詳細な一例を示すサブルーチンである。本実施形態においては、
図21~
図24に示す一連の処理は、プロセッサ81が各種プログラムPaに含まれる通信プログラムや所定のアプリケーションプログラム(ゲームプログラム)を実行することによって行われる。また、
図21~
図24に示すゲーム処理が開始されるタイミングは任意である。
【0158】
なお、
図21~
図24に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理をプロセッサ81が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、プロセッサ81以外のプロセッサや専用回路が実行するようにしてもよい。また、本体装置2において実行される処理の一部は、本体装置2と通信可能な他の情報処理装置(例えば、本体装置2とネットワークを介して通信可能なサーバ)によって実行されてもよい。すなわち、
図21~
図24に示す各処理は、本体装置2を含む複数の情報処理装置が協働することによって実行されてもよい。
【0159】
まず、
図21および
図22を用いて、親機に設定される本体装置2における処理について説明する。
図21において、プロセッサ81は、ゲーム処理における初期設定を行い(ステップS121)、次のステップに処理を進める。例えば、上記初期設定では、プロセッサ81は、以下に説明する処理を行うためのパラメータを初期化する。
【0160】
次に、プロセッサ81は、他の本体装置2との無線通信を開始し(ステップS122)、次のステップに処理を進める。例えば、プロセッサ81は、開始する無線通信における親機となって、他の本体装置2との通信を開始し、他の本体装置2との間で接続(ペアリング)が確立されると、互いに通信可能な状態となり、通信相手となる他の本体装置2の識別番号が記憶される。一例として、プロセッサ81は、他の本体装置2との通信を行うための親機情報をブロードキャストすることによって、他の本体装置2からの応答を待つ。そして、プロセッサ81は、他の本体装置2からの通信参加要請となる子機情報を受信することによって、他の本体装置2との接続(ペアリング)を確立する。
【0161】
次に、プロセッサ81は、自機を上記無線通信における親機に設定するとともに、接続を確立した子機の装置情報(識別番号)を親機/子機設定データDcに格納し(ステップS123)、次のステップに処理を進める。
【0162】
次に、プロセッサ81は、自機のタッチパネル13と、左コントローラ3および/または右コントローラ4から操作データを取得して操作データDaを更新し(ステップS124)、次のステップに処理を進める。そして、プロセッサ81は、自機のタッチパネル13から得られたタッチ位置を示す操作データを、新たなタッチ位置データの履歴としてタッチ位置データDdに追加する。なお、第1位置検出手段は、第1ディスプレイに対する座標入力を検出する処理を行うものであり、一例としてステップS124の処理を行うプロセッサ81に相当する。
【0163】
次に、プロセッサ81は、位置関係設定処理前か否かを判定する(ステップS125)。例えば、プロセッサ81は、設定処理中フラグデータDhが示す設定処理中フラグがオフであり、かつ、設定済フラグデータDiが示す設定済フラグがオフである場合、上記ステップS125において肯定判定する。そして、プロセッサ81は、位置関係設定処理前である場合、ステップS126に処理を進める。一方、プロセッサ81は、位置関係設定処理中または位置関係設定後である場合、ステップS128に処理を進める。
【0164】
ステップS126において、プロセッサ81は、自機のタッチパネル13(ディスプレイ12)における入力開始位置を含む位置に入力オブジェクトを配置し、次のステップに処理を進める。例えば、プロセッサ81は、自機のタッチパネル13(ディスプレイ12)の画面中央を入力開始位置として、当該入力開始位置に入力オブジェクト画像Isの中心が配置されるように入力オブジェクトの位置を設定し、入力オブジェクトデータDeを更新する。なお、第1画像制御手段は、第1ディスプレイの入力開始点となる座標を含む位置に、当該入力開始点を示す画像を表示させる処理を行うものであり、一例としてステップS126の処理を行うプロセッサ81に相当する。
【0165】
次に、プロセッサ81は、位置関係を設定する処理を開始するか否かを判定する(ステップS127)。例えば、プロセッサ81は、上記ステップS124において取得された最新のタッチ位置が、自機のディスプレイ12における入力開始位置に表示されている入力オブジェクト画像Isと重複する場合、上記ステップS127において肯定判定する。そして、プロセッサ81は、位置関係を設定する処理を開始する場合、ステップS129に処理を進める。一方、プロセッサ81は、位置関係を設定する処理を開始しない場合、ステップS131に処理を進める。なお、開始判定手段は、第1位置検出手段により検出された第1座標入力が入力開始点となる座標を含む位置への入力を含んでいるか否かを判定する処理を行うものであり、一例としてステップS127の処理を行うプロセッサ81に相当する。
【0166】
一方、上記ステップS125において、位置関係設定処理前ではないと判定された場合、プロセッサ81は、位置関係設定処理中か否かを判定する(ステップS128)。例えば、プロセッサ81は、設定処理中フラグデータDhが示す設定処理中フラグがオンである場合、上記ステップS128において肯定判定する。そして、プロセッサ81は、位置関係設定処理中である場合、ステップS129に処理を進める。一方、プロセッサ81は、位置関係設定処理後である場合、ステップS130に処理を進める。
【0167】
ステップS129において、プロセッサ81は、親機における位置関係設定処理をおこない、ステップS131に処理を進める。以下、
図22を参照して、上記ステップS129において行われる親機における位置関係設定処理について説明する。
【0168】
図22において、プロセッサ81は、設定処理中フラグをオンに設定し(ステップS141)、次のステップに処理を進める。例えば、プロセッサ81は、設定処理中フラグデータDhが示す設定処理中フラグをオンに設定して、設定処理中フラグデータDhを更新する。
【0169】
次に、プロセッサ81は、自機のタッチパネル13に対するタッチ操作が行われているか否かを判定する(ステップS142)。例えば、プロセッサ81は、上記ステップS124において取得された最新のタッチ位置が、自機のタッチパネル13に対してタッチ操作が行われていることを示す場合、上記ステップS142において肯定判定する。そして、プロセッサ81は、タッチ操作が行われている場合、ステップS143に処理を進める。一方、プロセッサ81は、タッチ操作が行われていない場合、ステップS144に処理を進める。なお、プロセッサ81は、前回の処理において取得された最新のタッチ位置が自機のタッチパネル13(ディスプレイ12)の端部を示し、今回の処理において自機のタッチパネル13に対するタッチ操作が行われていないことが検出された場合、非タッチ時間データDjを初期化して非タッチ時間の計測を開始する。そして、プロセッサ81は、以降の処理において上記ステップS142が否定判定される毎に、非タッチ時間データDjが示す非タッチ時間カウントを所定数加算する。また、プロセッサ81は、他の本体装置2からタッチ操作されたことを示すデータを取得した場合、非タッチ時間データDjが示す非タッチ時間カウントの加算を停止するとともに、非タッチ時間データDjを初期化する。また、プロセッサ81は、自機のタッチパネル13に対するタッチ操作が行われていないことが検出された場合、入力オブジェクトの位置を一旦NULLとして、非タッチ時間がカウントされている間は入力オブジェクト画像Isを未表示状態とする。
【0170】
ステップS143において、プロセッサ81は、自機のタッチパネル13に対する最新のタッチ位置と重複する位置を含む位置に入力オブジェクトを配置し、ステップS144に処理を進める。例えば、プロセッサ81は、タッチ位置データDdが示す自機の最新のタッチ位置に入力オブジェクト画像Isの中心が配置されるように入力オブジェクトの位置を設定し、入力オブジェクトデータDeを更新する。
【0171】
ステップS144において、プロセッサ81は、位置関係設定処理にエラーが生じたか否かを判定する。例えば、プロセッサ81は、自機のタッチパネル13(ディスプレイ12)の端部以外の位置でタッチオフされた場合、非タッチ時間データDjが示す非タッチ時間が所定時間に到達した場合、自機のタッチパネル13に対してスライド操作されるタッチ位置移動速度が所定速度を超える場合、他の本体装置2からエラーが生じた旨の情報を取得した場合等、位置関係を設定する操作としては不適切なタッチ操作が検出された場合、上記ステップS144において肯定判定する。そして、プロセッサ81は、位置関係設定処理にエラーが生じた場合、ステップS145に処理を進める。一方、プロセッサ81は、位置関係設定処理にエラーが生じていない場合、ステップS146に処理を進める。なお、第1座標判定手段は、第1座標入力が入力開始点となる座標を含む位置への入力であると判定された場合に、当該第1座標入力から継続して検出された第1ディスプレイに対する第1継続座標入力が第1座標条件を満たすか否かを判定する処理を行うものであり、一例としてステップS142およびS144の処理を行うプロセッサ81に相当する。
【0172】
ステップS145において、プロセッサ81は、設定処理中フラグをオフに設定し、ステップS146に処理を進める。例えば、プロセッサ81は、設定処理中フラグデータDhが示す設定処理中フラグをオフに設定して、設定処理中フラグデータDhを更新する。
【0173】
ステップS146において、プロセッサ81は、位置関係を設定するためのスライド操作が他の本体装置2における入力目標位置まで到達したか否かを判定する。例えば、プロセッサ81は、位置関係を設定するためのスライド操作が他の本体装置2における入力目標位置まで到達した旨の情報を他の本体装置2から取得した場合、上記ステップS146において肯定判定する。そして、プロセッサ81は、上記スライド操作が入力目標位置まで到達した場合、ステップS147に処理を進める。一方、プロセッサ81は、上記スライド操作が入力目標位置まで到達していない場合、当該サブルーチンによる処理を終了する。
【0174】
ステップS147において、プロセッサ81は、設定処理中フラグをオフに設定し、次のステップに処理を進める。例えば、プロセッサ81は、設定処理中フラグデータDhが示す設定処理中フラグをオフに設定して、設定処理中フラグデータDhを更新する。
【0175】
次に、プロセッサ81は、設定済フラグをオンに設定し(ステップS148)、次のステップに処理を進める。例えば、プロセッサ81は、設定済フラグデータDiが示す設定済フラグをオンに設定して、設定済フラグデータDiを更新する。
【0176】
次に、プロセッサ81は、他の本体装置2との間の位置関係を設定し(ステップS149)、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、タッチ位置データDdを参照して、自機のタッチ位置の履歴および通信相手である子機のタッチ位置の履歴を取得して、親機(自機)における第1ベクトルV1および子機における第2ベクトルV2を算出し、第1ベクトルV1および第2ベクトルV2を用いて設定された位置関係を用いて位置関係データDgを更新する。そして、プロセッサ81は、入力オブジェクト画像Isおよび入力目標画像Ieを全て消去する。なお、第1ベクトルV1および第2ベクトルV2の算出方法や第1ベクトルV1および第2ベクトルV2から本体装置2間の位置関係を算出する方法については、
図8~
図10を用いて説明済みであるため、ここでは詳細な説明を省略する。なお、位置関係設定手段は、第2継続座標入力が入力目標点となる座標を含む位置への入力を含むと判定された場合に、第1継続座標入力の座標の軌跡および第2継続座標入力の座標の軌跡に基づいて、第1ディスプレイと第2ディスプレイとの位置関係を決定する処理を行うものであり、一例としてステップS149の処理を行うプロセッサ81に相当する。
【0177】
図21に戻り、上記ステップS128において、位置関係設定処理中ではないと判定された場合、プロセッサ81は、他の本体装置2との位置関係に基づいたゲーム処理を行い(ステップS130)、ステップS131に処理を進める。なお、複数のディスプレイ12の位置関係を用いて当該ディスプレイ12にゲーム画像を表示する処理については、上述されているため、ここでは詳細な説明を省略する。
【0178】
ステップS131において、プロセッサ81は、他の本体装置2との通信処理を行い、次のステップに処理を進める。この通信処理では、各機のタッチパネル13へタッチ操作されたタッチ位置、各タッチ位置に基づいて算出された各種データが、フレーム処理毎に相互に送受信される。したがって、一方の本体装置2で行われている処理は、他方の本体装置2に送信されて、相互にデータを参照可能となる。
【0179】
例えば、プロセッサ81は、他の本体装置2から受信した通信データを用いて、通信データDbにおける受信データを更新する。そして、プロセッサ81は、受信データの内容に基づいた処理を行う。一例として、プロセッサ81は、他の本体装置2から当該本体装置2において検出されたタッチ位置データを取得した場合、他機の新たなタッチ位置データの履歴としてタッチ位置データDdに追加する。他の例として、プロセッサ81は、他の本体装置2から位置関係設定処理におけるエラーが生じた旨の情報を取得した場合、当該情報に基づいて上記ステップS144の処理を行う。
【0180】
また、プロセッサ81は、他の本体装置2に送信するデータを生成して、通信データDbにおける送信データに適宜格納し、上記ステップS131において当該送信データを他の本体装置2に送信する。一例として、プロセッサ81は、上述した処理において算出/設定された各種データを、通信データDbにおける送信データに格納して、他の本体装置2に送信する。
【0181】
次に、プロセッサ81は、表示画像を生成してディスプレイ12に表示する表示制御処理を行い(ステップS132)、次のステップに処理を進める。例えば、プロセッサ81は、入力オブジェクトデータDeに基づいて、入力オブジェクト画像Isをディスプレイ12に表示する。また、プロセッサ81は、他の本体装置2との間の位置関係が設定済である場合、当該位置関係に基づいた仮想ゲーム空間のグローバル座標空間を用いて、上記ステップS130におけるゲーム処理に応じたゲーム画像をディスプレイ12に表示する。
【0182】
次に、プロセッサ81は、ゲームを終了するか否かを判定する(ステップS133)。上記ステップS133においてゲームを終了する条件としては、例えば、ゲームの結果が確定したことや、ユーザがゲームを終了する操作を行ったこと等がある。プロセッサ81は、ゲームを終了しない場合に上記ステップS124に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。以降、ステップS124~ステップS133の一連の処理は、ステップS133でゲームを終了すると判定されるまで繰り返し実行される。
【0183】
図23および
図24を用いて、子機に設定される本体装置2における処理について説明する。
図23において、プロセッサ81は、ゲーム処理における初期設定を行い(ステップS161)、次のステップに処理を進める。例えば、上記初期設定では、プロセッサ81は、以下に説明する処理を行うためのパラメータを初期化する。
【0184】
次に、プロセッサ81は、親機の本体装置2との無線通信を開始し(ステップS162)、次のステップに処理を進める。例えば、プロセッサ81は、他の本体装置2との通信を行うための親機情報をブロードキャストによって受信した場合、通信参加要請となる子機情報(自機の識別情報を含む)を当該他の本体装置2に送信することによって、親機の本体装置2との接続(ペアリング)を確立する。
【0185】
次に、プロセッサ81は、自機を上記無線通信における子機に設定するとともに、接続を確立した親機の装置情報(識別番号)を親機/子機設定データDcに格納し(ステップS163)、次のステップに処理を進める。
【0186】
次に、プロセッサ81は、自機のタッチパネル13と、左コントローラ3および/または右コントローラ4から操作データを取得して操作データDaを更新し(ステップS164)、次のステップに処理を進める。そして、プロセッサ81は、自機のタッチパネル13から得られたタッチ位置を示す操作データを、新たなタッチ位置データの履歴としてタッチ位置データDdに追加する。なお、第2位置検出手段は、第2ディスプレイに対する座標入力を検出する処理を行うものであり、一例としてステップS164の処理を行うプロセッサ81に相当する。
【0187】
次に、プロセッサ81は、位置関係設定処理後か否かを判定する(ステップS165)。例えば、プロセッサ81は、設定済フラグデータDiが示す設定済フラグがオフである場合、上記ステップS165において肯定判定する。そして、プロセッサ81は、位置関係設定処理前または位置関係設定処理中である場合、ステップS166に処理を進める。一方、プロセッサ81は、位置関係設定後である場合、ステップS169に処理を進める。
【0188】
ステップS166において、プロセッサ81は、自機のタッチパネル13(ディスプレイ12)における入力目標位置を含む位置に入力目標画像を配置し、次のステップに処理を進める。例えば、プロセッサ81は、自機のタッチパネル13(ディスプレイ12)の画面中央を入力目標位置として、当該入力目標位置に入力目標画像Ieの中心が配置されるように入力目標画像の位置を設定し、入力目標画像データDfを更新する。なお、第2画像制御手段は、第2ディスプレイの入力目標点となる座標を含む位置に、当該入力目標点を示す画像を表示させる処理を行うものであり、一例としてステップS166の処理を行うプロセッサ81に相当する。
【0189】
次に、プロセッサ81は、位置関係を設定する処理中であるか否かを判定する(ステップS167)。例えば、プロセッサ81は、設定処理中フラグデータDhが示す設定処理中フラグがオンである場合や親機の本体装置2から位置関係を設定する処理が開始されたことを示すデータを取得した場合、上記ステップS167において肯定判定する。そして、プロセッサ81は、位置関係を設定する処理中である場合、ステップS168に処理を進める。一方、プロセッサ81は、位置関係を設定する処理中ではない場合、ステップS170に処理を進める。
【0190】
ステップS168において、プロセッサ81は、子機における位置関係設定処理をおこない、ステップS170に処理を進める。以下、
図24を参照して、上記ステップS168において行われる子機における位置関係設定処理について説明する。
【0191】
図24において、プロセッサ81は、設定処理中フラグをオンに設定し(ステップS181)、次のステップに処理を進める。例えば、プロセッサ81は、設定処理中フラグデータDhが示す設定処理中フラグをオンに設定して、設定処理中フラグデータDhを更新する。
【0192】
次に、プロセッサ81は、自機のタッチパネル13に対するタッチ操作が行われているか否かを判定する(ステップS182)。例えば、プロセッサ81は、上記ステップS164において取得された最新のタッチ位置が、自機のタッチパネル13に対してタッチ操作が行われていることを示す場合、上記ステップS182において肯定判定する。そして、プロセッサ81は、タッチ操作が行われている場合、ステップS183に処理を進める。一方、プロセッサ81は、タッチ操作が行われていない場合、ステップS184に処理を進める。
【0193】
ステップS183において、プロセッサ81は、自機のタッチパネル13に対する最新のタッチ位置と重複する位置を含む位置に入力オブジェクトを配置し、ステップS184に処理を進める。例えば、プロセッサ81は、タッチ位置データDdが示す自機の最新のタッチ位置に入力オブジェクト画像Isの中心が配置されるように入力オブジェクトの位置を設定し、入力オブジェクトデータDeを更新する。
【0194】
ステップS184において、プロセッサ81は、位置関係設定処理にエラーが生じたか否かを判定する。例えば、プロセッサ81は、自機のディスプレイ12に表示されている入力目標画像と重複する位置にスライド操作の位置が到達する前にタッチオフされた場合、自機のタッチパネル13に対してスライド操作されるタッチ位置移動速度が所定速度を超える場合、他の本体装置2からエラーが生じた旨の情報を取得した場合等、位置関係を設定する操作としては不適切なタッチ操作が検出された場合、上記ステップS184において肯定判定する。そして、プロセッサ81は、位置関係設定処理にエラーが生じた場合、ステップS185に処理を進める。一方、プロセッサ81は、位置関係設定処理にエラーが生じていない場合、ステップS186に処理を進める。なお、第2座標判定手段は、第1継続座標入力が第1座標条件を満たすと判定された場合に、当該第1継続座標入力の後に第2位置検出手段により検出され、かつ当該検出された第2座標入力が第2座標条件を満たすか否かを判定する処理を行うものであり、一例としてステップS182およびS184の処理を行うプロセッサ81に相当する。
【0195】
ステップS185において、プロセッサ81は、設定処理中フラグをオフに設定し、ステップS186に処理を進める。例えば、プロセッサ81は、設定処理中フラグデータDhが示す設定処理中フラグをオフに設定して、設定処理中フラグデータDhを更新する。
【0196】
ステップS186において、プロセッサ81は、位置関係を設定するためのスライド操作が自機のタッチパネル13における入力目標位置まで到達したか否かを判定する。例えば、プロセッサ81は、上記ステップS164において取得された最新のタッチ位置が、自機のディスプレイ12に表示されている入力目標画像Ieと重複する場合、位置関係を設定するためのスライド操作が入力目標位置まで到達したとして、上記ステップS186において肯定判定する。そして、プロセッサ81は、上記スライド操作が入力目標位置まで到達した場合、ステップS187に処理を進める。一方、プロセッサ81は、上記スライド操作が入力目標位置まで到達していない場合、当該サブルーチンによる処理を終了する。なお、到達判定手段は、第2位置検出手段により検出され、かつ当該検出された第2座標入力が第2座標条件を満たすと判定された場合に、当該第2座標入力から継続して検出された第2ディスプレイに対する第2継続座標入力が入力目標点となる座標を含む位置への入力を含むか否かを判定する処理を行うものであり、一例としてステップS186の処理を行うプロセッサ81に相当する。
【0197】
ステップS187において、プロセッサ81は、設定処理中フラグをオフに設定し、次のステップに処理を進める。例えば、プロセッサ81は、設定処理中フラグデータDhが示す設定処理中フラグをオフに設定して、設定処理中フラグデータDhを更新する。
【0198】
次に、プロセッサ81は、設定済フラグをオンに設定し(ステップS188)、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、設定済フラグデータDiが示す設定済フラグをオンに設定して、設定済フラグデータDiを更新する。そして、プロセッサ81は、入力オブジェクト画像Isおよび入力目標画像Ieを全て消去して、入力オブジェクトデータDeおよび入力目標画像データDfを、それぞれ未表示となる設定(例えば、NULL)に更新する。
【0199】
図23に戻り、上記ステップS165において、位置関係設定後であると判定された場合、プロセッサ81は、他の本体装置2(親機)との位置関係に基づいたゲーム処理を行い(ステップS169)、ステップS170に処理を進める。なお、複数のディスプレイ12の位置関係を用いて当該ディスプレイ12にゲーム画像を表示する処理については、上述されているため、ここでは詳細な説明を省略する。
【0200】
ステップS170において、プロセッサ81は、他の本体装置2との通信処理を行い、次のステップに処理を進める。この通信処理では、各機のタッチパネル13へタッチ操作されたタッチ位置、各タッチ位置に基づいて算出された各種データが、フレーム処理毎に相互に送受信される。したがって、一方の本体装置2で行われている処理は、他方の本体装置2に送信されて、相互にデータを参照可能となる。
【0201】
例えば、プロセッサ81は、他の本体装置2から受信した通信データを用いて、通信データDbにおける受信データを更新する。そして、プロセッサ81は、受信データの内容に基づいた処理を行う。一例として、プロセッサ81は、他の本体装置2から当該本体装置2において検出されたタッチ位置データを取得した場合、他機の新たなタッチ位置データの履歴としてタッチ位置データDdに追加する。他の例として、プロセッサ81は、他の本体装置2から位置関係設定処理におけるエラーが生じた旨の情報を取得した場合、当該情報に基づいて上記ステップS184の処理を行う。また、プロセッサ81は、他の本体装置2(親機)が設定した位置関係に関する情報を当該他の本体装置2(親機)から取得した場合、当該情報を用いて位置関係データDgを更新して、上記ステップS169における処理に利用する。
【0202】
また、プロセッサ81は、他の本体装置2に送信するデータを生成して、通信データDbにおける送信データに適宜格納し、上記ステップS170において当該送信データを他の本体装置2(親機)に送信する。一例として、プロセッサ81は、上述した処理において算出/設定された各種データを、通信データDbにおける送信データに格納して、他の本体装置2に送信する。
【0203】
次に、プロセッサ81は、表示画像を生成してディスプレイ12に表示する表示制御処理を行い(ステップS171)、次のステップに処理を進める。例えば、プロセッサ81は、入力オブジェクトデータDeに基づいて、入力オブジェクト画像Isをディスプレイ12に表示する。また、プロセッサ81は、他の本体装置2との間の位置関係が設定済である場合、当該位置関係に基づいた仮想ゲーム空間のグローバル座標空間を用いて、上記ステップS169におけるゲーム処理に応じたゲーム画像をディスプレイ12に表示する。
【0204】
次に、プロセッサ81は、ゲームを終了するか否かを判定する(ステップS172)。上記ステップS172においてゲームを終了する条件としては、例えば、ゲームの結果が確定したことや、ユーザがゲームを終了する操作を行ったこと等がある。プロセッサ81は、ゲームを終了しない場合に上記ステップS164に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。以降、ステップS164~ステップS172の一連の処理は、ステップS172でゲームを終了すると判定されるまで繰り返し実行される。
【0205】
このように、本実施例においては、複数の本体装置2の位置関係を設定するためのスライド操作を行うための案内となる画像が表示されるため、当該スライド操作をどのように行えばよいのかユーザに分かりやすく知らせることができる。例えば、上記案内となる画像がない場合、フリック操作のようにすばやく操作されることが考えられ、位置関係を設定するために後にタッチ操作されるタッチパネル13に対して十分なタッチ操作が行われないことも考えられる。本実施例では、スライド操作に追従する入力オブジェクト画像Isを表示することによって、スライド操作をゆっくり行うことをユーザに促すことが可能であり、上述した操作エラーを防止することも可能となる。
【0206】
また、上述した実施例では、タッチパネル13間の隙間を乗り越えるスライド操作を判定するために、タッチパネル13の端部でタッチオフされ、他のタッチパネル13の端部で再びタッチオンされた場合に、当該隙間におけるスライド操作が行われているとしている。ここで、上記端部は、タッチパネル13の最端部を含み当該最端部から所定の幅を有する領域であってもよい。上記所定の幅は、両方のタッチパネル13において一定のスライド操作の軌跡が確保できるものであれば、どのような長さであってもよい。
【0207】
また、上述した実施例では、複数の本体装置2を用いており、これらの本体装置2に内蔵されているプロセッサ81に分担して処理を行っている。しかしながら、上述した処理の分担例は、単なる一例であって、他の態様によって処理が分担されてもよいし、何れか1つのプロセッサ81によって全て処理が行われてもかまわない。また、後者の場合、プロセッサを有する情報処理装置が1つであってもよく、情報処理装置と当該情報処理装置と通信可能な少なくとも1つの表示装置(タッチパネルを有するディスプレイ)との組み合わせによってシステムが構成されてもよい。具体的には、ディスプレイを有する情報処理装置と情報処理機能を有しない少なくとも1つのディスプレイとを組み合わせたシステムや、ディスプレイを有しない情報処理装置と情報処理機能を有しない複数のディスプレイとを組み合わせたシステム等が考えられる。この場合、情報処理装置は、複数の表示装置と通信可能な1つの制御装置やサーバであってもよく、当該情報処理装置が各表示装置の表示内容を制御してもよい。また、本実施例で用いられる複数のディスプレイは、少なくとも1つが据置型であってもかまわない。
【0208】
また、上述したように、複数の本体装置2によって処理が分担されている場合、当該分担態様に応じて装置間で送受信される送信データを制限してもかまわない。例えば、各本体装置2が行う処理に必要な情報に制限して、各本体装置2間でデータを送受信してもかまわない。
【0209】
また、上述した実施例では、ディスプレイを覆うタッチパネルによって、複数の本体装置2の位置関係を設定するための操作を検出しているが、他の入力装置を用いて位置関係を設定するための操作が行われてもよい。例えば、空間的に離れた位置から入力装置によって指し示されたディスプレイ上の位置を検出するポインティングデバイスによる操作によって、複数の本体装置2の位置関係が設定されてもよい。
【0210】
また、上述した実施例では、一方のタッチパネルに対するスライド操作から得られたベクトルと、他方のタッチパネルに対するスライド操作から得られたベクトルとが一直線方向につながるように、これらのタッチパネル(ディスプレイ)の位置関係が設定されたが、他のベクトルによって当該位置関係が設定されてもよい。例えば、上述した実施例において算出されているベクトルとは逆方向のベクトル(すなわち、時系列が逆のベクトル)を用いて、タッチパネル(ディスプレイ)の位置関係が設定されてもよい。
【0211】
また、ゲームシステム1は、どのような装置であってもよく、携帯型のゲーム装置、任意の携帯型電子機器(PDA(Personal Digital Assistant)、携帯電話、パーソナルコンピュータ、カメラ、タブレット等)等であってもよい。
【0212】
また、上述した説明では情報処理(ゲーム処理)をゲームシステム1でそれぞれ行う例を用いたが、上記処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲームシステム1がさらに他の装置(例えば、別のサーバ、他の画像表示装置、他のゲーム装置、他の携帯端末)と通信可能に構成されている場合、上記処理ステップは、さらに当該他の装置が協働することによって実行してもよい。このように、上記処理ステップの少なくとも一部を他の装置で行うことによって、上述した処理と同様の処理が可能となる。また、上述した情報処理(ゲーム処理)は、少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施例においては、ゲームシステム1のプロセッサ81が所定のプログラムを実行することによって情報処理を行うことが可能であるが、ゲームシステム1が備える専用回路によって上記処理の一部または全部が行われてもよい。
【0213】
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置(据置型のゲーム装置)と携帯型の情報処理装置(携帯型のゲーム装置)との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。
【0214】
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。
【0215】
また、上記プログラムは、外部メモリ等の外部記憶媒体を通じてゲームシステム1に供給されるだけでなく、有線または無線の通信回線を通じて当該装置に供給されてもよい。また、上記プログラムは、当該装置内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD-ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
【0216】
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。
【産業上の利用可能性】
【0217】
以上のように、本発明は、複数のディスプレイの位置関係を設定するための操作をユーザに分かりやすく知らせることができる情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法等として利用することができる。
【符号の説明】
【0218】
1…情報処理システム
2…本体装置
3…左コントローラ
4…右コントローラ
11…ハウジング
12…ディスプレイ
13…タッチパネル
32、52…アナログスティック
42、64…端子
81…プロセッサ
82…ネットワーク通信部
83…コントローラ通信部
85…DRAM
101、111…通信制御部
89、104、114…加速度センサ
90、105、115…角速度センサ