プログラム、情報記憶媒体および画像制御システム
【課題】1つの位置に加えて他の1つの位置に対して接触操作が行われた場合であっても、接触操作が行われた位置に対応させた処理を行うことができる画像制御システムを提供すること。
【解決手段】 操作面39に対する接触操作の操作状態が、操作面39における第1の位置に対して第1接触操作が行われる第1操作状態では、第1の位置に対応する検出値を出力し、第1接触操作に加えて操作面39における第2の位置に対して第2接触操作が行われる第2操作状態では、第1の位置と第2の位置との中点に対応する検出値を出力する検出部40の検出値に基づいて、表示部18の表示面17に表示される画像を制御する画像制御システムであって、操作状態が第2操作状態である場合に、第1操作状態において取得された検出位置を一方の端点とし第2操作状態において取得された検出位置を中点とした場合の他方の端点を示す補正位置を求める補正部108を含む。
【解決手段】 操作面39に対する接触操作の操作状態が、操作面39における第1の位置に対して第1接触操作が行われる第1操作状態では、第1の位置に対応する検出値を出力し、第1接触操作に加えて操作面39における第2の位置に対して第2接触操作が行われる第2操作状態では、第1の位置と第2の位置との中点に対応する検出値を出力する検出部40の検出値に基づいて、表示部18の表示面17に表示される画像を制御する画像制御システムであって、操作状態が第2操作状態である場合に、第1操作状態において取得された検出位置を一方の端点とし第2操作状態において取得された検出位置を中点とした場合の他方の端点を示す補正位置を求める補正部108を含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体および画像制御システムに関する。
【背景技術】
【0002】
従来から、操作者が指先や指示体などで操作面に対して接触操作を行うと、接触操作が行われた位置に対応する検出値を出力するいわゆるタッチパネルを備えた画像制御システム(画像制御装置)が知られている。そしてタッチパネルを備えた画像制御システムには、タッチパネルの検出値に基づいて操作面における位置座標を取得して、位置座標に基づいて画像を制御するものがある。
【0003】
またこのタッチパネルには、操作面における1つの位置に対して接触操作が行われると、1つの位置に対応する検出値を出力し、1つの位置に加えて操作面における他の1つの位置に対して接触操作が行われると、2つの位置の中点に対応する検出値を出力するものがある。従ってこのようなタッチパネルを備えた画像制御システムは、操作面における1つの位置に対して接触操作が行われると、接触操作が行われた位置の位置座標を取得するため、接触操作が行われた位置に対応させて画像を制御することができるが、1つの位置に加えて他の1つの位置に対して接触操作が行われると、接触操作が行われた位置とは異なる位置の位置座標を取得するため、接触操作が行われた位置に対応させて画像を制御することができなくなってしまう。そこでこのようなタッチパネルを用いた画像制御システムには、位置座標の変化が大きい場合には1つの位置に加えて他の1つの位置に対して接触操作が行われたと判定し、警告メッセージを表示するか、あるいはこのような接触操作を無視するものがある(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−136638号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
このように、上述したようなタッチパネルを用いた従来の画像制御システムは、1つの位置に加えて他の1つの位置に対して接触操作が行われた場合には、取得した位置座標に対応させた処理を行わないようにしていた。
【0006】
本発明は、このような事情に鑑みてなされたものであり、その目的は、1つの位置に加えて他の1つの位置に対して接触操作が行われた場合であっても、接触操作が行われた位置に対応させた処理を行うことができる画像制御システムを提供することにある。
【課題を解決するための手段】
【0007】
(1)本発明は、
操作面に対する接触操作の操作状態が、前記操作面における第1の位置に対して第1接触操作が行われる第1操作状態では、前記第1の位置に対応する検出値を出力し、前記第1接触操作に加えて前記操作面における第2の位置に対して第2接触操作が行われる第2操作状態では、前記第1の位置と前記第2の位置との中点に対応する検出値を出力する検出部の検出値に基づいて、表示部の表示面に表示される画像を制御する画像制御システムであって、
前記検出値に基づいて、前記操作面における位置を示す検出位置を取得する取得部と、
前記検出値に基づいて、前記操作状態が前記第1操作状態であるか前記第2操作状態であるかを判定する状態判定部と、
前記操作状態が第2操作状態である場合に、前記第1操作状態において取得された前記検出位置を一方の端点とし前記第2操作状態において取得された前記検出位置を中点とした場合の他方の端点を示す補正位置を求める補正部と、
前記補正位置に基づいて、前記画像を制御する表示制御部とを含むことを特徴とする画像制御システムに関係する。
【0008】
また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータが読み取り可能な情報記憶媒体に関するものである。
【0009】
本発明では、操作状態が第2操作状態に移行しても第1操作状態における第1の位置が変化しない場合に、補正位置が第2の位置となるように補正位置を求めることができる。従って本発明では、第1の位置に加えて第2の位置に対して接触操作が行われた場合に、第2の位置に対応させて画像を制御することができる。
【0010】
(2)また本発明は、
操作面に対する接触操作の操作状態が、前記操作面における第1の位置に対して第1接触操作が行われる第1操作状態では、前記第1の位置に対応する検出値を出力し、前記第1接触操作に加えて前記操作面における第2の位置に対して第2接触操作が行われる第2操作状態では、前記第1の位置と前記第2の位置との中点に対応する検出値を出力する検出部の検出値に基づいて、表示部の表示面に表示される画像を制御する画像制御システムであって、
前記検出値に基づいて、前記操作面における位置を示す検出位置を取得する取得部と、
前記検出値に基づいて、前記操作状態が前記第1操作状態であるか前記第2操作状態であるかを判定する状態判定部と、
前記操作状態が第2操作状態である場合に、前記第1操作状態における前記検出位置を一方の端点とし前記第2操作状態における前記検出位置を中点とした場合の他方の端点を示す補正位置を求める補正部と、
前記補正位置が特定位置と一致するか否かを判定する位置判定部と、
前記画像を制御する表示制御部とを含むことを特徴とする画像制御システムに関係する。
【0011】
また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータが読み取り可能な情報記憶媒体に関するものである。
【0012】
本発明では、操作状態が第2操作状態に移行しても第1操作状態における第1の位置が変化しない場合に、補正位置が第2の位置となるように補正位置を求めることができる。従って本発明では、第1の位置に加えて第2の位置に対して接触操作が行われた場合に、第2の位置が特定位置と一致するか否かを判定することができる。
【0013】
(3)また本発明では、
前記表示制御部は、
前記位置判定部の判定結果に基づいて、前記画像を制御するようにしてもよい。
【0014】
このようにすれば、第2の位置に対応させて画像を制御することができる。
【0015】
(4)また本発明では、
前記補正部は、
前記第2操作状態において新たな前記検出位置が取得された場合に、前記第1操作状態において取得された前記検出位置を一方の端点とし前記第2操作状態において新たに取得された前記検出位置を中点とした場合の他方の端点を示す補正位置を求めるようにしてもよい。
【0016】
このようにすれば、第2操作状態において第2の位置が変化しても、第1操作状態における第1の位置が変化しない場合に、補正位置が第2の位置となるように補正位置を求めることができる。
【0017】
(5)また本発明では、
前記補正部は、
前記第2操作状態において新たな前記検出位置が取得された場合に、前記第2操作状態において最初に求めた前記補正位置を一方の端点とし前記第2操作状態において新たに取得された前記検出位置を中点とした場合の他方の端点を示す補正位置を求めるようにしてもよい。
【0018】
このようにすれば、第2操作状態において第1の位置が変化しても、第2の位置が変化しない場合に、補正位置が第1の位置となるように補正位置を求めることができる。
【0019】
(6)また本発明では、
前記補正位置が変化した場合に、前記補正位置の移動情報を求める移動情報演算部を更に含み、
前記表示制御部は、
前記補正位置の移動情報に基づいて、前記画像を制御するようにしてもよい。
【0020】
このようにすれば、第2操作状態における第1の位置の移動あるいは第2の位置の移動に対応させて画像を制御することができる。
【0021】
(7)また本発明では、
前記第1操作状態の期間を計測する期間計測部を更に含み、
前記表示制御部は、
前記第1操作状態の期間に基づいて、前記画像を制御するようにしてもよい。
【0022】
このようにすれば、第1操作状態の期間に対応させて画像を制御することができる。
【0023】
(8)また本発明では、
前記表示制御部は、
前記表示面のうち前記操作面と重複する重複部分に、前記第1接触操作を行うべき第1領域と前記第2接触操作を行うべき第2領域とを識別するための表示物を表示させるようにしてもよい。
【0024】
このようにすれば、操作状態の判定結果や補正位置の精度が高くなるように、操作者の操作を誘導することができる。
【0025】
(9)また本発明では、
前記状態判定部は、
前記検出値が出力されないことに基づいて、前記操作状態が前記操作面に対して接触操作が行われていない無操作状態であると判定し、
前記操作状態が前記無操作状態である場合に前記検出値が出力されたことに基づいて、前記操作状態が前記第1操作状態であると判定し、
前記操作状態が前記第1操作状態である場合の前記検出位置の移動量が第1閾値を超えたことに基づいて、前記操作状態が前記第2操作状態であると判定するようにしてもよい。
【0026】
このようにすれば、無操作状態と第1操作状態と第2操作状態との間で操作状態の移行を判定することができる。
【0027】
(10)また本発明では、
前記状態判定部は、
前記操作状態が前記第2操作状態である場合の前記検出位置の移動量が第2閾値を超えたことに基づいて、前記操作状態が前記第1操作状態であると判定するようにしてもよい。
【0028】
このようにすれば、操作状態が第2操作状態から第1操作状態に移行したことを判定することができる。
【図面の簡単な説明】
【0029】
【図1】本実施形態に係るゲームシステムの外観を示す図。
【図2】本実施形態に係るゲームシステムのタッチパネルの分解図。
【図3】本実施形態に係るゲームシステムの処理を説明するための図。
【図4】本実施形態に係るゲームシステムの機能ブロック図。
【図5】本実施形態に係るゲームシステムで表示される画像の例を示す図。
【図6】本実施形態に係るゲームシステムの処理を説明するための図。
【図7】本実施形態に係るゲームシステムの処理の流れを示すフローチャート。
【図8】本実施形態に係るゲームシステムの処理の流れを示すフローチャート。
【図9】本実施形態に係るゲームシステムの処理の流れを示すフローチャート。
【図10】本実施形態に係るゲームシステムの処理を説明するための図。
【図11】本実施形態に係るゲームシステムで表示される画像の例を示す図。
【図12】本実施形態に係るゲームシステムで表示される画像の例を示す図。
【図13】本実施形態に係るゲームシステムで表示される画像の例を示す図。
【図14】本実施形態に係るゲームシステムで表示される画像の例を示す図。
【発明を実施するための形態】
【0030】
以下において、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0031】
1.概要
図1は、本実施形態のゲームシステム10(表示制御システムの一例)の外観を示す図である。図1に示すようにゲームシステム10は、プレーヤ(操作者、観者)が携帯可能な大きさに形成されており、プレーヤがゲームシステム10を手で持ってゲームをプレーすることができるようになっている。そしてゲームシステム10は、本体下部12と本体上部14とがヒンジ部16により連結されており、本体下部12と本体上部14とがヒンジ部16の軸回りに回動可能となっている。そして本体下部12の中央部には、矩形の第1表示面17に画像を出力する第1液晶ディスプレイ18が設けられており、第1液晶ディスプレイ18の周囲には、プレーヤが操作情報を入力するための十字キー20、第1ボタン22〜第4ボタン28の4つのボタン、スタートボタン30、セレクトボタン32が設けられている。また本体上部14の中央部には、矩形の第2表示面33に画像を出力する第2液晶ディスプレイ34が設けられ、第2液晶ディスプレイ34の左側と右側には音を出力するスピーカ36が設けられている。またヒンジ部16には、プレーヤが音入力を行うためのマイク38が設けられている。
【0032】
また第1液晶ディスプレイ18の第1表示面17(重複部分の一例)には、矩形の操作面39に対してプレーヤが行った接触操作の位置を検出できるタッチパネル40が重ねられるように設けられている。そしてプレーヤが、例えば図1に示すタッチペン41の先端を操作面39に接触させると、ゲームシステム10はタッチペン41の先端が接触した操作面39における接触位置を検出する。従ってプレーヤは、操作面39に対して接触操作を行うことによっても操作情報を入力することができる。
【0033】
これによりゲームシステム10は、操作面39における接触位置に応じて第1表示面17に表示されている選択項目が選択されたことを判定したり、第1表示面17や第2表示面33においてキャラクタを発生させたり、移動させたり、消滅させたり、操作面39における接触位置の移動軌跡を表示して第1表示面17に文字や絵を描けるようにしたりすることができる。またゲームシステム10は、操作面39における接触位置の移動軌跡から、操作面39における接触位置の移動量、移動方向、移動速度などを求めることができる。
【0034】
図2は、タッチパネル40の分解図である。図2に示すようにタッチパネル40は、いわゆるアナログ抵抗膜方式のものとされ、光を透過するX軸用抵抗膜42とY軸用抵抗膜44とが、スペーサーを介して微少な間隔を空けてそれぞれの面が向かい合うように配置されている。そしてX軸用抵抗膜42には、X軸方向の両端にX軸用電極が設けられ、Y軸用抵抗膜44には、Y軸方向の両端にY軸用電極が設けられている。そしてX軸用電極とY軸用電極のそれぞれには、1/120秒ごとに交互に電圧が印加される。そしてタッチパネル40に対して接触操作が行われるとX軸用抵抗膜42が撓み、X軸用抵抗膜42とY軸用抵抗膜44とが接触して導通する。
【0035】
従って、例えば図2の点A(第1の位置の一例)に対して接触操作(第1接触操作の一例)が行われることにより、点AにおいてX軸用抵抗膜42とY軸用抵抗膜44とが接触して導通すると、X軸用電極に電圧が印加されている場合には、点AのX座標成分に応じて分圧された電圧(検出値の一例)がY軸用電極に現れ、Y軸用電極に電圧が印加されている場合には、点AのY座標成分に応じて分圧された電圧(検出値の一例)がX軸用電極に現れる。これによりタッチパネル40は、点Aに対して接触操作が行われている場合には、点AのX座標成分に対応する検出値とY座標成分に対応する検出値を1/120秒ごとに交互に出力することができる。すなわちタッチパネル40は、1/60秒ごとに接触位置に対応する検出値を出力することができる。
【0036】
しかしこのようなアナログ抵抗膜方式のタッチパネル40では、点Aに加えて点B(第2の位置の一例)に対して接触操作(第2接触操作の一例)が行われると、点Aと点BとにおいてX軸用抵抗膜42とY軸用抵抗膜44とが接触して導通する。そしてこのような状態では、X軸用電極に電圧が印加されている場合には、点AのX座標成分と点BのX座標成分とに応じて分圧された電圧がY軸用電極に現れ、Y軸用電極に電圧が印加されている場合には、点AのY座標成分と点BのY座標成分とに応じて分圧された電圧がX軸用電極に現れる。ここで、点AのX座標成分と点BのX座標成分とに応じて分圧された電圧は、点Aと点Bの中点MのX座標成分に応じて分圧された電圧と等しく、点AのY座標成分と点BのY座標成分とに応じて分圧された電圧は、点Aと点Bの中点MのY座標成分に応じて分圧された電圧と等しい。すなわちタッチパネル40は、点Aと点Bとに対して接触操作が行われている場合には、接触位置に対応する検出値を出力することはできず、点Aと点Bの中点Mに対応する検出値を出力する。
【0037】
従ってゲームシステム10は、タッチパネル40の検出値に基づいて操作面39の座標(位置の一例)を取得すると、点Aのみに対して接触操作が行われている場合には、点Aの座標を取得することができるが、点Aと点Bとに対して同時に接触操作が行われている場合には、点Aと点Bの中点Mの座標を取得してしまう。そこでゲームシステム10は、操作面39に対する接触操作の状態が、操作面39における1つの位置に対して接触操作が行われている第1操作状態であるか、2つの位置に対して接触操作が行われている第2操作状態であるかを判定する状態判定処理を行う。そして第1操作状態であれば、タッチパネル40の検出値に対応する検出座標を接触位置の座標とし、第2操作状態であれば、タッチパネル40の検出値に対応する検出座標を2つの接触位置の中点の座標として扱い、検出座標を補正した補正座標を求める補正処理を行い、補正座標を接触位置の座標とする。
【0038】
図3(A)〜図3(D)は、このような状態判定処理と補正処理を説明するための図である。本実施形態のゲームシステム10は、1/60秒ごとの取得タイミングで検出座標を取得するが、タッチパネル40から検出値が出力されていない場合には、操作面39に対して接触操作が行われていない無操作状態であると判定する。そして無操作状態において、図3(A)に示すように点P1の検出座標を取得すると、点P1のみに対して接触操作が行われている第1操作状態であると判定する。従って、無操作状態において同一の取得タイミングで2つの位置に対する接触操作が行われることにより2つの位置の中点の検出座標を取得した場合であっても、1つの位置に対して接触操作が行われている第1操作状態であると判定する。すなわちゲームシステム10は、同一の取得タイミングで2つの位置に対する接触操作が行われることは希であるから、無操作状態において点P1の検出座標を取得した場合には、プレーヤが1本のタッチペン41を点P1に対して接触させたと仮定する。
【0039】
そしてゲームシステム10は、第1操作状態において次の取得タイミングが到来すると、図3(B)に示すように、今回の取得タイミングで取得した点P2の検出座標と、前回の取得タイミングで取得した点P1の検出座標との距離が、距離d(第1閾値の一例)よりも大きいか否かを判定する。ここで距離dは、プレーヤが1本のタッチペン41を操作した場合に、1/60秒の間にタッチペン41の先端を移動させることができるであろうと想定する距離よりも大きい距離が設定されている。
【0040】
従って、点P2の検出座標と点P1の検出座標との距離が距離dよりも小さい場合には、プレーヤが1本のタッチペン41の先端を操作面39に接触させたまま、接触位置を点P1から点P2に移動させたことにより移動後の接触位置の座標が取得されたと想定できる。一方、点P2の検出座標と点P1の検出座標との距離が距離dよりも大きい場合には、1/60秒以内にプレーヤが1本のタッチペン41を点P1から離すとともに他の1本のタッチペン41を点P2に対して接触させる操作が行われることは希であるから、プレーヤが1本のタッチペン41を点P1に対して接触させている状態で、他の1本のタッチペン41を操作面39の他の点に対して接触させたことにより、2本のタッチペン41の接触位置の中点の座標が取得されたと想定できる。そこでゲームシステム10は、第1操作状態において、図3(B)に示すように点P1の検出座標から距離dよりも離れた点P2の検出座標を取得すると、点P1に加えて他の点に対しても接触操作が行われている第2操作状態であると判定する。
【0041】
するとゲームシステム10は、このような第2操作状態では、図3(C)に示すように、操作状態が第2操作状態に移行する直前の取得タイミングで取得された点P1の検出座標を直線Lの一方の端点とし、今回の取得タイミングで取得された点P2の検出座標を直線Lの中点とした場合の、直線Lの他方の端点を示す点R1の座標を求める。具体的には点R1のX座標R1Xを、点P1のX座標P1Xと点P2のX座標P2Xから、R1X=2・P2X−P1Xのようにして求め、点R1のY座標R1Yを、点P1のY座標P1Yと点P2のY座標P2Yから、R1Y=2・P2Y−P1Yのようにして求める。すなわちゲームシステム10は、操作状態が第2操作状態に移行しても、一方のタッチペン41の接触位置が点P1から移動せずに接触操作が継続されていると仮定して、他方のタッチペン41の接触位置と想定される点R1の座標を求める。
【0042】
そしてゲームシステム10は、第2操作状態において次の取得タイミングが到来すると、図3(D)に示すように、今回の取得タイミングで取得した点P3の検出座標と、前回の取得タイミングで取得した点P2の検出座標との距離が、距離d/2(第2閾値の一例)よりも大きいか否かを判定する。ここで距離d/2を閾値としているのは、第2操作状態で取得される検出座標は中点の検出座標であると想定されているため、1/60秒の間に中点が移動できる距離は、プレーヤがタッチペン41の先端を移動させることができるであろうと想定する距離dの1/2程度であると考えられるからである。従って、点P3の検出座標と点P2の検出座標との距離が距離d/2よりも小さい場合には、プレーヤが一方のタッチペン41の先端の接触位置を移動させたか、あるいは両方のタッチペン41の先端の接触位置を移動させたかのいずれかにより、2本のタッチペン41の接触位置の中点が移動したと想定できる。そこでゲームシステム10は、図3(D)に示すように、点P3の検出座標と点P2の検出座標との距離が距離d/2よりも小さい場合には、第2操作状態が継続していると判定する。
【0043】
しかし、両方のタッチペン41の先端の接触位置を移動させた場合には、中点の座標からではそれぞれのタッチペン41の接触位置と想定される点の座標を求めることはできない。そこでゲームシステム10は、点P3の検出座標と点P2の検出座標との距離が距離d/2よりも小さい場合には、プレーヤが一方のタッチペン41の先端の接触位置を点P1に維持したまま、他方のタッチペン41の先端を操作面39に接触させた状態で接触位置をR1から移動させたことにより、2本のタッチペン41の接触位置の中点が移動したと仮定する。そしてゲームシステム10は、図3(D)に示すように、操作状態が第2操作状態に移行する直前の取得タイミングで取得された点P1の検出座標を直線Lの一方の端点とし、今回の取得タイミングで取得された点P3の検出座標を直線Lの中点とした場合の、直線Lの他方の端点を示す点R2の座標を求める。
【0044】
すなわちゲームシステム10は、第2操作状態において中点が移動した場合には、操作面39に対する接触操作が先に行われた図中左のタッチペン41の接触位置が、点P1から移動せずに接触操作が継続されていると仮定して、操作面39に対する接触操作が後に行われた図中右のタッチペン41の移動後の接触位置と想定される点R2の座標を求める。
【0045】
一方、点P3の検出座標と点P2の検出座標との距離が距離d/2よりも大きい場合には、プレーヤが一方のタッチペン41を操作面39に対して接触させている状態で、他方のタッチペン41を操作面39から離したことにより、一方のタッチペン41の接触位置の座標が取得されたと想定できる。従って、このような場合には、ゲームシステム10は、点P3のみに対して接触操作が行われている第1操作状態であると判定する。
【0046】
こうしてゲームシステム10は、操作状態が無操作状態であるか、第1操作状態であるか、第2操作状態であるかを判定することができる。そして第2操作状態では、先に接触操作が行われたタッチペン41の接触位置が第1操作状態における接触位置から変化しなければ、後に接触操作が行われたタッチペン41の接触位置が変化しても、第2操作状態で取得される検出座標に基づいて、他方のタッチペン41の接触位置を求めることができる。
【0047】
2.機能ブロック
図4は、本実施形態におけるゲームシステム10の機能ブロック図の一例である。なお、本実施形態のゲームシステム10は、図4の構成要素(各部)の一部を省略した構成としてもよい。
【0048】
第1検出部50は、十字キー20、第1ボタン22〜第4ボタン28、スタートボタン30、セレクトボタン32に対する操作を検出するためのものであり、その機能は、各種スイッチや感圧センサなどにより実現できる。
【0049】
第2検出部52は、操作面39に対する接触操作の接触位置を検出するためのものであり、その機能は、4線式や5線式のアナログ抵抗膜方式のタッチパネルなどにより実現できる。詳細には第2検出部52は、操作面39に対する操作状態が、操作面39における第1の位置に対して第1接触操作が行われる第1操作状態では、第1の位置に対応する検出値を出力し、第1接触操作に加えて操作面39における第2の位置に対して第2接触操作が行われる第2操作状態では、第1の位置と第2の位置との中点に対応する検出値を出力する。
【0050】
音検出部54は、プレーヤの音声や手拍子などの外部音を検出するためのものであり、その機能はマイクなどにより実現できる。
【0051】
表示部56は、ゲームシステム10により生成された画像を出力するものであり、その機能はCRTディスプレイ、液晶ディスプレイ、プラズマディスプレイ、プロジェクタなどにより実現できる。
【0052】
音出力部58は、ゲームシステム10により生成された音を出力するものであり、その機能は、スピーカ36やヘッドフォンなどにより実現できる。
【0053】
情報記憶媒体60(コンピュータにより読み取り可能な媒体)は、処理部100が種々の処理を行うためのプログラムやデータなどを格納するものであり、その機能は、メモリカード、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープなどにより実現できる。
【0054】
記憶部62は、処理部100や通信部70などのワーク領域となるもので、その機能はRAMやVRAMなどにより実現できる。そして、本実施形態の記憶部62は、処理部100のワーク領域として使用される主記憶部64と、表示部56に表示させる画像が描画される描画バッファ66と、画像として表示されるオブジェクト(表示物)のデータが読み込まれるオブジェクトデータ記憶部68とを含む。
【0055】
通信部70は、外部(例えばサーバや他の携帯端末)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用の集積回路(ASIC)などのハードウェアや、プログラムなどにより実現できる。
【0056】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバ)が有する情報記憶媒体60からネットワーク及び通信部70を介して情報記憶媒体60(記憶部62)に配信してもよい。このようなホスト装置(サーバ)の情報記憶媒体60の使用も本発明の範囲内に含めることができる。
【0057】
処理部100(プロセッサ)は、第1検出部50、第2検出部52、音検出部54などからの検出情報や、通信部70からの受信情報や、プログラムやデータなどに基づいて、ゲーム処理、画像生成処理、音生成処理などの処理を行う。この処理部100は、記憶部62をワーク領域として各種処理を行い、その機能は各種プロセッサ(CPU、DSP等)、各種集積回路(IC、ASIC)などのハードウェアや、プログラムにより実現できる。
【0058】
特に、本実施形態の処理部100は、取得部102、移動情報演算部104、状態判定部106、補正部108、位置判定部110、期間計測部112、表示制御部114、通信制御部116、描画部120、音生成部130を含む。なお、これらの一部を省略する構成としてもよい。
【0059】
取得部102は、第2検出部52の検出値に基づいて、操作面39における位置を示す検出位置を取得する。詳細には取得部102は、第2検出部52から1/120秒ごとに操作面39のX座標成分に対応する検出値とY座標成分に対応する検出値を交互に取得することにより、1/60秒ごとの取得タイミングで操作面39における位置を示す検出座標を取得する。そして取得部102は、記憶部62の検出座標記憶部622に検出座標を取得タイミングごとに順次格納する。ここで取得部102は、第2検出部52から検出値が出力されなかったことにより検出座標を取得することができなかった取得タイミングでは、検出座標がないことを示すNULLを検出座標記憶部622に格納する。
【0060】
移動情報演算部104は、検出座標記憶部622に格納された検出座標に基づいて、検出座標の移動情報である検出移動情報を求める。詳細には移動情報演算部104は、異なる取得タイミングで格納された複数の検出座標に基づいて、複数の検出座標の間の距離(移動量)である検出移動距離を求める。また移動情報演算部104は、異なる取得タイミングで格納された複数の検出座標に基づいて、検出座標の移動方向である検出移動方向を求める。すなわち移動情報演算部104は、異なる取得タイミングで格納された複数の検出座標に基づいて、検出座標の移動ベクトルである検出移動ベクトルを求める。そして移動情報演算部104は、検出移動情報を求めるごとに記憶部62の検出移動情報記憶部624に検出移動情報を順次格納する。
【0061】
状態判定部106は、第2検出部52の検出値に基づいて、操作面39に対する操作状態が、操作面39に対して接触操作が行われていない無操作状態であるか、操作面39における第1の位置に対して第1接触操作が行われている第1操作状態であるか、第1接触操作に加えて操作面39における第2の位置に対して第2接触操作が行われている第2操作状態であるかを判定する。詳細には状態判定部106は、第2検出部52から検出値が出力されないことに基づいて操作状態が無操作状態であると判定し、操作状態が無操作状態である場合に第2検出部52から検出値が出力されたことに基づいて操作状態が第1操作状態であると判定し、操作状態が第1操作状態である場合の検出座標の移動量が第1閾値を超えたことに基づいて、操作状態が第2操作状態であると判定し、操作状態が第2操作状態である場合の検出座標の移動量が第2閾値を超えたことに基づいて、操作状態が第1操作状態であると判定する。
【0062】
具体的には状態判定部106は、検出座標記憶部622にNULLが格納されている取得タイミングでは無操作状態であると判定し、記憶部62の状態フラグを無操作状態に設定する。そして無操作状態では、今回の取得タイミングで検出座標が格納された場合に、今回の取得タイミングから第1操作状態であると判定し、記憶部62の状態フラグを第1操作状態に設定する。
【0063】
そして第1操作状態では、今回の取得タイミングでNULLが格納された場合に、今回の取得タイミングから無操作状態であると判定し、記憶部62の状態フラグを無操作状態に設定する。また第1操作状態では、今回の取得タイミングで検出座標が格納された場合に、移動情報演算部104が求めた移動距離が図3(B)で示した距離dよりも大きいか否かを判定する。そして移動距離が距離d以下である場合に、第1操作状態が継続していると判定し、記憶部62の状態フラグを第1操作状態に維持する。一方、移動距離が距離dよりも大きい場合に、今回の取得タイミングから第2操作状態であると判定し、記憶部62の状態フラグを第2操作状態に設定する。
【0064】
そして第2操作状態では、今回の取得タイミングでNULLが格納された場合に、今回の取得タイミングから無操作状態であると判定し、記憶部62の状態フラグを無操作状態に設定する。また第2操作状態では、今回の取得タイミングで検出座標が格納された場合に、移動情報演算部104が求めた移動距離が図3(D)で示した距離d/2よりも大きいか否かを判定する。そして移動距離が距離d/2以下である場合に、第2操作状態が継続していると判定し、記憶部62の状態フラグを第2操作状態に維持する。一方、移動距離が距離d/2よりも大きい場合に、今回の取得タイミングから第1操作状態であると判定し、記憶部62の状態フラグを第1操作状態に設定する。
【0065】
補正部108は、操作状態が第2操作状態である場合に、第1操作状態における検出座標を一方の端点とし、第2操作状態における検出座標を中点とした場合の、他方の端点を示す補正座標を求める。詳細には補正部108は、操作状態が第2操作状態に移行する直前の第1操作状態の取得タイミングで格納された検出座標を直線の一方の端点とし、今回の取得タイミングで格納された検出座標を直線の中点とした場合の、直線の他方の端点を示す補正座標を求める。すなわち補正部108は、操作状態が第1操作状態から第2操作状態に移行しても、先に行われた第1接触操作の接触位置が第1操作状態における接触位置から移動せずに接触操作が継続されていると仮定して、後に行われた第2接触操作の接触位置と想定される操作面39における座標を補正座標として求める。そして補正部108は、記憶部62の補正座標記憶部626に補正座標を取得タイミングごとに順次格納する。
【0066】
すると移動情報演算部104は、補正座標記憶部626に格納された補正座標に基づいて、補正座標の移動情報である補正移動情報を求める。詳細には移動情報演算部104は、異なる取得タイミングで格納された複数の補正座標に基づいて、複数の補正座標の間の距離(移動量)である補正移動距離を求める。また移動情報演算部104は、異なる取得タイミングで格納された複数の補正座標に基づいて、補正座標の移動方向である補正移動方向を求める。すなわち移動情報演算部104は、異なる取得タイミングで格納された複数の補正座標に基づいて、補正座標の移動ベクトルである補正移動ベクトルを求める。そして移動情報演算部104は、記憶部62の補正移動情報記憶部628に補正移動情報を求めるごとに順次格納する。
【0067】
位置判定部110は、取得部102が取得した検出座標や、補正部108が求めた補正座標が、特定座標と一致するか否かを判定する。詳細には位置判定部110は、検出座標や補正座標が、操作面39における予め定められた範囲に属する座標(特定座標の一例)か否かを判定したり、第1液晶ディスプレイ18の第1表示面17に表示されているオブジェクトの表示位置に対応する範囲に属する座標(特定座標の一例)か否かを判定する。
【0068】
期間計測部112は、第1操作状態の期間、第2操作状態の期間、無操作状態の期間を計測する。詳細には期間計測部112は、操作状態が第1操作状態に設定されたことを契機として記憶部62の第1カウンタのカウント値の更新を開始し、第1操作状態が終了したことを契機として第1カウンタのカウント値を初期値にリセットする。また期間計測部112は、操作状態が第2操作状態に設定されたことを契機として記憶部62の第2カウンタのカウント値の更新を開始し、第2操作状態が終了したことを契機として第2カウンタのカウント値を初期値にリセットする。また期間計測部112は、操作状態が無操作状態に設定されたことを契機として記憶部62の第3カウンタのカウント値の更新を開始し、無操作状態が終了したことを契機として第3カウンタのカウント値を初期値にリセットする。
【0069】
表示制御部114は、第1検出部50、第2検出部52、音検出部54などからの検出情報や、通信部70からの受信情報や、プログラムなどに基づいて、表示部56に表示される画像(オブジェクト画像)の表示制御を行う。詳細には表示制御部114は、表示すべきオブジェクト(キャラクタ、移動体、コース、建物、樹木、柱、壁、マップ、背景など)を発生させたり、オブジェクトの表示や表示位置を指示したり、オブジェクトを消滅させたりするなどの表示制御を行う。即ち発生したオブジェクトをオブジェクトリストに登録したり、オブジェクトリストを描画部120等に転送したり、消滅したオブジェクトをオブジェクトリストから削除したりするなどの表示制御を行う。そして表示制御部114は、移動処理と動作処理とを行う。
【0070】
移動処理としては、表示制御部114は、第1検出部50、第2検出部52、音検出部54などからの検出情報や、通信部70からの受信情報や、プログラム(移動アルゴリズム)や、各種データ(移動データ)などに基づいて、オブジェクトをオブジェクト空間内で移動させる処理(移動シミュレーション)を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動処理や画像生成処理を行う時間の単位である。
【0071】
動作処理としては、表示制御部114は、第1検出部50、第2検出部52、音検出部54などからの検出情報や、通信部70からの受信情報や、プログラム(動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクトをオブジェクト空間内で動作(モーション、アニメーション)させる処理(動作シミュレーション)を行う。具体的には、オブジェクトの動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。
【0072】
また本実施形態では、表示制御部114は、第1液晶ディスプレイ18の第1表示面17に、第1接触操作を行うべき第1領域と第2接触操作を行うべき第2領域とを識別するためのオブジェクトを表示させる。例えば表示制御部114は、第1領域を示すオブジェクトと第2領域を示すオブジェクトとを表示させる、あるいは第1領域の境界と第2領域の境界を示すオブジェクトを表示させる。
【0073】
特に本実施形態では、表示制御部114は、検出座標、検出移動情報、補正座標、補正移動情報や、第1カウンタのカウント値、第2カウンタのカウント値、第3カウンタのカウント値に基づいて、例えば、検出座標や補正座標の移動軌跡に沿って画像の色を変化させる表示制御を行ったり、表示させている画像を他の画像に切り替える表示制御を行ったり、オブジェクトを発生、消滅、変形させたりする表示制御を行ったり、オブジェクトを移動させたり動作させたりする表示制御を行ったりするなど、種々の表示制御を行う。
【0074】
通信制御部116は、他のゲームシステム10に送信するパケットを生成する処理、パケット送信先のゲームシステム10のネットワークアドレスを指定する処理、受信したパケットを記憶部62に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する通信部70の制御処理等を行う。特に本実施形態では、ゲームをネットワーク(例えば、インターネット)を利用して実行するために必要なデータパケット及びコマンドパケットを生成する制御や、通信部70を介してデータパケット及びコマンドパケットを送受信させる制御を行う。
【0075】
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部56に出力する。
【0076】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部58に出力する。
【0077】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
【0078】
3.本実施形態の適用例
以下、本実施形態のゲームシステム10で実行されるゲームの例について説明する。以下では、プレーヤが指先で操作面39に対する接触操作を行う場合を例にとり説明する。
【0079】
図5は、ゲームシステム10でサッカーのPKゲームが実行される例を示す図である。図5の例では、第2表示面33には、手前側にプレーヤが操作するプレーヤキャラクタ200が表示され、奥側にゲームシステム10が操作するコンピュータキャラクタ202が表示される。図5の例では、キッカーがプレーヤキャラクタ200となっており、ゴールキーパーがコンピュータキャラクタ202となっている。
【0080】
そして操作面39と重複して設けられている第1表示面17には、操作面39を左部分204(第1領域の一例)と右部分206(第2領域の一例)とに区分けする区分オブジェクト208が表示される。ここで図5の例のゲームでは、左部分204に対して接触操作を行う場合は、プレーヤの左手のいずれか1本の指先を用いて接触操作を行い、右部分206に対して接触操作を行う場合は、プレーヤの右手のいずれか1本の指先を用いて接触操作を行うことが、取扱説明書などにより推奨されている。
【0081】
そして左部分204には、プレーヤキャラクタ200の左足裏を示す左足裏オブジェクト210(第1領域の一例)が表示されるとともに、「3回Touch!」、「Hold!」というように、左部分204に対する接触操作の回数と態様とを示す文字が表示されている。ここで「3回Touch!」とは、左部分204に対して左手の指先を瞬間的に接触させるタッチ操作を3回行うことを指示する表示であり、「Hold!」とは、左部分204の1つの位置に対して左手の指先を継続的に接触させるホールド操作(第1接触操作の一例)を行うことを指示する表示である。また右部分206には、プレーヤキャラクタ200の右足を示す右足オブジェクト212(第2領域の一例)と、右足オブジェクト212から右上、真上、左上のそれぞれに向かう3つの矢印オブジェクト214(第2領域の一例)が表示されるとともに、「Slide!」というように、右部分206に対する接触操作の態様を示す文字が表示されている。ここで「Slide!」とは、右部分206に対して右手の指先を接触させたまま接触位置を移動させるスライド操作(第2接触操作の一例)を行うことを指示する表示である。また左部分204の「Step1」との表示は、左部分204に対して第1番目に接触操作を行うべきことを示す表示であり、右部分206の「Step2」との表示は、右部分206に対して第2番目に接触操作を行うべきことを示す表示である。すなわち左部分204と右部分206とには、それぞれに対して接触操作を行うべき順序を示す表示が配置されている。
【0082】
これにより、プレーヤが第1表示面17を見ればいかなる接触操作を行えばよいかわかりやすくすることができるとともに、区分オブジェクト208や左足裏オブジェクト210や右足オブジェクト212が表示されることにより、プレーヤがホールド操作を行う位置とスライド操作を行う位置とが操作面39においてある程度離れた位置となるようにプレーヤの操作を誘導することができ、操作状態の判定結果や補正座標の精度が高くなるようにすることができる。
【0083】
そして、プレーヤにより左部分204に対してタッチ操作が行われると、タッチ操作が行われるごとにプレーヤキャラクタ200がボール216に向かって助走する動作が表示され、タッチ操作が3回行われた後に左部分204に対してホールド操作が行われると、プレーヤキャラクタ200が右足を後方に振り上げて、左足に体重をかける動作が表示される。すなわち左部分204に対してホールド操作が行われている間は、プレーヤキャラクタ200がキック動作を行う前のいわゆるタメ動作を行う様子が表示される。すると、ホールド操作が行われている期間(第1操作状態の期間の一例)がカウントされる。
【0084】
そして、プレーヤにより右部分206に対してスライド操作が開始されると、ホールド操作が行われている期間のカウントが終了され、スライド操作が開始されてから12回の取得タイミング(0.2秒間、12フレーム)で取得された検出座標に基づいて、検出座標の移動ベクトルが求められる。すると、ホールド操作が行われていた期間に応じて、ボール216の上下方向への移動方向が決定され、スライド操作による検出座標の移動方向に応じて、ボール216の左右方向への移動方向が決定され、スライド操作による検出座標の移動速度(0.2秒間の移動量)に応じて、ボール216の移動速度が決定される。そしてこれらの処理が行われるとともに、プレーヤキャラクタ200がボール216を蹴る動作を行い、決定された移動方向と移動速度に応じてボール216が奧側に向かって移動する様子が表示される。
【0085】
ここで、プレーヤがホールド操作を終了させてから、すなわち左部分204から左手の指先を離してからスライド操作を開始させた場合には、操作面39の1つの位置に対して接触操作が行われている第1操作状態であるので、スライド操作による接触位置に対応する検出座標が取得される。従ってこの場合には、検出座標の移動ベクトルに対応するボール216の移動速度を求めれば、スライド操作による接触位置の移動速度に応じたボール216の移動速度が決定される。しかし、プレーヤがホールド操作を終了させる前に、すなわち左部分204から左手の指先を離さずにスライド操作を開始させた場合には、操作面39の2つの位置に対して同時に接触操作が行われている第2操作状態であるので、ホールド操作による接触位置とスライド操作による接触位置との中点に対応する検出座標が取得される。従ってこの場合には、検出座標の移動ベクトルに対応するボール216の移動速度を求めても、スライド操作による接触位置の移動速度に応じたボール216の移動速度が決定されない。
【0086】
具体的には図6に示すように、点Aに対するホールド操作が終了してからスライド操作が行われることにより、検出座標の移動ベクトルがベクトルB1B2となる場合には、同一のスライド操作が行われても、点Aに対するホールド操作とともにスライド操作が行われると、検出座標の移動ベクトルはベクトルM1M2となってしまう。従って、ホールド操作とともにスライド操作が行われる場合は、ホールド操作が終了してからスライド操作が行われる場合と比較して、検出座標の移動方向は同一(平行)となるが、検出座標の移動速度(移動量)は1/2となってしまう。
【0087】
そこで本実施形態のゲームシステム10では、ホールド操作とともにスライド操作が行われた場合には、すなわち操作状態が第2操作状態と判定された場合には、図6に示すように、スライド操作による検出座標を取得する0.2秒の間も点Aに対するホールド操作が継続されていると仮定して、検出座標を補正した補正座標が求められる。例えば、検出座標が点M1であれば、点Aを直線L1の一方の端点とし、点M1を直線L1の中点とした場合の、直線L1の他方の端点となる点B1が補正座標として求められる。また、検出座標が点M2であれば、点Aを直線L2の一方の端点とし、点M2を直線L2の中点とした場合の、直線L2の他方の端点となる点B2が補正座標として求められる。そして補正座標の移動ベクトルを求めれば、ホールド操作が終了してから行われたスライド操作による検出座標の移動ベクトルと想定されるベクトルB1B2が得られる。そして、このような補正座標の移動ベクトルに基づいてボール216の移動速度が求められることにより、スライド操作による接触位置の移動速度に応じたボール216の移動速度が決定される。
【0088】
こうして本実施形態のゲームシステム10では、ホールド操作が終了してからスライド操作が行われた場合であっても、ホールド操作とともにスライド操作が行われた場合であっても、スライド操作による接触位置の移動速度に応じたボール216の移動速度が決定されるようにすることができる。すなわち本実施形態のゲームシステム10によれば、操作面39の2つの位置に対して同時に接触操作が行われる第2操作状態となっても、プレーヤに違和感を抱かせないようにボール216を移動させることができる。つまり本実施形態のゲームシステム10によれば、タッチパネル40の操作面39に対して左右の手の指先を用いて接触操作を行わせる場合に好適なインターフェース環境を実現することができる。
【0089】
4.本実施形態の処理
次に、本実施形態のゲームシステム10で行われる処理の流れについて説明する。
【0090】
図7は、操作面39に対する接触操作の操作状態を移行させる操作状態移行処理の流れを示すフローチャートである。操作状態移行処理では、まず、初期状態として操作状態が無操作状態に設定され(ステップS10)、無操作状態での取得タイミングにおいて検出座標が取得されない場合は(ステップS12でN)、ステップS12に戻る。一方、無操作状態での取得タイミングにおいて検出座標が取得された場合は(ステップS12でY)、操作状態が第1操作状態に設定される(ステップS14)。
【0091】
そして第1操作状態での取得タイミングにおいて検出座標が取得されない場合は(ステップS16でN)、操作状態が無操作状態に設定され(ステップS10)、検出座標が取得された場合は(ステップS16でY)、今回の取得タイミングで取得された検出座標と、前回の取得タイミングで取得された検出座標との距離である移動距離がdよりも大きいか否か判定される(ステップS18)。そして移動距離がd以下である場合は(ステップS18でN)、ステップS16に戻り、移動距離がdよりも大きい場合は(ステップS18でY)、操作状態が第2操作状態に設定される(ステップS20)。
【0092】
そして第2操作状態での取得タイミングにおいて検出座標が取得されない場合は(ステップS22でN)、操作状態が無操作状態に設定され(ステップS10)、検出座標が取得された場合は(ステップS22でY)、今回の取得タイミングで取得された検出座標と、前回の取得タイミングで取得された検出座標との距離である移動距離がd/2よりも大きいか否か判定される(ステップS24)。そして移動距離がd/2よりも大きい場合は(ステップS24でY)、操作状態が第1操作状態に設定され(ステップS14)、移動距離がd/2以下である場合は(ステップS24でN)、ステップS22に戻る。
【0093】
図8は、検出座標を補正した補正座標を求める補正処理の流れを示すフローチャートである。補正処理では、まず、1/60ごとの取得タイミングにおいて検出座標が取得され(ステップS30)、この取得タイミングにおいて取得された検出座標により操作状態が第2操作状態に移行された場合は(ステップS32でY)、操作状態が第2操作状態に移行する直前の取得タイミングで取得された第1操作状態の検出座標が、検出座標記憶部622から抽出される(ステップS34)。そして、抽出された第1操作状態の検出座標を一方の端点とし、今回の取得タイミングの検出座標を中点とした場合の、他方の端点を示す補正座標が演算される(ステップS36)。
【0094】
そして、次回の取得タイミングにおいて検出座標が取得され(ステップS38)、次回の取得タイミングにおいて取得された検出座標により第2操作状態が終了されない場合は(ステップS40でN)、ステップS36に戻り、抽出された第1操作状態の検出座標を一方の端点とし、次回の取得タイミングの検出座標を中点とした場合の、他方の端点を示す補正座標が演算される(ステップS36)。一方、次回の取得タイミングにおいて取得された検出座標により第2操作状態が終了された場合は(ステップS40でY)、補正処理を終了する。
【0095】
図9は、画像に表示される移動体(ボール216)の移動情報を演算する移動処理の流れを示すフローチャートである。移動処理では、まず、3回のタッチ操作が行われた後にホールド操作が行われることにより、4回目の第1操作状態に移行すると(ステップS50でY)、ホールド操作の期間をカウントする第1カウンタのカウント値の更新が開始される(ステップS51)。
【0096】
ここで操作状態が無操作状態に移行すると(ステップS52でY)、すなわち図5で示した左部分204に対するホールド操作が終了されると、その時点における第1カウンタの値が記憶され(ステップS54)、無操作状態の期間をカウントする第3カウンタのカウント値の更新が開始される(ステップS56)。そして操作状態が第1操作状態に移行すると(ステップS58でY)、すなわち図5で示した左部分204に対するホールド操作が終了されてから右部分206に対するスライド操作が開始されると、その時点における第3カウンタの値が記憶され(ステップS60)、スライド操作が開始されてから1フレーム目の検出座標と12フレーム目の検出座標に基づいて検出移動ベクトルが求められる(ステップS62)。すなわちホールド操作が終了されてからスライド操作が行われたため、補正座標は用いられない。そして、第1カウンタの値と第3カウンタの値と検出移動ベクトルとに基づいて、移動体の移動情報が演算される(ステップS63)。
【0097】
詳細には、第1カウンタの値が大きいほど、すなわちホールド操作の期間が長いほど移動体の移動方向が上を向くように移動方向が求められ、第3カウンタの値が大きいほど、すなわちホールド操作とスライド操作の間の期間が長いほど移動体の移動速度が低下するように移動速度が求められる。従って本実施形態では、移動体の移動速度を高めるためにはホールド操作とスライド操作の間を短くすることが要求される。
【0098】
なお、第3カウンタのカウント値の更新が開始されてから(ステップS56)、操作状態が第1操作状態に移行せずに(ステップS58でN)、第3カウンタのカウント値が所定値(例えば3秒に相当する値)に達すると(ステップS64でY)、すなわちホールド操作が終了されてから3秒間経過してもスライド操作が行われない場合は、ホールド操作(プレーヤキャラクタ200のタメ動作)がキャンセルされ、ステップS50に戻る。
【0099】
一方、ステップS52において操作状態が無操作状態に移行せずに(ステップS52でN)、第2操作状態に移行すると(ステップS70でY)、すなわち図5で示した左部分204に対するホールド操作が行われたままスライド操作が開始されると、その時点における第1カウンタの値が記憶され(ステップS72)、スライド操作が開始されてから1フレーム目の補正座標と12フレーム目の補正座標に基づいて補正移動ベクトルが求められる(ステップS74)。すなわちホールド操作が行われたままスライド操作が行われたため、補正座標が用いられる。そして、第1カウンタの値と補正移動ベクトルとに基づいて、移動体の移動情報が演算される(ステップS76)。
【0100】
このように本実施形態では、移動体の移動速度を高めるためにホールド操作とスライド操作の間の期間を短くしようとするあまり、プレーヤがホールド操作を行ったままスライド操作を行ってしまう場合が発生することが考えられるが、本実施形態によれば、このような場合でも、スライド操作の接触位置に対応させて移動体を移動させるようにすることができる。
【0101】
5.変形例
本発明は、上記の実施形態で説明したものに限らず、種々の変形実施が可能であり、以下に変形例を紹介する。なお、上記実施形態や、以下において変形例として説明する各種の手法は、本発明を実現する制御手法として適宜組み合わせて採用することができる。
【0102】
5−1.変形例1
例えば上記実施形態では、図5に示したように、左部分204のいずれかに対してホールド操作を行えば、プレーヤキャラクタ200が右足を後方に振り上げる動作が表示されゲームが進行する例を挙げて説明したが、例えば左足裏オブジェクト210などのより狭い第1領域に対して第1接触操作が行われたことに基づいて、ゲームを進行させるようにしてもよい。そしてこのような第1領域を示すオブジェクトを、第1表示面17の周縁部に表示させるようにしてもよい。このようにすれば、接触操作の接触位置をより効果的に誘導することができ、操作状態の判定結果や補正座標の精度が高くなるようにすることができる。
【0103】
また上記実施形態では、状態判定部106が、操作状態が無操作状態である場合に第2検出部52から検出値が出力されたことに基づいて、操作状態が第1操作状態であると判定する例を挙げて説明したが、状態判定部106が、第1領域に対応する検出座標が取得されたことに基づいて、操作状態が第1操作状態であると判定するようにしてもよい。
【0104】
また上記実施形態では、第1操作状態では検出座標の移動量の第1閾値として距離dが設定され、第2操作状態では検出座標の移動量の第2閾値として距離d/2が設定されている例を挙げて説明したが、第1閾値と第2閾値とは同一であってもよいし、第2閾値の方が第1閾値よりも大きな値となってもよい。
【0105】
また上記実施形態では、状態判定部106が、検出座標の移動量に基づいて操作状態を判定する例を挙げて説明したが、第1操作状態から第2操作状態に移行する瞬間、あるいは第2操作状態から第1操作状態に移行する瞬間には、タッチパネル40のX軸用電極、あるいはY軸用電極に現れる電圧の変化にパルス(オーバーシュート)が発生するため、このパルスが発生したことに基づいて操作状態が第1操作状態から第2操作状態に移行したこと、あるいは第2操作状態から第1操作状態に移行したことを判定するようにしてもよい。
【0106】
5−2.変形例2
また上記実施形態では、図5の例のように、ホールド操作が終了してからスライド操作が行われても、あるいはホールド操作とともにスライド操作が行われても移動体が移動する例を挙げて説明したが、ホールド操作とともにスライド操作が行われないと、すなわち第2操作状態での接触操作が行われないと、移動体が移動しないようにしてもよい。
【0107】
また、プレーヤキャラクタの状態パラメータや、プレーヤキャラクタの種類に応じて、移動体の移動処理を行うようにしてもよい。例えば、プレーヤキャラクタの疲労度パラメータが変化するようにし、疲労度パラメータに応じて、移動体の移動量や移動方向や移動速度や移動精度が変化するようにしてもよい。また例えば本実施形態ではゲームシステム10をゴルフゲームに適用した場合には、プレーヤキャラクタが握るクラブの種類に応じて、移動体の移動量や移動方向や移動速度や移動精度が変化するようにしてもよい。
【0108】
また上記実施形態では、第2操作状態では補正座標を求め、補正座標の移動情報に基づいて移動体を移動させる例を挙げて説明したが、第2操作状態であっても補正座標は求めずに、表示制御部114が、操作状態が第1操作状態である場合に、検出座標の移動量に対して特定変換処理を行わずに検出座標の移動量に基づいて移動体を移動させ、操作状態が第2操作状態である場合に、検出座標の移動量に対して特定変換処理を行って検出座標の移動量に基づいて移動体を移動させるようにしてもよい。例えば、図5の例では、ホールド操作とともにスライド操作が行われる場合は、ホールド操作が終了してからスライド操作が行われる場合と比較して、検出座標の移動方向は同一(平行)となり、検出座標の移動速度(移動量)は1/2となるため、検出座標の移動速度(移動量)を2倍してから、移動体の移動速度や移動量を求めるようにしてもよい。このようにすれば、補正座標を求めなくとも、第2操作状態における第1の位置の移動あるいは第2の位置の移動に対応させて、移動体を移動させることができる。
【0109】
5−3.変形例3
また上記実施形態では、図3(D)に示したように、第2操作状態において中点が点P2から点P3に移動した場合に、操作面39に対する接触操作が先に行われた図中左のタッチペン41の先端の接触位置が点P1に維持されたまま、操作面39に対する接触操作が後に行われた図中右のタッチペン41の先端が操作面39に接触された状態で接触位置がR1から移動されたと仮定して、図中右のタッチペン41の接触位置と想定される点R2の座標を求める例を挙げて説明したが、図10(D)に示すように、第2操作状態において中点が点P2から点P3に移動した場合に、操作面39に対する接触操作が後に行われた図中右のタッチペン41の先端の接触位置が点R1に維持されたまま、操作面39に対する接触操作が先に行われた図中左のタッチペン41の先端が操作面39に接触された状態で接触位置がP1から移動されたと仮定して、図中左のタッチペン41の接触位置と想定される点R2の座標を求めるようにしてもよい。
【0110】
すなわち補正部108が、第2操作状態において新たな検出座標が取得された場合に、第2操作状態において最初に求めた補正座標を一方の端点とし第2操作状態において新たに取得された検出座標を中点とした場合の他方の端点を示す補正座標を求めるようにしてもよい。このようにすれば、例えば、まずは第1表示面17の左部分の点P1に対してホールド操作を行い、この状態で、右部分のR1に対してもホールド操作を行い、その後、左部分においてホールド操作を行っている点P1からスライド操作を行う場合に、スライド操作の接触位置である点R2が補正座標として求められる。
【0111】
5−4.変形例4
また上記実施形態では、サッカーのPKゲームが実行される例を挙げて説明したが、野球ゲームやゴルフゲームなどのサッカー以外の球技スポーツゲームにも上記手法を適用することができる他、例えばスキーゲームや水泳ゲームなど、球技スポーツゲーム以外のスポーツゲームにも上記手法を適用することができる。
【0112】
図11(A)〜(C)は、ゲームシステム10で水泳ゲームが実行される例を示す図である。この例では、図11(A)〜(C)に示すように、操作面39でもある第1表示面17には、左下から右上に向かって延びる右矢印オブジェクト218(第1領域の一例)と、右下から左上に向かって延びる左矢印オブジェクト220(第2領域の一例)とが、中央で交差するように表示されるとともに、「Slide!」というように、右矢印オブジェクト218に沿うように行うスライド操作と、左矢印オブジェクト220に沿うように行うスライド操作とを、交互に行うことが指示されている。またこの例では、図示を省略するが、第2表示面33には、プレーヤキャラクタが水泳をする様子が表示される。そしてこの例では、右矢印オブジェクト218に沿うように行うスライド操作と、左矢印オブジェクト220に沿うように行うスライド操作のタイミングや速度や移動軌跡やそれらのバランスに応じてプレーヤキャラクタの移動速度や移動方向が決定される。
【0113】
そして図11(A)に示すように、右指の指先が右矢印オブジェクト218に沿って左下から右上に向けて移動するようにスライド操作が行われると、図11(A)の操作状態は第1操作状態であるので、接触位置の移動と検出座標の移動とが一致する。従ってこの場合には、補正座標は求められずに検出座標の移動速度や移動軌跡に基づいてプレーヤキャラクタの移動情報が決定される。
【0114】
一方、図11(B)に示すように、右指の指先で右矢印オブジェクト218に沿ってスライド操作が行われた後、操作面39の右上の位置に対して右指の指先でホールド操作が行われている状態で、左指の指先が左矢印オブジェクト220に沿って右下から左上に向けて移動するようにスライド操作が行われると、図11(B)の操作状態は第2操作状態であるので、接触位置の移動と検出座標の移動とが一致しない。従ってこの場合には、操作面39の右上の位置に対するホールド操作の接触位置と検出座標とに基づいて補正座標が求められ、補正座標の移動速度や移動軌跡に基づいてプレーヤキャラクタの移動情報が決定される。
【0115】
また、図11(C)に示すように、左指の指先で左矢印オブジェクト220に沿ってスライド操作が行われた後、操作面39の左上の位置に対して左指の指先でホールド操作が行われている状態で、右指の指先が右矢印オブジェクト218に沿って左下から右上に向けて移動するようにスライド操作が行われると、図11(C)の操作状態も第2操作状態であるので、接触位置の移動と検出座標の移動とが一致しない。従ってこの場合には、操作面39の左上の位置と検出座標とに基づいて補正座標が求められ、補正座標の移動速度や移動軌跡に基づいてプレーヤキャラクタの移動情報が決定される。
【0116】
5−5.変形例5
また上記実施形態では、タッチパネル40の検出値に基づく検出座標、検出移動情報、補正座標、補正移動情報に基づいて、第2表示面33に表示される移動体の移動を制御する例を挙げて説明したが、検出座標、検出移動情報、補正座標、補正移動情報に基づいて、タッチパネル40の操作面39でもある第1表示面17(重複部分の一例)に表示される移動体の移動を制御するようにしてもよい。
【0117】
図12(A)〜(E)は、ゲームシステム10で実行されるゲームの例を示す図である。この例では、図12(A)〜(E)に示すように、操作面39でもある第1表示面17に、多数の羊キャラクタ222と、羊キャラクタ222を襲う狼キャラクタ224とが表示され、羊キャラクタ222は狼キャラクタ224から逃げるように移動し、狼キャラクタ224は羊キャラクタ222を追いかけるように移動している。そしてこの例では、図12(A)に示すように、狼キャラクタ224が表示されている位置に対してホールド操作が行われると、狼キャラクタ224の移動を停止させる制御が行われる。また、図12(B)に示すように、羊キャラクタ222が表示されている位置に対してスライド操作が行われると、羊キャラクタ222を安全な場所に移動させる制御が行われる。
【0118】
そして図12(A)に示すように、狼キャラクタ224が表示されている位置に対してホールド操作が行われると、図12(A)の操作状態は第1操作状態であるので、接触位置と検出座標とが一致する。従ってこの場合には、補正座標は求められずに検出座標の位置が狼キャラクタ224の表示位置(特定位置の一例)と一致しているか否かが判定され、検出座標の位置が狼キャラクタ224の表示位置と一致している場合には、狼キャラクタ224の移動を停止させる制御が行われる。
【0119】
また図12(B)に示すように、羊キャラクタ222が表示されている位置に対してスライド操作が行われると、図12(B)の操作状態は第1操作状態であるので、接触位置と検出座標とが一致する。従ってこの場合には、補正座標は求められずに検出座標の移動軌跡が羊キャラクタ222の表示位置(特定位置の一例)と交差(一致の一例)するか否かが判定され、検出座標の移動軌跡が羊キャラクタ222の表示位置と交差する場合には、羊キャラクタ222を安全な場所に移動させる制御が行われる。
【0120】
しかし図12(C)に示すように、狼キャラクタ224が表示されている位置に対してホールド操作(第1接触操作の一例)が行われたまま、羊キャラクタ222が表示されている位置に対してスライド操作(第2接触操作の一例)が行われると、図12(C)の操作状態は第2操作状態であるので、接触位置と検出座標とが一致しない。従ってこの場合には、狼キャラクタ224に対するホールド操作の接触位置と検出座標とに基づいて補正座標が求められ、補正座標の移動軌跡が羊キャラクタ222の表示位置(特定位置の一例)と交差(一致の一例)するか否かが判定され、補正座標の移動軌跡が羊キャラクタ222の表示位置と交差する場合には、羊キャラクタ222を安全な場所に移動させる制御が行われる。
【0121】
またこの例では、所定条件下で、図12(D)に示すように、狼キャラクタ224が表示されている位置に対してホールド操作(第1接触操作の一例)が行われると、狼キャラクタ224の移動を停止させる制御が行われ、その状態で、羊キャラクタ222が表示されている位置に対してもホールド操作(第2接触操作の一例)が行われると、羊キャラクタ222の移動を停止させる制御が行われるようにしてもよい。しかし、図12(D)の操作状態は第2操作状態であるので、接触位置と検出座標とが一致しない。従ってこの場合には、狼キャラクタ224が表示されている位置に対するホールド操作の接触位置と検出座標とに基づいて補正座標が求められ、補正座標が羊キャラクタ222の表示位置(特定位置の一例)と一致するか否かが判定され、補正座標が羊キャラクタ222の表示位置と交差する場合には、羊キャラクタ222の移動を停止させる制御が行われるようにしてもよい。そしてその後、狼キャラクタ224に対してホールド操作が行われている位置からスライド操作が行われると、図10(D)で示したように、スライド操作の接触位置が補正座標として求められ、補正座標に基づいてスライド操作に追従するように狼キャラクタ224が移動される制御が行われるようにしてもよい。
【0122】
5−6.変形例6
また上記実施形態では、タッチパネル40の検出値に基づく検出座標、検出移動情報、補正座標、補正移動情報に基づいて、移動体の移動を制御する例を挙げて説明したが、検出座標、検出移動情報、補正座標、補正移動情報に基づいて、接触操作の移動軌跡に対応させて文字や絵が描かれるように表示を制御するようにしてもよい。
【0123】
例えば、図13に示すように、第1表示面17の左下に表示されたボタン表示226(第1領域の一例)が表示されている位置に対して図中左のタッチペン41によりホールド操作(第1接触操作の一例)が行われた状態で、図中右のタッチペン41により操作面39に対して曲線を描く操作(第2接触操作の一例)が行われると、図13の操作状態は第2操作状態であるので、接触位置と検出座標とが一致しない。従ってこの場合には、ボタン表示226に対するホールド操作の接触位置と検出座標とに基づいて補正座標が求められ、補正座標の移動軌跡に沿って曲線228が描かれる制御が行われる。
【0124】
5−7.変形例7
また上記実施形態では、タッチパネル40の検出値に基づく検出座標、検出移動情報、補正座標、補正移動情報に基づいて、画像を制御する例を挙げて説明したが、検出座標、検出移動情報、補正座標、補正移動情報に基づいて、特定位置との一致を判定し、音を制御したり、ゲーム演算を行うようにしてもよい。
【0125】
例えば、図14に示すように、第1表示面17の左下に表示されたボタン表示226(第1領域の一例)が表示されている位置に対して図中左のタッチペン41によりホールド操作(第1接触操作の一例)が行われている間クイズの問題が表示され、第1表示面17の右上に表示されたマルボタン表示230(第2領域の一例)または右下に表示されたバツボタン表示232(第2領域の一例)に対してタッチ操作が行われることにより、問題に対する回答操作が行われるようにしてもよい。そしてタッチ操作が行われた接触位置が、正しい回答に対応するボタンの表示位置と一致しているか否かが判定され、一致している場合に、正解を示す音を出力したり、得点を加算するなどの、表示制御処理以外の処理を行うようにしてもよい。
【0126】
そして図14に示すように、ボタン表示226が表示されている位置に対して図中左のタッチペン41によりホールド操作が行われた状態で、図中右のタッチペン41によりマルボタン表示230またはバツボタン表示232に対してタッチ操作が行われると、図14の操作状態は第2操作状態であるので、接触位置と検出座標とが一致しない。従ってこの場合には、ボタン表示226に対するホールド操作の接触位置と検出座標とに基づいて補正座標が求められ、補正座標とマルボタン表示230またはバツボタン表示232の表示位置とが一致しているか否かが判定される。
【0127】
5−8.変形例8
また第2操作状態における検出座標の移動軌跡が所定の移動軌跡と一致するか否かを判定するようにしてもよい。例えば、第1表示面17に、それぞれの一辺の長さが同一となる正三角形と正方形を左右に並べて表示させた状態で、プレーヤが左手の指先で正三角形の各辺をなぞり、プレーヤが右手の指先で正方形の各辺をなぞった場合に、中点の移動軌跡となるデータを予め用意しておき、第2操作状態における検出座標の移動軌跡がこのような移動軌跡と一致するか否かを判定するようにしてもよい。この場合には、第1表示面17に、正三角形と正方形を左右に並べて表示させてプレーヤの操作を誘導するようにしてもよいし、このような表示は行わないようにしてもよい。また、移動軌跡のデータには、左右の手の指先の動きのずれを考慮して、移動軌跡に所定の幅をもたせるようにしてもよい。
【符号の説明】
【0128】
10 ゲームシステム、12 本体下部、14 本体上部、16 ヒンジ部、
17 第1表示面、18 第1液晶ディスプレイ、20 十字キー、22 第1ボタン、
24 第2ボタン、26 第3ボタン、28 第4ボタン、30 スタートボタン、
32 セレクトボタン、33 第2表示面、34 第2液晶ディスプレイ、
36 スピーカ、38 マイク、39 操作面、40 タッチパネル、
41 タッチペン、42 X軸用抵抗膜、44 Y軸用抵抗膜、50 第1検出部、
52 第2検出部、54 音検出部、56 表示部、58 音出力部、
60 情報記憶媒体、62 記憶部、
100 処理部、102 取得部、106 状態判定部、108 補正部、
110 位置判定部、112 期間計測部、114 表示制御部、116 通信制御部、
120 描画部、130 音生成部
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体および画像制御システムに関する。
【背景技術】
【0002】
従来から、操作者が指先や指示体などで操作面に対して接触操作を行うと、接触操作が行われた位置に対応する検出値を出力するいわゆるタッチパネルを備えた画像制御システム(画像制御装置)が知られている。そしてタッチパネルを備えた画像制御システムには、タッチパネルの検出値に基づいて操作面における位置座標を取得して、位置座標に基づいて画像を制御するものがある。
【0003】
またこのタッチパネルには、操作面における1つの位置に対して接触操作が行われると、1つの位置に対応する検出値を出力し、1つの位置に加えて操作面における他の1つの位置に対して接触操作が行われると、2つの位置の中点に対応する検出値を出力するものがある。従ってこのようなタッチパネルを備えた画像制御システムは、操作面における1つの位置に対して接触操作が行われると、接触操作が行われた位置の位置座標を取得するため、接触操作が行われた位置に対応させて画像を制御することができるが、1つの位置に加えて他の1つの位置に対して接触操作が行われると、接触操作が行われた位置とは異なる位置の位置座標を取得するため、接触操作が行われた位置に対応させて画像を制御することができなくなってしまう。そこでこのようなタッチパネルを用いた画像制御システムには、位置座標の変化が大きい場合には1つの位置に加えて他の1つの位置に対して接触操作が行われたと判定し、警告メッセージを表示するか、あるいはこのような接触操作を無視するものがある(特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2006−136638号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
このように、上述したようなタッチパネルを用いた従来の画像制御システムは、1つの位置に加えて他の1つの位置に対して接触操作が行われた場合には、取得した位置座標に対応させた処理を行わないようにしていた。
【0006】
本発明は、このような事情に鑑みてなされたものであり、その目的は、1つの位置に加えて他の1つの位置に対して接触操作が行われた場合であっても、接触操作が行われた位置に対応させた処理を行うことができる画像制御システムを提供することにある。
【課題を解決するための手段】
【0007】
(1)本発明は、
操作面に対する接触操作の操作状態が、前記操作面における第1の位置に対して第1接触操作が行われる第1操作状態では、前記第1の位置に対応する検出値を出力し、前記第1接触操作に加えて前記操作面における第2の位置に対して第2接触操作が行われる第2操作状態では、前記第1の位置と前記第2の位置との中点に対応する検出値を出力する検出部の検出値に基づいて、表示部の表示面に表示される画像を制御する画像制御システムであって、
前記検出値に基づいて、前記操作面における位置を示す検出位置を取得する取得部と、
前記検出値に基づいて、前記操作状態が前記第1操作状態であるか前記第2操作状態であるかを判定する状態判定部と、
前記操作状態が第2操作状態である場合に、前記第1操作状態において取得された前記検出位置を一方の端点とし前記第2操作状態において取得された前記検出位置を中点とした場合の他方の端点を示す補正位置を求める補正部と、
前記補正位置に基づいて、前記画像を制御する表示制御部とを含むことを特徴とする画像制御システムに関係する。
【0008】
また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータが読み取り可能な情報記憶媒体に関するものである。
【0009】
本発明では、操作状態が第2操作状態に移行しても第1操作状態における第1の位置が変化しない場合に、補正位置が第2の位置となるように補正位置を求めることができる。従って本発明では、第1の位置に加えて第2の位置に対して接触操作が行われた場合に、第2の位置に対応させて画像を制御することができる。
【0010】
(2)また本発明は、
操作面に対する接触操作の操作状態が、前記操作面における第1の位置に対して第1接触操作が行われる第1操作状態では、前記第1の位置に対応する検出値を出力し、前記第1接触操作に加えて前記操作面における第2の位置に対して第2接触操作が行われる第2操作状態では、前記第1の位置と前記第2の位置との中点に対応する検出値を出力する検出部の検出値に基づいて、表示部の表示面に表示される画像を制御する画像制御システムであって、
前記検出値に基づいて、前記操作面における位置を示す検出位置を取得する取得部と、
前記検出値に基づいて、前記操作状態が前記第1操作状態であるか前記第2操作状態であるかを判定する状態判定部と、
前記操作状態が第2操作状態である場合に、前記第1操作状態における前記検出位置を一方の端点とし前記第2操作状態における前記検出位置を中点とした場合の他方の端点を示す補正位置を求める補正部と、
前記補正位置が特定位置と一致するか否かを判定する位置判定部と、
前記画像を制御する表示制御部とを含むことを特徴とする画像制御システムに関係する。
【0011】
また本発明は、上記各部としてコンピュータを機能させるプログラム及びそのようなプログラムを記憶するコンピュータが読み取り可能な情報記憶媒体に関するものである。
【0012】
本発明では、操作状態が第2操作状態に移行しても第1操作状態における第1の位置が変化しない場合に、補正位置が第2の位置となるように補正位置を求めることができる。従って本発明では、第1の位置に加えて第2の位置に対して接触操作が行われた場合に、第2の位置が特定位置と一致するか否かを判定することができる。
【0013】
(3)また本発明では、
前記表示制御部は、
前記位置判定部の判定結果に基づいて、前記画像を制御するようにしてもよい。
【0014】
このようにすれば、第2の位置に対応させて画像を制御することができる。
【0015】
(4)また本発明では、
前記補正部は、
前記第2操作状態において新たな前記検出位置が取得された場合に、前記第1操作状態において取得された前記検出位置を一方の端点とし前記第2操作状態において新たに取得された前記検出位置を中点とした場合の他方の端点を示す補正位置を求めるようにしてもよい。
【0016】
このようにすれば、第2操作状態において第2の位置が変化しても、第1操作状態における第1の位置が変化しない場合に、補正位置が第2の位置となるように補正位置を求めることができる。
【0017】
(5)また本発明では、
前記補正部は、
前記第2操作状態において新たな前記検出位置が取得された場合に、前記第2操作状態において最初に求めた前記補正位置を一方の端点とし前記第2操作状態において新たに取得された前記検出位置を中点とした場合の他方の端点を示す補正位置を求めるようにしてもよい。
【0018】
このようにすれば、第2操作状態において第1の位置が変化しても、第2の位置が変化しない場合に、補正位置が第1の位置となるように補正位置を求めることができる。
【0019】
(6)また本発明では、
前記補正位置が変化した場合に、前記補正位置の移動情報を求める移動情報演算部を更に含み、
前記表示制御部は、
前記補正位置の移動情報に基づいて、前記画像を制御するようにしてもよい。
【0020】
このようにすれば、第2操作状態における第1の位置の移動あるいは第2の位置の移動に対応させて画像を制御することができる。
【0021】
(7)また本発明では、
前記第1操作状態の期間を計測する期間計測部を更に含み、
前記表示制御部は、
前記第1操作状態の期間に基づいて、前記画像を制御するようにしてもよい。
【0022】
このようにすれば、第1操作状態の期間に対応させて画像を制御することができる。
【0023】
(8)また本発明では、
前記表示制御部は、
前記表示面のうち前記操作面と重複する重複部分に、前記第1接触操作を行うべき第1領域と前記第2接触操作を行うべき第2領域とを識別するための表示物を表示させるようにしてもよい。
【0024】
このようにすれば、操作状態の判定結果や補正位置の精度が高くなるように、操作者の操作を誘導することができる。
【0025】
(9)また本発明では、
前記状態判定部は、
前記検出値が出力されないことに基づいて、前記操作状態が前記操作面に対して接触操作が行われていない無操作状態であると判定し、
前記操作状態が前記無操作状態である場合に前記検出値が出力されたことに基づいて、前記操作状態が前記第1操作状態であると判定し、
前記操作状態が前記第1操作状態である場合の前記検出位置の移動量が第1閾値を超えたことに基づいて、前記操作状態が前記第2操作状態であると判定するようにしてもよい。
【0026】
このようにすれば、無操作状態と第1操作状態と第2操作状態との間で操作状態の移行を判定することができる。
【0027】
(10)また本発明では、
前記状態判定部は、
前記操作状態が前記第2操作状態である場合の前記検出位置の移動量が第2閾値を超えたことに基づいて、前記操作状態が前記第1操作状態であると判定するようにしてもよい。
【0028】
このようにすれば、操作状態が第2操作状態から第1操作状態に移行したことを判定することができる。
【図面の簡単な説明】
【0029】
【図1】本実施形態に係るゲームシステムの外観を示す図。
【図2】本実施形態に係るゲームシステムのタッチパネルの分解図。
【図3】本実施形態に係るゲームシステムの処理を説明するための図。
【図4】本実施形態に係るゲームシステムの機能ブロック図。
【図5】本実施形態に係るゲームシステムで表示される画像の例を示す図。
【図6】本実施形態に係るゲームシステムの処理を説明するための図。
【図7】本実施形態に係るゲームシステムの処理の流れを示すフローチャート。
【図8】本実施形態に係るゲームシステムの処理の流れを示すフローチャート。
【図9】本実施形態に係るゲームシステムの処理の流れを示すフローチャート。
【図10】本実施形態に係るゲームシステムの処理を説明するための図。
【図11】本実施形態に係るゲームシステムで表示される画像の例を示す図。
【図12】本実施形態に係るゲームシステムで表示される画像の例を示す図。
【図13】本実施形態に係るゲームシステムで表示される画像の例を示す図。
【図14】本実施形態に係るゲームシステムで表示される画像の例を示す図。
【発明を実施するための形態】
【0030】
以下において、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【0031】
1.概要
図1は、本実施形態のゲームシステム10(表示制御システムの一例)の外観を示す図である。図1に示すようにゲームシステム10は、プレーヤ(操作者、観者)が携帯可能な大きさに形成されており、プレーヤがゲームシステム10を手で持ってゲームをプレーすることができるようになっている。そしてゲームシステム10は、本体下部12と本体上部14とがヒンジ部16により連結されており、本体下部12と本体上部14とがヒンジ部16の軸回りに回動可能となっている。そして本体下部12の中央部には、矩形の第1表示面17に画像を出力する第1液晶ディスプレイ18が設けられており、第1液晶ディスプレイ18の周囲には、プレーヤが操作情報を入力するための十字キー20、第1ボタン22〜第4ボタン28の4つのボタン、スタートボタン30、セレクトボタン32が設けられている。また本体上部14の中央部には、矩形の第2表示面33に画像を出力する第2液晶ディスプレイ34が設けられ、第2液晶ディスプレイ34の左側と右側には音を出力するスピーカ36が設けられている。またヒンジ部16には、プレーヤが音入力を行うためのマイク38が設けられている。
【0032】
また第1液晶ディスプレイ18の第1表示面17(重複部分の一例)には、矩形の操作面39に対してプレーヤが行った接触操作の位置を検出できるタッチパネル40が重ねられるように設けられている。そしてプレーヤが、例えば図1に示すタッチペン41の先端を操作面39に接触させると、ゲームシステム10はタッチペン41の先端が接触した操作面39における接触位置を検出する。従ってプレーヤは、操作面39に対して接触操作を行うことによっても操作情報を入力することができる。
【0033】
これによりゲームシステム10は、操作面39における接触位置に応じて第1表示面17に表示されている選択項目が選択されたことを判定したり、第1表示面17や第2表示面33においてキャラクタを発生させたり、移動させたり、消滅させたり、操作面39における接触位置の移動軌跡を表示して第1表示面17に文字や絵を描けるようにしたりすることができる。またゲームシステム10は、操作面39における接触位置の移動軌跡から、操作面39における接触位置の移動量、移動方向、移動速度などを求めることができる。
【0034】
図2は、タッチパネル40の分解図である。図2に示すようにタッチパネル40は、いわゆるアナログ抵抗膜方式のものとされ、光を透過するX軸用抵抗膜42とY軸用抵抗膜44とが、スペーサーを介して微少な間隔を空けてそれぞれの面が向かい合うように配置されている。そしてX軸用抵抗膜42には、X軸方向の両端にX軸用電極が設けられ、Y軸用抵抗膜44には、Y軸方向の両端にY軸用電極が設けられている。そしてX軸用電極とY軸用電極のそれぞれには、1/120秒ごとに交互に電圧が印加される。そしてタッチパネル40に対して接触操作が行われるとX軸用抵抗膜42が撓み、X軸用抵抗膜42とY軸用抵抗膜44とが接触して導通する。
【0035】
従って、例えば図2の点A(第1の位置の一例)に対して接触操作(第1接触操作の一例)が行われることにより、点AにおいてX軸用抵抗膜42とY軸用抵抗膜44とが接触して導通すると、X軸用電極に電圧が印加されている場合には、点AのX座標成分に応じて分圧された電圧(検出値の一例)がY軸用電極に現れ、Y軸用電極に電圧が印加されている場合には、点AのY座標成分に応じて分圧された電圧(検出値の一例)がX軸用電極に現れる。これによりタッチパネル40は、点Aに対して接触操作が行われている場合には、点AのX座標成分に対応する検出値とY座標成分に対応する検出値を1/120秒ごとに交互に出力することができる。すなわちタッチパネル40は、1/60秒ごとに接触位置に対応する検出値を出力することができる。
【0036】
しかしこのようなアナログ抵抗膜方式のタッチパネル40では、点Aに加えて点B(第2の位置の一例)に対して接触操作(第2接触操作の一例)が行われると、点Aと点BとにおいてX軸用抵抗膜42とY軸用抵抗膜44とが接触して導通する。そしてこのような状態では、X軸用電極に電圧が印加されている場合には、点AのX座標成分と点BのX座標成分とに応じて分圧された電圧がY軸用電極に現れ、Y軸用電極に電圧が印加されている場合には、点AのY座標成分と点BのY座標成分とに応じて分圧された電圧がX軸用電極に現れる。ここで、点AのX座標成分と点BのX座標成分とに応じて分圧された電圧は、点Aと点Bの中点MのX座標成分に応じて分圧された電圧と等しく、点AのY座標成分と点BのY座標成分とに応じて分圧された電圧は、点Aと点Bの中点MのY座標成分に応じて分圧された電圧と等しい。すなわちタッチパネル40は、点Aと点Bとに対して接触操作が行われている場合には、接触位置に対応する検出値を出力することはできず、点Aと点Bの中点Mに対応する検出値を出力する。
【0037】
従ってゲームシステム10は、タッチパネル40の検出値に基づいて操作面39の座標(位置の一例)を取得すると、点Aのみに対して接触操作が行われている場合には、点Aの座標を取得することができるが、点Aと点Bとに対して同時に接触操作が行われている場合には、点Aと点Bの中点Mの座標を取得してしまう。そこでゲームシステム10は、操作面39に対する接触操作の状態が、操作面39における1つの位置に対して接触操作が行われている第1操作状態であるか、2つの位置に対して接触操作が行われている第2操作状態であるかを判定する状態判定処理を行う。そして第1操作状態であれば、タッチパネル40の検出値に対応する検出座標を接触位置の座標とし、第2操作状態であれば、タッチパネル40の検出値に対応する検出座標を2つの接触位置の中点の座標として扱い、検出座標を補正した補正座標を求める補正処理を行い、補正座標を接触位置の座標とする。
【0038】
図3(A)〜図3(D)は、このような状態判定処理と補正処理を説明するための図である。本実施形態のゲームシステム10は、1/60秒ごとの取得タイミングで検出座標を取得するが、タッチパネル40から検出値が出力されていない場合には、操作面39に対して接触操作が行われていない無操作状態であると判定する。そして無操作状態において、図3(A)に示すように点P1の検出座標を取得すると、点P1のみに対して接触操作が行われている第1操作状態であると判定する。従って、無操作状態において同一の取得タイミングで2つの位置に対する接触操作が行われることにより2つの位置の中点の検出座標を取得した場合であっても、1つの位置に対して接触操作が行われている第1操作状態であると判定する。すなわちゲームシステム10は、同一の取得タイミングで2つの位置に対する接触操作が行われることは希であるから、無操作状態において点P1の検出座標を取得した場合には、プレーヤが1本のタッチペン41を点P1に対して接触させたと仮定する。
【0039】
そしてゲームシステム10は、第1操作状態において次の取得タイミングが到来すると、図3(B)に示すように、今回の取得タイミングで取得した点P2の検出座標と、前回の取得タイミングで取得した点P1の検出座標との距離が、距離d(第1閾値の一例)よりも大きいか否かを判定する。ここで距離dは、プレーヤが1本のタッチペン41を操作した場合に、1/60秒の間にタッチペン41の先端を移動させることができるであろうと想定する距離よりも大きい距離が設定されている。
【0040】
従って、点P2の検出座標と点P1の検出座標との距離が距離dよりも小さい場合には、プレーヤが1本のタッチペン41の先端を操作面39に接触させたまま、接触位置を点P1から点P2に移動させたことにより移動後の接触位置の座標が取得されたと想定できる。一方、点P2の検出座標と点P1の検出座標との距離が距離dよりも大きい場合には、1/60秒以内にプレーヤが1本のタッチペン41を点P1から離すとともに他の1本のタッチペン41を点P2に対して接触させる操作が行われることは希であるから、プレーヤが1本のタッチペン41を点P1に対して接触させている状態で、他の1本のタッチペン41を操作面39の他の点に対して接触させたことにより、2本のタッチペン41の接触位置の中点の座標が取得されたと想定できる。そこでゲームシステム10は、第1操作状態において、図3(B)に示すように点P1の検出座標から距離dよりも離れた点P2の検出座標を取得すると、点P1に加えて他の点に対しても接触操作が行われている第2操作状態であると判定する。
【0041】
するとゲームシステム10は、このような第2操作状態では、図3(C)に示すように、操作状態が第2操作状態に移行する直前の取得タイミングで取得された点P1の検出座標を直線Lの一方の端点とし、今回の取得タイミングで取得された点P2の検出座標を直線Lの中点とした場合の、直線Lの他方の端点を示す点R1の座標を求める。具体的には点R1のX座標R1Xを、点P1のX座標P1Xと点P2のX座標P2Xから、R1X=2・P2X−P1Xのようにして求め、点R1のY座標R1Yを、点P1のY座標P1Yと点P2のY座標P2Yから、R1Y=2・P2Y−P1Yのようにして求める。すなわちゲームシステム10は、操作状態が第2操作状態に移行しても、一方のタッチペン41の接触位置が点P1から移動せずに接触操作が継続されていると仮定して、他方のタッチペン41の接触位置と想定される点R1の座標を求める。
【0042】
そしてゲームシステム10は、第2操作状態において次の取得タイミングが到来すると、図3(D)に示すように、今回の取得タイミングで取得した点P3の検出座標と、前回の取得タイミングで取得した点P2の検出座標との距離が、距離d/2(第2閾値の一例)よりも大きいか否かを判定する。ここで距離d/2を閾値としているのは、第2操作状態で取得される検出座標は中点の検出座標であると想定されているため、1/60秒の間に中点が移動できる距離は、プレーヤがタッチペン41の先端を移動させることができるであろうと想定する距離dの1/2程度であると考えられるからである。従って、点P3の検出座標と点P2の検出座標との距離が距離d/2よりも小さい場合には、プレーヤが一方のタッチペン41の先端の接触位置を移動させたか、あるいは両方のタッチペン41の先端の接触位置を移動させたかのいずれかにより、2本のタッチペン41の接触位置の中点が移動したと想定できる。そこでゲームシステム10は、図3(D)に示すように、点P3の検出座標と点P2の検出座標との距離が距離d/2よりも小さい場合には、第2操作状態が継続していると判定する。
【0043】
しかし、両方のタッチペン41の先端の接触位置を移動させた場合には、中点の座標からではそれぞれのタッチペン41の接触位置と想定される点の座標を求めることはできない。そこでゲームシステム10は、点P3の検出座標と点P2の検出座標との距離が距離d/2よりも小さい場合には、プレーヤが一方のタッチペン41の先端の接触位置を点P1に維持したまま、他方のタッチペン41の先端を操作面39に接触させた状態で接触位置をR1から移動させたことにより、2本のタッチペン41の接触位置の中点が移動したと仮定する。そしてゲームシステム10は、図3(D)に示すように、操作状態が第2操作状態に移行する直前の取得タイミングで取得された点P1の検出座標を直線Lの一方の端点とし、今回の取得タイミングで取得された点P3の検出座標を直線Lの中点とした場合の、直線Lの他方の端点を示す点R2の座標を求める。
【0044】
すなわちゲームシステム10は、第2操作状態において中点が移動した場合には、操作面39に対する接触操作が先に行われた図中左のタッチペン41の接触位置が、点P1から移動せずに接触操作が継続されていると仮定して、操作面39に対する接触操作が後に行われた図中右のタッチペン41の移動後の接触位置と想定される点R2の座標を求める。
【0045】
一方、点P3の検出座標と点P2の検出座標との距離が距離d/2よりも大きい場合には、プレーヤが一方のタッチペン41を操作面39に対して接触させている状態で、他方のタッチペン41を操作面39から離したことにより、一方のタッチペン41の接触位置の座標が取得されたと想定できる。従って、このような場合には、ゲームシステム10は、点P3のみに対して接触操作が行われている第1操作状態であると判定する。
【0046】
こうしてゲームシステム10は、操作状態が無操作状態であるか、第1操作状態であるか、第2操作状態であるかを判定することができる。そして第2操作状態では、先に接触操作が行われたタッチペン41の接触位置が第1操作状態における接触位置から変化しなければ、後に接触操作が行われたタッチペン41の接触位置が変化しても、第2操作状態で取得される検出座標に基づいて、他方のタッチペン41の接触位置を求めることができる。
【0047】
2.機能ブロック
図4は、本実施形態におけるゲームシステム10の機能ブロック図の一例である。なお、本実施形態のゲームシステム10は、図4の構成要素(各部)の一部を省略した構成としてもよい。
【0048】
第1検出部50は、十字キー20、第1ボタン22〜第4ボタン28、スタートボタン30、セレクトボタン32に対する操作を検出するためのものであり、その機能は、各種スイッチや感圧センサなどにより実現できる。
【0049】
第2検出部52は、操作面39に対する接触操作の接触位置を検出するためのものであり、その機能は、4線式や5線式のアナログ抵抗膜方式のタッチパネルなどにより実現できる。詳細には第2検出部52は、操作面39に対する操作状態が、操作面39における第1の位置に対して第1接触操作が行われる第1操作状態では、第1の位置に対応する検出値を出力し、第1接触操作に加えて操作面39における第2の位置に対して第2接触操作が行われる第2操作状態では、第1の位置と第2の位置との中点に対応する検出値を出力する。
【0050】
音検出部54は、プレーヤの音声や手拍子などの外部音を検出するためのものであり、その機能はマイクなどにより実現できる。
【0051】
表示部56は、ゲームシステム10により生成された画像を出力するものであり、その機能はCRTディスプレイ、液晶ディスプレイ、プラズマディスプレイ、プロジェクタなどにより実現できる。
【0052】
音出力部58は、ゲームシステム10により生成された音を出力するものであり、その機能は、スピーカ36やヘッドフォンなどにより実現できる。
【0053】
情報記憶媒体60(コンピュータにより読み取り可能な媒体)は、処理部100が種々の処理を行うためのプログラムやデータなどを格納するものであり、その機能は、メモリカード、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープなどにより実現できる。
【0054】
記憶部62は、処理部100や通信部70などのワーク領域となるもので、その機能はRAMやVRAMなどにより実現できる。そして、本実施形態の記憶部62は、処理部100のワーク領域として使用される主記憶部64と、表示部56に表示させる画像が描画される描画バッファ66と、画像として表示されるオブジェクト(表示物)のデータが読み込まれるオブジェクトデータ記憶部68とを含む。
【0055】
通信部70は、外部(例えばサーバや他の携帯端末)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用の集積回路(ASIC)などのハードウェアや、プログラムなどにより実現できる。
【0056】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム(データ)は、ホスト装置(サーバ)が有する情報記憶媒体60からネットワーク及び通信部70を介して情報記憶媒体60(記憶部62)に配信してもよい。このようなホスト装置(サーバ)の情報記憶媒体60の使用も本発明の範囲内に含めることができる。
【0057】
処理部100(プロセッサ)は、第1検出部50、第2検出部52、音検出部54などからの検出情報や、通信部70からの受信情報や、プログラムやデータなどに基づいて、ゲーム処理、画像生成処理、音生成処理などの処理を行う。この処理部100は、記憶部62をワーク領域として各種処理を行い、その機能は各種プロセッサ(CPU、DSP等)、各種集積回路(IC、ASIC)などのハードウェアや、プログラムにより実現できる。
【0058】
特に、本実施形態の処理部100は、取得部102、移動情報演算部104、状態判定部106、補正部108、位置判定部110、期間計測部112、表示制御部114、通信制御部116、描画部120、音生成部130を含む。なお、これらの一部を省略する構成としてもよい。
【0059】
取得部102は、第2検出部52の検出値に基づいて、操作面39における位置を示す検出位置を取得する。詳細には取得部102は、第2検出部52から1/120秒ごとに操作面39のX座標成分に対応する検出値とY座標成分に対応する検出値を交互に取得することにより、1/60秒ごとの取得タイミングで操作面39における位置を示す検出座標を取得する。そして取得部102は、記憶部62の検出座標記憶部622に検出座標を取得タイミングごとに順次格納する。ここで取得部102は、第2検出部52から検出値が出力されなかったことにより検出座標を取得することができなかった取得タイミングでは、検出座標がないことを示すNULLを検出座標記憶部622に格納する。
【0060】
移動情報演算部104は、検出座標記憶部622に格納された検出座標に基づいて、検出座標の移動情報である検出移動情報を求める。詳細には移動情報演算部104は、異なる取得タイミングで格納された複数の検出座標に基づいて、複数の検出座標の間の距離(移動量)である検出移動距離を求める。また移動情報演算部104は、異なる取得タイミングで格納された複数の検出座標に基づいて、検出座標の移動方向である検出移動方向を求める。すなわち移動情報演算部104は、異なる取得タイミングで格納された複数の検出座標に基づいて、検出座標の移動ベクトルである検出移動ベクトルを求める。そして移動情報演算部104は、検出移動情報を求めるごとに記憶部62の検出移動情報記憶部624に検出移動情報を順次格納する。
【0061】
状態判定部106は、第2検出部52の検出値に基づいて、操作面39に対する操作状態が、操作面39に対して接触操作が行われていない無操作状態であるか、操作面39における第1の位置に対して第1接触操作が行われている第1操作状態であるか、第1接触操作に加えて操作面39における第2の位置に対して第2接触操作が行われている第2操作状態であるかを判定する。詳細には状態判定部106は、第2検出部52から検出値が出力されないことに基づいて操作状態が無操作状態であると判定し、操作状態が無操作状態である場合に第2検出部52から検出値が出力されたことに基づいて操作状態が第1操作状態であると判定し、操作状態が第1操作状態である場合の検出座標の移動量が第1閾値を超えたことに基づいて、操作状態が第2操作状態であると判定し、操作状態が第2操作状態である場合の検出座標の移動量が第2閾値を超えたことに基づいて、操作状態が第1操作状態であると判定する。
【0062】
具体的には状態判定部106は、検出座標記憶部622にNULLが格納されている取得タイミングでは無操作状態であると判定し、記憶部62の状態フラグを無操作状態に設定する。そして無操作状態では、今回の取得タイミングで検出座標が格納された場合に、今回の取得タイミングから第1操作状態であると判定し、記憶部62の状態フラグを第1操作状態に設定する。
【0063】
そして第1操作状態では、今回の取得タイミングでNULLが格納された場合に、今回の取得タイミングから無操作状態であると判定し、記憶部62の状態フラグを無操作状態に設定する。また第1操作状態では、今回の取得タイミングで検出座標が格納された場合に、移動情報演算部104が求めた移動距離が図3(B)で示した距離dよりも大きいか否かを判定する。そして移動距離が距離d以下である場合に、第1操作状態が継続していると判定し、記憶部62の状態フラグを第1操作状態に維持する。一方、移動距離が距離dよりも大きい場合に、今回の取得タイミングから第2操作状態であると判定し、記憶部62の状態フラグを第2操作状態に設定する。
【0064】
そして第2操作状態では、今回の取得タイミングでNULLが格納された場合に、今回の取得タイミングから無操作状態であると判定し、記憶部62の状態フラグを無操作状態に設定する。また第2操作状態では、今回の取得タイミングで検出座標が格納された場合に、移動情報演算部104が求めた移動距離が図3(D)で示した距離d/2よりも大きいか否かを判定する。そして移動距離が距離d/2以下である場合に、第2操作状態が継続していると判定し、記憶部62の状態フラグを第2操作状態に維持する。一方、移動距離が距離d/2よりも大きい場合に、今回の取得タイミングから第1操作状態であると判定し、記憶部62の状態フラグを第1操作状態に設定する。
【0065】
補正部108は、操作状態が第2操作状態である場合に、第1操作状態における検出座標を一方の端点とし、第2操作状態における検出座標を中点とした場合の、他方の端点を示す補正座標を求める。詳細には補正部108は、操作状態が第2操作状態に移行する直前の第1操作状態の取得タイミングで格納された検出座標を直線の一方の端点とし、今回の取得タイミングで格納された検出座標を直線の中点とした場合の、直線の他方の端点を示す補正座標を求める。すなわち補正部108は、操作状態が第1操作状態から第2操作状態に移行しても、先に行われた第1接触操作の接触位置が第1操作状態における接触位置から移動せずに接触操作が継続されていると仮定して、後に行われた第2接触操作の接触位置と想定される操作面39における座標を補正座標として求める。そして補正部108は、記憶部62の補正座標記憶部626に補正座標を取得タイミングごとに順次格納する。
【0066】
すると移動情報演算部104は、補正座標記憶部626に格納された補正座標に基づいて、補正座標の移動情報である補正移動情報を求める。詳細には移動情報演算部104は、異なる取得タイミングで格納された複数の補正座標に基づいて、複数の補正座標の間の距離(移動量)である補正移動距離を求める。また移動情報演算部104は、異なる取得タイミングで格納された複数の補正座標に基づいて、補正座標の移動方向である補正移動方向を求める。すなわち移動情報演算部104は、異なる取得タイミングで格納された複数の補正座標に基づいて、補正座標の移動ベクトルである補正移動ベクトルを求める。そして移動情報演算部104は、記憶部62の補正移動情報記憶部628に補正移動情報を求めるごとに順次格納する。
【0067】
位置判定部110は、取得部102が取得した検出座標や、補正部108が求めた補正座標が、特定座標と一致するか否かを判定する。詳細には位置判定部110は、検出座標や補正座標が、操作面39における予め定められた範囲に属する座標(特定座標の一例)か否かを判定したり、第1液晶ディスプレイ18の第1表示面17に表示されているオブジェクトの表示位置に対応する範囲に属する座標(特定座標の一例)か否かを判定する。
【0068】
期間計測部112は、第1操作状態の期間、第2操作状態の期間、無操作状態の期間を計測する。詳細には期間計測部112は、操作状態が第1操作状態に設定されたことを契機として記憶部62の第1カウンタのカウント値の更新を開始し、第1操作状態が終了したことを契機として第1カウンタのカウント値を初期値にリセットする。また期間計測部112は、操作状態が第2操作状態に設定されたことを契機として記憶部62の第2カウンタのカウント値の更新を開始し、第2操作状態が終了したことを契機として第2カウンタのカウント値を初期値にリセットする。また期間計測部112は、操作状態が無操作状態に設定されたことを契機として記憶部62の第3カウンタのカウント値の更新を開始し、無操作状態が終了したことを契機として第3カウンタのカウント値を初期値にリセットする。
【0069】
表示制御部114は、第1検出部50、第2検出部52、音検出部54などからの検出情報や、通信部70からの受信情報や、プログラムなどに基づいて、表示部56に表示される画像(オブジェクト画像)の表示制御を行う。詳細には表示制御部114は、表示すべきオブジェクト(キャラクタ、移動体、コース、建物、樹木、柱、壁、マップ、背景など)を発生させたり、オブジェクトの表示や表示位置を指示したり、オブジェクトを消滅させたりするなどの表示制御を行う。即ち発生したオブジェクトをオブジェクトリストに登録したり、オブジェクトリストを描画部120等に転送したり、消滅したオブジェクトをオブジェクトリストから削除したりするなどの表示制御を行う。そして表示制御部114は、移動処理と動作処理とを行う。
【0070】
移動処理としては、表示制御部114は、第1検出部50、第2検出部52、音検出部54などからの検出情報や、通信部70からの受信情報や、プログラム(移動アルゴリズム)や、各種データ(移動データ)などに基づいて、オブジェクトをオブジェクト空間内で移動させる処理(移動シミュレーション)を行う。具体的には、オブジェクトの移動情報(位置、回転角度、速度、或いは加速度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。なおフレームは、オブジェクトの移動処理や画像生成処理を行う時間の単位である。
【0071】
動作処理としては、表示制御部114は、第1検出部50、第2検出部52、音検出部54などからの検出情報や、通信部70からの受信情報や、プログラム(動作アルゴリズム)や、各種データ(モーションデータ)などに基づいて、オブジェクトをオブジェクト空間内で動作(モーション、アニメーション)させる処理(動作シミュレーション)を行う。具体的には、オブジェクトの動作情報(オブジェクトを構成する各パーツの位置、或いは回転角度)を、1フレーム(1/60秒)毎に順次求めるシミュレーション処理を行う。
【0072】
また本実施形態では、表示制御部114は、第1液晶ディスプレイ18の第1表示面17に、第1接触操作を行うべき第1領域と第2接触操作を行うべき第2領域とを識別するためのオブジェクトを表示させる。例えば表示制御部114は、第1領域を示すオブジェクトと第2領域を示すオブジェクトとを表示させる、あるいは第1領域の境界と第2領域の境界を示すオブジェクトを表示させる。
【0073】
特に本実施形態では、表示制御部114は、検出座標、検出移動情報、補正座標、補正移動情報や、第1カウンタのカウント値、第2カウンタのカウント値、第3カウンタのカウント値に基づいて、例えば、検出座標や補正座標の移動軌跡に沿って画像の色を変化させる表示制御を行ったり、表示させている画像を他の画像に切り替える表示制御を行ったり、オブジェクトを発生、消滅、変形させたりする表示制御を行ったり、オブジェクトを移動させたり動作させたりする表示制御を行ったりするなど、種々の表示制御を行う。
【0074】
通信制御部116は、他のゲームシステム10に送信するパケットを生成する処理、パケット送信先のゲームシステム10のネットワークアドレスを指定する処理、受信したパケットを記憶部62に保存する処理、受信したパケットを解析する処理、その他のパケットの送受信に関する通信部70の制御処理等を行う。特に本実施形態では、ゲームをネットワーク(例えば、インターネット)を利用して実行するために必要なデータパケット及びコマンドパケットを生成する制御や、通信部70を介してデータパケット及びコマンドパケットを送受信させる制御を行う。
【0075】
描画部120は、処理部100で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部56に出力する。
【0076】
音生成部130は、処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部58に出力する。
【0077】
なお、本実施形態の画像生成システムは、1人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末(ゲーム機、携帯電話)を用いて分散処理により生成してもよい。
【0078】
3.本実施形態の適用例
以下、本実施形態のゲームシステム10で実行されるゲームの例について説明する。以下では、プレーヤが指先で操作面39に対する接触操作を行う場合を例にとり説明する。
【0079】
図5は、ゲームシステム10でサッカーのPKゲームが実行される例を示す図である。図5の例では、第2表示面33には、手前側にプレーヤが操作するプレーヤキャラクタ200が表示され、奥側にゲームシステム10が操作するコンピュータキャラクタ202が表示される。図5の例では、キッカーがプレーヤキャラクタ200となっており、ゴールキーパーがコンピュータキャラクタ202となっている。
【0080】
そして操作面39と重複して設けられている第1表示面17には、操作面39を左部分204(第1領域の一例)と右部分206(第2領域の一例)とに区分けする区分オブジェクト208が表示される。ここで図5の例のゲームでは、左部分204に対して接触操作を行う場合は、プレーヤの左手のいずれか1本の指先を用いて接触操作を行い、右部分206に対して接触操作を行う場合は、プレーヤの右手のいずれか1本の指先を用いて接触操作を行うことが、取扱説明書などにより推奨されている。
【0081】
そして左部分204には、プレーヤキャラクタ200の左足裏を示す左足裏オブジェクト210(第1領域の一例)が表示されるとともに、「3回Touch!」、「Hold!」というように、左部分204に対する接触操作の回数と態様とを示す文字が表示されている。ここで「3回Touch!」とは、左部分204に対して左手の指先を瞬間的に接触させるタッチ操作を3回行うことを指示する表示であり、「Hold!」とは、左部分204の1つの位置に対して左手の指先を継続的に接触させるホールド操作(第1接触操作の一例)を行うことを指示する表示である。また右部分206には、プレーヤキャラクタ200の右足を示す右足オブジェクト212(第2領域の一例)と、右足オブジェクト212から右上、真上、左上のそれぞれに向かう3つの矢印オブジェクト214(第2領域の一例)が表示されるとともに、「Slide!」というように、右部分206に対する接触操作の態様を示す文字が表示されている。ここで「Slide!」とは、右部分206に対して右手の指先を接触させたまま接触位置を移動させるスライド操作(第2接触操作の一例)を行うことを指示する表示である。また左部分204の「Step1」との表示は、左部分204に対して第1番目に接触操作を行うべきことを示す表示であり、右部分206の「Step2」との表示は、右部分206に対して第2番目に接触操作を行うべきことを示す表示である。すなわち左部分204と右部分206とには、それぞれに対して接触操作を行うべき順序を示す表示が配置されている。
【0082】
これにより、プレーヤが第1表示面17を見ればいかなる接触操作を行えばよいかわかりやすくすることができるとともに、区分オブジェクト208や左足裏オブジェクト210や右足オブジェクト212が表示されることにより、プレーヤがホールド操作を行う位置とスライド操作を行う位置とが操作面39においてある程度離れた位置となるようにプレーヤの操作を誘導することができ、操作状態の判定結果や補正座標の精度が高くなるようにすることができる。
【0083】
そして、プレーヤにより左部分204に対してタッチ操作が行われると、タッチ操作が行われるごとにプレーヤキャラクタ200がボール216に向かって助走する動作が表示され、タッチ操作が3回行われた後に左部分204に対してホールド操作が行われると、プレーヤキャラクタ200が右足を後方に振り上げて、左足に体重をかける動作が表示される。すなわち左部分204に対してホールド操作が行われている間は、プレーヤキャラクタ200がキック動作を行う前のいわゆるタメ動作を行う様子が表示される。すると、ホールド操作が行われている期間(第1操作状態の期間の一例)がカウントされる。
【0084】
そして、プレーヤにより右部分206に対してスライド操作が開始されると、ホールド操作が行われている期間のカウントが終了され、スライド操作が開始されてから12回の取得タイミング(0.2秒間、12フレーム)で取得された検出座標に基づいて、検出座標の移動ベクトルが求められる。すると、ホールド操作が行われていた期間に応じて、ボール216の上下方向への移動方向が決定され、スライド操作による検出座標の移動方向に応じて、ボール216の左右方向への移動方向が決定され、スライド操作による検出座標の移動速度(0.2秒間の移動量)に応じて、ボール216の移動速度が決定される。そしてこれらの処理が行われるとともに、プレーヤキャラクタ200がボール216を蹴る動作を行い、決定された移動方向と移動速度に応じてボール216が奧側に向かって移動する様子が表示される。
【0085】
ここで、プレーヤがホールド操作を終了させてから、すなわち左部分204から左手の指先を離してからスライド操作を開始させた場合には、操作面39の1つの位置に対して接触操作が行われている第1操作状態であるので、スライド操作による接触位置に対応する検出座標が取得される。従ってこの場合には、検出座標の移動ベクトルに対応するボール216の移動速度を求めれば、スライド操作による接触位置の移動速度に応じたボール216の移動速度が決定される。しかし、プレーヤがホールド操作を終了させる前に、すなわち左部分204から左手の指先を離さずにスライド操作を開始させた場合には、操作面39の2つの位置に対して同時に接触操作が行われている第2操作状態であるので、ホールド操作による接触位置とスライド操作による接触位置との中点に対応する検出座標が取得される。従ってこの場合には、検出座標の移動ベクトルに対応するボール216の移動速度を求めても、スライド操作による接触位置の移動速度に応じたボール216の移動速度が決定されない。
【0086】
具体的には図6に示すように、点Aに対するホールド操作が終了してからスライド操作が行われることにより、検出座標の移動ベクトルがベクトルB1B2となる場合には、同一のスライド操作が行われても、点Aに対するホールド操作とともにスライド操作が行われると、検出座標の移動ベクトルはベクトルM1M2となってしまう。従って、ホールド操作とともにスライド操作が行われる場合は、ホールド操作が終了してからスライド操作が行われる場合と比較して、検出座標の移動方向は同一(平行)となるが、検出座標の移動速度(移動量)は1/2となってしまう。
【0087】
そこで本実施形態のゲームシステム10では、ホールド操作とともにスライド操作が行われた場合には、すなわち操作状態が第2操作状態と判定された場合には、図6に示すように、スライド操作による検出座標を取得する0.2秒の間も点Aに対するホールド操作が継続されていると仮定して、検出座標を補正した補正座標が求められる。例えば、検出座標が点M1であれば、点Aを直線L1の一方の端点とし、点M1を直線L1の中点とした場合の、直線L1の他方の端点となる点B1が補正座標として求められる。また、検出座標が点M2であれば、点Aを直線L2の一方の端点とし、点M2を直線L2の中点とした場合の、直線L2の他方の端点となる点B2が補正座標として求められる。そして補正座標の移動ベクトルを求めれば、ホールド操作が終了してから行われたスライド操作による検出座標の移動ベクトルと想定されるベクトルB1B2が得られる。そして、このような補正座標の移動ベクトルに基づいてボール216の移動速度が求められることにより、スライド操作による接触位置の移動速度に応じたボール216の移動速度が決定される。
【0088】
こうして本実施形態のゲームシステム10では、ホールド操作が終了してからスライド操作が行われた場合であっても、ホールド操作とともにスライド操作が行われた場合であっても、スライド操作による接触位置の移動速度に応じたボール216の移動速度が決定されるようにすることができる。すなわち本実施形態のゲームシステム10によれば、操作面39の2つの位置に対して同時に接触操作が行われる第2操作状態となっても、プレーヤに違和感を抱かせないようにボール216を移動させることができる。つまり本実施形態のゲームシステム10によれば、タッチパネル40の操作面39に対して左右の手の指先を用いて接触操作を行わせる場合に好適なインターフェース環境を実現することができる。
【0089】
4.本実施形態の処理
次に、本実施形態のゲームシステム10で行われる処理の流れについて説明する。
【0090】
図7は、操作面39に対する接触操作の操作状態を移行させる操作状態移行処理の流れを示すフローチャートである。操作状態移行処理では、まず、初期状態として操作状態が無操作状態に設定され(ステップS10)、無操作状態での取得タイミングにおいて検出座標が取得されない場合は(ステップS12でN)、ステップS12に戻る。一方、無操作状態での取得タイミングにおいて検出座標が取得された場合は(ステップS12でY)、操作状態が第1操作状態に設定される(ステップS14)。
【0091】
そして第1操作状態での取得タイミングにおいて検出座標が取得されない場合は(ステップS16でN)、操作状態が無操作状態に設定され(ステップS10)、検出座標が取得された場合は(ステップS16でY)、今回の取得タイミングで取得された検出座標と、前回の取得タイミングで取得された検出座標との距離である移動距離がdよりも大きいか否か判定される(ステップS18)。そして移動距離がd以下である場合は(ステップS18でN)、ステップS16に戻り、移動距離がdよりも大きい場合は(ステップS18でY)、操作状態が第2操作状態に設定される(ステップS20)。
【0092】
そして第2操作状態での取得タイミングにおいて検出座標が取得されない場合は(ステップS22でN)、操作状態が無操作状態に設定され(ステップS10)、検出座標が取得された場合は(ステップS22でY)、今回の取得タイミングで取得された検出座標と、前回の取得タイミングで取得された検出座標との距離である移動距離がd/2よりも大きいか否か判定される(ステップS24)。そして移動距離がd/2よりも大きい場合は(ステップS24でY)、操作状態が第1操作状態に設定され(ステップS14)、移動距離がd/2以下である場合は(ステップS24でN)、ステップS22に戻る。
【0093】
図8は、検出座標を補正した補正座標を求める補正処理の流れを示すフローチャートである。補正処理では、まず、1/60ごとの取得タイミングにおいて検出座標が取得され(ステップS30)、この取得タイミングにおいて取得された検出座標により操作状態が第2操作状態に移行された場合は(ステップS32でY)、操作状態が第2操作状態に移行する直前の取得タイミングで取得された第1操作状態の検出座標が、検出座標記憶部622から抽出される(ステップS34)。そして、抽出された第1操作状態の検出座標を一方の端点とし、今回の取得タイミングの検出座標を中点とした場合の、他方の端点を示す補正座標が演算される(ステップS36)。
【0094】
そして、次回の取得タイミングにおいて検出座標が取得され(ステップS38)、次回の取得タイミングにおいて取得された検出座標により第2操作状態が終了されない場合は(ステップS40でN)、ステップS36に戻り、抽出された第1操作状態の検出座標を一方の端点とし、次回の取得タイミングの検出座標を中点とした場合の、他方の端点を示す補正座標が演算される(ステップS36)。一方、次回の取得タイミングにおいて取得された検出座標により第2操作状態が終了された場合は(ステップS40でY)、補正処理を終了する。
【0095】
図9は、画像に表示される移動体(ボール216)の移動情報を演算する移動処理の流れを示すフローチャートである。移動処理では、まず、3回のタッチ操作が行われた後にホールド操作が行われることにより、4回目の第1操作状態に移行すると(ステップS50でY)、ホールド操作の期間をカウントする第1カウンタのカウント値の更新が開始される(ステップS51)。
【0096】
ここで操作状態が無操作状態に移行すると(ステップS52でY)、すなわち図5で示した左部分204に対するホールド操作が終了されると、その時点における第1カウンタの値が記憶され(ステップS54)、無操作状態の期間をカウントする第3カウンタのカウント値の更新が開始される(ステップS56)。そして操作状態が第1操作状態に移行すると(ステップS58でY)、すなわち図5で示した左部分204に対するホールド操作が終了されてから右部分206に対するスライド操作が開始されると、その時点における第3カウンタの値が記憶され(ステップS60)、スライド操作が開始されてから1フレーム目の検出座標と12フレーム目の検出座標に基づいて検出移動ベクトルが求められる(ステップS62)。すなわちホールド操作が終了されてからスライド操作が行われたため、補正座標は用いられない。そして、第1カウンタの値と第3カウンタの値と検出移動ベクトルとに基づいて、移動体の移動情報が演算される(ステップS63)。
【0097】
詳細には、第1カウンタの値が大きいほど、すなわちホールド操作の期間が長いほど移動体の移動方向が上を向くように移動方向が求められ、第3カウンタの値が大きいほど、すなわちホールド操作とスライド操作の間の期間が長いほど移動体の移動速度が低下するように移動速度が求められる。従って本実施形態では、移動体の移動速度を高めるためにはホールド操作とスライド操作の間を短くすることが要求される。
【0098】
なお、第3カウンタのカウント値の更新が開始されてから(ステップS56)、操作状態が第1操作状態に移行せずに(ステップS58でN)、第3カウンタのカウント値が所定値(例えば3秒に相当する値)に達すると(ステップS64でY)、すなわちホールド操作が終了されてから3秒間経過してもスライド操作が行われない場合は、ホールド操作(プレーヤキャラクタ200のタメ動作)がキャンセルされ、ステップS50に戻る。
【0099】
一方、ステップS52において操作状態が無操作状態に移行せずに(ステップS52でN)、第2操作状態に移行すると(ステップS70でY)、すなわち図5で示した左部分204に対するホールド操作が行われたままスライド操作が開始されると、その時点における第1カウンタの値が記憶され(ステップS72)、スライド操作が開始されてから1フレーム目の補正座標と12フレーム目の補正座標に基づいて補正移動ベクトルが求められる(ステップS74)。すなわちホールド操作が行われたままスライド操作が行われたため、補正座標が用いられる。そして、第1カウンタの値と補正移動ベクトルとに基づいて、移動体の移動情報が演算される(ステップS76)。
【0100】
このように本実施形態では、移動体の移動速度を高めるためにホールド操作とスライド操作の間の期間を短くしようとするあまり、プレーヤがホールド操作を行ったままスライド操作を行ってしまう場合が発生することが考えられるが、本実施形態によれば、このような場合でも、スライド操作の接触位置に対応させて移動体を移動させるようにすることができる。
【0101】
5.変形例
本発明は、上記の実施形態で説明したものに限らず、種々の変形実施が可能であり、以下に変形例を紹介する。なお、上記実施形態や、以下において変形例として説明する各種の手法は、本発明を実現する制御手法として適宜組み合わせて採用することができる。
【0102】
5−1.変形例1
例えば上記実施形態では、図5に示したように、左部分204のいずれかに対してホールド操作を行えば、プレーヤキャラクタ200が右足を後方に振り上げる動作が表示されゲームが進行する例を挙げて説明したが、例えば左足裏オブジェクト210などのより狭い第1領域に対して第1接触操作が行われたことに基づいて、ゲームを進行させるようにしてもよい。そしてこのような第1領域を示すオブジェクトを、第1表示面17の周縁部に表示させるようにしてもよい。このようにすれば、接触操作の接触位置をより効果的に誘導することができ、操作状態の判定結果や補正座標の精度が高くなるようにすることができる。
【0103】
また上記実施形態では、状態判定部106が、操作状態が無操作状態である場合に第2検出部52から検出値が出力されたことに基づいて、操作状態が第1操作状態であると判定する例を挙げて説明したが、状態判定部106が、第1領域に対応する検出座標が取得されたことに基づいて、操作状態が第1操作状態であると判定するようにしてもよい。
【0104】
また上記実施形態では、第1操作状態では検出座標の移動量の第1閾値として距離dが設定され、第2操作状態では検出座標の移動量の第2閾値として距離d/2が設定されている例を挙げて説明したが、第1閾値と第2閾値とは同一であってもよいし、第2閾値の方が第1閾値よりも大きな値となってもよい。
【0105】
また上記実施形態では、状態判定部106が、検出座標の移動量に基づいて操作状態を判定する例を挙げて説明したが、第1操作状態から第2操作状態に移行する瞬間、あるいは第2操作状態から第1操作状態に移行する瞬間には、タッチパネル40のX軸用電極、あるいはY軸用電極に現れる電圧の変化にパルス(オーバーシュート)が発生するため、このパルスが発生したことに基づいて操作状態が第1操作状態から第2操作状態に移行したこと、あるいは第2操作状態から第1操作状態に移行したことを判定するようにしてもよい。
【0106】
5−2.変形例2
また上記実施形態では、図5の例のように、ホールド操作が終了してからスライド操作が行われても、あるいはホールド操作とともにスライド操作が行われても移動体が移動する例を挙げて説明したが、ホールド操作とともにスライド操作が行われないと、すなわち第2操作状態での接触操作が行われないと、移動体が移動しないようにしてもよい。
【0107】
また、プレーヤキャラクタの状態パラメータや、プレーヤキャラクタの種類に応じて、移動体の移動処理を行うようにしてもよい。例えば、プレーヤキャラクタの疲労度パラメータが変化するようにし、疲労度パラメータに応じて、移動体の移動量や移動方向や移動速度や移動精度が変化するようにしてもよい。また例えば本実施形態ではゲームシステム10をゴルフゲームに適用した場合には、プレーヤキャラクタが握るクラブの種類に応じて、移動体の移動量や移動方向や移動速度や移動精度が変化するようにしてもよい。
【0108】
また上記実施形態では、第2操作状態では補正座標を求め、補正座標の移動情報に基づいて移動体を移動させる例を挙げて説明したが、第2操作状態であっても補正座標は求めずに、表示制御部114が、操作状態が第1操作状態である場合に、検出座標の移動量に対して特定変換処理を行わずに検出座標の移動量に基づいて移動体を移動させ、操作状態が第2操作状態である場合に、検出座標の移動量に対して特定変換処理を行って検出座標の移動量に基づいて移動体を移動させるようにしてもよい。例えば、図5の例では、ホールド操作とともにスライド操作が行われる場合は、ホールド操作が終了してからスライド操作が行われる場合と比較して、検出座標の移動方向は同一(平行)となり、検出座標の移動速度(移動量)は1/2となるため、検出座標の移動速度(移動量)を2倍してから、移動体の移動速度や移動量を求めるようにしてもよい。このようにすれば、補正座標を求めなくとも、第2操作状態における第1の位置の移動あるいは第2の位置の移動に対応させて、移動体を移動させることができる。
【0109】
5−3.変形例3
また上記実施形態では、図3(D)に示したように、第2操作状態において中点が点P2から点P3に移動した場合に、操作面39に対する接触操作が先に行われた図中左のタッチペン41の先端の接触位置が点P1に維持されたまま、操作面39に対する接触操作が後に行われた図中右のタッチペン41の先端が操作面39に接触された状態で接触位置がR1から移動されたと仮定して、図中右のタッチペン41の接触位置と想定される点R2の座標を求める例を挙げて説明したが、図10(D)に示すように、第2操作状態において中点が点P2から点P3に移動した場合に、操作面39に対する接触操作が後に行われた図中右のタッチペン41の先端の接触位置が点R1に維持されたまま、操作面39に対する接触操作が先に行われた図中左のタッチペン41の先端が操作面39に接触された状態で接触位置がP1から移動されたと仮定して、図中左のタッチペン41の接触位置と想定される点R2の座標を求めるようにしてもよい。
【0110】
すなわち補正部108が、第2操作状態において新たな検出座標が取得された場合に、第2操作状態において最初に求めた補正座標を一方の端点とし第2操作状態において新たに取得された検出座標を中点とした場合の他方の端点を示す補正座標を求めるようにしてもよい。このようにすれば、例えば、まずは第1表示面17の左部分の点P1に対してホールド操作を行い、この状態で、右部分のR1に対してもホールド操作を行い、その後、左部分においてホールド操作を行っている点P1からスライド操作を行う場合に、スライド操作の接触位置である点R2が補正座標として求められる。
【0111】
5−4.変形例4
また上記実施形態では、サッカーのPKゲームが実行される例を挙げて説明したが、野球ゲームやゴルフゲームなどのサッカー以外の球技スポーツゲームにも上記手法を適用することができる他、例えばスキーゲームや水泳ゲームなど、球技スポーツゲーム以外のスポーツゲームにも上記手法を適用することができる。
【0112】
図11(A)〜(C)は、ゲームシステム10で水泳ゲームが実行される例を示す図である。この例では、図11(A)〜(C)に示すように、操作面39でもある第1表示面17には、左下から右上に向かって延びる右矢印オブジェクト218(第1領域の一例)と、右下から左上に向かって延びる左矢印オブジェクト220(第2領域の一例)とが、中央で交差するように表示されるとともに、「Slide!」というように、右矢印オブジェクト218に沿うように行うスライド操作と、左矢印オブジェクト220に沿うように行うスライド操作とを、交互に行うことが指示されている。またこの例では、図示を省略するが、第2表示面33には、プレーヤキャラクタが水泳をする様子が表示される。そしてこの例では、右矢印オブジェクト218に沿うように行うスライド操作と、左矢印オブジェクト220に沿うように行うスライド操作のタイミングや速度や移動軌跡やそれらのバランスに応じてプレーヤキャラクタの移動速度や移動方向が決定される。
【0113】
そして図11(A)に示すように、右指の指先が右矢印オブジェクト218に沿って左下から右上に向けて移動するようにスライド操作が行われると、図11(A)の操作状態は第1操作状態であるので、接触位置の移動と検出座標の移動とが一致する。従ってこの場合には、補正座標は求められずに検出座標の移動速度や移動軌跡に基づいてプレーヤキャラクタの移動情報が決定される。
【0114】
一方、図11(B)に示すように、右指の指先で右矢印オブジェクト218に沿ってスライド操作が行われた後、操作面39の右上の位置に対して右指の指先でホールド操作が行われている状態で、左指の指先が左矢印オブジェクト220に沿って右下から左上に向けて移動するようにスライド操作が行われると、図11(B)の操作状態は第2操作状態であるので、接触位置の移動と検出座標の移動とが一致しない。従ってこの場合には、操作面39の右上の位置に対するホールド操作の接触位置と検出座標とに基づいて補正座標が求められ、補正座標の移動速度や移動軌跡に基づいてプレーヤキャラクタの移動情報が決定される。
【0115】
また、図11(C)に示すように、左指の指先で左矢印オブジェクト220に沿ってスライド操作が行われた後、操作面39の左上の位置に対して左指の指先でホールド操作が行われている状態で、右指の指先が右矢印オブジェクト218に沿って左下から右上に向けて移動するようにスライド操作が行われると、図11(C)の操作状態も第2操作状態であるので、接触位置の移動と検出座標の移動とが一致しない。従ってこの場合には、操作面39の左上の位置と検出座標とに基づいて補正座標が求められ、補正座標の移動速度や移動軌跡に基づいてプレーヤキャラクタの移動情報が決定される。
【0116】
5−5.変形例5
また上記実施形態では、タッチパネル40の検出値に基づく検出座標、検出移動情報、補正座標、補正移動情報に基づいて、第2表示面33に表示される移動体の移動を制御する例を挙げて説明したが、検出座標、検出移動情報、補正座標、補正移動情報に基づいて、タッチパネル40の操作面39でもある第1表示面17(重複部分の一例)に表示される移動体の移動を制御するようにしてもよい。
【0117】
図12(A)〜(E)は、ゲームシステム10で実行されるゲームの例を示す図である。この例では、図12(A)〜(E)に示すように、操作面39でもある第1表示面17に、多数の羊キャラクタ222と、羊キャラクタ222を襲う狼キャラクタ224とが表示され、羊キャラクタ222は狼キャラクタ224から逃げるように移動し、狼キャラクタ224は羊キャラクタ222を追いかけるように移動している。そしてこの例では、図12(A)に示すように、狼キャラクタ224が表示されている位置に対してホールド操作が行われると、狼キャラクタ224の移動を停止させる制御が行われる。また、図12(B)に示すように、羊キャラクタ222が表示されている位置に対してスライド操作が行われると、羊キャラクタ222を安全な場所に移動させる制御が行われる。
【0118】
そして図12(A)に示すように、狼キャラクタ224が表示されている位置に対してホールド操作が行われると、図12(A)の操作状態は第1操作状態であるので、接触位置と検出座標とが一致する。従ってこの場合には、補正座標は求められずに検出座標の位置が狼キャラクタ224の表示位置(特定位置の一例)と一致しているか否かが判定され、検出座標の位置が狼キャラクタ224の表示位置と一致している場合には、狼キャラクタ224の移動を停止させる制御が行われる。
【0119】
また図12(B)に示すように、羊キャラクタ222が表示されている位置に対してスライド操作が行われると、図12(B)の操作状態は第1操作状態であるので、接触位置と検出座標とが一致する。従ってこの場合には、補正座標は求められずに検出座標の移動軌跡が羊キャラクタ222の表示位置(特定位置の一例)と交差(一致の一例)するか否かが判定され、検出座標の移動軌跡が羊キャラクタ222の表示位置と交差する場合には、羊キャラクタ222を安全な場所に移動させる制御が行われる。
【0120】
しかし図12(C)に示すように、狼キャラクタ224が表示されている位置に対してホールド操作(第1接触操作の一例)が行われたまま、羊キャラクタ222が表示されている位置に対してスライド操作(第2接触操作の一例)が行われると、図12(C)の操作状態は第2操作状態であるので、接触位置と検出座標とが一致しない。従ってこの場合には、狼キャラクタ224に対するホールド操作の接触位置と検出座標とに基づいて補正座標が求められ、補正座標の移動軌跡が羊キャラクタ222の表示位置(特定位置の一例)と交差(一致の一例)するか否かが判定され、補正座標の移動軌跡が羊キャラクタ222の表示位置と交差する場合には、羊キャラクタ222を安全な場所に移動させる制御が行われる。
【0121】
またこの例では、所定条件下で、図12(D)に示すように、狼キャラクタ224が表示されている位置に対してホールド操作(第1接触操作の一例)が行われると、狼キャラクタ224の移動を停止させる制御が行われ、その状態で、羊キャラクタ222が表示されている位置に対してもホールド操作(第2接触操作の一例)が行われると、羊キャラクタ222の移動を停止させる制御が行われるようにしてもよい。しかし、図12(D)の操作状態は第2操作状態であるので、接触位置と検出座標とが一致しない。従ってこの場合には、狼キャラクタ224が表示されている位置に対するホールド操作の接触位置と検出座標とに基づいて補正座標が求められ、補正座標が羊キャラクタ222の表示位置(特定位置の一例)と一致するか否かが判定され、補正座標が羊キャラクタ222の表示位置と交差する場合には、羊キャラクタ222の移動を停止させる制御が行われるようにしてもよい。そしてその後、狼キャラクタ224に対してホールド操作が行われている位置からスライド操作が行われると、図10(D)で示したように、スライド操作の接触位置が補正座標として求められ、補正座標に基づいてスライド操作に追従するように狼キャラクタ224が移動される制御が行われるようにしてもよい。
【0122】
5−6.変形例6
また上記実施形態では、タッチパネル40の検出値に基づく検出座標、検出移動情報、補正座標、補正移動情報に基づいて、移動体の移動を制御する例を挙げて説明したが、検出座標、検出移動情報、補正座標、補正移動情報に基づいて、接触操作の移動軌跡に対応させて文字や絵が描かれるように表示を制御するようにしてもよい。
【0123】
例えば、図13に示すように、第1表示面17の左下に表示されたボタン表示226(第1領域の一例)が表示されている位置に対して図中左のタッチペン41によりホールド操作(第1接触操作の一例)が行われた状態で、図中右のタッチペン41により操作面39に対して曲線を描く操作(第2接触操作の一例)が行われると、図13の操作状態は第2操作状態であるので、接触位置と検出座標とが一致しない。従ってこの場合には、ボタン表示226に対するホールド操作の接触位置と検出座標とに基づいて補正座標が求められ、補正座標の移動軌跡に沿って曲線228が描かれる制御が行われる。
【0124】
5−7.変形例7
また上記実施形態では、タッチパネル40の検出値に基づく検出座標、検出移動情報、補正座標、補正移動情報に基づいて、画像を制御する例を挙げて説明したが、検出座標、検出移動情報、補正座標、補正移動情報に基づいて、特定位置との一致を判定し、音を制御したり、ゲーム演算を行うようにしてもよい。
【0125】
例えば、図14に示すように、第1表示面17の左下に表示されたボタン表示226(第1領域の一例)が表示されている位置に対して図中左のタッチペン41によりホールド操作(第1接触操作の一例)が行われている間クイズの問題が表示され、第1表示面17の右上に表示されたマルボタン表示230(第2領域の一例)または右下に表示されたバツボタン表示232(第2領域の一例)に対してタッチ操作が行われることにより、問題に対する回答操作が行われるようにしてもよい。そしてタッチ操作が行われた接触位置が、正しい回答に対応するボタンの表示位置と一致しているか否かが判定され、一致している場合に、正解を示す音を出力したり、得点を加算するなどの、表示制御処理以外の処理を行うようにしてもよい。
【0126】
そして図14に示すように、ボタン表示226が表示されている位置に対して図中左のタッチペン41によりホールド操作が行われた状態で、図中右のタッチペン41によりマルボタン表示230またはバツボタン表示232に対してタッチ操作が行われると、図14の操作状態は第2操作状態であるので、接触位置と検出座標とが一致しない。従ってこの場合には、ボタン表示226に対するホールド操作の接触位置と検出座標とに基づいて補正座標が求められ、補正座標とマルボタン表示230またはバツボタン表示232の表示位置とが一致しているか否かが判定される。
【0127】
5−8.変形例8
また第2操作状態における検出座標の移動軌跡が所定の移動軌跡と一致するか否かを判定するようにしてもよい。例えば、第1表示面17に、それぞれの一辺の長さが同一となる正三角形と正方形を左右に並べて表示させた状態で、プレーヤが左手の指先で正三角形の各辺をなぞり、プレーヤが右手の指先で正方形の各辺をなぞった場合に、中点の移動軌跡となるデータを予め用意しておき、第2操作状態における検出座標の移動軌跡がこのような移動軌跡と一致するか否かを判定するようにしてもよい。この場合には、第1表示面17に、正三角形と正方形を左右に並べて表示させてプレーヤの操作を誘導するようにしてもよいし、このような表示は行わないようにしてもよい。また、移動軌跡のデータには、左右の手の指先の動きのずれを考慮して、移動軌跡に所定の幅をもたせるようにしてもよい。
【符号の説明】
【0128】
10 ゲームシステム、12 本体下部、14 本体上部、16 ヒンジ部、
17 第1表示面、18 第1液晶ディスプレイ、20 十字キー、22 第1ボタン、
24 第2ボタン、26 第3ボタン、28 第4ボタン、30 スタートボタン、
32 セレクトボタン、33 第2表示面、34 第2液晶ディスプレイ、
36 スピーカ、38 マイク、39 操作面、40 タッチパネル、
41 タッチペン、42 X軸用抵抗膜、44 Y軸用抵抗膜、50 第1検出部、
52 第2検出部、54 音検出部、56 表示部、58 音出力部、
60 情報記憶媒体、62 記憶部、
100 処理部、102 取得部、106 状態判定部、108 補正部、
110 位置判定部、112 期間計測部、114 表示制御部、116 通信制御部、
120 描画部、130 音生成部
【特許請求の範囲】
【請求項1】
操作面に対する接触操作の操作状態が、前記操作面における第1の位置に対して第1接触操作が行われる第1操作状態では、前記第1の位置に対応する検出値を出力し、前記第1接触操作に加えて前記操作面における第2の位置に対して第2接触操作が行われる第2操作状態では、前記第1の位置と前記第2の位置との中点に対応する検出値を出力する検出部の検出値に基づいて、表示部の表示面に表示される画像を制御するプログラムであって、
前記検出値に基づいて、前記操作面における位置を示す検出位置を取得する取得部と、
前記検出値に基づいて、前記操作状態が前記第1操作状態であるか前記第2操作状態であるかを判定する状態判定部と、
前記操作状態が第2操作状態である場合に、前記第1操作状態において取得された前記検出位置を一方の端点とし前記第2操作状態において取得された前記検出位置を中点とした場合の他方の端点を示す補正位置を求める補正部と、
前記補正位置に基づいて、前記画像を制御する表示制御部としてコンピュータを機能させることを特徴とするプログラム。
【請求項2】
操作面に対する接触操作の操作状態が、前記操作面における第1の位置に対して第1接触操作が行われる第1操作状態では、前記第1の位置に対応する検出値を出力し、前記第1接触操作に加えて前記操作面における第2の位置に対して第2接触操作が行われる第2操作状態では、前記第1の位置と前記第2の位置との中点に対応する検出値を出力する検出部の検出値に基づいて、表示部の表示面に表示される画像を制御するプログラムであって、
前記検出値に基づいて、前記操作面における位置を示す検出位置を取得する取得部と、
前記検出値に基づいて、前記操作状態が前記第1操作状態であるか前記第2操作状態であるかを判定する状態判定部と、
前記操作状態が第2操作状態である場合に、前記第1操作状態における前記検出位置を一方の端点とし前記第2操作状態における前記検出位置を中点とした場合の他方の端点を示す補正位置を求める補正部と、
前記補正位置が特定位置と一致するか否かを判定する位置判定部と、
前記画像を制御する表示制御部としてコンピュータを機能させることを特徴とするプログラム。
【請求項3】
請求項2において、
前記表示制御部は、
前記位置判定部の判定結果に基づいて、前記画像を制御することを特徴とするプログラム。
【請求項4】
請求項1〜3のいずれかにおいて、
前記補正部は、
前記第2操作状態において新たな前記検出位置が取得された場合に、前記第1操作状態において取得された前記検出位置を一方の端点とし前記第2操作状態において新たに取得された前記検出位置を中点とした場合の他方の端点を示す補正位置を求めることを特徴とするプログラム。
【請求項5】
請求項1〜3のいずれかにおいて、
前記補正部は、
前記第2操作状態において新たな前記検出位置が取得された場合に、前記第2操作状態において最初に求めた前記補正位置を一方の端点とし前記第2操作状態において新たに取得された前記検出位置を中点とした場合の他方の端点を示す補正位置を求めることを特徴とするプログラム。
【請求項6】
請求項1〜5のいずれかにおいて、
前記補正位置が変化した場合に、前記補正位置の移動情報を求める移動情報演算部としてコンピュータを更に機能させ、
前記表示制御部は、
前記補正位置の移動情報に基づいて、前記画像を制御することを特徴とするプログラム。
【請求項7】
請求項1〜6のいずれかにおいて、
前記第1操作状態の期間を計測する期間計測部としてコンピュータを更に機能させ、
前記表示制御部は、
前記第1操作状態の期間に基づいて、前記画像を制御することを特徴とするプログラム。
【請求項8】
請求項1〜7のいずれかにおいて、
前記表示制御部は、
前記表示面のうち前記操作面と重複する重複部分に、前記第1接触操作を行うべき第1領域と前記第2接触操作を行うべき第2領域とを識別するための表示物を表示させることを特徴とするプログラム。
【請求項9】
請求項1〜8のいずれかにおいて、
前記状態判定部は、
前記検出値が出力されないことに基づいて、前記操作状態が前記操作面に対して接触操作が行われていない無操作状態であると判定し、
前記操作状態が前記無操作状態である場合に前記検出値が出力されたことに基づいて、前記操作状態が前記第1操作状態であると判定し、
前記操作状態が前記第1操作状態である場合の前記検出位置の移動量が第1閾値を超えたことに基づいて、前記操作状態が前記第2操作状態であると判定することを特徴とするプログラム。
【請求項10】
請求項1〜9のいずれかにおいて、
前記状態判定部は、
前記操作状態が前記第2操作状態である場合の前記検出位置の移動量が第2閾値を超えたことに基づいて、前記操作状態が前記第1操作状態であると判定することを特徴とするプログラム。
【請求項11】
コンピュータにより読み取り可能な情報記憶媒体であって、請求項1〜10のいずれかに記載されたプログラムを記憶することを特徴とする情報記憶媒体。
【請求項12】
操作面に対する接触操作の操作状態が、前記操作面における第1の位置に対して第1接触操作が行われる第1操作状態では、前記第1の位置に対応する検出値を出力し、前記第1接触操作に加えて前記操作面における第2の位置に対して第2接触操作が行われる第2操作状態では、前記第1の位置と前記第2の位置との中点に対応する検出値を出力する検出部の検出値に基づいて、表示部の表示面に表示される画像を制御する画像制御システムであって、
前記検出値に基づいて、前記操作面における位置を示す検出位置を取得する取得部と、
前記検出値に基づいて、前記操作状態が前記第1操作状態であるか前記第2操作状態であるかを判定する状態判定部と、
前記操作状態が第2操作状態である場合に、前記第1操作状態において取得された前記検出位置を一方の端点とし前記第2操作状態において取得された前記検出位置を中点とした場合の他方の端点を示す補正位置を求める補正部と、
前記補正位置に基づいて、前記画像を制御する表示制御部とを含むことを特徴とする画像制御システム。
【請求項13】
操作面に対する接触操作の操作状態が、前記操作面における第1の位置に対して第1接触操作が行われる第1操作状態では、前記第1の位置に対応する検出値を出力し、前記第1接触操作に加えて前記操作面における第2の位置に対して第2接触操作が行われる第2操作状態では、前記第1の位置と前記第2の位置との中点に対応する検出値を出力する検出部の検出値に基づいて、表示部の表示面に表示される画像を制御する画像制御システムであって、
前記検出値に基づいて、前記操作面における位置を示す検出位置を取得する取得部と、
前記検出値に基づいて、前記操作状態が前記第1操作状態であるか前記第2操作状態であるかを判定する状態判定部と、
前記操作状態が第2操作状態である場合に、前記第1操作状態における前記検出位置を一方の端点とし前記第2操作状態における前記検出位置を中点とした場合の他方の端点を示す補正位置を求める補正部と、
前記補正位置が特定位置と一致するか否かを判定する位置判定部と、
前記画像を制御する表示制御部とを含むことを特徴とする画像制御システム。
【請求項1】
操作面に対する接触操作の操作状態が、前記操作面における第1の位置に対して第1接触操作が行われる第1操作状態では、前記第1の位置に対応する検出値を出力し、前記第1接触操作に加えて前記操作面における第2の位置に対して第2接触操作が行われる第2操作状態では、前記第1の位置と前記第2の位置との中点に対応する検出値を出力する検出部の検出値に基づいて、表示部の表示面に表示される画像を制御するプログラムであって、
前記検出値に基づいて、前記操作面における位置を示す検出位置を取得する取得部と、
前記検出値に基づいて、前記操作状態が前記第1操作状態であるか前記第2操作状態であるかを判定する状態判定部と、
前記操作状態が第2操作状態である場合に、前記第1操作状態において取得された前記検出位置を一方の端点とし前記第2操作状態において取得された前記検出位置を中点とした場合の他方の端点を示す補正位置を求める補正部と、
前記補正位置に基づいて、前記画像を制御する表示制御部としてコンピュータを機能させることを特徴とするプログラム。
【請求項2】
操作面に対する接触操作の操作状態が、前記操作面における第1の位置に対して第1接触操作が行われる第1操作状態では、前記第1の位置に対応する検出値を出力し、前記第1接触操作に加えて前記操作面における第2の位置に対して第2接触操作が行われる第2操作状態では、前記第1の位置と前記第2の位置との中点に対応する検出値を出力する検出部の検出値に基づいて、表示部の表示面に表示される画像を制御するプログラムであって、
前記検出値に基づいて、前記操作面における位置を示す検出位置を取得する取得部と、
前記検出値に基づいて、前記操作状態が前記第1操作状態であるか前記第2操作状態であるかを判定する状態判定部と、
前記操作状態が第2操作状態である場合に、前記第1操作状態における前記検出位置を一方の端点とし前記第2操作状態における前記検出位置を中点とした場合の他方の端点を示す補正位置を求める補正部と、
前記補正位置が特定位置と一致するか否かを判定する位置判定部と、
前記画像を制御する表示制御部としてコンピュータを機能させることを特徴とするプログラム。
【請求項3】
請求項2において、
前記表示制御部は、
前記位置判定部の判定結果に基づいて、前記画像を制御することを特徴とするプログラム。
【請求項4】
請求項1〜3のいずれかにおいて、
前記補正部は、
前記第2操作状態において新たな前記検出位置が取得された場合に、前記第1操作状態において取得された前記検出位置を一方の端点とし前記第2操作状態において新たに取得された前記検出位置を中点とした場合の他方の端点を示す補正位置を求めることを特徴とするプログラム。
【請求項5】
請求項1〜3のいずれかにおいて、
前記補正部は、
前記第2操作状態において新たな前記検出位置が取得された場合に、前記第2操作状態において最初に求めた前記補正位置を一方の端点とし前記第2操作状態において新たに取得された前記検出位置を中点とした場合の他方の端点を示す補正位置を求めることを特徴とするプログラム。
【請求項6】
請求項1〜5のいずれかにおいて、
前記補正位置が変化した場合に、前記補正位置の移動情報を求める移動情報演算部としてコンピュータを更に機能させ、
前記表示制御部は、
前記補正位置の移動情報に基づいて、前記画像を制御することを特徴とするプログラム。
【請求項7】
請求項1〜6のいずれかにおいて、
前記第1操作状態の期間を計測する期間計測部としてコンピュータを更に機能させ、
前記表示制御部は、
前記第1操作状態の期間に基づいて、前記画像を制御することを特徴とするプログラム。
【請求項8】
請求項1〜7のいずれかにおいて、
前記表示制御部は、
前記表示面のうち前記操作面と重複する重複部分に、前記第1接触操作を行うべき第1領域と前記第2接触操作を行うべき第2領域とを識別するための表示物を表示させることを特徴とするプログラム。
【請求項9】
請求項1〜8のいずれかにおいて、
前記状態判定部は、
前記検出値が出力されないことに基づいて、前記操作状態が前記操作面に対して接触操作が行われていない無操作状態であると判定し、
前記操作状態が前記無操作状態である場合に前記検出値が出力されたことに基づいて、前記操作状態が前記第1操作状態であると判定し、
前記操作状態が前記第1操作状態である場合の前記検出位置の移動量が第1閾値を超えたことに基づいて、前記操作状態が前記第2操作状態であると判定することを特徴とするプログラム。
【請求項10】
請求項1〜9のいずれかにおいて、
前記状態判定部は、
前記操作状態が前記第2操作状態である場合の前記検出位置の移動量が第2閾値を超えたことに基づいて、前記操作状態が前記第1操作状態であると判定することを特徴とするプログラム。
【請求項11】
コンピュータにより読み取り可能な情報記憶媒体であって、請求項1〜10のいずれかに記載されたプログラムを記憶することを特徴とする情報記憶媒体。
【請求項12】
操作面に対する接触操作の操作状態が、前記操作面における第1の位置に対して第1接触操作が行われる第1操作状態では、前記第1の位置に対応する検出値を出力し、前記第1接触操作に加えて前記操作面における第2の位置に対して第2接触操作が行われる第2操作状態では、前記第1の位置と前記第2の位置との中点に対応する検出値を出力する検出部の検出値に基づいて、表示部の表示面に表示される画像を制御する画像制御システムであって、
前記検出値に基づいて、前記操作面における位置を示す検出位置を取得する取得部と、
前記検出値に基づいて、前記操作状態が前記第1操作状態であるか前記第2操作状態であるかを判定する状態判定部と、
前記操作状態が第2操作状態である場合に、前記第1操作状態において取得された前記検出位置を一方の端点とし前記第2操作状態において取得された前記検出位置を中点とした場合の他方の端点を示す補正位置を求める補正部と、
前記補正位置に基づいて、前記画像を制御する表示制御部とを含むことを特徴とする画像制御システム。
【請求項13】
操作面に対する接触操作の操作状態が、前記操作面における第1の位置に対して第1接触操作が行われる第1操作状態では、前記第1の位置に対応する検出値を出力し、前記第1接触操作に加えて前記操作面における第2の位置に対して第2接触操作が行われる第2操作状態では、前記第1の位置と前記第2の位置との中点に対応する検出値を出力する検出部の検出値に基づいて、表示部の表示面に表示される画像を制御する画像制御システムであって、
前記検出値に基づいて、前記操作面における位置を示す検出位置を取得する取得部と、
前記検出値に基づいて、前記操作状態が前記第1操作状態であるか前記第2操作状態であるかを判定する状態判定部と、
前記操作状態が第2操作状態である場合に、前記第1操作状態における前記検出位置を一方の端点とし前記第2操作状態における前記検出位置を中点とした場合の他方の端点を示す補正位置を求める補正部と、
前記補正位置が特定位置と一致するか否かを判定する位置判定部と、
前記画像を制御する表示制御部とを含むことを特徴とする画像制御システム。
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図1】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図1】
【公開番号】特開2011−65600(P2011−65600A)
【公開日】平成23年3月31日(2011.3.31)
【国際特許分類】
【出願番号】特願2009−218083(P2009−218083)
【出願日】平成21年9月18日(2009.9.18)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】
【公開日】平成23年3月31日(2011.3.31)
【国際特許分類】
【出願日】平成21年9月18日(2009.9.18)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】
[ Back to top ]