(57)【特許請求の範囲】
【請求項１】
情報処理装置に対し、
タッチパネルに対する連続した接触操作がなされた場合に、接触された箇所を接触点として所定の周期ごとに検出する検出ステップと、
前記接触点の位置及び順序を表す情報を順次記録する記録ステップと、
前記接触操作において最初に検出した前記接触点を第１操作点として特定する第１操作点特定ステップと、
前記接触操作において最後に検出した前記接触点を第３操作点として特定する第３操作点特定ステップと、
前記第３操作点が特定された後、当該第３操作点から複数の前記接触点を前記検出ステップにおいて検出した順序と逆の順序で辿り、所定の軸方向に関して、移動方向が反転し又は停止した前記接触点を、第２操作点として特定する第２操作点特定ステップと、
前記第１操作点、前記第２操作点及び前記第３操作点の位置を基に、アプリケーションで用いるパラメータを決定するパラメータ決定ステップと
を実行させるための操作入力プログラム。
【請求項２】
前記パラメータ決定ステップは、前記第１操作点、前記第２操作点及び前記第３操作点の相対的な位置を基に、ゴルフゲーム内におけるゴルフボールに対するショット操作において用いられるショットパラメータを決定する
ことを特徴とする請求項１に記載の操作入力プログラム。
【請求項３】
前記第２操作点特定ステップは、前記第３操作点から複数の前記接触点を前記接触操作時と逆の順序で辿る場合に、所定の上限数まで前記接触点を辿った範囲内で、前記軸方向に関して、移動方向が反転し又は停止する前記接触点が存在しない場合、前記第３操作点から前記接触操作時と逆の順序で当該上限数だけ辿った前記接触点を、前記第２操作点として特定する
ことを特徴とする請求項１に記載の操作入力プログラム。
【請求項４】
前記第３操作点特定ステップは、前記接触操作において最後に検出した前記接触点に対する、その直前に検出した前記接触点からの移動速度が所定の閾値未満である場合、前記第３操作点の特定を省略し、前記パラメータ決定ステップにおける前記パラメータの決定を省略させる
ことを特徴とする請求項１に記載の操作入力プログラム。
【請求項５】
前記第１操作点測定ステップにより前記第１操作点が特定された後、前記検出ステップによる前記接触点の検出を継続しながら、当該接触点の移動方向に応じて、前記タッチパネルに表示する表示内容を更新させる表示ステップと
を具えることを特徴とする請求項１に記載の操作入力プログラム。
【請求項６】
検出部により、タッチパネルに対する連続した接触操作がなされた場合に、接触された箇所を接触点として所定の周期ごとに検出する検出ステップと、
記録部により、前記接触点の位置及び順序を表す情報を順次記録する記録ステップと、
第１操作点特定部により、前記接触操作において最初に検出した前記接触点を第１操作点として特定する第１操作点特定ステップと、
第３操作点特定部により、前記接触操作において最後に検出した前記接触点を第３操作点として特定する第３操作点特定ステップと、
第２操作点特定部により、前記第３操作点が特定された後、当該第３操作点から複数の前記接触点を前記検出ステップにおいて検出した順序と逆の順序で辿り、所定の軸方向に関して、移動方向が反転し又は停止した前記接触点を、第２操作点として特定する第２操作点特定ステップと、
指示受付部により、前記第１操作点、前記第２操作点及び前記第３操作点の位置を基に、アプリケーションで用いるパラメータを決定するパラメータ決定ステップと
を有する操作入力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は操作入力プログラム及び操作入力方法に関し、例えばゴルフゲームのショット操作に適用して好適なものである。
【背景技術】
【０００２】
従来、ゴルフゲームにおいては、ユーザのショット操作に基づき、仮想空間内におけるボールの軌道を計算し、この計算結果に基づいてボールが移動する様子を画面上に表示するものが広く普及している。
【０００３】
例えば据置型のゲーム装置は、ゲーム装置本体がテレビジョン装置やディスプレイモニタ等に接続され、また複数の操作ボタン等が設けられたコントローラが当該ゲーム装置本体に有線又は無線により接続された状態で、当該コントローラに対するユーザの操作入力に基づき、ゲームを進行させることができる。
【０００４】
このような据置型のゲーム装置は、ユーザによりゴルフゲームがプレイされる場合、例えばユーザにショット操作を行わせる際に、コントローラの操作ボタンを介して３回の押下操作を行わせる。このときゲーム装置は、ユーザによる各押下操作のタイミングや時間間隔に応じて、ショットの強さや方向、及びボールのスピン量等を決定し、これらを基に当該ボールの軌道を計算することができる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−７１１３１号公報（図４等）
【発明の概要】
【発明が解決しようとする課題】
【０００６】
一方、近年では、スマートフォンやタブレット等の携帯情報端末が広く普及しており、この携帯情報端末においてもアプリケーションとしてゴルフゲームをプレイしたい、というユーザのニーズが高まっている。
【０００７】
この携帯情報端末は、一般にタッチパネルにより画面の表示及び操作の入力が行われる。このタッチパネルでは、ユーザが指先等を短時間だけ接触させるタッチ操作（タップ操作とも呼ばれる）の他に、タッチパネル上で指先等を接触させたまま移動させるスワイプ操作や、指先を素早く移動させるフリック操作等、種々の操作を受け付けることができる。
【０００８】
このため、携帯情報端末上で実行されるゴルフゲームでは、タッチパネルに適した操作入力方法を採用することにより、よりユーザの意に沿ったプレイを行い得るようにすることが求められている。
【０００９】
本発明は以上の点を考慮してなされたもので、ユーザの意に沿った操作入力を受け付け得る操作入力プログラム及び操作入力方法を提案しようとするものである。
【課題を解決するための手段】
【００１０】
かかる課題を解決するため本発明の操作入力プログラムにおいては、情報処理装置に対し、タッチパネルに対する連続した接触操作がなされた場合に、接触された箇所を接触点として所定の周期ごとに検出する検出ステップと、操作点の位置及び順序を表す情報を順次記録する記録ステップと、接触操作において最初に検出した接触点を第１操作点として特定する第１操作点特定ステップと、接触操作において最後に検出した接触点を第３操作点として特定する第３操作点特定ステップと、第３操作点が特定された後、当該第３操作点から複数の接触点を検出ステップにおいて検出した順序と逆の順序で辿り、所定の軸方向に関して、移動方向が反転し又は停止した接触点を、第２操作点として特定する第２操作点特定ステップと、第１操作点、第２操作点及び第３操作点の位置を基に、アプリケーションで用いるパラメータを決定するパラメータ決定ステップとを実行させるようにした。
【００１１】
また本発明の操作入力方法においては、検出部により、タッチパネルに対する連続した接触操作がなされた場合に、接触された箇所を接触点として所定の周期ごとに検出する検出ステップと、記録部により、接触点の位置及び順序を表す情報を順次記録する記録ステップと、第１操作点特定部により、接触操作において最初に検出した接触点を第１操作点として特定する第１操作点特定ステップと、第３操作点特定部により、接触操作において最後に検出した接触点を第３操作点として特定する第３操作点特定ステップと、第２操作点特定部により、第３操作点が特定された後、当該第３操作点から複数の接触点を検出ステップにおいて検出した順序と逆の順序で辿り、所定の軸方向に関して、移動方向が反転し又は停止した接触点を、第２操作点として特定する第２操作点特定ステップと、指示受付部により、第１操作点、第２操作点及び第３操作点の位置を基に、アプリケーションで用いるパラメータを決定するパラメータ決定ステップとを有するようにした。
【００１２】
本発明は、第３操作点が特定された後に、該第３操作点から接触点を検出時と逆の順序で辿り、所定の軸方向に関して移動方向が反転又は停止した接触点を第２操作点として特定する。このため本発明は、ユーザが接触操作をしながら第２操作点とすべき位置を考え直し、或いはうまく操作できずにその位置を修正するように移動させた場合であっても、軸方向に関して最後に移動方向が反転し又は停止した接触点を、最もふさわしい接触点とみなし、第２操作点として特定できる。
【発明の効果】
【００１３】
本発明によれば、ユーザの意に沿った操作入力を受け付け得る操作入力プログラム及び操作入力方法を実現できる。
【図面の簡単な説明】
【００１４】
【図１】携帯情報端末の外観構成を示す略線図である。
【図２】携帯情報端末の回路構成を示すブロック図である。
【図３】制御部及び記憶部の機能ブロック構成を示すブロック図である。
【図４】第１の実施の形態による接触点の検出及び操作点の特定を示す略線図である。
【図５】操作点の位置とショットパラメータとの関係を示す略線図である。
【図６】ショット操作処理手順を示すフローチャートである。
【図７】ショット画面の構成（１）を示す略線図である。
【図８】接触点検出処理手順を示すフローチャートである。
【図９】ショット画面の構成（２）を示す略線図である。
【図１０】ショット画面の構成（３）を示す略線図である。
【図１１】ショット画面の構成（４）を示す略線図である。
【図１２】ショット画面の構成（５）を示す略線図である。
【図１３】ショット画面の構成（６）を示す略線図である。
【図１４】第１の実施の形態による操作点特定処理手順を示すフローチャートである。
【図１５】ショット画面の構成（７）を示す略線図である。
【図１６】第２の実施の形態による操作点特定処理手順を示すフローチャートである。
【図１７】第２の実施の形態による接触点の検出及び操作点の特定を示す略線図である。
【発明を実施するための形態】
【００１５】
以下、発明を実施するための形態（以下実施の形態とする）について、図面を用いて説明する。
【００１６】
［１．第１の実施の形態］
［１−１．携帯情報端末の構成］
図１に示すように、第１の実施の形態による携帯情報端末１は、例えばスマートフォンであり、扁平な直方体状に形成された筐体２の内部に種々の部品が組み込まれると共に、その正面にタッチパネル３が組み込まれている。また携帯情報端末１には、音声を放音するスピーカ４や音声を電気信号に変換するマイクロホン５等も組み込まれている。
【００１７】
説明の都合上、以下では、図１に示したように、携帯情報端末１が、タッチパネル３の長手方向を横方向に沿わせ、短手方向を縦方向に沿わせた姿勢で、該タッチパネル３をユーザ側に向けた姿勢であるものとする。また以下では、タッチパネル３に表示される画面（詳しくは後述する）において、左側から右側へ向かう方向をＸ方向とし、上側から下側へ向かう方向をＹ方向と定義する。
【００１８】
携帯情報端末１の内部では、図２に模式的な回路構成を示すように、バス１０を介して制御部１１、記憶部１２、通信部１３、操作部１４、表示部１５、音声変換処理部１６及び傾斜センサ１７等が接続されている。
【００１９】
制御部１１は、ＣＰＵ（Central Processing Unit）２１、ＲＯＭ（Read Only Memory）２２及びＲＡＭ（Random Access Memory）２３等を有している。このＣＰＵ２１は、電源が投入されると、ＲＯＭ２２及び記憶部１２からオペレーティングシステムや各種アプリケーション等のような種々のプログラムを読み出し、ＲＡＭ２３をワークエリアとして使用しながら実行する。これにより制御部１１は、種々の処理を実行し、携帯情報端末１を統括的に制御する。
【００２０】
記憶部１２は、例えばフラッシュメモリでなり、種々のプログラムやデータ等を記憶する。通信部１３は、例えば４Ｇ（4th Generation）や５Ｇ（5th Generation）と呼ばれる移動体通信規格に従い、図示しない基地局との間で通信接続を確立し、種々の情報を送受信する。また通信部１３は、ＩＥＥＥ（Institute of Electrical and Electronics Engineers）８０２．１１ａ／ｂ／ｇ／ｎ／ａｃ等の規格に準拠した無線ＬＡＮのインタフェースでもあり、図示しない基地局（親機とも呼ばれる）との間で種々の情報を送受信する。
【００２１】
操作部１４は、タッチパネル３の一部であるタッチセンサであり、ユーザの指先等による接触を検出し、当該ユーザの操作入力として、その位置等に関する情報を制御部１１に供給する。表示部１５は、タッチパネル３の一部である液晶表示パネルであり、制御部１１の制御に基づき、種々の文字や図形等を含む種々の画面を表示する。因みに表示部１５は、例えば毎秒３０フレームのフレームレートで画面を表示及び更新している。
【００２２】
音声変換処理部１６は、音声データと音声信号との相互変換処理や、音声信号又は音声データに関する種々の処理を行う部分であり、上述したスピーカ４及びマイクロホン５等が接続されている。例えば音声変換処理部１６は、制御部１１から供給される音声データを音声信号に変換してスピーカ４へ供給することにより、該スピーカ４から音声を放音させる。また音声変換処理部１６は、マイクロホン５により周囲の音声を集音して生成された音声信号を音声データに変換し、これを制御部１１に供給する。
【００２３】
傾斜センサ１７は、例えばジャイロセンサであり、重力や地磁気の方向を検出して筐体２の姿勢を認識し、この姿勢を表す情報を制御部１１に供給する。これに応じて制御部１１は、タッチパネル３の表示部１５に表示する画面において、文字等を表示する方向を、ユーザが容易に読み取り得るような方向に回転させることができる。
【００２４】
［１−２．ゴルフゲームの開始に伴う処理］
次に、携帯情報端末１においてゴルフゲームを開始する場合の処理について説明する。具体的に携帯情報端末１の制御部１１（図２）は、ユーザにより操作部１４を介してゴルフゲームを開始する操作指示を受け付けると、記憶部１２に予め格納しているゴルフゲームのアプリケーションプログラムを読み出して実行する。
【００２５】
このとき制御部１１は、図３に示すように、その内部に統括処理部３１、操作入力処理部３２、軌道計算処理部３３、表示処理部３４及び音声処理部３５といった複数の機能ブロックを形成する。このうち統括処理部３１は、ゴルフゲーム全体の進行の管理や、各機能ブロックとの連携等に関する処理を行う。
【００２６】
操作入力処理部３２は、主にショット動作において、タッチパネル３の操作部１４に対するユーザの操作入力に関する処理を行う部分である。この操作入力処理部３２は、ショット動作において、図４に模式的なＸＹ座標平面図として示すように、まず操作部１４に対しユーザが接触操作を行った位置を、フレーム毎に接触点Ｔ（ｉ）として順次検出する。さらに操作入力処理部３２は、図４と対応する図５に示すように、複数の接触点Ｔ（ｉ）を基に、３箇所の操作点Ｐ、すなわち第１操作点Ｐ１、第２操作点Ｐ２及び第３操作点Ｐ３をそれぞれ特定し、これらを基にショット動作に必要な複数のパラメータを決定するようになっている。
【００２７】
これらの処理を行うべく、操作入力処理部３２の内部には、接触点検出部４１、接触点管理部４２、第１操作点特定部４３、第２操作点特定部４４、第３操作点特定部４５及びパラメータ決定部４６といった複数の機能ブロックが設けられている。それぞれの詳細については後述する。
【００２８】
軌道計算処理部３３は、決定されたパラメータを基に、ショット動作によりゴルフボールが進行する際の軌道を計算する。表示処理部３４は、表示部１５に表示する画面を生成する処理を行う。音声処理部３５は、ショット操作に応じて効果音等を発生させる処理等を行う。
【００２９】
また記憶部１２は、制御部１１の制御により、その内部に接触点記憶領域５１及び操作点記憶領域５２を形成する。それぞれの詳細については後述する。
【００３０】
その後、制御部１１は、初期設定処理を行う。具体的に制御部１１は、表示処理部３４により、所定の初期設定画面（図示せず）を表示部１５に表示させることにより、ユーザに対し、画面に表示するキャラクター、ゴルフコース及びゴルフクラブ等、ゴルフゲームの開始に必要な事項を適宜選択又は設定させる。
【００３１】
このゴルフゲームでは、仮想空間内にゴルフコースが設定されており、ユーザのショット操作に基づき、当該ゴルフコース上でキャラクターがショット動作を行ってゴルフボールを飛ばすようになっている。このときゴルフボールが進行する軌跡は、操作部１４に対するユーザのショット操作に応じて変化することになる。
【００３２】
また制御部１１は、上述した初期設定処理において、所定の操作説明画面を表示することにより、ユーザに対し、ショット操作の具体的な操作手順と、これに応じたキャラクターの動作等について説明している。
【００３３】
この操作説明画面では、ショット操作として、タッチパネル３に指先等で接触し、この指先等を接触させたまま下方向へしばらく移動させ、その後反転して上方向へ移動させ、最後に指先等をタッチパネル３から引き離す、といった連続的な接触操作を行う旨や、これを基に３箇所の操作点Ｐが特定されること等が説明されている。
【００３４】
また操作説明画面では、第１操作点Ｐ１から第２操作点Ｐ２へ向かう第１操作ベクトルＶ１のうちＹ方向成分の大きさに応じてパワー値の大きさが決定され、Ｘ方向成分の大きさに応じて横スピン量が決定されることが説明されている。さらに操作説明画面では、第２操作点Ｐ２から第３操作点Ｐ３へ向かう第２操作ベクトルＶ２のＹ方向に対する角度に応じて発射角が決定され、Ｙ方向成分の大きさに応じて縦スピン量が決定されることが説明されている。説明の都合上、以下では、ゴルフボールの軌道計算に影響するパワー値、横スピン量、発射角及び縦スピン量といったパラメータをまとめてショットパラメータと呼ぶ。
【００３５】
一般に、実際のゴルフでは、パワー値の大きさがボールの飛距離に大きく影響すると考えられる。これに伴い、このゴルフゲームでは、ユーザが接触操作により第２操作点Ｐ２を適切に入力できれば、該ユーザの意に沿ったパワー値の大きさでショット動作を行うことができ、該ユーザが意図したような飛距離を実現できることになる。このため、このゴルフゲームでは、ユーザによる接触操作において、第２操作点Ｐ２を慎重に指定するように指先等を移動させる可能性がある。
【００３６】
因みに操作説明画面では、「指先等を接触させたまま下方向へ移動させる」操作が、キャラクターの「ゴルフクラブを振り上げる」動作と対応し、「指先等を接触させたまま上方向へ移動させる」操作が、キャラクターの「ゴルフクラブを振り下ろす」動作と対応している旨も説明されている。
【００３７】
［１−３．ショット操作処理］
次に、ユーザにショット操作を行わせることにより、ゴルフボールを１回ショットするショット操作処理について説明する。制御部１１は、上述した初期設定処理が完了すると、図６に示すショット操作処理手順ＲＴ１を開始してステップＳＰ１に移る。
【００３８】
ステップＳＰ１において制御部１１は、ユーザに所定のショット準備操作を行わせることにより、ゴルフクラブの選択やキャラクターの立ち位置の調整等、ショット動作に際して準備すべき事項について適宜操作させ、次のステップＳＰ２に移る。
【００３９】
ステップＳＰ２において制御部１１は、表示処理部３４（図３）により、図７に示すショット画面ＳＳ１を表示部１５に表示させ、次のステップＳＰ３に移る。このショット画面ＳＳ１は、仮想空間内のゴルフ場において、キャラクターがショット動作を行う様子を画像として表しており、背景ＢＧにキャラクターオブジェクトＣＯやボールオブジェクトＢＯ等が重ねて配置されている。
【００４０】
ステップＳＰ３において制御部１１は、操作入力処理部３２（図３）により、操作部１４（すなわちタッチパネル３）に対するユーザの接触操作を基に、複数の接触点Ｔ（図４）を検出する接触点検出処理（詳しくは後述する）をサブルーチンとして実行し、次のステップＳＰ４に移る。因みに操作点特定処理では、ユーザの接触操作に応じて表示部１５に表示する画面も適宜更新される。
【００４１】
ステップＳＰ４において制御部１１は、操作入力処理部３２（図３）により、複数の接触点Ｔを基に、ショット動作に必要な３箇所の操作点Ｐ（図５）を特定し、さらにショット操作に必要なショットパラメータを決定する操作点特定処理（詳しくは後述する）をサブルーチンとして実行し、次のステップＳＰ５に移る。
【００４２】
ステップＳＰ５において制御部１１は、ステップＳＰ４において３箇所の操作点Ｐ（図５）を全て特定できたか否かを判定する。ここで否定結果が得られると、このことはユーザが適切な接触操作を行わなかったため、３箇所の操作点Ｐを特定できず、ゴルフボールの軌道を計算し得ないことを表している。このとき制御部１１は、所定のエラーメッセージを表示部１５に表示する等して、再度の接触操作をユーザに促した後、ステップＳＰ３に戻って一連の処理を繰り返す。
【００４３】
一方、ステップＳＰ５において肯定結果が得られると、制御部１１は次のステップＳＰ６に移る。ステップＳＰ６において制御部１１は、軌道計算処理部３３（図３）により、ショットパラメータに基づいてボールの軌道を計算する軌道計算処理を実行し、次のステップＳＰ７に移る。
【００４４】
ステップＳＰ７において制御部１１は、表示処理部３４（図３）により、計算された軌道に基づいてゴルフボールが進行する様子を表す画面（詳しくは後述する）を表示部１５に表示させた後、次のステップＳＰ８に移ってショット操作処理手順ＲＴ１を終了する。
【００４５】
因みに制御部１１は、ゴルフゲームの実行中に、１ショット毎にショット操作処理手順ＲＴ１を繰り返し実行する。
【００４６】
［１−４．接触点検出処理］
次に、１回のショット動作において、タッチパネル３の操作部１４に対するユーザの接触操作を基に、制御部１１の操作入力処理部３２（図３）により複数の接触点を順次検出する接触点検出処理について、図８のフローチャートを参照しながら説明する。
【００４７】
制御部１１は、ショット操作処理手順ＲＴ１（図６）においてステップＳＰ３に移ると、操作入力処理部３２により、サブルーチンとして接触点検出処理手順ＲＴ２（図８）を開始させて最初のステップＳＰ１１に移る。
【００４８】
ステップＳＰ１１において操作入力処理部３２は、以降の処理において使用する変数である接触点番号ｉを値「０」に初期化し、次のステップＳＰ１２に移る。この接触点番号ｉは、ユーザによりタッチパネル３の操作部１４に接触された箇所である接触点Ｔを個別に識別すると共にその順序を表す際に用いる値である。ステップＳＰ１２において操作入力処理部３２は、記憶部１２の接触点記憶領域５１（図３）を初期化し、次のステップＳＰ１３に移る。
【００４９】
ステップＳＰ１３において操作入力処理部３２は、接触点検出部４１（図３）により、タッチパネル３の操作部１４においてユーザの指先等による接触を検出したか否かを判定する。ここで肯定結果が得られると、このことはユーザが操作部１４に指先等を接触させる接触操作を行っており、接触を検出した接触点Ｔ（図４）に関する情報を記録する必要があることを表している。このとき制御部１１は、次のステップＳＰ１４に移る。
【００５０】
ステップＳＰ１４において操作入力処理部３２は、接触点番号ｉに値「１」を加算することにより更新し、次のステップＳＰ１５に移る。ステップＳＰ１５において操作入力処理部３２は、接触点管理部４２（図３）により、現在の接触点番号ｉと対応付けて、検出した接触点ＴのＸＹ平面における座標値を記憶部１２の接触点記憶領域５１（図３）に記録し、次のステップＳＰ１６に移る。
【００５１】
これにより接触点記憶領域５１には、ｉ番目の接触点Ｔ（ｉ）のＸＹ平面上における座標値や検出された順序に関する情報が格納される。例えば、図４に示したように、１番目の接触点Ｔ（１）が検出された場合、接触点記憶領域５１には、検出された順序を表す一意の接触点番号「１」と対応付けて、この接触点Ｔ（１）を表すＸＹ座標値が格納される。
【００５２】
ステップＳＰ１６において操作入力処理部３２は、表示処理部３４（図３）と連携することにより、検出した接触点Ｔに応じた画面を表示部１５に表示させることにより表示を更新した後、再度ステップＳＰ１３に戻って一連の処理を繰り返す。これにより操作入力処理部３２は、ユーザが指先等により操作部１４に接触し続ける間、表示部１５の表示画面を１フレームごとに更新する１／３０秒の周期で、ユーザが指先等により操作部１４に接触した点である接触点Ｔの座標や順序を順次記録することができる。
【００５３】
一方、ステップＳＰ１３において否定結果が得られると、このことはユーザが指先等をタッチパネル３から引き離したことにより、一連の接触操作を終了させたことを表している。このとき操作入力処理部３２は、次のステップＳＰ１７に移る。ステップＳＰ１７において操作入力処理部３２は、このときの接触点番号ｉを、検出した接触点Ｔの数である接触点数Ｎとして記憶部１２に記憶させる。その後、操作入力処理部３２は、次のステップＳＰ１８に移って接触点検出処理手順ＲＴ２を終了し、元のショット操作処理手順ＲＴ１（図６）のステップＳＰ３に戻る。
【００５４】
［１−５．接触点の検出及び画面の変化］
ここで、ユーザの指先等による接触操作に応じて接触点検出部４１により検出する各接触点Ｔ（ｉ）の座標と、表示部１５に表示する画面の内容との関係について説明する。上述したように、ショット操作では、ユーザに対し、指先等をタッチパネル３に接触させたまま、下方向へ移動させ、次に上方向へ移動させてから、該タッチパネル３から引き離す、といった接触操作を行わせる。
【００５５】
例えば操作入力処理部３２は、接触点検出部４１により最初の接触点Ｔ（１）を検出し、その後に該接触点Ｔ（１）よりもＹ方向（下方向）側において接触点Ｔ（ａ）を検出した場合（図４）、表示処理部３４と連携することにより、図９に示すショット画面ＳＳ２を表示部１５に表示させる。
【００５６】
このショット画面ＳＳ２は、最初のショット画面ＳＳ１（図７）と比較して、キャラクターオブジェクトＣＯの姿勢や状態が変化しており、また「０」、「５０」及び「１００」といった数字によるパワーゲージＰＧと、現在の接触点から水平方向に伸びたパワーラインＰＬとが表示されている。
【００５７】
キャラクターオブジェクトＣＯは、接触点Ｔが下方向へ移動するに連れて、ゴルフクラブを振り上げるように姿勢を変化させる。一方、パワーゲージＰＧは、最初の接触点Ｔ（１）を基準とした、Ｙ方向（すなわちショット画面ＳＳ２における下方向）への距離を数字により表したものであり、ショット動作におけるパワー（ゴルフボールに加えられる力の大きさ）の大きさとＹ方向の位置との対応を意味している。パワーラインＰＬは、パワーゲージＰＧと現在の接触点Ｔ（ａ）とを水平方向に結ぶ直線となっており、現在の接触点Ｔ（ａ）と対応するパワーのおおよその値をユーザに認識させ得るようになっている。
【００５８】
因みに図９では、表示部１５にショット画面ＳＳ２を表示しているタッチパネル３に対してユーザの指が重なり、その指先が操作部１４に接触している様子を表している。また図９では、ショット画面ＳＳ２内に最初の接触点Ｔ（１）及びＴ（ａ）、並びにユーザの指先等の軌跡を表す接触軌跡線ＬＴを表しているが、これらは説明の都合により表したものである。すなわち実際のショット画面ＳＳ２には、接触点Ｔ（１）及びＴ（ａ）並びに接触軌跡線ＬＴが表示されない。
【００５９】
その後、操作入力処理部３２は、接触点検出部４１により、接触点Ｔ（ａ）からさらにＹ方向（下方向）へ移動した接触点Ｔ（ｂ）を検出した場合（図４）、表示処理部３４と連携することにより、図１０に示すショット画面ＳＳ３を表示部１５に表示させる。ショット画面ＳＳ３は、ショット画面ＳＳ２と比較して、接触点Ｔ（ｂ）の位置に応じてパワーラインＰＬがＹ方向に（すなわち下方向に）移動しており、またキャラクターオブジェクトＣＯがゴルフクラブをさらに振り上げた姿勢に変化している。
【００６０】
やがて操作入力処理部３２は、接触点検出部４１により、接触点Ｔ（ｂ）から−Ｙ方向（上方向）へ移動した接触点Ｔ（ｃ）を検出した場合（図４）、表示処理部３４と連携することにより、図１１に示すショット画面ＳＳ４を表示部１５に表示させる。ショット画面ＳＳ４は、ショット画面ＳＳ３と比較して、接触点Ｔ（ｃ）の位置に応じてパワーラインＰＬが−Ｙ方向に（すなわち上方向に）移動しており、またキャラクターオブジェクトＣＯがゴルフクラブをやや振り下ろした姿勢に変化している。
【００６１】
続いて操作入力処理部３２は、接触点検出部４１により、接触点Ｔ（ｃ）から再度Ｙ方向（下方向）へ移動した接触点Ｔ（ｄ）を検出した場合（図４）、表示処理部３４と連携することにより、図１２に示すショット画面ＳＳ５を表示部１５に表示させる。ショット画面ＳＳ５は、ショット画面ＳＳ４と比較して、接触点Ｔ（ｄ）の位置に応じてパワーラインＰＬが再びＹ方向に（すなわち下方向に）移動しており、またキャラクターオブジェクトＣＯがゴルフクラブを再び振り上げた姿勢に変化している。
【００６２】
次に操作入力処理部３２は、接触点検出部４１により、接触点Ｔ（ｄ）から−Ｙ方向（上方向）へ移動した接触点Ｔ（ｅ）を検出した場合（図４）、表示処理部３４と連携することにより、図１３に示すショット画面ＳＳ６を表示部１５に表示させる。ショット画面ＳＳ６は、ショット画面ＳＳ５と比較して、接触点Ｔ（ｅ）の位置に応じてパワーラインＰＬが−Ｙ方向に（すなわち上方向に）移動しており、またキャラクターオブジェクトＣＯがゴルフクラブをさらに振り下ろした姿勢に変化している。
【００６３】
［１−６．操作点特定処理］
次に、接触点検出処理手順ＲＴ２（図８）において検出された複数の接触点Ｔ（図４）を基に、制御部１１の操作入力処理部３２（図３）により３箇所の操作点Ｐ（図５）を特定する操作点特定処理について、図１４のフローチャートを参照しながら説明する。
【００６４】
制御部１１は、ショット操作処理手順ＲＴ１（図６）においてステップＳＰ４に移ると、操作入力処理部３２により、サブルーチンとして操作点特定処理手順ＲＴ３（図１４）を開始させて最初のステップＳＰ２１に移る。
【００６５】
ステップＳＰ２１において操作入力処理部３２は、接触点数Ｎが３以上であるか否かを判定する。ここで肯定結果が得られると、このことはユーザの接触操作において３点以上の接触点Ｔを検出しているため、３箇所の操作点Ｐを特定し得る可能性があることを表している。このとき操作入力処理部３２は、次のステップＳＰ２２に移る。
【００６６】
ステップＳＰ２２において操作入力処理部３２は、直前の接触点Ｔ（Ｎ−１）から接触点Ｔ（Ｎ）へのＹ方向に関する移動距離であるＹ移動距離ΔＹ（Ｎ）が値「０」未満であるか否か、すなわち接触点Ｔ（Ｎ）が直前の接触点Ｔ（Ｎ−１）よりも−Ｙ方向側（上側）に位置しているか否かを判定する。ここで肯定結果が得られると、このことはユーザが接触操作の最後に上方向へ移動するような操作を行っており、ショット操作を適切に行った可能性が高いことを表している。このとき操作入力処理部３２は、次のステップＳＰ２３に移る。
【００６７】
ステップＳＰ２３において操作入力処理部３２は、第１操作点特定部４３（図３）により、最初の接触点Ｔ（１）を第１操作点Ｐ１として特定し、次のステップＳＰ２４に移る。ステップＳＰ２４において操作入力処理部３２は、第３操作点特定部４５（図３）により、最後の接触点Ｔ（Ｎ）を第３操作点Ｐ３として特定し、次のステップＳＰ２５に移る。ステップＳＰ２５において操作入力処理部３２は、第２操作点Ｐ２を探索する際に使用するカウンタ値ｋを値「１」に初期化し、次のステップＳＰ２６に移る。
【００６８】
ステップＳＰ２６において操作入力処理部３２は、第２操作点特定部４４（図３）により、最後からｋ番目の接触点Ｔ（Ｎ−ｋ）に関し、その直前の接触点Ｔ（Ｎ−ｋ−１）からのＹ方向に関する移動距離であるΔＹ（Ｎ−ｋ）が値「０」以上であるか否かを判定する。このことは、該接触点Ｔ（Ｎ−ｋ）の直前にＹ方向（下方向）へ移動する接触操作が行われたか否かを判定することを意味する。ここで否定結果が得られると、このことは直前の接触点Ｔ（Ｎ−ｋ−１）から接触点Ｔ（Ｎ）まで、−Ｙ方向（上方向）へ移動する接触操作が継続しており、接触点Ｔ（Ｎ−ｋ）においてＹ方向への移動に関して方向が反転しておらず停止もしていないため、該接触点Ｔ（Ｎ−ｋ）を第２操作点Ｐ２とは見なし得ないことを表している。このとき操作入力処理部３２は、次のステップＳＰ２７に移る。
【００６９】
ステップＳＰ２７において操作入力処理部３２は、第２操作点特定部４４により、カウンタ値ｋが接触点数Ｎ未満であるか否かを判定する。ここで肯定結果が得られると、このことは現在の接触点Ｔ（Ｎ−ｋ）が最初の接触点Ｔ（１）では無いため、引き続き第２操作点Ｐ２を探索すべきことを表している。このとき操作入力処理部３２は、次のステップＳＰ２８に移る。
【００７０】
ステップＳＰ２８において操作入力処理部３２は、第２操作点特定部４４により、カウンタ値ｋに値「１」を加算することにより該カウンタ値ｋを更新した後、再度ステップＳＰ２６に戻って一連の処理を繰り返す。これにより操作入力処理部３２は、最後の接触点Ｔ（Ｎ）から検出時と逆の順序で各接触点Ｔを辿りながら、第２操作点Ｐ２を探索していくことになる。
【００７１】
一方、ステップＳＰ２６において肯定結果が得られると、このことは直前の接触点Ｔ（Ｎ−ｋ−１）から接触点Ｔ（Ｎ−ｋ）への接触操作において、Ｙ方向（下方向）へ移動し、若しくはＹ方向に移動しておらず、該接触点Ｔ（Ｎ−ｋ）においてＹ方向に関し、移動方向が反転し、若しくは停止したことを表している。すなわちこのことは、接触点Ｔ（Ｎ−ｋ）に至る直前にＹ方向（下方向）へ向かう接触操作、又はＹ方向へ移動しない接触操作が行われ、その後に第３操作点Ｐ３に至るまで−Ｙ方向（上方向）へのみ移動する接触操作が行われたことを表している。このとき操作入力処理部３２は、次のステップＳＰ２９に移る。
【００７２】
ステップＳＰ２９において操作入力処理部３２は、第２操作点特定部４４により、（Ｎ−ｋ）番目の接触点Ｔ（Ｎ−ｋ）を第２操作点Ｐ２として特定し、次のステップＳＰ３０に移る。これにより、３箇所の操作点Ｐが全て特定されたことになる。
【００７３】
ステップＳＰ３０において操作入力処理部３２は、パラメータ決定部４６により、パワー値、横スピン量、発射角及び縦スピン量といったショットパラメータを決定して記憶部１２に記憶させ、次のステップＳＰ３２に移る。
【００７４】
具体的にパラメータ決定部４６は、図５に示したように、まず第１操作点Ｐ１から第２操作点Ｐ２へ向かう第１操作ベクトルＶ１と、該第２操作点Ｐ２から第３操作点Ｐ３へ向かう第２操作ベクトルＶ２をそれぞれ算出する。
【００７５】
続いてパラメータ決定部４６は、第１操作ベクトルＶ１を基に、今回のショット操作におけるパワー値及び横スピン量をそれぞれ決定する。具体的にパラメータ決定部４６は、図５に示したように、第１操作ベクトルＶ１のうちＹ方向成分である第１操作ベクトルＹ成分ＶＹ１の大きさを基にパワー値を決定する。またパラメータ決定部４６は、第１操作ベクトルＶ１のうちＸ方向成分である第１操作ベクトルＸ成分ＶＸ１の大きさを基に、横スピン量を決定する。
【００７６】
さらにパラメータ決定部４６は、第２操作ベクトルＶ２を基に、今回のショット操作における発射角及び縦スピン量をそれぞれ決定する。具体的にパラメータ決定部４６は、図５に示したように、−Ｙ方向に対する第２操作ベクトルＶ２のなす角度である第２操作ベクトル角度θ２を基に発射角（すなわち水平面内における角度）を決定する。またパラメータ決定部４６は、第２操作ベクトルＶ２のうち−Ｙ方向成分である第２操作ベクトルＹ成分ＶＹ２の大きさを基に、縦スピン量を決定する。このときパラメータ決定部４６は、予め設定された縦スピン量閾値に対する第２操作ベクトルＹ成分ＶＹ２の差分値を算出し、該差分値の符号に応じてトップスピン又はバックスピンとし、さらに該差分値の大きさに応じて該スピンの大きさ（すなわち回転速度）を決定する。
【００７７】
一方、ステップＳＰ２１において否定結果が得られると、このことは一連の接触操作において検出された接触点Ｔが２個以下であり、３箇所の操作点Ｐを特定し得ないことを表している。このとき操作入力処理部３２は、次のステップＳＰ３１に移る。
【００７８】
また、ステップＳＰ２２において否定結果が得られると、このことは最後の接触点Ｔ（Ｎ）に至る接触操作がＹ方向（下方向）への移動であるため、ユーザが適切な接触操作を行わなかったことを表している。このとき操作入力処理部３２は、次のステップＳＰ３１に移る。
【００７９】
さらに、ステップＳＰ２７において否定結果が得られると、このことは最後の接触点Ｔ（Ｎ）から最初の接触点Ｔ（１）までの間に、Ｙ方向（下方向）へ移動する接触操作、又はＹ方向へ移動しない接触操作の何れも行われていないために、第２操作点Ｐ２を特定し得ないことを表している。このとき操作入力処理部３２は、次のステップＳＰ３１に移る。
【００８０】
ステップＳＰ３１において操作入力処理部３２は、検出した接触点数Ｎの接触点Ｔから３箇所の操作点Ｐ（第１操作点Ｐ１、第２操作点Ｐ２及び第３操作点Ｐ３）を特定し得ないため、所定のエラーメッセージを表示部１５に表示する等して、再度のショット操作をユーザに促した後、ステップＳＰ３２に移る。
【００８１】
ステップＳＰ３２において操作入力処理部３２は、操作点特定処理手順ＲＴ３を終了し、元のショット操作処理手順ＲＴ１（図６）のステップＳＰ４に戻る。
【００８２】
この後、制御部１１は、ショット操作処理手順ＲＴ１において各処理を進め、ステップＳＰ７に移ると、表示処理部３４（図３）により、図１５に示すショット画面ＳＳ７を表示部１５に表示させる。このショット画面ＳＳ７では、ショット画面ＳＳ６（図１３）に表示されていたパワーゲージＰＧ及びパワーラインＰＬが消去され、キャラクターオブジェクトＣＯがゴルフクラブを振り抜いた姿勢に変化している。またショット画面ＳＳ７では、軌道計算処理において計算された軌道に沿ってボールオブジェクトＢＯが進行するように描画される。因みにキャラクターオブジェクトＣＯ及びボールオブジェクトＢＯは、それぞれ動く様子がアニメーションにより表示される。
【００８３】
［１−７．効果等］
以上の構成において、第１の実施の形態による携帯情報端末１の制御部１１は、ゴルフゲームのショット操作において、ユーザの接触操作を基に複数の接触点Ｔを検出し、該接触点Ｔの中から３箇所の操作点Ｐを特定した上で、ゴルフボールの軌道計算に必要なショットパラメータを決定する。
【００８４】
制御部１１は、操作点特定処理手順ＲＴ３（図１４）において、操作入力処理部３２（図３）により、最初の接触点Ｔ（１）を第１操作点Ｐ１として特定し、最後の接触点Ｔ（Ｎ）を第３操作点Ｐ３として特定する。そのうえで操作入力処理部３２は、最後の接触点Ｔ（Ｎ）から各接触点Ｔを検出した順序と逆に辿りながら、Ｙ方向に関し、移動方向が反転又は停止した接触点Ｔを第２操作点Ｐ２として特定する。
【００８５】
これにより携帯情報端末１は、ユーザが接触操作において指先等を最後に−Ｙ方向（上方向）へ移動させた部分を、第２操作点Ｐ２から第３操作点Ｐ３への移動として意識しながら操作したものと認識することができ、該ユーザの意に沿ったショット動作を行うことができる。
【００８６】
ところで携帯情報端末１では、ユーザの接触操作を基に、「Ｙ方向に関する移動方向が反転した接触点Ｔを第２操作点Ｐ２として特定する」といった、本実施の形態とは異なる他の手法をとることも考えられる。そうすると、この手法では、図４に示した接触点Ｔのうち、最初にＹ方向に関する移動方向が反転する接触点Ｔ（ｂ）を第２操作点Ｐ２として特定することになる。
【００８７】
一方、図４に示した各接触点Ｔを観察すると、ユーザが接触点Ｔ（ｂ）においてパワー値の大きさが十分であると考えて一度は−Ｙ方向（上方向）への移動を開始したものの、接触点Ｔ（ｃ）において考え直し、パワー値の大きさをより増加させるべきと考えて、再びＹ方向（下方向）へ移動させたものと推察される。しかしながら、上述した他の手法をとった場合、携帯情報端末１では、ユーザの意に反し、接触点Ｔ（ｂ）を第２操作点Ｐ２として特定するため、パワー値が不足した状態でゴルフボールの軌道を計算することになってしまう。
【００８８】
これに対し、本実施の形態による携帯情報端末１は、最後の接触点Ｔ（Ｎ）から各接触点Ｔを逆順に辿るため、ユーザが途中で考え直した場合であっても、最後にＹ方向への移動に関して方向が反転し又は停止した接触点Ｔを、該ユーザが最終的に第２操作点Ｐ２として意識した可能性が高い点と見なし、第２操作点Ｐ２として適切に特定できる。
【００８９】
特にこのゴルフゲームでは、ユーザがショット操作において最初にタッチパネル３に接触した接触点Ｔ（１）が第１操作点Ｐ１となり、この第１操作点Ｐ１から第２操作点Ｐ２までの第１操作ベクトルＶ１（図５）のうち、Ｙ方向成分の大きさがパワー値の大きさを表すことになる。このパワー値は、ゴルフボールの飛距離に大きく影響する値となる。
【００９０】
このためユーザは、接触操作において、指先等をＹ方向（下方向）へ移動させながら、希望するパワー値に応じた位置で移動方向を反転させて−Ｙ方向（上方向）へ移動させることにより、所望の接触点Ｔを第２操作点Ｐ２として特定させる必要がある。しかしながら、実際の接触操作では、指先等のＹ方向（下方向）への移動距離が過大又は過少となる可能性がある。
【００９１】
そこで本実施の形態による携帯情報端末１は、最後の接触点Ｔ（Ｎ）から各接触点Ｔを逆順に辿るため、その前にＹ方向に関する移動が反転又は停止した箇所を無視することができる。これにより携帯情報端末１は、ユーザに対し、１回の接触操作において第２操作点Ｐ２としたい接触点Ｔが決まるまで、接触点ＴをＹ方向又は−Ｙ方向へ移動させること、すなわちＹ方向に関する位置の調整を許容している。
【００９２】
これを換言すれば、本実施の形態による携帯情報端末１は、ユーザが接触操作の途中で考え直す場合やうまく操作できなかった場合等を考慮し、最初の接触点Ｔ（１）から順に各接触点Ｔを辿るのでは無く、最後の接触点Ｔ（Ｎ）から逆順に各接触点Ｔを辿ることにより、該ユーザの最終的な意図が反映された操作入力を受け付けることができる。
【００９３】
また携帯情報端末１は、ユーザが考え直すことや位置を調整すること無く、「接触点ＴをＹ方向へ移動させ、その後に−Ｙ方向へ移動させる」といった円滑な接触操作を行った場合であっても、第１操作点Ｐ１、第３操作点Ｐ３及び第２操作点Ｐ２をそれぞれ適切に特定でき、該ユーザの意図が反映された操作入力を受け付けることができる。
【００９４】
この結果、携帯情報端末１は、ユーザによるタッチパネル３に対する接触操作を基に、ユーザの意に沿った入力操作を受け付けてショット動作を行うことができる。
【００９５】
さらに携帯情報端末１は、ショット画面ＳＳ２（図９）等において、パワーゲージＰＧ及びパワーラインＰＬをそれぞれ表示させるようにした。このため携帯情報端末１は、ユーザに対し、希望するパワー値において、接触操作における移動方向をＹ方向（下方向）から−Ｙ方向（上方向）へ反転させることができ、該ユーザの意に沿った入力操作を容易に行わせることができる。
【００９６】
以上の構成によれば、第１の実施の形態による携帯情報端末１は、ゴルフゲームのショット操作において、最初の接触点Ｔ（１）及び最後の接触点Ｔ（Ｎ）をそれぞれ第１操作点Ｐ１及び第３操作点Ｐ３として特定する。また携帯情報端末１は、最後の接触点Ｔ（Ｎ）から各接触点Ｔを検出した順序と逆に辿りながら、Ｙ方向に関し、移動方向が反転又は停止した接触点Ｔを第２操作点Ｐ２として特定する。これにより携帯情報端末１は、ユーザが接触操作において指先等のＹ方向に関する移動方向を最後に反転又は停止させた部分を、第２操作点Ｐ２として意識しながら操作したものと認識でき、その結果として該ユーザの意に沿ったショット動作を行うことができる。
【００９７】
［２．第２の実施の形態］
第２の実施の形態による携帯情報端末２０１（図１及び図２）は、第１の実施の形態による携帯情報端末１と比較して、制御部１１に代わる制御部２１１を有する点において相違するものの、他の点については同様に構成されている。
【００９８】
制御部２１１（図３）は、第１の実施の形態による制御部１１と比較して、ゴルフゲームの実行時に、操作入力処理部３２及び第２操作点特定部４４に代わる操作入力処理部２３２及び第２操作点特定部２４４を形成する点において相違するものの、他の点については同様に構成されている。
【００９９】
また制御部２１１は、予め探索上限数Ｍ（例えば値「５」）を設定している。この探索上限数Ｍは、操作点特定処理（図６、ステップＳＰ４）において、最後の接触点Ｔ（Ｎ）である第３操作点Ｐ３から検出時と逆の順序で各接触点Ｔを辿りながら第２操作点Ｐ２を探索する際の上限となる数である。
【０１００】
さらに制御部２１１は、第１の実施の形態と同様、ゴルフゲームの実行時にショット操作処理手順ＲＴ１（図６）を実行するものの、ステップＳＰ４において、操作点特定処理手順ＲＴ３（図１４）に代えて、図１６に示す操作点特定処理手順ＲＴ２３をサブルーチンとして実行するようになっている。
【０１０１】
このとき制御部２１１は、操作入力処理部２３２により、サブルーチンとして操作点特定処理手順ＲＴ２３（図１６）を開始させると、最初のステップＳＰ２２１に移る。
【０１０２】
操作入力処理部２３２は、ステップＳＰ２２１〜ＳＰ２２６において、操作点特定処理手順ＲＴ３（図１４）のステップＳＰ２１〜ＳＰ２６とそれぞれ同様の処理を行い、該ステップＳＰ２２６において否定結果が得られると、次のステップＳＰ２２７に移る。
【０１０３】
ステップＳＰ２２７において操作入力処理部２３２は、第２操作点特定部２４４により、カウンタ値ｋが探索上限数Ｍ以上であるか否かを判定する。ここで否定結果が得られると、このことは現在までに探索した接触点Ｔの数が探索上限数Ｍ未満であるため、引き続き第２操作点Ｐ２を探索すべきことを表している。このとき操作入力処理部２３２は、次のステップＳＰ２２８に移る。
【０１０４】
一方、ステップＳＰ２２７において肯定結果が得られると、このことは現在までに探索した接触点Ｔの数が探索上限数Ｍ以上であるため、探索処理を切り上げて現在の接触点Ｔ（Ｎ−ｋ）を第２操作点Ｐ２と見なすべきことを表している。このとき操作入力処理部２３２は、次のステップＳＰ２３０に移る。
【０１０５】
この場合、操作入力処理部２３２の第２操作点特定部２４４は、図４と対応する図１７に示すように、Ｙ方向に関する移動方向が反転も停止もしていない接触点Ｔ（Ｎ−Ｍ）を、第２操作点Ｐ２として特定することができる。
【０１０６】
その後、操作入力処理部２３２は、ステップＳＰ２２８〜ＳＰ２３２において、操作点特定処理手順ＲＴ３（図１４）のステップＳＰ２７〜ＳＰ３１とそれぞれ同様の処理を行った後、ステップＳＰ２３３に移って操作点特定処理手順ＲＴ２３を終了し、元のショット操作処理手順ＲＴ１（図６）のステップＳＰ４に戻る。
【０１０７】
以上の構成において、第２の実施の形態による携帯情報端末２０１の制御部２１１は、第１の実施の形態と同様に、ゴルフゲームのショット操作において、ユーザの接触操作を基に複数の接触点Ｔを検出し、該接触点Ｔの中から３箇所の操作点Ｐを特定した上で、ゴルフボールの軌道計算に必要なショットパラメータを決定する。
【０１０８】
制御部２１１は、操作点特定処理手順ＲＴ２３（図１６）において、操作入力処理部２３２（図３）により、最初の接触点Ｔ（１）を第１操作点Ｐ１として特定し、最後の接触点Ｔ（Ｎ）を第３操作点Ｐ３として特定する。そのうえで操作入力処理部２３２は、最後の接触点Ｔ（Ｎ）から各接触点Ｔを検出した順序と逆に辿りながら、Ｙ方向に関し、移動方向が反転又は停止した接触点Ｔを第２操作点Ｐ２として特定する。
【０１０９】
これにより携帯情報端末２０１は、第１の実施の形態と同様に、ユーザが接触操作において指先等を最後に−Ｙ方向（上方向）へ移動させた部分を、第２操作点Ｐ２から第３操作点Ｐ３への移動として意識しながら操作したものと認識することができ、該ユーザの意に沿ったショット動作を行うことができる。
【０１１０】
ところでユーザは、接触操作において、指先等をゆっくりと−Ｙ方向（上方向）へ移動させながら、Ｙ方向に関する移動方向を反転若しくは停止させること無く、第２操作点Ｐ２としたい位置において急に加速を開始し、その後タッチパネル３から指先等を引き離す、といった操作を行う場合がある。この場合、ユーザが第２操作点Ｐ２としたい接触点Ｔでは、Ｙ方向に関する移動方向が反転も停止もしていない。このため、第１の実施の形態による操作点特定処理手順ＲＴ３（図１４）では、このような接触点Ｔを第２操作点Ｐ２として特定することが困難であった。
【０１１１】
これに対し、本実施の形態による携帯情報端末２０１では、探索上限数Ｍを設定し、最後の接触点Ｔ（Ｎ）からの探索数が該探索上限数Ｍ以上となった場合、接触点Ｔ（Ｎ−Ｍ）を第２操作点Ｐ２として特定するようにした（図１６及び図１７）。これにより携帯情報端末２０１は、探索上限数Ｍを適切に設定しておけば、ユーザが−Ｙ方向への移動を急に加速させた接触点Ｔ又はその近傍の接触点Ｔを、第２操作点Ｐ２として特定することができる。
【０１１２】
その他の点についても、第２の実施の形態による携帯情報端末２０１は、第１の実施の形態と同様の作用効果を奏し得る。
【０１１３】
以上の構成によれば、第２の実施の形態による携帯情報端末２０１は、ゴルフゲームのショット操作において、最初の接触点Ｔ（１）及び最後の接触点Ｔ（Ｎ）をそれぞれ第１操作点Ｐ１及び第３操作点Ｐ３として特定する。また携帯情報端末２０１は、最後の接触点Ｔ（Ｎ）から各接触点Ｔを検出した順序と逆に辿りながら、Ｙ方向に関し、移動方向が反転又は停止した接触点Ｔを第２操作点Ｐ２として特定する。さらに携帯情報端末２０１は、最後の接触点Ｔ（Ｎ）から探索上限数Ｍ以内に第２操作点Ｐ２を特定できなかった場合、接触点Ｔ（Ｎ−Ｍ）を第２操作点Ｐ２として特定する。これにより携帯情報端末２０１は、ユーザが接触操作において指先等のＹ方向に関する移動方向を最後に反転又は停止させた部分、若しくは急に加速を開始した部分を、第２操作点Ｐ２として意識しながら操作したものと認識でき、その結果として該ユーザの意に沿ったショット動作を行うことができる。
【０１１４】
［３．他の実施の形態］
なお上述した実施の形態においては、操作点特定処理手順ＲＴ３（図１４）のステップＳＰ２６において、ΔＹ（Ｎ−ｋ）が値「０」以上であり、Ｙ方向の移動に関して方向が反転若しくは停止した場合に、第２操作点Ｐ２を特定する場合について述べた。しかしながら本発明はこれに限らず、例えばΔＹ（Ｎ−ｋ）が値「０」よりも大きく、Ｙ方向の移動に関して方向が反転した場合にのみ、第２操作点Ｐ２を特定しても良い。或いは、ΔＹ（Ｎ−ｋ）が値「０」と異なる所定の閾値以上である場合に、第２操作点Ｐ２を特定しても良い。第２の実施の形態についても同様である。
【０１１５】
また上述した第１の実施の形態においては、ユーザが指先等をタッチパネル３から引き離し、接触操作を完了した場合に、操作点特定処理手順ＲＴ３（図１４）において、最後の接触点Ｔ（Ｎ）を第３操作点Ｐ３とする場合について述べた。しかしながら本発明はこれに限らず、例えば順序が連続する接触点Ｔ同士の間で、１フレームにおける−Ｙ方向（上方向）へのＹ移動距離ΔＹ（Ｎ）が所定の閾値未満であった場合、すなわち−Ｙ方向の移動速度が所定速度未満であった場合に、操作点を特定せずにステップＳＰ３１に移ってエラー処理を行っても良い。これにより、例えばユーザが−Ｙ方向への速度を高めながら移動する途中で、誤操作により指先等をタッチパネル３から引き離してしまった場合に、接触操作をやり直させることができる。第２の実施の形態についても同様である。
【０１１６】
さらに上述した第１の実施の形態においては、操作点特定処理手順ＲＴ３（図１４）において、最後の接触点Ｔ（Ｎ）から各接触点Ｔを検出時と逆の順序で辿りながら、Ｙ方向に関する移動方向が反転し又は停止した接触点Ｔを、第２操作点Ｐ２として特定する場合について述べた。しかしながら本発明はこれに限らず、最後の接触点Ｔ（Ｎ）から各接触点Ｔを検出時と逆の順序で辿りながら、所定の基準軸に沿った方向に関する移動方向が反転し又は停止した接触点Ｔを、第２操作点Ｐ２として特定しても良い。この場合、基準軸としては、例えば傾斜センサ１７により検出した重力の方向等、種々の方向とすることができる。第２の実施の形態についても同様である。
【０１１７】
さらに上述した第１の実施の形態においては、タッチパネル３の表示部１５におけるフレームレートが毎秒３０フレームである場合に、接触操作において１フレーム毎に接触点Ｔを検出する場合について述べた。しかしながら本発明はこれに限らず、他の種々のフレームレート毎に、或いは表示部１５のフレームレートと異なる時間間隔毎に、接触点Ｔを検出しても良い。第２の実施の形態についても同様である。
【０１１８】
さらに上述した第１の実施の形態においては、ショット画面ＳＳ２（図９）等にパワーゲージＰＧ及びパワーラインＰＬを表示する場合について述べた。しかしながら本発明はこれに限らず、例えばパワーゲージＰＧ及びパワーラインＰＬの少なくとも一方を省略しても良い。また、ショット画面ＳＳ２等において、最初の接触点Ｔ（１）を表す図形や記号、及び接触軌跡線ＬＴを表す図形や記号等、接触操作に関する種々の情報を表す図形や記号等を適宜表示しても良い。第２の実施の形態についても同様である。
【０１１９】
さらに上述した第１の実施の形態においては、操作点特定処理手順ＲＴ３（図１４）のステップＳＰ３０において、第１操作ベクトルＹ成分ＶＹ１の大きさを基にパワー値を決定し、第１操作ベクトルＸ成分ＶＸ１の大きさを基に横スピン量を決定する場合について述べた（図５）。また第１の実施の形態においては、第２操作ベクトル角度θ２を基に発射角を決定し、第２操作ベクトルＹ成分ＶＹ２の大きさを基に縦スピン量を決定する場合について述べた。しかしながら本発明はこれに限らず、例えば第２操作ベクトルＶ２のＹ方向成分など、第１操作点Ｐ１、第２操作点Ｐ２及び第３操作点Ｐ３の相対的な位置を基に得られる種々の値を基に、パワー値等のショットパラメータを決定しても良い。具体的には、例えば以下の（Ａ１）〜（Ａ１７）のような値を用いることができる。第２の実施の形態についても同様である。
【０１２０】
（Ａ１）第１操作点Ｐ１及び第２操作点Ｐ２の距離
（Ａ２）第１操作点Ｐ１及び第２操作点Ｐ２の間における接触点Ｔの数又は移動時間
（Ａ３）第１操作ベクトルＶ１の所定方向成分の大きさ
（Ａ４）第１操作ベクトルＶ１の所定軸に対する角度
（Ａ５）第１操作点Ｐ１から第２操作点Ｐ２へ向かう軌跡の直線性
（Ａ６）第２操作点Ｐ２及び第３操作点Ｐ３の距離
（Ａ７）第２操作点Ｐ２及び第３操作点Ｐ３の間における接触点Ｔの数又は移動時間
（Ａ８）第２操作点Ｐ２から第３操作点Ｐ３へ向かう軌跡の直線性
（Ａ９）第２操作ベクトルＶ２の所定方向成分の大きさ
（Ａ１０）第２操作ベクトルＶ２の所定軸に対する角度
（Ａ１１）第１操作点Ｐ１及び第３操作点Ｐ３の距離
（Ａ１２）第１操作点Ｐ１から第３操作点Ｐ３に至る接触点Ｔの総数又は移動時間
（Ａ１３）第１操作点Ｐ１から第３操作点Ｐ３へ向かうベクトルの所定方向成分の大きさ
（Ａ１４）第１操作点Ｐ１から第３操作点Ｐ３へ向かうベクトルの所定軸に対する角度
（Ａ１５）第１操作点Ｐ１から第２操作点Ｐ２を経て第３操作点Ｐ３に至る軌跡の長さ
（Ａ１６）第１操作点Ｐ１、第２操作点Ｐ２及び第３操作点Ｐ３を結ぶ三角形の面積
（Ａ１７）第１操作点Ｐ１から第２操作点Ｐ２を経て第３操作点Ｐ３に至る軌跡により囲まれる図形の面積
【０１２１】
さらに上述した第１の実施の形態においては、操作点特定処理手順ＲＴ３（図１４）のステップＳＰ３０において、３箇所の操作点Ｐの位置を基に、パワー値、横スピン量、発射角、及び縦スピン量といったショットパラメータを決定する場合について述べた。しかしながら本発明はこれに限らず、３箇所の操作点Ｐの位置を基に、他の種々のショットパラメータを決定しても良い。具体的には、例えば以下の（Ｂ１）〜（Ｂ４）のようなショットパラメータを決定することができる。第２の実施の形態についても同様である。
【０１２２】
（Ｂ１）ゴルフボールの仰角（すなわち水平面に対する角度）
（Ｂ２）ゴルフボールの初速
（Ｂ３）飛距離
（Ｂ４）着地時の回転方向及び回転速度
【０１２３】
さらに上述した第１の実施の形態においては、ゴルフゲームにおいてユーザの接触操作を基に３点の操作点Ｐを特定してショット操作におけるショットパラメータを決定する場合について述べた。しかしながら本発明はこれに限らず、例えば３点の操作点Ｐを基に、グリーン上でパターを用いるパット操作におけるパラメータを適宜決定しても良い。第２の実施の形態についても同様である。
【０１２４】
さらに上述した第１の実施の形態においては、制御部１１の操作入力処理部３２等を、ソフトウェアによる機能ブロックとして形成する場合について述べた。しかしながら本発明はこれに限らず、操作入力処理部３２等の少なくとも一部分を、ハードウェアによる回路として構成しても良い。第２の実施の形態についても同様である。
【０１２５】
さらに上述した第１の実施の形態においては、ゴルフゲームのアプリケーションプログラムを予め記憶部１２（図２）に格納させ、当該アプリケーションを読み出して実行することによりゴルフゲームを実行する場合について述べた。しかしながら本発明はこれに限らず、例えば通信部１３を介して外部のサーバ等（図示せず）からゴルフゲームのアプリケーションプログラムを取得して実行しても良い。或いは、着脱式のメモリカードのような記憶媒体からゴルフゲームのアプリケーションプログラムを読み出して実行しても良い。要は、種々の手段を介して取得したアプリケーションプログラムを実行することにより、ゴルフゲームを実行しても良い。第２の実施の形態についても同様である。
【０１２６】
さらに上述した第１の実施の形態においては、スマートフォンでなる携帯情報端末１に本発明を適用する場合について述べた。しかしながら本発明はこれに限らず、例えばタブレット端末やノート型コンピュータ、或いはスマートウォッチ等とも呼ばれる腕時計型の端末装置、或いは自動車内のダッシュボードや座席の背面等に設けられた操作パネル等、タッチパネルを備えた種々の情報処理装置に本発明を適用しても良い。第２の実施の形態についても同様である。
【０１２７】
さらに本発明は、上述した各実施の形態及び他の実施の形態に限定されるものではない。すなわち本発明は、上述した各実施の形態と上述した他の実施の形態の一部又は全部を任意に組み合わせた実施の形態や、一部を抽出した実施の形態にもその適用範囲が及ぶものである。
【産業上の利用可能性】
【０１２８】
本発明は、例えばスマートフォンのような携帯情報端末においてゴルフゲームを実行する場合に利用できる。
【符号の説明】
【０１２９】
１、２０１……携帯情報端末、３……タッチパネル、１１、２１１……制御部、１２……記憶部、１４……操作部、１５……表示部、３２、２３２……操作入力処理部、３３……軌道計算処理部、４１……接触点検出部、４２……接触点管理部、４３……第１操作点特定部、４４、２４４……第２操作点特定部、４５……第３操作点特定部、４６……パラメータ決定部、５１……接触点記憶領域、５２……操作点記憶領域、Ｍ……探索上限数、Ｎ……接触点数、Ｐ……操作点、Ｐ１……第１操作点、Ｐ２……第２操作点、Ｐ３……第３操作点、Ｔ……接触点、ΔＹ……Ｙ移動距離。
【要約】
【課題】ユーザの意に沿った操作入力を受け付け得るようにする。
【解決手段】携帯情報端末１は、ゴルフゲームのショット操作において、最初の接触点Ｔ（１）及び最後の接触点Ｔ（Ｎ）をそれぞれ第１操作点Ｐ１及び第３操作点Ｐ３として特定する。また携帯情報端末１は、最後の接触点Ｔ（Ｎ）から各接触点Ｔを検出した順序と逆に辿りながら、Ｙ方向に関し、移動方向が反転又は停止した接触点Ｔを第２操作点Ｐ２として特定する。これにより携帯情報端末１は、ユーザが接触操作において指先等のＹ方向に関する移動方向を最後に反転又は停止させた部分を、第２操作点Ｐ２として意識しながら操作したものと認識でき、その結果として該ユーザの意に沿ったショット動作を行うことができる。
【選択図】図４【図１】
0006853559.tif 000002
【図２】
0006853559.tif 000003
【図３】
0006853559.tif 000004
【図４】
0006853559.tif 000005
【図５】
0006853559.tif 000006
【図６】
0006853559.tif 000007
【図７】
0006853559.tif 000008
【図８】
0006853559.tif 000009
【図９】
0006853559.tif 000010
【図１０】
0006853559.tif 000011
【図１１】
0006853559.tif 000012
【図１２】
0006853559.tif 000013
【図１３】
0006853559.tif 000014
【図１４】
0006853559.tif 000015
【図１５】
0006853559.tif 000016
【図１６】
0006853559.tif 000017
【図１７】
0006853559.tif 000018