JP2007004571A - 入力データ処理プログラムおよび入力データ処理装置 - Google Patents

入力データ処理プログラムおよび入力データ処理装置 Download PDF

Info

Publication number
JP2007004571A
JP2007004571A JP2005185080A JP2005185080A JP2007004571A JP 2007004571 A JP2007004571 A JP 2007004571A JP 2005185080 A JP2005185080 A JP 2005185080A JP 2005185080 A JP2005185080 A JP 2005185080A JP 2007004571 A JP2007004571 A JP 2007004571A
Authority
JP
Japan
Prior art keywords
input
memory
stored
vector
base point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005185080A
Other languages
English (en)
Other versions
JP4748657B2 (ja
Inventor
Keizo Ota
敬三 太田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2005185080A priority Critical patent/JP4748657B2/ja
Priority to US11/447,919 priority patent/US7833098B2/en
Publication of JP2007004571A publication Critical patent/JP2007004571A/ja
Application granted granted Critical
Publication of JP4748657B2 publication Critical patent/JP4748657B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1068Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being specially adapted to detect the point of contact of the player on a surface, e.g. floor mat, touch pad
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】 ポインティングデバイスの操作性を向上させることが可能な入力データ処理プログラムおよび情報処理装置を提供する。
【解決手段】 情報処理装置は、入力装置によって連続して検出された各入力位置を、検出された順に情報処理装置のメモリに記憶させる。メモリに最初に記憶された入力位置(B1)は、基点位置としてメモリに記憶される。入力位置がメモリに記憶される度に、メモリに最後に記憶された入力位置とメモリ内の基点位置とを結ぶ操作ベクトル(ベクトルv’1)を算出する。情報処理装置は、操作ベクトルの大きさおよび向きに基づいて所定の処理を行う。メモリ内の基点位置は、入力位置がメモリに記憶される度に、予め定められた目標位置(点A)に近づく方向へ移動させた位置に更新される。
【選択図】 図4

Description

本発明は、タッチパッド等の入力装置から入力されるデータを処理するための入力データ処理プログラムおよび入力データ処理装置に関する。
従来、表示装置の画面上に表示されたカーソルをタッチパッド等を用いて移動させる技術がある。この技術においては、タッチパッドには予め決められた位置(例えばタッチパッドの中心)に基点が設定され、当該基点に対するタッチ点(操作者がタッチパッドに触れた位置)の方向および距離に応じて画面上のカーソルが移動する。特許文献1には、タブレットに対する座標の入力に際し、基点に対するペンの接触箇所の方向および距離に比例した速度でカーソルを移動させることが記載されている。
特開昭63−73415号公報(発明の詳細な説明の〔概要〕)
上記の技術においては、操作者の意識と実際のタッチ位置との関係が問題となることがある。すなわち、タッチパッドへの入力を開始する際において、操作者は、上記カーソルを移動させない意図で、まずタッチパッドの基点をタッチしようとすることがある。しかし、操作者が基点を正確に指示することは困難な場合もあり、この結果、実際には、操作者のタッチ点は基点からずれてその周辺に位置していることがあり得る。この場合、操作者にはカーソルを移動させる意図がなくても、実際にはカーソルが移動してしまうという事態が生じる。このように、上記の技術においては、タッチパッドへの入力を開始する際において操作者の意図に反してカーソルが移動してしまうという問題があった。
そこで、上記問題を解決する方法として、操作者が最初にタッチした点を基点とする方法が考えられる。この方法によれば、操作者による最初のタッチ点がタッチパッドの中心からずれた位置であっても、そのタッチ点の位置が基点に設定されるので、操作者がタッチパッドへの入力を開始した時点ではカーソルは移動しない。しかしながら、この方法で設定された基点は、タッチパッドの中心に必ずしも設定されるわけではない。したがって、中心からずれた位置に基点が設定された場合には、バランスの悪い位置に基点が存在し続けることになり、結果的に操作性の低下をもたらす。具体例として、円形のタッチパッドの中心よりも上側に基点が設定された場合を考えると、タッチ点の上限の位置から基点までの長さは、タッチ点の下限の位置から基点までの長さとは異なる長さとなる。したがって、カーソルを上方向に移動させる場合の最大速度が、カーソルを下方向に移動させる場合の最大速度とは異なることになるので、操作者にとっては操作性が非常に悪くなってしまう。
それ故、本発明の目的は、ポインティングデバイスの操作性を向上させることが可能な入力データ処理プログラムおよび情報処理装置を提供することである。
本発明は、上記の課題を解決するために、以下の構成を採用した。なお、本欄における括弧内の参照符号および補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明を何ら限定するものではない。
第1の発明は、入力面上における入力位置を所定時間間隔で検出する入力装置(タッチパッド21)を備える情報処理装置(ゲーム装置10)のコンピュータ(CPU22)に次のステップを実行させる入力データ処理プログラム(ゲームプログラム)である。入力データ処理プログラムは、入力位置記憶ステップ(S13)と、基点位置記憶ステップ(S17)と、操作ベクトル算出ステップ(S3)と、処理ステップ(S4)と、更新ステップ(S25)とをコンピュータに実行させる。入力位置記憶ステップにおいては、情報処理装置は、入力装置によって連続して検出された各入力位置を、検出された順に情報処理装置のメモリ(メインメモリ34)に記憶させる。基点位置記憶ステップにおいては、メモリに最初に記憶された入力位置を基点位置(図3に示す基点62)としてメモリに記憶させる。操作ベクトル算出ステップにおいては、入力位置がメモリに記憶される度に、メモリに最後に記憶された入力位置とメモリ内の基点位置とを結ぶ操作ベクトル(図4に示すベクトルv’1)を算出する。処理ステップにおいては、操作ベクトルの大きさおよび向きに基づいて所定の処理(例えば、画面に表示されているプレイヤキャラクタやカーソルを移動させる処理)を行う。更新ステップにおいては、入力位置がメモリに記憶される度に、予め定められた目標位置(図3に示す点A)に近づく方向へ移動させた位置にメモリ内の基点位置を更新する。
第2の発明においては、更新ステップは、移動ベクトル算出ステップ(S13)と、移動量算出ステップ(S22)と、更新実行ステップ(S25)とを含んでいてもよい。移動ベクトル算出ステップにおいては、情報処理装置は、メモリに最後に記憶された入力位置を終点としかつ最後から1つ前にメモリに記憶された入力位置を始点とする移動ベクトル(図4に示すベクトルv1)を算出する。移動量算出ステップにおいては、移動ベクトルの大きさおよび向きの少なくとも一方に基づいて基点位置の移動量を算出する。更新実行ステップにおいては、目標位置に近づく方向へ移動量に従って移動させた位置にメモリ内の基点位置を更新する。
第3の発明においては、移動量算出ステップにおいて、移動ベクトルの大きさが大きいほど移動量が大きくなるように当該移動量が算出されてもよい。
第4の発明においては、移動量算出ステップにおいて、移動ベクトルの向きが現在の基点位置と目標位置とを結ぶ直線の向きに近いほど移動量が大きくなるように当該移動量が算出されてもよい。
第5の発明においては、移動量算出ステップにおいて、現在の基点位置と目標位置とを結ぶ直線の方向(中心方向)に関する移動ベクトルの成分が大きいほど移動量が大きくなるように当該移動量が算出されてもよい。
第6の発明においては、更新ステップは、調整ステップ(S23、S24)をさらに含んでいてもよい。調整ステップにおいては、コンピュータは、算出された移動量が現在の基点位置から目標位置までの距離よりも大きいとき、当該移動量を当該距離の大きさに調整する。このとき、更新実行ステップにおいては、調整された移動量に従ってメモリ内の基点位置を更新する。
第7の発明においては、更新ステップは、移動ベクトル算出ステップ(S13)と、判定ステップ(S31)と、更新実行ステップ(S25)とを含んでいてもよい。移動ベクトル算出ステップにおいては、情報処理装置は、メモリに最後に記憶された入力位置を終点としかつ最後から1つ前にメモリに記憶された入力位置を始点とする移動ベクトルを算出する。判定ステップにおいては、移動ベクトルの大きさが所定量よりも大きいか否かを判定する。更新実行ステップにおいては、判定ステップにおいて移動ベクトルの大きさが所定量よりも大きいと判定されたときのみ、メモリに記憶されている基点位置を更新する。
第8の発明においては、目標位置は入力面の中心位置であってもよい。
第9の発明においては、基点位置記憶ステップにおいて、メモリに最初に記憶された入力位置が目標位置を含む所定領域(判定領域63)の内側にあるとき、当該入力位置が基点位置としてメモリに記憶され、当該入力位置が当該所定領域の外側にあるとき、目標位置が基点位置としてメモリに記憶されてもよい。
第10の発明は、入力面上における入力位置を所定時間間隔で検出する入力装置(タッチパッド21)を備える入力データ処理装置(ゲーム装置10)である。入力データ処理装置は、入力位置記憶手段(メインメモリ34)と、基点位置記憶手段(メインメモリ34)と、操作ベクトル算出手段(S3を実行するCPU22等。以下、単にステップ番号のみを示す。)と、処理手段(S4)と、更新手段(S5)とを備える。入力位置記憶手段は、入力装置によって連続して検出された各入力位置を、検出された順に記憶する。基点位置記憶手段は、入力位置記憶手段に最初に記憶された入力位置を基点位置として記憶する。操作ベクトル算出手段は、入力位置が入力位置記憶手段に記憶される度に、入力位置記憶手段に最後に記憶された入力位置と基点位置記憶手段に記憶されている基点位置とを結ぶ操作ベクトルを算出する。処理手段は、操作ベクトルの大きさおよび向きに基づいて所定の処理を行う。更新手段は、入力位置が入力位置記憶手段に記憶される度に、予め定められた目標位置に近づく方向へ移動させた位置にメモリ内の基点位置を更新する。
第11の発明は、入力データに応じて所定のデータ処理を実行する入力データ処理装置に接続可能な入力装置である。入力装置は、入力検出手段(タッチパッド21)と、入力位置記憶手段と、基点位置記憶手段と、操作ベクトル算出手段と、送信手段と、更新手段とを備える。入力検出手段は、入力面上における入力位置を所定時間間隔で検出する。入力位置記憶手段は、入力装置によって連続して検出された各入力位置を、検出された順に記憶する。基点位置記憶手段は、入力位置記憶手段に最初に記憶された入力位置を基点位置として記憶する。操作ベクトル算出手段は、入力位置が入力位置記憶手段に記憶される度に、入力位置記憶手段に最後に記憶された入力位置と基点位置記憶手段に記憶されている基点位置とを結ぶ操作ベクトルを算出する。送信手段は、算出された操作ベクトルを入力データとして入力データ処理装置へ送信する。更新手段は、入力位置が入力位置記憶手段に記憶される度に、予め定められた目標位置に近づく方向へ移動させた位置にメモリ内の基点位置を更新する。
第1の発明によれば、基点位置記憶ステップによって、メモリに最初に記憶された入力位置を基点位置としてメモリに記憶させるため、プレイヤが入力を行った直後の時点では、入力位置と基点位置が等しく、操作ベクトルがゼロとなるので、操作ベクトルの大きさおよび向きに応じたゲーム処理が行われない。したがって、操作ベクトルに応じて例えばカーソルやプレイヤキャラクタを移動させる場合、これらのカーソルやプレイヤキャラクタの移動がプレイヤの意図に反して行われることがない。つまり、第1の発明によれば、プレイヤが意図しないゲーム操作が実行されることを防止することができる。それ故、タッチパッド等のポインティングデバイスの操作性を向上することができる。
さらに、更新ステップによって、基点は目標位置に向かって移動していくので、バランスの悪い位置に基点が存在し続けることを回避することができる。これによっても、タッチパッド等のポインティングデバイスの操作性を向上することができる。
第2の発明によれば、プレイヤが行った操作を表す移動ベクトルに応じて基点を移動させるので、基点を移動させるときにプレイヤが抱く違和感を効果的に抑止することができる。
第3の発明によれば、プレイヤが入力面上において入力位置を大きく移動させたときに基点の移動量は大きくなる。したがって、プレイヤが上記違和感を抱きにくいときに基点を大きく移動させるので、プレイヤが抱く違和感を効果的に抑止することができるとともに、基点を目標位置に効率良く移動させることができる。
第4の発明によれば、プレイヤが入力面上において描いた軌跡の向きと、基点の移動方向とが近いほど基点の移動量は大きくなる。したがって、プレイヤが上記違和感を抱きにくいときに基点を大きく移動させるので、プレイヤが抱く違和感を効果的に抑止することができるとともに、基点を目標位置に効率良く移動させることができる。
第5の発明によれば、プレイヤが入力面上において描いた軌跡の向きおよび長さに応じて基点の移動量を決定するので、プレイヤが上記違和感を抱きにくいときに基点を大きく移動させることができる。したがって、プレイヤが抱く違和感を効果的に抑止することができるとともに、基点を目標位置に効率良く移動させることができる。特に、上記第3および第4の発明に比べて、プレイヤの違和感の抱きやすさと基点の移動量との関係をより正確に判断することができる。
第6の発明によれば、調整ステップによって、現在の基点位置から目標位置までの距離を上限値として移動量が調整されるので、基点が目標位置を超えて移動してしまうことがない。したがって、第6の発明によれば、基点を正しく目標位置に到達させることができる。
なお、仮に、プレイヤが入力位置を所定量より大きく動かしていないときにまで、基点を等速で移動させるとすると、プレイヤが望まないにもかかわらず操作ベクトルの大きさおよび向きが変化してしまい、実際の操作内容が変化してしまうことになる。例えば、プレイヤが入力位置を変えていないにもかかわらず、カーソルやプレイヤキャラクタの移動方向や移動速度が変化してしまうことになる。つまり、操作内容がプレイヤの意図に反して変更されてしまう。
これに対し、第7の発明によれば、プレイヤが入力位置を所定量より大きく動かしていないときには更新実行ステップにおいて基点位置が更新されず、操作ベクトルも変化しない。このように、第7の発明によれば、プレイヤが入力位置を所定量より大きく動かしていないときには操作内容がプレイヤの意図に反して変更されることがない。従って、ポインティングデバイスの操作性を向上することができる。
第8の発明によれば、最終的にはバランスの良い位置に基点を設定することができる。
第9の発明によれば、プレイヤが目標位置を指定することを意図しているのか、それとも、目標位置以外の位置を指定することを意図しているのかを判断することができる。したがって、プレイヤの意図をより正確に反映させた操作を実現することができるので、操作性をより向上することができる。
また、第10および第11の発明によれば、第1の発明と同様の効果を得ることができる。
図1は、本発明の一実施形態に係る入力データ処理装置の一例であるゲームシステムの構成を示す外観図であり、図2はそのブロック図である。図1および図2に示すように、ゲームシステム10は、ゲーム装置14、光ディスク16、メモリカード18、コントローラ20、テレビ12(図2に示すスピーカ50を含む)を備える。光ディスク16およびメモリカード18は、ゲーム装置14に着脱自在に装着される。コントローラ20は、ゲーム装置14に設けられる複数(図1では、4つ)のコントローラポート用コネクタのいずれかに接続される。コントローラ20は複数の操作部を有し、具体的には、第1のタッチパッド21a、第2のタッチパッド21b、スタートボタン21c、セレクトボタン21d、Lボタン21e、およびRボタン21fを含む。また、他の実施形態においては、ゲーム装置14とコントローラ20との通信は、通信ケーブルを用いずに無線通信によって行われてもよい。また、テレビ12およびスピーカ50は、AVケーブル等によってゲーム装置14に接続される。なお、本発明は図1に示すような据え置き型のゲーム装置に限らず、携帯型のゲーム装置であってもよいし、業務用のゲーム装置であってもよいし、携帯電話やパソコン等、プログラムを実行することができる装置であってもよいことはもちろんである。以下、図2を参照しながら、本発明に係るゲームシステムにおける各部を詳細に説明するとともに、ゲームシステムにおける一般的な動作を説明する。
外部記憶媒体の一例である光ディスク16は、例えばDVD−ROMであり、本発明に係るプログラムの一例であるゲームプログラムやキャラクタデータ等のゲームに関するデータを固定的に記憶している。プレイヤがゲームを行う場合、光ディスク16はゲーム装置14に装着される。なお、ゲームプログラム等を記憶する手段は、DVD−ROMに限らず、例えばCD−ROM、MO、メモリカード、ROMカートリッジ等の記憶媒体であってもよく、また、ゲーム装置本体内のメモリやハードディスク等の記憶手段に記憶されるようにしてもよく、この場合、通信によりゲームプログラムをダウンロードするようにしてもよい。メモリカード18は、例えばフラッシュメモリ等の書き換え可能な記憶媒体によって構成され、例えばゲームにおけるセーブデータ等のデータを記憶する。
ゲーム装置14は、光ディスク16に記録されているゲームプログラムを読み出し、ゲーム処理を行う。コントローラ20は、プレイヤがゲーム操作に関する入力を行うための入力装置である。コントローラ20は、プレイヤによるタッチパッド21aおよび21bの操作や各操作ボタン21c〜21fの押圧操作や後述するスイッチ(図示しない)の押圧操作に応じて操作データをゲーム装置14に出力する。テレビ12は、ゲーム装置14から出力された画像データを画面に表示する。また、スピーカ50は、典型的にはテレビ12に内蔵されており、ゲーム装置14から出力されたゲームの音声を出力する。複数のプレイヤによってゲームを行う場合、コントローラ20はプレイヤの数だけ設けられる。
前述のように、コントローラ20は、その主面の左右両側に1つずつ、計2つのタッチパッド21aおよび21bを有する。なお、2つのタッチパッド21aおよび21bは同じ構成であり、以下では、2つのタッチパッド21aおよび21bを特に区別しない場合、単に「タッチパッド21」と記載する。タッチパッド21としては、例えば抵抗膜方式や光学式(赤外線方式)や静電容量結合式など、任意の方式のものを利用することができる。タッチパッド21は、その入力面にプレイヤの指等が触れると、接触位置(入力位置)に対応する座標データ(入力座標データ)を出力する。タッチパッド21は、所定のサンプリング時間毎に入力位置を検出して入力座標データを出力する。ここでは、所定のサンプリング時間を画面表示のフレーム時間と同じであるとする。なお、タッチパッド21は、入力座標データを出力するものであればどのようなものであってもよい。例えば、タッチパッド21は、プレイヤの指等が入力面に接触している面積を示すデータを上記入力座標データとともにゲーム装置14に出力してもよいし、入力位置の移動速度を検出して出力してもよい。また、本実施形態においては、タッチパッド21の入力面は、押下可能なようにバネ等で支持されており、タッチパッド21の裏面にはそれぞれスイッチ(図示せず)が設けられる。プレイヤは、タッチパッド21の入力面を押下することによってスイッチを押下することができる。
なお、以上に説明したコントローラ20は、本発明において用いられる入力装置の一例であり、入力装置は、入力面上における入力位置を所定のサンプリング時間毎に検出することが可能なポインティングデバイスであればどのようなものであってもよい。例えば、入力装置は、タッチパッドを1つのみ備える構成であってもよいし、タッチパッドに代えてタッチパネルを備える構成であってもよい。
次に、ゲーム装置14の構成について説明する。図2において、ゲーム装置14内には、CPU22およびそれに接続されるメモリコントローラ40が設けられる。さらに、ゲーム装置14内において、メモリコントローラ40は、グラフィックスプロセッシングユニット(GPU)24と、メインメモリ34と、デジタル信号処理回路(DSP)36と、各種インターフェース(I/F)42〜52とに接続される。また、DSP36を介してサブメモリ38と接続される。メモリコントローラ40は、これら各構成要素間のデータ転送を制御する。
ゲーム開始の際、まず、ディスクドライブ54は、ゲーム装置14に装着された光ディスク16を駆動する。光ディスク16に記憶されているゲームプログラムは、ディスクI/F52およびメモリコントローラ40を介して、メインメモリ34に読み込まれる。メインメモリ34上のプログラムをCPU22が実行することによって、ゲームが開始される。ゲーム開始後、プレイヤは、各タッチパッド21aおよび21bや各操作ボタン21c〜21fや上記スイッチを用いてコントローラ20に対してゲーム操作等の入力を行う。プレイヤによる入力に従い、コントローラ20は、操作データをゲーム装置14に出力する。コントローラ20から出力される操作データは、コントローラI/F42およびメモリコントローラ40を介してCPU22に入力される。CPU22は、入力された操作データに応じてゲーム処理を行う。ゲーム処理における画像データ生成等に際して、GPU24やDSP36が用いられる。また、サブメモリ38は、DSP36が所定の処理を行う際に用いられる。
GPU24は、ジオメトリユニット26およびレンダリングユニット28を含み、画像処理専用のメモリに接続されている。この画像処理専用メモリは、例えばカラーバッファ30およびZバッファ32として利用される。ジオメトリユニット26は、仮想3次元空間であるゲーム空間に置かれた物体や図形に関する立体モデル(例えばポリゴンで構成されるオブジェクト)の座標についての演算処理を行うものであり、例えば立体モデルの回転・拡大縮小・変形や、ワールド座標系の座標から視点座標系やスクリーン座標系の座標への変換を行うものである。レンダリングユニット28は、所定のテクスチャに基づいて、スクリーン座標に投影された立体モデルについてピクセルごとのカラーデータ(RGBデータ)をカラーバッファ30に書き込むことによって、ゲーム画像を生成する。また、カラーバッファ30は、レンダリングユニット28によって生成されたゲーム画像データ(RGBデータ)を保持するために確保されたメモリ領域である。Zバッファ32は、3次元の視点座標から2次元のスクリーン座標に変換する際に視点からの奥行情報を保持するために確保されたメモリ領域である。GPU24は、これらを用いてテレビ12に表示すべき画像データを生成し、適宜メモリコントローラ40およびビデオI/F44を介してテレビ12に出力する。なお、ゲームプログラム実行時にCPU22において生成される音声データは、メモリコントローラ40からオーディオI/F48を介して、スピーカ50に出力される。なお、本実施形態では、画像処理専用のメモリを別途設けたハードウェア構成としたが、これに限らず例えばメインメモリ34の一部を画像処理用のメモリとして利用する方式(UMA:Unified Memory Architecture)を使うようにしてもよい。ゲーム装置14は、ゲームプログラムを実行することにより生成したゲームデータをメモリコントローラ40およびメモリI/F46を介してメモリカード18に転送する。また、ゲーム装置14は、ゲーム開始に先立って、メモリカード18に記憶されたゲームデータを、メモリコントローラ40およびメモリI/F46を介してメインメモリ34に読み込む。
次に、本実施形態に係るプログラムによってゲーム装置14において実行される処理の概要を説明する。ゲーム装置14は、タッチパッド21への入力に基づいて操作ベクトルを算出し、この操作ベクトルに従ってゲーム処理を行う。操作ベクトルとは、プレイヤによって行われたタッチパッド21への入力操作をベクトルで表したものである。具体的には、操作ベクトルは、入力面上に設定される基点の位置を始点とし、入力面に対してプレイヤによる入力が行われた位置(入力位置)を終点とするベクトルである。ゲーム装置14は、この操作ベクトルに基づいてプレイヤによる操作内容を判断し、プレイヤによる操作に従ったゲーム処理を行う。
本実施形態では、ゲーム空間にプレイヤキャラクタが登場するゲームを例として説明する。また、ゲーム装置14は、上記ゲーム処理の一例として、プレイヤによる操作に従ってプレイヤキャラクタをゲーム空間内で移動させる処理を行う場合を例として説明する。具体的には、ゲーム装置14は、操作ベクトルの向きに応じた方向に、操作ベクトルの大きさに応じた速度でプレイヤキャラクタを移動させる。このような操作ベクトルを用いてゲーム処理を行うことによって、タッチパッドでありながら、ジョイスティックを操作するような操作感をプレイヤに与えることができる。なお、操作ベクトルに従って行われる処理はどのようなものであってもよく、例えば、テレビ12の画面上に表示されたカーソルを移動させる処理であってもよい。
次に、タッチパッド21への入力に基づいて操作ベクトルを算出する処理を図3〜図6を用いて説明する。なお、以下では、プレイヤがタッチパッド21に対して一連の連続した入力を行った場合について説明する。図3は、時刻t0におけるタッチパッド21の様子を示す図である。ここでは、時刻t0においてタッチパッド21は入力を最初に検出したものとする。なお、図3〜図6において、点Aは円形のタッチパッドの中心である。また、接触領域61は、タッチパッド21にプレイヤの指等が接触している領域を示す。タッチパッド21は、接触領域61内の所定の点(典型的には、接触領域61の重心)の位置を示す入力座標データを出力する。ここでは、点B1の位置を示す入力座標データが出力されるものとする。つまり、タッチパッド21は、時刻t0において点B1の位置を最初の入力位置として検出したものとする。このとき、ゲーム装置14は、タッチパッド21において最初に検出された入力位置(すなわち、点B1の位置)に基点62を設定する。したがって、時刻t0においては操作ベクトルは0となる。その結果、操作ベクトルに従って行われるゲーム処理において、プレイヤキャラクタは移動されない。
図4は、図3における時刻t0からサンプリング時間tが経過した時点(時刻:t0+t)におけるタッチパッド21の様子を示す図である。ここでは、接触領域61が点B2の位置に移動した結果、タッチパッド21は、時刻(t0+t)において、点B2の位置を示す入力座標データを出力したとする。このとき、ゲーム装置14は、現在の基点62の位置から中心点Aへの方向(中心方向)へ距離L’1だけ基点62を移動させる。なお、図4および図5においては、移動前の基点を点線で示し、移動後の基点62を黒丸で示している。以下、基点の移動量L’1の算出方法を説明する。
まず、ゲーム装置14は、1つ前に検出された入力位置(点B1)から現在の入力位置(点B2)までのベクトル(ベクトルv1)を算出する。なお、このベクトルは、入力位置の移動方向および移動量を表すベクトルであり、以下ではこのベクトルを移動ベクトルと呼ぶ。換言すれば、移動ベクトルは、サンプリング時間毎に検出される入力位置の移動速度を表す。移動ベクトルが算出されると、ゲーム装置14は次に、移動ベクトルv1の上記中心方向の成分L1を算出する。さらに、移動ベクトルv1の中心方向成分L1に所定の調整量を乗算することによって移動量L’1が算出される。なお、所定の調整量は予め定められた定数である。したがって、移動量L’1は移動ベクトルの中心方向成分L1に比例した大きさとなる。
図4において基点62が移動されると、ゲーム装置14は、移動後の基点62の位置と現在の入力位置(点B2)とに基づいて操作ベクトルを算出する。すなわち、操作ベクトルは、基点62を始点とし、点B2を終点とするベクトルv’1となる。ゲーム装置14は、この操作ベクトルv’1に従ってプレイヤキャラクタを移動させるゲーム処理を行う。
図5は、図4における時刻(t0+t)からさらにサンプリング時間tが経過した時点(時刻:t0+2t)におけるタッチパッド21の様子を示す図である。時刻t0+2tにおいても、図4に示した場合と同様の計算が行われることによって基点62が移動され、操作ベクトルが算出される。すなわち、1つ前に検出された入力位置(点B2)から現在の入力位置(点B3)までの移動ベクトルv2が算出され、移動ベクトルv2の上記中心方向の成分L2が算出される。さらに、移動ベクトルの中心方向成分L2に上記調整量を乗算することによって移動量L’2が算出される。したがって、基点62は中心方向に移動量L’2だけ移動される。また、操作ベクトルは、基点62を始点とし、現在の入力位置(点B3)を終点とするベクトルv’2となる。プレイヤキャラクタを移動させるゲーム処理は、この操作ベクトルv’2に従って行われる。
なお、時刻(t0+2t)以降においてもそれまでと同様に、新たな入力位置が検出される度に基点が中心方向に移動される。基点の移動が繰り返される結果、基点が中心点Aに達した場合、基点の移動は停止される。また、基点が中心点Aを超えて移動しようとした場合、すなわち、基点から中心点Aまでの距離よりも算出された移動量が大きい場合、基点は中心点Aまで移動される。そして、それ以降において基点の移動は停止される。
以上のように、本実施形態によれば、基点の初期位置は、プレイヤが最初に入力を行った位置に設定される。したがって、プレイヤが入力を行った直後の時点において操作ベクトルは0となるので、この時点ではプレイヤキャラクタの移動が行われない。それ故、最初に中心を触ろうとしたプレイヤの意図に反してプレイヤキャラクタが移動することがないので、タッチパッドの操作性を向上することができる。また、基点は、プレイヤによる入力位置の移動に応じて中心点Aに近づいていき、最終的に中心点Aに達する。したがって、基点は、最初は中心から外れた位置にあるものの、プレイヤが操作を行う間に中心に移動する。それ故、基点の位置がバランスの悪い位置に存在することに起因する操作性の低下を防止することができる。
なお、本実施形態では、プレイヤが操作を行う間に基点が移動するので、プレイヤの操作感覚と、ゲーム処理に実際に反映される操作とが若干異なる可能性がある。図6は、移動ベクトルが中心方向と略垂直である場合の操作ベクトルを示す図である。図6を例にとって説明すると、プレイヤの操作感覚では、操作ベクトルは移動前の基点62(点線)から点Bbまでのベクトルv”bであるのに対して、ゲーム処理に実際に反映される操作ベクトルはベクトルv’bとなる。このベクトルv”bとベクトルv’bとの差があまりに大きいと、プレイヤの操作感覚とゲーム処理に実際に反映される操作との違いによってプレイヤが操作に違和感を抱く可能性がある。このような違和感をプレイヤに与えないようにするためには1回の基点の移動量を小さくすればよい。しかし、1回の基点の移動量を単純に小さくすると、基点が中心位置に到達するまでの時間が長くなり、基点の位置がバランスの悪い位置に存在することに起因する操作性の低下を防止する効果が小さくなってしまう。
ここで、移動ベクトルの中心方向成分が大きい場合、基点を中心方向に移動させたとしてもプレイヤは上記違和感を抱きにくいと考えられる。図7は、移動ベクトルが中心方向と略平行である場合の操作ベクトルを示す図である。図7に示すように、移動ベクトルの中心方向成分が大きい場合、基点を中心方向にある程度移動させてもベクトルv”Bの向きとベクトルv’Bの向きとは大きく異ならない。つまり、この場合、基点を中心方向にある程度移動させたとしてもプレイヤは上記違和感を抱きにくい。一方、図6に示すように、移動ベクトルの中心方向成分が小さい場合に基点を中心方向に大きく移動させると、ベクトルv”bの向きとベクトルv’bの向きとが大きく異なるので、プレイヤが上記違和感を抱くおそれが十分にある。
そこで、本実施形態では、1回の基点の移動量を、移動ベクトルの中心方向成分の大きさに応じて決定するようにしている。すなわち、移動ベクトルの中心方向成分が大きい場合、プレイヤは上記違和感を抱きにくいので、基点の移動量を大きくする。一方、移動ベクトルの中心方向成分が小さい場合、プレイヤは上記違和感を抱きやすいので、基点の移動量を小さくする。これによって、本実施形態では、プレイヤに違和感を与えずに、基点を効果的に中心に移動させることができる。したがって、本実施形態では、プレイヤの操作感覚とゲーム処理に実際に反映される操作とが異なることに起因するプレイヤの違和感をできるだけ生じないようにすることができるとともに、基点の位置がバランスの悪い位置に存在することに起因する操作性の低下を効果的に防止することができる。
また、本実施形態においては、タッチパッド21の入力面に対して、基点が最終的に到達する点(すなわち、中心点A)の位置を中心とした判定領域が設定される。図8は、タッチパッド21の入力面に設定される判定領域を示す図である。図8においては、点線の内側領域が判定領域63である。図8に示すように、判定領域63は、中心点Aを中心とする円形領域である。タッチパッド21が最初に検出した入力位置(初期入力位置)が判定領域63の内側である場合、ゲーム装置14は、図3に示したように初期入力位置に基点を設定する。一方、初期入力位置が判定領域63の外側である場合、ゲーム装置14は、中心点Aの位置に基点を設定する。例えば図8に示すように、初期入力位置が点B4である場合、基点62は中心点Aの位置に設定される。
ここで、ゲームの内容やゲームの進行状況によっては、プレイヤが中心点Aに最初にタッチすることを望まないこともあると考えられる。例えば、動き出しにおいてはプレイヤキャラクタをゆっくり移動させて次第に速く移動させたい場合には、プレイヤは最初に中心点Aの位置にタッチすることを望むと考えられる。一方、プレイヤキャラクタを動き出しから高速で移動させたい場合には、プレイヤは最初に中心点Aの位置にタッチしないと考えられる。
そこで、本実施形態では、判定領域63を設けることによって、プレイヤが中心点Aの位置をタッチすることを意図しているのか、それとも、中心点A以外の位置をタッチすることを意図しているのかを判断している。具体的には、プレイヤが判定領域63の外側を最初にタッチする場合、プレイヤの意図は、プレイヤキャラクタを移動させる操作にあり、中心点Aにタッチする意図はないと考えられる。したがって、この場合、ゲーム装置14は基点を中心点Aの位置に設定する。一方、プレイヤが判定領域63の内側を最初にタッチする場合、プレイヤは、プレイヤキャラクタを動き出しから急に移動させることを意図しておらず、中心点Aにタッチすることを意図していると考えられる。したがって、この場合、ゲーム装置14は基点を初期入力位置に設定する。このような判定領域63を設けることによって、中心点A以外をタッチすることを意図した操作にも対応することができるので、操作性をより向上することができる。
次に、ゲームプログラムを実行することによってゲーム装置14において行われるゲーム処理の詳細を説明する。まず、ゲーム処理において用いられる主なデータについて図9を用いて説明する。図9は、ゲーム装置14のメインメモリ34に記憶される主なデータを示す図である。図9に示すように、メインメモリ34には、入力座標データ群70、移動ベクトルデータ71、タッチフラグデータ72、判定領域データ73、基点座標データ74、基点距離データ75、移動量データ76、単位ベクトルデータ77、および操作ベクトルデータ78等が記憶される。なお、メインメモリ34には、図9に示すデータの他、プレイヤキャラクタに関するデータ(プレイヤキャラクタの画像データや位置データ等)やゲーム空間に関するデータ(地形データ等)等、ゲーム処理に必要なデータが記憶される。
入力座標データ群70は、タッチパッド21によって連続して検出された各入力位置を示す入力座標データの集合である。本実施形態では、プレイヤが1回の連続した入力を行う間に検出された入力位置を示す入力座標データは、入力座標データ群70に検出した順に追加される。したがって、初期入力位置を示す入力座標データが第1入力座標データ70aとしてメインメモリ34に記憶され、2番目に検出された入力位置を示す入力座標データが第2入力座標データ70bとしてメインメモリ34に記憶される。なお、ここでは、第n(nは1以上の整数)番目に検出された入力位置を示す第n入力座標データとして記憶される座標を(x(n),y(n))と表す。また、この座標(x(n),y(n))は、タッチパッド21の入力面の所定位置(例えば中心点)を原点とする直交座標系の座標とする。なお、1回の連続した入力が完了して(すなわち、タッチパッド21から指が離されて)別の新たな入力が開始されると、それまで記憶されていた入力座標データ群70の内容は消去され、当該新たな入力に対応する入力座標データが新たに順次記憶されていく。
移動ベクトルデータ71は、上記移動ベクトルを示すデータである。本実施形態では、移動ベクトルデータ71は、最新の移動ベクトルを示すデータのみがメインメモリに記憶される。すなわち、移動ベクトルが新たに算出されると、移動ベクトルデータの内容は、当該新たに算出された移動ベクトルを示すデータに更新される。なお、ここでは、移動ベクトルデータを(vx,vy)と表す。
タッチフラグデータ72は、タッチパッド21に対する入力があるか否かを表すフラグのデータである。具体的には、タッチパッド21に対する入力がある場合、フラグの値は“1”に設定され、タッチパッド21に対する入力がない場合、フラグの値は“0”に設定される。
判定領域データ73は、上記判定領域を示すデータである。ここでは、判定領域は上記中心点を中心とする円形領域であるので、判定領域の半径の長さLを示すデータが判定領域データ73として記憶される。判定領域の半径の長さLは、ゲームプログラムにおいて予め決められている。
基点座標データ74は、基点の位置を示すデータである。ここでは、基点座標データ74として記憶される座標を(Px,Py)と表す。この座標(Px,Py)は、入力座標データにより示される座標と同じ座標系の座標である。また、基点距離データ75は、基点から中心点までの距離Dを示すデータである。移動量データ76は、基点の上記移動量L’を示すデータである。
単位ベクトルデータ77は、基点から中心点への方向を向く単位長さのベクトル(単位ベクトル)を示すデータである。つまり、単位ベクトルは上記中心方向を示す。ここでは、単位ベクトルデータ77として記憶される座標を(ux,uy)と表す。また、操作ベクトルデータ78は、上記操作ベクトルを示すデータである。ここでは、操作ベクトルを(v’x,v’y)と表す。
次に、ゲームプログラムを実行することによってゲーム装置14において行われるゲーム処理の詳細を、図10および図11を用いて説明する。図10は、ゲーム装置14において実行されるゲーム処理の流れを示すフローチャートである。ゲーム装置14の電源が投入されると、ゲーム装置14のCPU22は、図示しないブートROMに記憶されている起動プログラムを実行し、メインメモリ34等の各ユニットが初期化される。そして、光ディスク16に記憶されたゲームプログラムがメインメモリ34に読み込まれ、CPU22によって当該ゲームプログラムの実行が開始される。図10に示すフローチャートは、以上の処理が完了した後に行われるゲーム処理を示すフローチャートである。なお、図10および図11においては、ゲーム処理のうち、タッチパッド21への入力に基づいて上記操作ベクトルを算出する処理について詳細に示し、本願発明と直接関連しない他のゲーム処理については詳細な説明を省略する。
図10のステップS1において、まず、初期化処理が行われる。具体的には、初期値を設定すべきデータについて、予め定められた初期値がメインメモリ34に記憶される。例えば、判定領域の半径の長さLを示すデータが判定領域データ73として記憶される。また、タッチフラグの値は“0”に設定される。さらにステップS1においては、ゲーム空間が構築されるとともに、プレイヤキャラクタ等のゲーム空間に登場するキャラクタがゲーム空間に配置されることによって、初期状態のゲーム空間がテレビ12に表示される。
ステップS1の次のステップS2において基点設定処理が行われる。基点設定処理とは、タッチパッド21に対する入力を受け付けるとともに、操作ベクトルを算出するための基点を設定する処理である。以下、図11を用いて基点設定処理の詳細を説明する。
図11は、図10に示すステップS2の詳細な処理の流れを示すフローチャートである。基点設定処理においては、まずステップS11において、タッチパッド21に対する入力があったか否かが判定される。具体的には、CPU22は、タッチパッド21から出力されるデータを読み込み、タッチパッド21から入力座標データが出力されているか否かを判定する。タッチパッド21から入力座標データが出力されている場合、タッチパッド21に対する入力があると判定されてステップS13の処理が行われる。一方、入力がないことを示すデータがタッチパッド21から出力されている場合、タッチパッド21に対する入力がないと判定されてステップS12の処理が行われる。
ステップS12においてはタッチフラグがオフに設定される。すなわち、CPU22は、メインメモリ34に記憶されているタッチフラグデータ72の値を“0”に設定する。ステップS12の後、CPU22は基点設定処理を終了する。
一方、ステップS13においては、タッチパッド21の入力位置および移動ベクトルが取得される。具体的には、CPU22は、ステップS11でタッチパッド21から読み込んだ入力座標データを、メインメモリ34に記憶されている入力座標データ群70に追加する。また、CPU22は、当該入力座標データにより示される位置を終点とし、メインメモリ34に前回追加された入力座標データにより示される位置を始点とする移動ベクトルを算出する。より具体的には、第n入力座標データ(nは1以上の整数)により示される座標を(x(n),y(n))とし、第m入力座標データ(m=n+1)により示される座標を(x(m),y(m))とすると、移動ベクトル(vx(m),vy(m))は、以下の式(1)によって算出される。
vx(m)=x(m)−x(n)
vy(m)=y(m)−y(n) …(1)
なお、タッチパッド21が移動ベクトルを検出可能である場合、CPU22は、タッチパッド21から出力される移動ベクトルのデータを読み込めばよく、上記式(1)を用いた計算を行わなくてもよい。算出された移動ベクトルを示す移動ベクトルデータ71はメインメモリ34に更新して記憶される。すなわち、新たに算出された移動ベクトルデータが以前に算出された移動ベクトルデータに上書きして記憶される。
ステップS13の次のステップS14において、ステップS13において検出された入力は最初の入力であるか否か、すなわち、ステップS13で取得された入力位置は初期入力位置であるか否かが判定される。ここで、初期入力位置とは、上述したように、タッチパッド21において入力位置が連続して検出される場合において1番目に検出された入力位置のことである。CPU22は、タッチフラグの内容に従ってステップS14の判定処理を行う。すなわち、メインメモリ34に記憶されているタッチフラグデータ72の値が“0”である場合、ステップS13で取得された入力位置は初期入力位置であると判定する。この場合、ステップS15の処理が行われる。一方、メインメモリ34に記憶されているタッチフラグデータ72の値が“1”である場合、ステップS13で取得された入力位置は初期入力位置でないと判定する。この場合、ステップS15〜S18の処理がスキップされてステップS19の処理が行われる。
ステップS15においては、タッチフラグがオンに設定される。すなわち、CPU22は、メインメモリ34に記憶されているタッチフラグデータ72の値を“1”に設定する。続くステップS16において、最初の入力におけるタッチ位置は入力面の中心付近の位置であるか否か、すなわち、上記初期入力位置は判定領域内であるか否かが判定される。ステップS16の判定は、メインメモリ34に最後に記憶された入力座標データ(最新の入力座標データ)と、判定領域データ73とを参照することによって行われる。すなわち、CPU22は、最新の入力座標データにより示される座標位置が、判定領域データ73により定義される領域内に位置するか否かを判定する。具体的には、最新の入力座標データにより示される座標を(x(n),y(n))(nは1以上の整数)とすると、以下の式(2)を満たす場合、初期入力位置は判定領域内であると判定される。
((x(n))2 +(y(n))2 1/2 ≦L …(2)
なお、式(2)に示すLは、判定領域の半径である。
ステップS16の判定において、初期入力位置は判定領域内であると判定された場合、ステップS17の処理が行われる。すなわち、ステップS17において、初期入力位置に基点が設定される(図3参照)。具体的には、CPU22は、直前のステップS13で記憶された入力座標データの内容を基点座標データ74としてメインメモリ34に記憶する。一方、ステップS16の判定において、初期入力位置は判定領域内でないと判定された場合、ステップS18の処理が行われる。すなわち、ステップS18において、中心点の位置に基点が設定される(図8参照)。具体的には、CPU22は、中心点の座標(0,0)を示すデータを基点座標データ74としてメインメモリ34に記憶する。ステップS17またはステップS18の後、ステップS19の処理が行われる。
ステップS19においては、基点から中心点までの距離Dが算出される。具体的には、CPU22は、メインメモリ34に記憶されている基点座標データ74を用いて以下の式(3)に従って距離Dを算出する。
D=(Px2 +Py2 1/2 …(3)
なお、式(3)では、基点の座標を(Px,Py)としている。ステップS19で算出された距離Dを示すデータは、基点距離データ75としてメインメモリ34に更新して記憶される。
ステップS19の次のステップS20において、基点が中心点にあるか否かが判定される。ステップS20の判定は、基点座標データ74を参照することによって行うことができる。すなわち、基点座標データ74により示される座標(Px,Py)が(0,0)であれば、基点が中心点にあると判定される。基点が中心点にないと判定される場合、ステップS21〜S25の処理が行われる。ステップS21〜S25の処理は、基点を移動させる処理である。一方、基点が中心点にあると判定される場合、ステップS21〜S25の処理がスキップされて、CPU22は、図11に示す基点設定処理を終了する。
ステップS21においては、単位ベクトルが算出される。単位ベクトルとは、上述したように、基点から中心点への方向を向く単位長さのベクトルである。CPU22は、基点の位置座標(Px,Py)と上記距離Dとを用いて、次に示す式(4)に従って単位ベクトル(ux,uy)を算出する。
ux=Px÷D
uy=Py÷D …(4)
式(4)から算出された単位ベクトルのデータは、単位ベクトルデータ77としてメインメモリ34に記憶される。
ステップS21の次のステップS22において、基点の移動量L’が算出される。前述したように、移動量L’は、移動ベクトルの中心方向の成分に所定の調整量を乗算することによって算出される。すなわち、CPU22は、移動ベクトルデータ71および単位ベクトルデータ77を参照することによって移動量L’を算出する。具体的には、移動ベクトルをvとし、単位ベクトルをuとし、調整量をAとすると、移動量L’は次の式(5)によって算出される。
L’=|u・v|×A …(5)
式(5)に示すように、単位ベクトルと移動ベクトルとの内積に調整量Aを積算することによってL’が得られる。算出された移動量L’のデータは、移動量データ76としてメインメモリ34に記憶される。
なお、上記調整量Aの値は、ゲームプログラムにおいて予め決められている。この調整量Aの値を変化させることによって、基点が中心点に達するまでの時間を変化させることができる。すなわち、調整量Aの値を大きくすると、基点が中心点に達するまでの時間が早くなり、調整量Aの値を小さくすると、基点が中心点に達するまでの時間が遅くなる。
ステップS22の次のステップS23においては、ステップS22で算出された移動量L’が大きすぎるか否かが判定される。具体的には、CPU22は、基点距離データ75および移動量データ76を参照して、移動量L’が上述の距離Dよりも大きいか否かを判定する。ステップS22の判定の結果、移動量L’が距離Dよりも大きい場合(移動量L’が大きすぎる場合)、ステップS24の処理が行われる。すなわち、ステップS24において、移動量L’が限度量(距離D)に調整される。具体的には、CPU22は、メインメモリ34に記憶されている移動量データ76の内容を距離Dの値に更新する。ステップS24の後、ステップS25の処理が行われる。一方、ステップS22の判定の結果、移動量L’が距離Dよりも小さい場合、ステップS24の処理はスキップされ、ステップS25の処理が行われる。
ステップS25においては、基点が移動される。このとき、基点は、ステップS22で算出されたまたはステップS24で調整された移動量だけ中心方向に移動される(図4および図5参照)。具体的にはCPU22は、基点座標データ74、移動量データ76、および単位ベクトルデータ77を参照して、新たな基点の位置を算出する。移動前の基点の座標を(Px’,Py’)とし、単位ベクトルを(ux,uy)とし、移動量をL’とすると、移動後の基点の座標(Px,Py)は、次の式(6)に従って算出される。
Px=Px’−ux×L’
Py=Py’−uy×L’ …(6)
なお、CPU22は、メインメモリ34に記憶されている基点座標データ74の内容を、式(6)によって算出された座標のデータに更新して記憶する。ステップS25の後、CPU22は基点設定処理を終了する。
図10の説明に戻り、ステップS2の基点設定処理の次にステップS3の処理が行われる。すなわち、ステップS3において、操作ベクトルが算出される。操作ベクトルは、基点座標データ74と、最新の入力座標データとを参照することによって算出される。具体的には、基点の座標を(Px,Py)とし、最新の入力位置の座標を(x(n),y(n))(nは1以上の整数)とすると、操作ベクトル(v’x,v’y)は、次の式(7)によって算出される。
v’x=x(n)−Px
v’y=y(n)−Py …(7)
なお、CPU22は、メインメモリ34に記憶されている操作ベクトルデータ78の内容を、式(7)によって算出された操作ベクトルのデータに更新して記憶する。
ステップS3の次のステップS4において、ステップS3で算出された操作ベクトルに応じたゲーム処理が行われる。本実施形態では、ゲーム空間に登場するプレイヤキャラクタを移動させる処理がゲーム処理として行われる。具体的には、プレイヤキャラクタは、操作ベクトルの向きに応じた方向に、操作ベクトルの大きさに応じた速度で移動される。続くステップS5において、ゲームを終了するか否かが判定される。例えば、プレイヤによって所定のゲーム終了操作が行われたか否かが判定される。ゲームを終了すると判定された場合、CPU22は、図10に示すゲーム処理を終了する。一方、ゲームを終了しないと判定された場合、ステップS2の処理が再度行われ、以降、ゲームを終了すると判定されるまでステップS2〜S5の処理が繰り返される。
以上に示した処理によって、基点の初期位置は、プレイヤが最初に入力を行った位置に設定されるので、プレイヤが入力を行った直後の時点においてはプレイヤキャラクタの移動が行われない。したがって、プレイヤの意図に反してプレイヤキャラクタが移動することがなく、タッチパッドの操作性を向上することができる。また、基点は、プレイヤによる入力位置の移動に応じて中心点Aに近づいていき、最終的に中心点Aに達する。したがって、基点の位置がバランスの悪い位置に存在し続けることによってタッチパッドの操作性が低下することを防止することができる。
なお、上記の実施形態においては、ゲーム装置は、移動ベクトルの中心方向成分の大きさに基づいて基点の移動量を算出した。ここで、他の実施形態においては、ゲーム装置は、基点を中心位置へ移動させればよく、基点を移動させるアルゴリズムはどのようなものであってもよい。例えば、図12および図13に示すように、移動ベクトルの向きに基づいて基点の移動量を算出するようにしてもよい。
図12および図13は、他の実施形態における基点の移動量の算出方法を説明するための図である。図12においては、移動ベクトルV1と基点62から中心点AまでのベクトルV2とのなす角をθ1とし、基点62の移動量をL1とする。また、図13においては、移動ベクトルV1とベクトルV2とのなす角をθ2とし、基点62の移動量をL2とする。図12および図13に示すように、基点の移動量は、移動ベクトルV1とベクトルV2とのなす角の大きさに応じて変化するようにしてもよい。具体的には、図11のステップS22において、移動ベクトルV1とベクトルV2とのなす角が大きいほど基点の移動量が大きくなるように当該移動量を算出するようにしてもよい。また、移動ベクトルの向きに基づいて基点の移動量を算出する方法としては、移動ベクトルV1とベクトルV2とのなす角が所定値以上の場合にのみ基点を移動させる方法も考えられる。図12および図13に示した基点の移動方法によっても上記実施形態と同様、プレイヤの操作感覚とゲーム処理に実際に反映される操作との違いによってプレイヤが操作に違和感を抱くことを防止することができる。ただし、図12および図13に示した基点の移動方法では、移動ベクトルの大きさを考慮しない分、プレイヤの違和感は大きくなるおそれがある。
また、他の実施形態においては、移動ベクトルの大きさに基づいて基点の移動量を算出するようにしてもよい。具体的には、図11のステップS22において、移動ベクトルV1の大きさが大きいほど基点の移動量が大きくなるように移動量を算出してもよい。この方法によっても上記実施形態と同様、プレイヤの操作感覚とゲーム処理に実際に反映される操作との違いによってプレイヤが操作に違和感を抱くことを防止することができる。ただし、この方法では、移動ベクトルの方向を考慮しない分、プレイヤの違和感は大きくなるおそれがある。
また、他の実施形態においては、プレイヤが入力位置を変化させていない(すなわち、入力面上の同じ位置をタッチし続けている)間は、基点の位置を移動しないようにしてもよい。以下、この場合の処理を図14を用いて説明する。
図14は、他の実施形態における基点設定処理(図11)を示す図である。なお、図14においては、図11と相違する処理ステップのみを示している。図14においては、ステップS14の判定処理において、ステップS13において検出された入力は最初の入力でないと判定された場合、ステップS31の処理が行われる。なお、ステップS13において検出された入力は最初の入力であると判定された場合は、図11と同様にステップS15の処理が行われる。ステップS31においては、移動ベクトルの大きさが予め定められた所定値以上であるか否かが判定される。移動ベクトルの大きさが当該所定値以上であると判定される場合、ステップS19の処理が行われる。一方、移動ベクトルの大きさが当該所定値よりも小さいと判定される場合、CPU22は基点設定処理を終了する。
図14によれば、移動ベクトルの大きさが上記所定値以上である場合のみ、基点を移動させる処理(ステップS25)が行われる。したがって、プレイヤによるタッチ位置がほぼ移動していない場合、すなわち、移動ベクトルが所定値よりも小さい場合、基点は移動しない。ここで、毎フレーム常に基点を移動させるとすると、プレイヤがタッチ位置を変えていないときでも操作ベクトルの大きさおよび向きが変化してしまい、実際の操作内容が変化してしまうことになる。具体的には、プレイヤが入力位置を変えていないにもかかわらず、プレイヤキャラクタの移動方向や移動速度が変化してしまうことになり、操作内容がプレイヤの意図に反して変更されてしまう。これに対して、図14に示す処理によれば、プレイヤが入力位置を動かしていないと判断される場合には、基点が移動されないので操作ベクトルも変わらない。したがって、操作内容がプレイヤの意図に反して変更されることがないので、ポインティングデバイスの操作性を向上することができる。
なお、他の実施形態においては、図14に示すステップS31において、移動ベクトルの向きに基づいて基点を移動させるか否かを判定するようにしてもよい。具体的には、ステップS31において、移動ベクトルV1と基点から中心点までのベクトルV2とのなす角度が予め定められた所定値以上であるか否かが判定される。そして、当該角度が当該所定値よりも小さい場合にのみ、基点を移動させるようにする。これによって、図12および図13に示した基点の移動方法と同様の効果を得ることができる。
また、上記実施形態においては、コントローラ20から出力された入力座標データを受け取ったゲーム装置14が、操作ベクトルを算出する処理を実行した。ここで、他の実施形態では、コントローラ20側で操作ベクトルを算出する処理を実行するようにしてもよい。図15は、コントローラ20側で操作ベクトルを算出する処理を実行する場合におけるコントローラおよびゲーム装置14の処理の流れを示すシーケンスチャートである。すなわち、コントローラ20は、基点設定処理および操作ベクトルを算出する処理を実行する(ステップS2’およびS3’)。ステップS2’の処理は図10に示すステップS2と同様の処理であり、ステップS3’の処理は図10に示すステップS3と同様の処理である。さらに、コントローラ20は、ステップS3’の結果得られた操作ベクトルをゲーム装置14へ出力(送信)する(ステップS41)。ゲーム装置14は、コントローラ20から出力された操作ベクトルを受信し(ステップS42)、受信した操作ベクトルに応じたゲーム処理を行う(ステップS4’)。ステップS4’の処理は図10に示すステップS4と同様の処理である。なお、ゲームが終了したと判定されるまでステップS2’〜S4’の処理が繰り返される点は、図10に示すゲーム処理と同様である。このように、コントローラ20がCPUやステップS2およびS3を実行する処理回路を備える場合には、操作ベクトルをコントローラ20が算出するようにしてもよい。なお、このとき、ゲーム装置14は、操作ベクトルに応じたゲーム処理を行うだけであるので、従来のゲーム装置をそのまま適用することができる。すなわち、操作ベクトルを算出可能なコントローラを従来のゲーム装置に接続することによって、図1と同等のゲームシステムを実現することができる。
また、上記実施形態においては、ゲームプログラムおよびゲーム装置を例として説明したが、本発明は、ゲームに限らず、画面上において指定された位置を検出することが可能なポインティングデバイスを用いて操作ベクトルを算出する技術に適用することができる。
以上のように、本発明は、ポインティングデバイスの操作性を向上させること等を目的とした入力データ処理プログラムおよび入力データ処理装置に利用することができる。
本発明の一実施形態に係るゲームシステムの構成を示す外観図 図1に示すゲームシステムのブロック図 時刻t0におけるタッチパッド21の様子を示す図 時刻(t0+t)におけるタッチパッド21の様子を示す図 時刻(t0+2t)におけるタッチパッド21の様子を示す図 移動ベクトルが中心方向と略垂直である場合の操作ベクトルを示す図 移動ベクトルが中心方向と略平行である場合の操作ベクトルを示す図 タッチパッド21の入力面に設定される判定領域を示す図 ゲーム装置14のメインメモリ34に記憶される主なデータを示す図 ゲーム装置14において実行されるゲーム処理の流れを示すフローチャート 図10に示すステップS2の詳細な処理の流れを示すフローチャート 他の実施形態における基点の移動量の算出方法を説明するための図 他の実施形態における基点の移動量の算出方法を説明するための図 他の実施形態における基点設定処理を示す図 他の実施形態における処理の流れを示すシーケンスチャート
符号の説明
10 ゲームシステム
12 テレビ
14 ゲーム装置
16 光ディスク
20 コントローラ
21a,21b タッチパッド
22 CPU
34 メインメモリ

Claims (11)

  1. 入力面上における入力位置を所定時間間隔で検出する入力装置を備える情報処理装置のコンピュータに、
    前記入力装置によって連続して検出された各入力位置を、検出された順に前記情報処理装置のメモリに記憶させる入力位置記憶ステップと、
    前記メモリに最初に記憶された入力位置を基点位置として前記メモリに記憶させる基点位置記憶ステップと、
    前記入力位置が前記メモリに記憶される度に、前記メモリに最後に記憶された入力位置と前記メモリ内の基点位置とを結ぶ操作ベクトルを算出する操作ベクトル算出ステップと、
    前記操作ベクトルの大きさおよび向きに基づいて所定の処理を行う処理ステップと、
    前記入力位置が前記メモリに記憶される度に、予め定められた目標位置に近づく方向へ移動させた位置に前記メモリ内の前記基点位置を更新する更新ステップとを実行させる、入力データ処理プログラム。
  2. 前記更新ステップは、
    前記メモリに最後に記憶された入力位置を終点としかつ最後から1つ前に前記メモリに記憶された入力位置を始点とする移動ベクトルを算出する移動ベクトル算出ステップと、
    前記移動ベクトルの大きさおよび向きの少なくとも一方に基づいて前記基点位置の移動量を算出する移動量算出ステップと、
    前記目標位置に近づく方向へ前記移動量に従って移動させた位置に前記メモリ内の基点位置を更新する更新実行ステップとを含む、請求項1に記載の入力データ処理プログラム。
  3. 前記移動量算出ステップにおいては、前記移動ベクトルの大きさが大きいほど移動量が大きくなるように当該移動量が算出される、請求項2に記載の入力データ処理プログラム。
  4. 前記移動量算出ステップにおいては、前記移動ベクトルの向きが現在の基点位置と前記目標位置とを結ぶ直線の向きに近いほど移動量が大きくなるように当該移動量が算出される、請求項2に記載の入力データ処理プログラム。
  5. 前記移動量算出ステップにおいては、現在の基点位置と前記目標位置とを結ぶ直線の方向に関する前記移動ベクトルの成分が大きいほど移動量が大きくなるように当該移動量が算出される、請求項2に記載の入力データ処理プログラム。
  6. 前記更新ステップは、前記算出された移動量が現在の基点位置から前記目標位置までの距離よりも大きいとき、当該移動量を当該距離の大きさに調整する調整ステップをさらに含み、
    前記更新実行ステップは、前記算出された移動量が現在の基点位置から前記目標位置までの距離よりも大きいとき、前記調整された移動量に従って前記メモリ内の基点位置を更新する、請求項2に記載の入力データ処理プログラム。
  7. 前記更新ステップは、
    前記メモリに最後に記憶された入力位置を終点としかつ最後から1つ前に前記メモリに記憶された入力位置を始点とする移動ベクトルを算出する移動ベクトル算出ステップと、
    前記移動ベクトルの大きさが所定量よりも大きいか否かを判定する判定ステップと、
    前記判定ステップにおいて前記移動ベクトルの大きさが前記所定量よりも大きいと判定されたときのみ、前記メモリに記憶されている基点位置を更新する更新実行ステップとを含む、請求項1に記載の入力データ処理プログラム。
  8. 前記目標位置は前記入力面の中心位置であることを特徴とする、請求項1に記載の入力データ処理プログラム。
  9. 前記基点位置記憶ステップにおいては、前記メモリに最初に記憶された入力位置が前記目標位置を含む所定領域の内側にあるとき、当該入力位置が基点位置として前記メモリに記憶され、当該入力位置が当該所定領域の外側にあるとき、前記目標位置が基点位置として前記メモリに記憶される、請求項1に記載の入力データ処理プログラム。
  10. 入力面上における入力位置を所定時間間隔で検出する入力装置を備える入力データ処理装置であって、
    前記入力装置によって連続して検出された各入力位置を、検出された順に記憶する入力位置記憶手段と、
    前記入力位置記憶手段に最初に記憶された入力位置を基点位置として記憶する基点位置記憶手段と、
    前記入力位置が前記入力位置記憶手段に記憶される度に、前記入力位置記憶手段に最後に記憶された入力位置と前記基点位置記憶手段に記憶されている基点位置とを結ぶ操作ベクトルを算出する操作ベクトル算出手段と、
    前記操作ベクトルの大きさおよび向きに基づいて所定の処理を行う処理手段と、
    前記入力位置が前記入力位置記憶手段に記憶される度に、予め定められた目標位置に近づく方向へ移動させた位置に前記メモリ内の前記基点位置を更新する更新手段とを備える、入力データ処理装置。
  11. 入力データに応じて所定のデータ処理を実行する入力データ処理装置に接続可能な入力装置であって、
    入力面上における入力位置を所定時間間隔で検出する入力検出手段と、
    前記入力装置によって連続して検出された各入力位置を、検出された順に記憶する入力位置記憶手段と、
    前記入力位置記憶手段に最初に記憶された入力位置を基点位置として記憶する基点位置記憶手段と、
    前記入力位置が前記入力位置記憶手段に記憶される度に、前記入力位置記憶手段に最後に記憶された入力位置と前記基点位置記憶手段に記憶されている基点位置とを結ぶ操作ベクトルを算出する操作ベクトル算出手段と、
    前記算出された操作ベクトルを前記入力データとして前記入力データ処理装置へ送信する送信手段と、
    前記入力位置が前記入力位置記憶手段に記憶される度に、予め定められた目標位置に近づく方向へ移動させた位置に前記メモリ内の前記基点位置を更新する更新手段とを備える、入力装置。
JP2005185080A 2005-06-24 2005-06-24 入力データ処理プログラムおよび入力データ処理装置 Active JP4748657B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005185080A JP4748657B2 (ja) 2005-06-24 2005-06-24 入力データ処理プログラムおよび入力データ処理装置
US11/447,919 US7833098B2 (en) 2005-06-24 2006-06-07 Input data processing program and input data processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005185080A JP4748657B2 (ja) 2005-06-24 2005-06-24 入力データ処理プログラムおよび入力データ処理装置

Publications (2)

Publication Number Publication Date
JP2007004571A true JP2007004571A (ja) 2007-01-11
JP4748657B2 JP4748657B2 (ja) 2011-08-17

Family

ID=37678606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005185080A Active JP4748657B2 (ja) 2005-06-24 2005-06-24 入力データ処理プログラムおよび入力データ処理装置

Country Status (2)

Country Link
US (1) US7833098B2 (ja)
JP (1) JP4748657B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010277606A (ja) * 2010-08-31 2010-12-09 Toshiba Corp 電子機器、入力制御方法
JP2023521957A (ja) * 2020-06-05 2023-05-26 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド カーソルコントロールユニット制御方法並びにその、装置、電子デバイス、およびコンピュータプログラム

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4918376B2 (ja) * 2007-02-23 2012-04-18 任天堂株式会社 情報処理プログラムおよび情報処理装置
JP5060798B2 (ja) * 2007-02-23 2012-10-31 任天堂株式会社 情報処理プログラムおよび情報処理装置
JP5101622B2 (ja) 2007-09-07 2012-12-19 株式会社コナミデジタルエンタテインメント 動作判断装置、ゲーム装置およびコンピュータプログラム
US20090207141A1 (en) * 2008-02-19 2009-08-20 Lenovo (Singapore) Pte. Ltd. Touch pad for computer
US8200795B2 (en) 2008-06-05 2012-06-12 Sony Computer Entertainment Inc. Mobile phone game interface
JP2010157038A (ja) * 2008-12-26 2010-07-15 Toshiba Corp 電子機器、入力制御方法
JP5237325B2 (ja) 2010-04-28 2013-07-17 株式会社スクウェア・エニックス ビデオゲーム処理装置、ビデオゲーム処理方法、およびビデオゲーム処理プログラム
US9411509B2 (en) 2010-12-29 2016-08-09 Microsoft Technology Licensing, Llc Virtual controller for touch display
US9703469B2 (en) * 2012-10-18 2017-07-11 Dreamworks Animation Llc Distinguishing between impulses and continuous drag operations on a touch-sensitive surface
US9937416B2 (en) * 2013-06-11 2018-04-10 Microsoft Technology Licensing, Llc Adaptive touch input controls
US10328344B2 (en) * 2013-10-11 2019-06-25 Valve Corporation Game controller systems and methods
CN108245888A (zh) * 2018-02-09 2018-07-06 腾讯科技(深圳)有限公司 虚拟对象控制方法、装置及计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07182092A (ja) * 1993-12-22 1995-07-21 Sega Enterp Ltd ベクトル入力装置
JPH0934645A (ja) * 1995-07-21 1997-02-07 Smk Corp ポインティングデバイス
JP2001325615A (ja) * 2000-05-18 2001-11-22 Sony Corp 3次元モデル処理装置、および3次元モデル処理方法、並びにプログラム提供媒体
JP2006034516A (ja) * 2004-07-26 2006-02-09 Nintendo Co Ltd ゲームプログラム、ゲーム装置、および入力装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6373415A (ja) 1986-09-17 1988-04-04 Fujitsu Ltd 座標入力装置
US5574479A (en) 1994-01-07 1996-11-12 Selectech, Ltd. Optical system for determining the roll orientation of a remote unit relative to a base unit
GB2289756B (en) 1994-05-26 1998-11-11 Alps Electric Co Ltd Space coordinates detecting device and input apparatus using same
US7132982B2 (en) * 1999-03-05 2006-11-07 Rannock Corporation Method and apparatus for accurate aircraft and vehicle tracking
US20010030667A1 (en) 2000-04-10 2001-10-18 Kelts Brett R. Interactive display interface for information objects
US6982697B2 (en) 2002-02-07 2006-01-03 Microsoft Corporation System and process for selecting objects in a ubiquitous computing environment
ES2271210T3 (es) * 2002-10-04 2007-04-16 INTEGRATED BIOMATERIAL & CELL TECHNOLOGIES S.R.L. Elastomeros a base de copolimeros blocs de poliuretano y de polisiloxano, procedimiento para preparacion y usos del mismo.
DK2337016T3 (en) 2004-04-30 2018-04-23 Idhl Holdings Inc Free space pointing device with slope compensation and improved applicability
CA2578653A1 (en) 2004-07-29 2006-02-09 Kevin Ferguson A human movement measurement system
JP3770499B1 (ja) * 2004-11-02 2006-04-26 任天堂株式会社 ゲーム装置及びゲームプログラム
JP4445898B2 (ja) * 2005-05-24 2010-04-07 任天堂株式会社 ポインティングデバイスに対する入力を用いたゲームプログラムおよびゲーム装置
JP4590328B2 (ja) * 2005-08-30 2010-12-01 任天堂株式会社 入力データ処理プログラムおよび情報処理装置
JP4151982B2 (ja) * 2006-03-10 2008-09-17 任天堂株式会社 動き判別装置および動き判別プログラム
JP5224832B2 (ja) * 2008-01-21 2013-07-03 任天堂株式会社 情報処理プログラムおよび情報処理装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07182092A (ja) * 1993-12-22 1995-07-21 Sega Enterp Ltd ベクトル入力装置
JPH0934645A (ja) * 1995-07-21 1997-02-07 Smk Corp ポインティングデバイス
JP2001325615A (ja) * 2000-05-18 2001-11-22 Sony Corp 3次元モデル処理装置、および3次元モデル処理方法、並びにプログラム提供媒体
JP2006034516A (ja) * 2004-07-26 2006-02-09 Nintendo Co Ltd ゲームプログラム、ゲーム装置、および入力装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010277606A (ja) * 2010-08-31 2010-12-09 Toshiba Corp 電子機器、入力制御方法
JP2023521957A (ja) * 2020-06-05 2023-05-26 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド カーソルコントロールユニット制御方法並びにその、装置、電子デバイス、およびコンピュータプログラム
JP7506171B2 (ja) 2020-06-05 2024-06-25 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド カーソルコントロールユニット制御方法並びにその、装置、電子デバイス、およびコンピュータプログラム
US12115448B2 (en) 2020-06-05 2024-10-15 Tencent Technology (Shenzhen) Company Limited Method and apparatus for controlling cursor control, and related device

Also Published As

Publication number Publication date
US7833098B2 (en) 2010-11-16
JP4748657B2 (ja) 2011-08-17
US20070018950A1 (en) 2007-01-25

Similar Documents

Publication Publication Date Title
JP4748657B2 (ja) 入力データ処理プログラムおよび入力データ処理装置
JP4590328B2 (ja) 入力データ処理プログラムおよび情報処理装置
US20060109259A1 (en) Storage medium storing image display program, image display processing apparatus and image display method
JP3833228B2 (ja) ゲーム装置およびゲームプログラム
JP4471761B2 (ja) ゲームプログラム、ゲーム装置、および入力装置
JP2011092629A (ja) ゲームプログラム、ゲーム装置、およびゲーム制御方法
JP4388878B2 (ja) 入力処理プログラムおよび入力処理装置
JP4989052B2 (ja) 入力データ処理プログラムおよび情報処理装置
JP5759571B2 (ja) ゲームプログラムおよびゲーム装置
JP5081399B2 (ja) ゲーム装置、プログラム及び情報記録媒体
JP4658544B2 (ja) ゲームプログラム、ゲーム装置、および入力装置
US8926427B2 (en) Video game with screen flip and dual sets of collision data
JP5759570B2 (ja) ゲームプログラムおよびゲーム装置
JP5869176B1 (ja) ゲームプログラムおよびゲーム装置
JP4143590B2 (ja) 3次元画像処理装置、ゲーム装置、3次元画像処理プログラムおよびゲームプログラム
JP5354820B2 (ja) 入力処理プログラムおよび入力処理装置
JP6450299B2 (ja) ゲームプログラムおよびゲーム装置
JP6450297B2 (ja) ゲームプログラムおよびゲーム装置
JP2009116908A (ja) 入力処理プログラムおよび入力処理装置
JP2008257746A (ja) 入力処理プログラムおよび入力処理装置
JP2009093666A (ja) 入力処理プログラムおよび入力処理装置
JP2009093680A (ja) 入力処理プログラムおよび入力処理装置
JP2011129166A (ja) 入力処理プログラムおよび入力処理装置
JP2009093681A (ja) 入力処理プログラムおよび入力処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080613

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110307

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110511

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110512

R150 Certificate of patent or registration of utility model

Ref document number: 4748657

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140527

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250