情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法
【課題】表示部において、スクロール指示領域がスクロール方向に短い範囲しかとれない状況においても、ユーザに不快感を与えない操作によってスクロール方向にスクロール表示が可能な情報処理プログラム等を提供すること。
【解決手段】表示領域は、スクロール対象画像を表示するスクロール画像表示領域を含む。ユーザによる表示領域上のタッチ位置が基準位置より第1方向(スクロール方向)に配置される第1領域上で所定時間連続して検出されたか否かの判定と、タッチ位置が第1方向とは異なる方向に変位したか否かの判定の少なくとも一方が肯定である場合に、スクロール対象画像は第1方向にスクロール表示される。
【解決手段】表示領域は、スクロール対象画像を表示するスクロール画像表示領域を含む。ユーザによる表示領域上のタッチ位置が基準位置より第1方向(スクロール方向)に配置される第1領域上で所定時間連続して検出されたか否かの判定と、タッチ位置が第1方向とは異なる方向に変位したか否かの判定の少なくとも一方が肯定である場合に、スクロール対象画像は第1方向にスクロール表示される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法に関し、より特定的には、ユーザが入力手段を用いて行った操作に応じた情報処理を行う情報処理装置に実行させる情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法に関する。
【背景技術】
【0002】
従来、表示部が有する表示領域よりも大きな画像を表示する場合、当該画像はスクロール操作によってスクロール表示される。そのため、例えば特許文献1には、表示部にスクロール操作が可能なスクロール指示領域(ドラッグ操作領域)を設けることが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−330613号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一方、表示領域に表示された画像に対して選択操作等の処理を行うためには、表示領域内に当該操作用の操作領域を設ける必要がある。したがって、前述のスクロール指示領域は、この操作領域以外の領域に配置される必要がある。ところで、情報処理装置の小型化が進む現代においては、表示部が小さくなるため、表示部において表示領域の占める割合を大きくしたいという要望が生じる。この場合、表示領域に表示された画像に対して操作を行う操作領域以外の領域が狭くなり、このことにより、スクロール指示領域の配置可能な領域は狭くなる。したがって、スクロール指示領域の配置可能な領域はスクロール方向に短い距離しかとれず、スクロールの従来技術であるスクロール方向へのドラッグ操作を行うことは難しい。
【0005】
それ故に、本発明の主たる目的は、スクロール指示領域がスクロール方向に短い距離しかとれない状況においても、操作性の良いスクロール操作が可能な情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法を提供することである。
【課題を解決するための手段】
【0006】
本発明は上記の課題を解決するために、以下の構成を採用した。なお、本欄における括弧内の参照符号や補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【0007】
本発明は、スクロール対象画像を表示するスクロール画像表示領域(51)を有する表示領域を備えた情報処理装置のコンピュータに実行させる情報処理プログラムとして構成される。情報処理プログラムは、当該コンピュータを、指示位置検出手段と、第1スクロール指示判定手段と、第2スクロール指示判定手段と、スクロール制御手段として機能させる。指示位置検出手段は、ユーザによる表示領域上の指示位置を逐次検出する。第1スクロール指示判定手段は、指示位置検出手段によって検出された指示位置が、基準位置より第1方向(図5に示されるy軸正方向)に配置される第1領域(53)上で所定時間連続して検出されたか否かを判定する。第2スクロール指示判定手段は、指示位置検出手段によって検出された指示位置が、第1方向と異なる方向に変位したか否かを判定する。スクロール制御手段は、第1スクロール指示判定手段及び第2スクロール指示判定手段の判定結果の少なくとも一方が肯定である場合に、スクロール対象画像を第1方向に沿ってスクロールさせる。
【0008】
本構成によれば、ユーザは、指示位置を所定の第1領域において所定時間保持させることにより、スクロール対象画像を第1方向にスクロール表示させる(スクロール対象画像をスクロール画像表示領域に対して第1方向と反対方向に移動させる)ことができる。また、ユーザは、指示位置を第1方向と異なる方向に移動させることによっても、スクロール対象画像を第1方向にスクロール表示させることができる。すなわち、ユーザは、所定時間の経過を待ってスクロール表示させることも、所定時間の経過を待たずにスクロール表示させることもできる。このことにより、スクロール表示のための操作性が向上する。
【0009】
第1領域(53)は、スクロール指示に用いられる領域であり、スクロール画像表示領域(51)は、第2領域(52)を含み、第1領域は、第2領域に対して第1方向(図5に示されるy軸正方向)に配置されてもよい。この場合、第2スクロール指示判定手段は、指示位置検出手段によって検出された指示位置が、第1領域内で第1方向と異なる方向に変位したか否かを判定する。
【0010】
本構成によれば、ユーザは、指示位置を第1領域(スクロール指示領域)において所定時間保持させることにより、スクロール対象画像を第1方向にスクロール表示させる(スクロール対象画像をスクロール画像表示領域に対して第1方向と反対方向に移動させる)ことができる。また、ユーザは、スクロール指示領域内において指示位置を第1方向と異なる方向に移動させることによっても、スクロール対象画像を第1方向にスクロール表示させることができる。すなわち、ユーザは、所定時間の経過を待ってスクロール表示させることも、所定時間の経過を待たずにスクロール表示させることもできる。このことにより、スクロール表示のための操作性が向上する。
【0011】
情報処理プログラムは、コンピュータを、スクロール対象画像を第1方向に沿ってスクロールさせる際のスクロールの量を決定するスクロール量決定手段としてさらに機能させてもよい。スクロール量決定手段は、指示位置検出手段によって検出された指示位置が第1領域上に位置している時間に基づいて、第1のスクロールの量を決定し、指示位置検出手段によって検出された指示位置が第1領域において第1方向と異なる方向に変位した変位量に基づいて、第2のスクロールの量を決定する。スクロール制御手段は、スクロール量決定手段によって決定された第1のスクロールの量と第2のスクロールの量とを合算したスクロールの量だけスクロール対象画像を第1方向に沿ってスクロールさせる。
【0012】
本構成によれば、ユーザは、指示位置を第1領域(スクロール指示領域)において所定時間保持させる第1の操作により、その時間に応じたスクロールの量(H1)だけスクロール対象画像を第1方向にスクロール表示させる(スクロール対象画像をスクロール画像表示領域に対して第1方向と反対方向に移動させる)ことができる。また、ユーザは、スクロール指示領域内において指示位置を第1方向と異なる方向に移動させる第2の操作により、その変位量に応じたスクロールの量(H2)だけスクロール対象画像を第1方向にスクロール表示させることもできる。したがって、すぐさまスクロール表示を行いたいユーザは、第1の操作による所定時間の経過を待つことなく、第2の操作によってスクロール対象画像をスクロール表示させることができる。また、第2の操作を所定時間行うことによって、第1の操作も同時に行われることになり、スクロール対象画像がスクロールされる際のスクロールの量は、H1+H2となる。このことにより、ユーザは、第1の操作と第2の操作を同時に行うことで、一方の操作によるスクロールの量(H1又はH2)よりも大きなスクロールの量で、スクロール表示を行うことが可能となる。
【0013】
スクロール量決定手段による処理は以下のとおりであってもよい。すなわち、スクロール量決定手段は、指示位置検出手段によって検出された指示位置が第1領域上に位置している時間に基づいて、単位時間あたりにスクロールさせる第1のスクロールの量を決定し、指示位置検出手段によって検出された指示位置が第1領域において第1方向と異なる方向に変位した変位量に基づいて、当該単位時間あたりにスクロールさせる第2のスクロールの量を決定する。この場合、スクロール制御手段は、当該単位時間あたりに、スクロール量決定手段によって決定された当該第1のスクロールの量と当該第2のスクロールの量とを合算したスクロールの量だけスクロール対象画像を第1方向に沿ってスクロールさせる。
【0014】
本構成によれば、ユーザは、指示位置を第1領域(スクロール指示領域)において所定時間保持させる第1の操作により、当該所定時間に応じた単位時間あたりにスクロールさせる量だけ(すなわち、速さV1で)スクロール対象画像を第1方向にスクロール表示させる(スクロール対象画像をスクロール画像表示領域に対して第1方向と反対方向に移動させる)ことができる。また、ユーザは、スクロール指示領域内において指示位置を第1方向と異なる方向に移動させる第2の操作により、その変位量に応じた単位時間あたりにスクロールさせる量だけ(すなわち、速さV2で)でスクロール対象画像を第1方向にスクロール表示させることもできる。したがって、すぐさまスクロール表示を行いたいユーザは、第1の操作による所定時間の経過を待つことなく、第2の操作によってスクロール対象画像をスクロール表示させることができる。また、第2の操作を所定時間行うことによって、第1の操作も同時に行われることになり、スクロール対象画像がスクロールされる際のスクロールの速さは、V1+V2となる。このことにより、ユーザは、第1の操作と第2の操作を同時に行うことで、一方の操作によるスクロールの速さ(V1又はV2)よりも速く、スクロール表示を行うことが可能となる。
【0015】
スクロール量決定手段による処理は以下のとおりであってもよい。すなわち、スクロール量決定手段は、指示位置検出手段によって検出された指示位置が第1領域において所定の基準位置から第1方向と異なる方向に移動した軌跡の長さに応じて、第2のスクロールの量を決定する。
【0016】
本構成によれば、第1領域(スクロール指示領域)において、ユーザは、指示位置を第1方向(スクロール方向)と異なる方向に往復移動させることによっても、指示位置が第1方向と異なる方向に移動した軌跡の長さを長くすることができる。このことにより、第1方向と異なる方向に指示位置を移動させることが可能な領域が小さくても、往復移動を繰り返すことにより当該軌跡の長さを長くすることが可能であり、この長さに応じて決定されるスクロールの量を大きく(例えば、スクロールの速さを速く)することが可能になる。
【0017】
スクロール量決定手段による処理は以下のとおりであってもよい。すなわち、スクロール量決定手段は、指示位置検出手段によって検出された指示位置が第1領域において所定の基準位置から第1方向と異なる方向に変位した変位量に応じて、第2のスクロールの量を決定する。
【0018】
本構成によれば、スクロール画像表示領域内に位置する第1領域(スクロール指示領域)において、ユーザは、所定の基準位置から指示位置を第1方向(スクロール方向)と異なる方向に移動させる移動量(距離)を変えることにより、この移動量に応じて決定されるスクロールの量を変えることができる。したがって、ユーザは、指示位置を移動させ続けることなく所定の位置に保持することで所定時間の経過までスクロールの量(例えば、スクロールの速さ)を一定に保つことができる。
【0019】
スクロール量決定手段による処理は以下のとおりであってもよい。すなわち、スクロール量決定手段は、指示位置検出手段によって検出された指示位置が第1領域において第1方向と異なる方向に所定時間内に変位した変位量に応じて、第2のスクロールの量を決定する。
【0020】
本構成によれば、第1領域(スクロール指示領域)において、ユーザは、指示位置を第1方向(スクロール方向)と異なる方向に移動させる速さを変えることにより、この速さに応じて決定されるスクロールの量を変えることができる。すなわち、ユーザは、指示位置を速く動かせばスクロールの量は大きくなるという直感的な操作によってスクロールの量(例えば、スクロールの速さ)を変更することができる。
【0021】
第2スクロール指示判定手段による処理は以下のとおりであってもよい。すなわち、第2スクロール指示判定手段は、指示位置検出手段によって検出された指示位置が第1領域において第1方向と異なる方向に所定時間内に所定の閾値を超えて変位したか否かを判定する。
【0022】
本構成によれば、第1領域(スクロール指示領域)において、ユーザは、指示位置を所定の速さ以上で第1方向(スクロール方向)と異なる方向に移動させることによって、スクロール対象画像を第1方向にスクロール表示させる(スクロール対象画像をスクロール画像表示領域に対して第1方向と反対方向に移動させる)ことができる。したがって、指示位置を第1方向と異なる方向にゆっくり移動させた場合のように、ユーザにスクロール表示の意図がないとみなせる場合に、所定の時間の経過までスクロール表示されることを回避することができる。
【0023】
第1方向と異なる方向は、第1方向と直交する方向であってもよい。
【0024】
一般に、スクロール対象画像の表示される部分を少しでも大きくするために、スクロール画像表示領域をスクロール方向に広くしたいという要望がある。このような場合、スクロール表示領域内の第2領域(例えば画像の一部を選択するための選択操作領域)もスクロール方向に広くする必要があるため、第1領域(スクロール指示領域)のスクロール方向の長さ(幅)は短くなる。しかし、スクロール指示領域のスクロール方向と直交する方向の長さ(幅)は短くなることはない。本構成によれば、スクロール指示領域において、スクロール方向と直交する方向の長さ(幅)は、ユーザが指示位置を移動させるのに十分な長さを有しており、ユーザはこの方向に指示位置を移動させることによりスクロール表示させることができる。
【0025】
以上では、情報処理プログラムとして本発明を構成する場合について記載した。しかし、本発明は、情報処理装置、情報処理システム、又は情報処理方法として構成されてもよい。更には、本発明は、上記情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体として構成されてもよい。
【発明の効果】
【0026】
本発明によれば、スクロール指示領域がスクロール方向に短い距離しかとれない状況においても、操作性の良いスクロール操作が可能な情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法を提供することができる。
【図面の簡単な説明】
【0027】
【図1】開いた状態のゲーム装置10の正面図
【図2】開いた状態のゲーム装置10の右側面図
【図3A】閉じた状態のゲーム装置10の左側面図
【図3B】閉じた状態のゲーム装置10の正面図
【図3C】閉じた状態のゲーム装置10の右側面図
【図3D】閉じた状態のゲーム装置10の背面図
【図4】ゲーム装置10の内部構成の一例を示すブロック図
【図5】下側LCD12の表示画面に表示される画像の一例を示す図
【図6】ユーザが下側LCD12の表示画面に対して行う操作の一例を示す図
【図7】ユーザが下側LCD12の表示画面に対して行う操作の一例を示す図
【図8】ユーザが下側LCD12の表示画面に対して行う操作の一例を示す図
【図9】ユーザが下側LCD12の表示画面に対して行う操作の一例を示す図
【図10】ユーザが下側LCD12の表示画面に対して行う操作の一例を示す図
【図11】ユーザが下側LCD12の表示画面に対して行う操作の一例を示す図
【図12】ユーザが下側LCD12の表示画面に対して行う操作の一例を示す図
【図13】メインメモリ32のメモリマップ
【図14】CPU311によって実行される処理の一例を示すフローチャート
【図15】CPU311によって実行される処理の一例を示すフローチャート
【図16】CPU311によって実行される処理の一例を示すフローチャート
【発明を実施するための形態】
【0028】
以下、適宜図面を参照しつつ、本発明の一実施形態に係る情報処理装置について説明する。なお、本発明の情報処理装置及びこの装置で実行される情報処理プログラムは任意のコンピュータシステムに適用可能であるが、本実施形態では、情報処理装置の一例としての携帯型のゲーム装置10において、外部メモリ45に記録されている情報処理プログラムが実行される場合を例に説明する。
【0029】
[ゲーム装置10の構成]
図1は、開いた状態のゲーム装置10の正面図である。図2は、開いた状態のゲーム装置10の右側面図である。図3Aは、閉じた状態のゲーム装置10の左側面図である。図3Bは、閉じた状態のゲーム装置10の正面図である。図3Cは、閉じた状態のゲーム装置10の右側面図である。図3Dは、閉じた状態のゲーム装置10の背面図である。
【0030】
ゲーム装置10は、画像を撮像する撮像部を有しており、撮像された画像を画面に表示したり、撮像された画像のデータを保存したりすることが可能である。また、ゲーム装置10は、交換可能なメモリカード(外部メモリ45)内に記憶されたプログラム、又はサーバや他のゲーム装置から受信したプログラムを実行可能である。ゲーム装置10は、これらのプログラムを実行することにより、仮想空間に設定された仮想カメラで撮像した画像をコンピュータグラフィックス処理して生成した画像を画面に表示することもできる。
【0031】
ゲーム装置10は、下側ハウジング11及び上側ハウジング21を備える。上側ハウジング21は、下側ハウジング11に対して開閉可能に連結されている。このため、ゲーム装置10は、折り畳みが可能である。このゲーム装置10は、図1に例示されるように開いた状態で使用され、未使用時には閉じた状態(図3A〜図3D参照)で保管される。
【0032】
[下側ハウジング11の構成]
下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12、タッチパネル13、各操作ボタン14A〜14L(図1、図3A〜図3D)、アナログスティック15、LED16A,16B、挿入口17、及びマイクロフォン用孔18が設けられている。
【0033】
下側LCD12は、上下方向(y軸方向)よりも左右方向(x軸方向)に長い表示画面を有しており、下側ハウジング11の内側面11Bにおける中央に設けられている。下側LCD12の画素数は、特に限定されるものではないが、一例として、320dot×240dot(横×縦)である。下側LCD12は、後述する上側LCD22とは異なり、画像を(立体視可能ではなく)平面的に表示する表示装置である。
【0034】
なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用してもよい。
【0035】
図1に示されるように、ゲーム装置10は、入力手段として機能するタッチパネル13を備えている。タッチパネル13は、下側LCD12の画面上を覆うように装着されている。本実施形態では、タッチパネル13は、例えば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル13は、抵抗膜方式に限らず、例えば静電容量方式等、任意の押圧式のタッチパネルを用いることができる。本実施形態では、タッチパネル13として、下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度とが一致している必要はない。
【0036】
下側ハウジング11の上側面には挿入口17(図1及び図3Dに示す破線)が設けられている。挿入口17は、タッチパネル13に対する操作を行うために用いられるタッチペン28を収納することができる。なお、タッチパネル13に対する入力は通常タッチペン28を用いて行われるが、タッチペン28に限らず、ユーザの指でタッチパネル13に対する入力を行うことも可能である。
【0037】
各操作ボタン14A〜14Lは、所定の入力を行うための入力装置である。図1に示されるように、下側ハウジング11の内側面11Bには、各操作ボタン14A〜14Lのうち、十字ボタン14A、ボタン14B、ボタン14C、ボタン14D、ボタン14E、電源ボタン14F、セレクトボタン14J、HOMEボタン14K、及びスタートボタン14Lが設けられている。ボタン14A〜14E、セレクトボタン14J、HOMEボタン14K、及びスタートボタン14Lには、ゲーム装置10が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン14Aは選択操作等に用いられ、各操作ボタン14B〜14Eは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン14Fは、ゲーム装置10の電源をオン/オフするために用いられる。
【0038】
アナログスティック15は、方向を指示するデバイスであり、下側ハウジング11の内側面11Bにおける下側LCD12の左側に設けられている。このアナログスティック15及び十字ボタン14Aは、下側ハウジング11を把持したユーザの左手の親指で操作可能な位置に設けられている。アナログスティック15は、そのキートップが、下側ハウジング11の内側面11Bに平行にスライドするように構成されており、ゲーム装置10が実行するプログラムに応じて機能する。
【0039】
下側ハウジング11の内側面11Bには、マイクロフォン用孔18が設けられている。後述するが、下側ハウジング11の内部には、マイクロフォン用孔18と対応する位置に音声入力装置としてのマイク43(図4参照)が設けられている。マイクロフォン用孔18を介して入力された音がマイク43によって検出される。
【0040】
図3B及び図3Dに示されるように、下側ハウジング11の上面には、Lボタン14G及びRボタン14Hが設けられている。Lボタン14Gは、下側ハウジング11の上面の左端部に設けられ、Rボタン14Hは、下側ハウジング11の上面の右端部に設けられている。Lボタン14G及びRボタン14Hは、例えば撮像部のシャッターボタン(撮影指示ボタン)として機能する。また、図3Aに示されるように、下側ハウジング11の左側面には、音量ボタン14Iが設けられている。音量ボタン14Iは、ゲーム装置10が備えるスピーカ44(図4参照)の音量を調整するために用いられる。
【0041】
図3Aに示されるように、下側ハウジング11の左側面には開閉可能なカバー部11Cが設けられている。このカバー部11Cの内側には、ゲーム装置10とデータ保存用外部メモリ46(図1参照)とを電気的に接続するためのコネクタ(図示せず)が設けられている。データ保存用外部メモリ46は、上記コネクタに着脱可能に装着される。データ保存用外部メモリ46は、例えば、ゲーム装置10によって撮像された画像のデータを記憶(保存)するために用いられる。なお、上記コネクタおよびそのカバー部11Cは、下側ハウジング11の右側面に設けられてもよい。
【0042】
図3Dに示されるように、下側ハウジング11の上面には、挿入口11Dが設けられている。挿入口11Dには、情報処理プログラムを記録した記録媒体としての外部メモリ45(図1参照)が挿入される。挿入口11Dの内部には、外部メモリ45が着脱可能に装着されるコネクタ(図示せず)が設けられている。外部メモリ45がこのコネクタに装着されることによって外部メモリ45とゲーム装置10とが電気的に接続され、情報処理プログラムが実行される。なお、上記コネクタ及び挿入口11Dは、下側ハウジング11の他の面(例えば、右側面等)に設けられてもよい。
【0043】
図1に示されるように、下側ハウジング11の下面には、第1LED16Aが設けられている。この第1LED16Aは、ゲーム装置10の電源のON/OFF状況をユーザに通知する。図3Cに示されるように、下側ハウジング11の右側面には、第2LED16Bが設けられている。ゲーム装置10は、他の機器との間で無線通信を行うことが可能に構成されている。第2LED16Bは、ゲーム装置10の無線通信の確立状況をユーザに通知するものであり、他の機器との無線通信が確立している場合に点灯する。ゲーム装置10は、例えば、IEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。下側ハウジング11の右側面には、この無線通信の機能を有効/無効にする無線スイッチ19が設けられている(図3C参照)。
【0044】
[上側ハウジング21の構成]
上側ハウジング21には、上側LCD22、2つの外側撮像部23(外側左撮像部23A及び外側右撮像部23B)、内側撮像部24、3D調整スイッチ25、及び3Dインジケータ26が設けられている。
【0045】
図1に示されるように、上側ハウジング21の内側面(主面)21Bに上側LCD22が設けられている。上側LCD22は、縦方向よりも横方向に長い表示画面を有しており、上側ハウジング21の中央に設けられている。上側LCD22の画素数は、特に限定されるものではないが、一例として800dot×240dot(横×縦)である。なお、本実施形態では、上側LCD22が液晶表示装置であるが、例えばELを利用した表示装置などが利用されてもよい。
【0046】
上側LCD22は、立体視可能な画像を表示することが可能な表示装置である。上側LCD22は、実質的に同一の表示領域を用いて左目用画像と右目用画像とを表示することが可能である。
【0047】
外側撮像部23は、図3Bに示されるように、上側ハウジング21の外側面(上側LCD22が設けられた主面と反対側の面)21Dに設けられている。この外側撮像部23は、外側左撮像部23A及び外側右撮像部23Bから構成されている。
【0048】
外側左撮像部23A及び外側右撮像部23Bの撮像方向は、いずれも外側面21Dの外向きの法線方向である。また、外側左撮像部23Aの撮像方向及び外側右撮像部23Bの撮像方向は、互いに平行である。外側左撮像部23Aと外側右撮像部23Bとは、ゲーム装置10が実行するプログラムによって、ステレオカメラとして使用することが可能である。
【0049】
内側撮像部24は、上側ハウジング21の内側面(主面)21Bに設けられており、外側撮像部23とは反対方向を撮像する撮像部である。このため、ユーザが上側LCD22を静止した状態で、内側撮像部24によりユーザの顔を正面から撮像することができる。内側撮像部24は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【0050】
図1,図2,図3Cに示されるように、上側ハウジング21の内側面及び右側面の端部に3D調整スイッチ25が設けられている。3D調整スイッチ25は、上側LCD22に表示された立体視可能な画像(立体画像)の立体感を調整するために用いられる。
【0051】
図1に示されるように、上側ハウジング21の内側面21Bに3Dインジケータ26が設けられている。3Dインジケータ26は、上側LCD22が立体表示モードか否かを示す。例えば、3Dインジケータ26は、LEDであり、上側LCD22の立体表示モードが有効である場合に点灯する。
【0052】
また、上側ハウジング21の内側面21Bには、スピーカ孔21Eが形成されており、後述するスピーカ44(図4参照)からの音声がこのスピーカ孔21Eを介して出力される。
【0053】
[ゲーム装置10の内部構成]
次に、図4を参照しつつ、ゲーム装置10の内部構成について説明する。ここで、図4は、ゲーム装置10の内部構成の一例を示すブロック図である。
【0054】
図4に示されるように、ゲーム装置10は、情報処理部31、メインメモリ32、外部メモリインターフェース(外部メモリI/F)33、データ保存用外部メモリI/F34、データ保存用内部メモリ35、無線通信モジュール36、ローカル通信モジュール37、リアルタイムクロック(RTC)38、加速度センサ39、角速度センサ40、電源回路41、及びインターフェース回路(I/F回路)42等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング11(又は上側ハウジング21)内に収納されている。
【0055】
情報処理部31は、所定のプログラムを実行するためのCPU(Central Processing Unit)311、画像処理を行うGPU(Graphics Processing Unit)312等を含む情報処理手段である。本実施形態では、情報処理プログラムがゲーム装置10内のメモリ(例えば外部メモリI/F33に接続された外部メモリ45やデータ保存用内部メモリ35)に記憶されている。CPU311は、この情報処理プログラムを実行することによって、表示画面に表示されるスクロール対象画像をスクロール表示させる等の情報処理を実行する。なお、CPU311によって実行される情報処理プログラムは、他の機器との通信によって他の機器から取得されてもよい。
【0056】
情報処理部31は、VRAM(Video RAM)313を含む。GPU312は、CPU311からの命令に応じて画像をVRAM313に描画する。そして、GPU312は、VRAM313に描画された画像を上側LCD22及び/又は下側LCD12に出力し、上側LCD22及び/又は下側LCD12に当該画像が表示される。
【0057】
情報処理部31には、メインメモリ32、外部メモリI/F33、データ保存用外部メモリI/F34、及びデータ保存用内部メモリ35が接続される。外部メモリI/F33は、外部メモリ45を着脱自在に接続するためのインターフェースである。データ保存用外部メモリI/F34は、データ保存用外部メモリ46を着脱自在に接続するためのインターフェースである。
【0058】
メインメモリ32は、CPU311のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ32は、画像処理やゲーム処理で用いられる各種データを一時的に記憶したり、外部(外部メモリ45や他の機器等)から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ32として例えばPSRAM(Pseudo−SRAM)が用いられる。
【0059】
外部メモリ45は、情報処理部31によって実行されるプログラムを記憶する不揮発性の記憶手段である。外部メモリ45は、例えば読み取り専用の半導体メモリで構成される。外部メモリ45が外部メモリI/F33に接続されると、情報処理部31は外部メモリ45に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムが実行されることにより、所定の処理が行われる。
【0060】
データ保存用外部メモリ46は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ46には、外側撮像部23で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ46がデータ保存用外部メモリI/F34に接続されると、情報処理部31はデータ保存用外部メモリ46に記憶された画像を読み込み、上側LCD22及び/又は下側LCD12に当該画像を表示することができる。
【0061】
データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【0062】
無線通信モジュール36は、例えばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。ローカル通信モジュール37は、所定の通信方式(例えば赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。情報処理部31は、無線通信モジュール36を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール37を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【0063】
加速度センサ39は、3軸(本実施形態では、xyz軸)方向に沿った直線方向の加速度(直線加速度)の大きさを検出する。
【0064】
角速度センサ40は、ゲーム装置10の3軸(本実施形態では、xyz軸)周りに生じる角速度をそれぞれ検出し、検出した角速度を示すデータ(角速度データ)を情報処理部31へ出力する。
【0065】
情報処理部31には、RTC38及び電源回路41が接続される。RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻(日付)を計算する。電源回路41は、ゲーム装置10が有する電源(下側ハウジング11に収納される充電式電池)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。
【0066】
I/F回路42には、マイク43、スピーカ44、及びタッチパネル13が接続される。具体的には、I/F回路42には、図示しないアンプを介してスピーカ44が接続される。マイク43は、ユーザの音声を検知して音声信号をI/F回路42に出力する。アンプは、I/F回路42からの音声信号を増幅し、音声をスピーカ44から出力させる。I/F回路42は、マイク43及びスピーカ44(アンプ)の制御を行う音声制御回路と、タッチパネル13の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換及びD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部31に出力する。タッチ位置データは、タッチパネル13の入力面において入力が行われた位置(タッチ位置)の座標を示すデータである。なお、タッチパネル制御回路は、タッチパネル13からの信号の読み込み、及びタッチ位置データの生成を所定時間に1回の割合で行う。情報処理部31は、タッチ位置データを取得することにより、タッチパネル13に対して入力が行われたタッチ位置を取得することができる。
【0067】
操作ボタン14は、上記各操作ボタン14A〜14Lからなり、情報処理部31に接続される。操作ボタン14から情報処理部31へは、各操作ボタン14A〜14Iに対する入力状況(押下されたか否か)を示す操作データが出力される。情報処理部31は、操作ボタン14から操作データを取得することによって、操作ボタン14に対する入力に応じた処理を実行する。
【0068】
ユーザがタッチパネル13や操作ボタン14を用いた所定の操作を行うことにより、使用する撮像部が選択される。情報処理部31は、この選択結果に応じて、外側撮像部23及び内側撮像部24のいずれか一方に対して撮像を指示する。これに対して、外側撮像部23及び内側撮像部24は、情報処理部31からの指示に従って画像を撮像し、撮像した画像データを情報処理部31に出力する。
【0069】
下側LCD12及び上側LCD22は、情報処理部31(GPU312)の指示に従って画像を表示する。情報処理部31は、例えば、外側撮像部23によって撮像された右目用画像と左目用画像とを用いた立体画像(立体視可能な画像)を上側LCD22に表示させる。また、情報処理部31は、例えば、所定のプログラムを起動させるための各種画像(アイコン)や、ユーザの操作によってスクロールする画像(テキスト)を下側LCD12に表示させる。この下側LCD12の表示画面の構成については、後に詳述する。
【0070】
3D調整スイッチ25は、スライダの位置に応じた電気信号を情報処理部31に出力する。これに対して、情報処理部31(CPU311)は、3D調整スイッチ25からの電気信号に基づいて上側LCD22の表示モードを設定する。情報処理部31は、3Dインジケータ26の点灯を制御する。例えば、情報処理部31は、上側LCD22が立体表示モードである場合、3Dインジケータ26を点灯させる。
【0071】
なお、上述したハードウェア構成は単なる一例に過ぎず、ゲーム装置10の構成は適宜変更可能である。
【0072】
[下側LCD12の表示画面の構成]
図5は、下側LCD12の表示画面の構成と、表示画面に表示される画像の一例を示す図である。図5に示されるように、下側LCD12の表示画面は、スクロール対象画像を表示するスクロール画像表示領域51を有する。スクロール対象画像とは、後述するユーザによる各種操作によって、スクロール画像表示領域51内において上下方向(y軸方向)にスクロールして表示される画像(テキスト)である。また、下側LCD12の表示画面には、スクロール画像表示領域51以外の領域にも様々な画像が表示される。例えば、スクロール画像表示領域51の下部にソフトウェアキーボードの画像が表示され、当該ソフトウェアキーボードがユーザにタッチされることによって入力された情報に基づいて、スクロール画像表示領域51にスクロール対象画像(テキスト)が表示される。
【0073】
一方、下側LCD12の表示画面は、選択操作領域52、上部スクロール指示領域53、及び下部スクロール指示領域54から構成される。上部スクロール指示領域53は、選択操作領域52の上側に配置され、下部スクロール指示領域54は、選択操作領域52の下側に配置される。選択操作領域52は、ユーザがタッチペン28を用いてスクロール対象画像の一部又は全部を選択する選択操作を行うための領域である。上部スクロール指示領域53は、ユーザがタッチペン28を用いてスクロール対象画像を上方向にスクロールさせるための領域である。下部スクロール指示領域54は、ユーザがタッチペン28を用いてスクロール対象画像を下方向にスクロールさせるための領域である。なお、選択操作領域52は、スクロール対象画像に対して選択操作を行うための領域であることから、スクロール画像表示領域51内に含まれる。
【0074】
[ユーザによる各種操作]
以下、図6〜図11を用いてユーザがタッチペン28を用いてタッチパネル13をタッチする各種操作について説明する。以下の説明では、ユーザがタッチペン28を用いてタッチパネル13をタッチする操作を「タッチオン」と言い、タッチペン28をタッチパネル13から離す操作を「タッチオフ」と言う。なお、説明の都合上、特に断りのない限り、ユーザが下側LCD12の表示画面の直上にあるタッチパネル13をタッチオンすることを、単に下側LCD12の表示画面をタッチオンすると言う。同様に、タッチペン28が指示するタッチパネル13上の「タッチ位置」は、その直下にある下側LCD12の表示画面上の「タッチ位置」と言う。また、ユーザがタッチペン28を用いて選択操作領域52上をタッチオンして、そのまま(タッチオフしないで)タッチ位置を移動させる操作をドラッグ操作と言う。
【0075】
[選択処理]
図6は、ユーザが下側LCD12の表示画面において選択操作領域52上をタッチオンしているときの様子を示している。図6に示されるように、ユーザが選択操作領域52内でドラッグ操作を行うと、ドラッグ操作の操作量(タッチ位置の変位量)に応じてスクロール画像表示領域51に表示されたスクロール対象画像(テキスト)の一部又は全部が選択される。なお、この選択操作領域52上が最初にタッチオンされることによって、このようにスクロール対象画像が選択される選択処理や、後述する、スクロール対象画像が上下方向にスクロール表示されるスクロール処理が行われる。選択操作領域52上が最初にタッチオンされない場合には、タッチ位置が変位しても選択処理もスクロール処理も行われない。
【0076】
[スクロール処理]
図7〜図12は、ユーザがスクロール画像表示領域51に表示されたスクロール対象画像をスクロール表示させるときの様子を示している。
【0077】
[第1の下方向スクロール処理]
図7及び図8は、ユーザがタッチペン28を下方向にドラッグして、スクロール対象画像を下方向にスクロール表示させるときの様子を示している。図7に示されるように、ユーザは、タッチペン28を用いて選択操作領域52上を最初にタッチオンした後、タッチペン28を下方向にドラッグして、タッチ位置を下部スクロール指示領域54上に移動させる。このとき、図8に示されるように、スクロール画像表示領域51に表示されたスクロール対象画像は下方向にスクロール表示される(すなわち、スクロール対象画像は、スクロール画像表示領域51に対して相対的に上方向に移動する)。なお、このスクロールの速さは、例えば、下部スクロール指示領域54上のタッチ位置が選択操作領域52の下端(選択操作領域52と下部スクロール指示領域54の境界)から下方向(y軸負方向)に変位した変位量に応じて決定される。
【0078】
[第1の上方向スクロール処理]
図9及び図10は、ユーザがタッチペン28を上方向にドラッグして、スクロール対象画像を上方向にスクロール表示させるときの様子を示している。図9に示されるように、ユーザは、タッチペン28を用いて選択操作領域52上を最初にタッチオンした後、タッチペン28を上方向にドラッグして、タッチ位置を上部スクロール指示領域53上に移動させる。このとき、タッチ位置が選択操作領域52上から、上部スクロール指示領域53上に上方向(y軸正方向)に変位したことによっては、スクロール画像表示領域51に表示されたスクロール対象画像は上方向にスクロール表示されない。
【0079】
図10に示されるように、ユーザがタッチ位置を、上部スクロール指示領域53上に移動させてから所定時間この上部スクロール指示領域53上で保持(長押し)したときに初めて、スクロール対象画像が上方向にスクロール表示される(すなわち、スクロール対象画像は、スクロール画像表示領域51に対して相対的に下方向に移動する)。ただし、タッチ位置は、上部スクロール指示領域53上で1点に固定されている必要はなく、上部スクロール指示領域53上のいずれかに位置していればよく、この時間が長押しされている時間として計測される。なお、このスクロールの速さは、例えば、タッチ位置が上部スクロール指示領域53上に位置している時間(長押しされている時間)に応じて決定される。
【0080】
このように、上方向スクロール処理と下方向スクロール処理が行われるためのユーザの操作が異なるのは以下の理由による。すなわち、本実施形態で例示されるように、下側LCD12の表示画面の下部にソフトウェアキーボードの画像を表示する必要があるときなどは、スクロール画像表示領域51は、下側LCD12の表示画面の上部に位置する。このとき、スクロール画像表示領域51内に位置する選択操作領域52の上側に位置する上部スクロール指示領域53の上方向の長さ(幅)は、選択操作領域52の下側に位置する下部スクロール指示領域54の下方向の長さ(幅)よりも短くなる。したがって、上部スクロール指示領域53上で上方向にドラッグ操作が可能な範囲は、下部スクロール指示領域54上で下方向にドラッグ操作が可能な範囲よりも小さく、このため上部スクロール指示領域53上での上方向のドラッグ操作は下部スクロール指示領域54上での下方向のドラッグ操作に比べて行い難くなる。
【0081】
また、上部スクロール指示領域53上のタッチ位置が選択操作領域52の上端(選択操作領域52と上部スクロール指示領域53の境界)から上方向(y軸正方向)へ変位する際に取りうる変位量の最大値は、下部スクロール指示領域54上のタッチ位置が選択操作領域52の下端(選択操作領域52と下部スクロール指示領域54の境界)から下方向(y軸負方向)へ変位する際に取りうる変位量の最大値に比べて小さくなる。したがって、上方向のスクロール表示が、この変位量に応じてスクロールの速さが決定される下方向のスクロール表示を行うための操作と同様の操作(図7及び図8参照)によって行われるとすると、上方向への変位量は小さな値しかとれないため、上方向のスクロールの速さは下方向のスクロールの速さに比べて小さくなる。一方、上記した同様の操作によって、上方向のスクロールの速さの最大値を下方向のスクロールの速さの最大値と同じにするためには、所定の変位量に対する速さの増加率を上げなければならず、この場合、タッチ位置の移動(変化)に対して、スクロールの速さの変化が急峻なものとなり、ユーザの操作性が悪化する。以上の理由により、上方向のスクロール処理は、下方向のスクロール処理とは異なる操作(長押し)によって行われる。
【0082】
[第2の上方向スクロール処理]
図11は、ユーザがタッチペン28を左右方向にドラッグして、スクロール対象画像を上方向にスクロール表示させるときの様子を示している。ユーザは、タッチペン28を用いて選択操作領域52上を最初にタッチオンした後、タッチペン28を上方向にドラッグして、タッチ位置を上部スクロール指示領域53上に移動させる(図9参照)。その後、ユーザは上部スクロール指示領域53上でタッチペン28を左右方向にドラッグする(図11参照)。このとき、図11に示されるように、スクロール画像表示領域51に表示されたスクロール対象画像は上方向にスクロール表示される。なお、このスクロールの速さは、例えば、ドラッグ操作の操作量(距離)やドラッグ操作の速度に応じて決定される。
【0083】
このように、第2の上方向スクロール処理が行われるのは以下の理由による。上記したように、第1の上方向のスクロール処理が行われるのは、ユーザが選択操作領域52を最初にタッチオンしてからタッチ位置を上部スクロール指示領域53上に移動させて、その後タッチ位置を上部スクロール指示領域53上で所定時間保持(長押し)したときである。したがって、すぐさま上方向のスクロール表示を行いたいユーザにとっては所定時間の経過を待つのは意図に反するため、不快に感じることがある。また、ユーザがスクロール表示の速さを増加させるには、長押しの時間を長くしなければならない(すなわち、待たなければならない)ため、早く(速く)スクロール表示させたいという意図と矛盾した操作を必要とし、そのことがユーザの不快感を増す恐れがある。
【0084】
しかし、第2の上方向スクロール処理によれば、ドラッグ操作が可能な範囲が上下方向よりも左右方向に広い上部スクロール指示領域53上の左右方向の領域を利用して、左右方向にドラッグ操作が行われることで上方向のスクロール表示が可能となる。したがって、ユーザにとっては自身の左右方向のドラッグ操作によって上方向のスクロール表示の速さを変えることができ、また所定時間の経過を待つことなく上方向のスクロール表示を行うことができる。この結果として、ユーザは、タッチペン28を用いて上部スクロール指示領域53上で長押しする操作及び上部スクロール指示領域53上で左右方向にドラッグする操作を行うことにより、上方向のスクロール表示が可能となり、スクロール表示のための操作性が向上する。
【0085】
また、第2の上方向スクロール処理が行われるのは以下の理由にもよる。本実施形態で例示されるように、スクロール画像表示領域51が下側LCD12の表示画面の上端に位置する場合には、スクロール画像表示領域51内に上部スクロール指示領域53を設けなければならない。そのため、上部スクロール指示領域53の上方向(スクロール方向)の長さ(幅)は短くなってしまう。しかし、上部スクロール指示領域53の左右方向の長さ(幅)は、スクロール画像表示領域51内においても上下方向の長さに比べて長くすることが可能である。したがって、スクロール画像表示領域51内の限られた領域を上部スクロール指示領域53として用いて、かつ左右方向に長い領域を有する上部スクロール指示領域53において左右方向にドラッグ操作を行うことによって、スクロール対象画像を上方向にスクロール表示させることができる。
【0086】
すなわち、第2の上方向のスクロール処理によれば、下側LCD12においてスクロール画像表示領域51の占める割合を大きくして上部スクロール指示領域53が位置する領域がスクロール方向(上下方向)に十分な長さを有することができなかったとしても、それとは異なる方向(左右方向)の領域を利用してドラッグ操作が行われることにより上方向のスクロール表示が可能となる。このことにより、下側LCD12においてスクロール画像表示領域51の大きさを大きくしても、スクロール画像表示領域51に表示されたスクロール対象画像を操作性良く、適切にスクロール表示させることができる。
【0087】
[第2の下方向スクロール処理]
図12は、ユーザがタッチペン28を左右方向にドラッグして、スクロール対象画像を下方向にスクロール表示させるときの様子を示している。ユーザは、タッチペン28を用いて選択操作領域52上を最初にタッチオンした後、タッチペン28を下方向にドラッグして、タッチ位置を下部スクロール指示領域54上に移動させる(図7参照)。このとき、図8に示されるように、スクロール対象画像は、下方向のドラッグの操作量(距離)に応じた速さで下方向にスクロール表示される。さらに、ユーザは下部スクロール指示領域54上でタッチペン28を左右方向にドラッグする(図12参照)。このとき、図12に示されるように、スクロール対象画像は、更に速く下方向にスクロール表示される。なお、このスクロールの速さの増加量は、例えば、図12に示される左右方向のドラッグ操作の操作量(距離)や、このドラッグ操作の速度に応じて決定される。
【0088】
このように、第2の下方向スクロール処理が行われるのは以下の理由による。上記したように第1の下方向のスクロール処理(図8参照)が行われるのは、ユーザが選択操作領域52を最初にタッチオンしてからタッチ位置を下部スクロール指示領域54上に移動させたときであり、そのスクロール表示の速さは、タッチ位置の下方向への変位量に応じて決定される。しかし、下方向の変位量は、下部スクロール指示領域54の最下端までの変位量を最大値とし、そのため、その変位量に応じて決定されるスクロール表示の速さには限界値がある。しかしながら、ユーザによっては、あるいはスクロール対象画像の大きさ(上下方向の長さ)によっては、さらに速い速さでスクロール表示を行いたいという要望がある。
【0089】
この場合には、通常の第1の下方向のスクロール処理(図8参照)に加えて、第2の下方向のスクロール処理(図12参照)が行われることにより、ユーザは更に速い速さでスクロール対象画像を下方向にスクロール表示させることができる。したがって、下方向に速くスクロール表示させたいユーザは、通常の下方向へのドラッグ操作に加えて左右方向のドラッグ操作を行うことにより、意図したスクロール表示の速さで下方向にスクロール表示させることができる。
【0090】
以上のように、ユーザは最初に選択操作領域52上をタッチオンすることにより、スクロール画像表示領域51に表示されたスクロール対象画像に対して、スクロール対象画像の一部又は全部を選択する選択表示、スクロール対象画像の上方向スクロール表示、及びスクロール対象画像の下方向スクロール表示を行わせることができる。また、スクロール対象画像の上方向スクロール表示は、タッチペン28の長押し及びタッチペン28の左右方向へのドラッグ操作によって可能である。スクロール対象画像の下方向スクロール表示は、タッチペン28の下方向(下部スクロール指示領域54の領域内)へのドラッグ操作及びタッチペン28の左右方向へのドラッグ操作によって可能である。したがって、ユーザにとってはスクロール表示のための操作は自由度の高いものとなるとともに、下側LCD12内に占めるスクロール画像表示領域51の位置・大きさによって制約を受ける上部スクロール指示領域53の位置・大きさにかかわらず、上方向のスクロール表示のための操作が可能となる。
【0091】
[メモリマップ]
以下、図13を参照しつつ、情報処理の際にメインメモリ32に記憶されるデータについて説明する。ここで、図13は、メインメモリ32のメモリマップである。図13に例示されるように、メインメモリ32は、プログラム記憶領域321及びデータ記憶領域323を有している。プログラム記憶領域321には、CPU311によって実行されるプログラムが記憶される。データ記憶領域323には、情報処理に必要な各種データが記憶される。プログラム記憶領域321内のプログラム、及びデータ記憶領域323内のデータの一部は、外部メモリ45等に予め記憶されたデータが、情報処理に際して外部メモリ45等から読み出されたものである。
【0092】
プログラム記憶領域321には、情報処理プログラム322等が記憶されている。情報処理プログラム322は、図14〜図16に示されている一連の処理をCPU311に実行させるためのプログラムである。
【0093】
データ記憶領域323には、タッチ位置データ324、タイマカウンタデータ325、x軸ドラッグ判定閾値データ326、タイマスクロール判定閾値データ327等が記憶される。
【0094】
タッチ位置データ324は、タッチペン28による下側LCD12の表示画面上のタッチ位置を示すデータである。本実施形態では、図5に示される下側LCD12の画面の長手方向をx軸方向とし、これに垂直な方向をy軸方向とした2次元座標(x,y)によってタッチ位置が表される。下側LCDの表示画面上が一旦タッチオンされると、最初のタッチ位置データA(1)から、n番目の最新のタッチ位置データA(n)までのタッチ位置データ(A(1)、A(2)、・・・、A(n))がタッチ位置データ324として、所定時間毎にデータ記憶領域323に記憶され続ける。
【0095】
すなわち、ユーザが下側LCD12の表示画面上をタッチオンし続けている間、タッチ位置の軌跡がタッチ位置データ324としてデータ記憶領域323に記憶されている。このタッチ位置データ324が示す最新のタッチ位置データA(n)に基づいて、例えばタッチペン28が選択操作領域52上にタッチオンされているか否かを判定する処理等が行われる。なお、タッチオフされると、タッチ位置データ324は、全てリセット(初期化)される。
【0096】
タイマカウンタデータ325は、タッチペン28によって最初に選択操作領域52がタッチオンされてから、タッチ位置が選択操作領域52から上部スクロール指示領域53上に移動した際に計測開始される、時間を示すデータである。そして、タッチ位置が上部スクロール指示領域53上に位置している間、その時間が、タイマカウンタデータ325として、データ記憶領域323に記憶される。なお、タイマカウンタデータ325は、タッチ位置が上部スクロール指示領域53上に位置しなくなったときにリセット(初期化)される。
【0097】
x軸ドラッグ判定閾値データ326は、ユーザによるタッチペン28の左右方向のドラッグ操作が、スクロール対象画像をスクロール表示させる指示とみなせるか否かを判定するために用いられる閾値のデータである。具体的には、タッチペン28によって最初に選択操作領域52がタッチオンされてから、タッチ位置が選択操作領域52から上部スクロール指示領域53又は下部スクロール指示領域54に移動して、その後の当該上部スクロール指示領域53又は下部スクロール指示領域54内におけるタッチ位置の左右方向の変位が、スクロール対象画像をスクロール表示させる指示とみなせるか否かを判定するための閾値のデータである。これは、ユーザの意図しない手ぶれによる変位を除外するためのものであり、このデータには任意の値が設定される。例えば手ぶれによる変位を考慮する必要が無い場合には、この値は0(ゼロ)に設定されればよい。
【0098】
また、タッチ位置の左右方向の変位量に応じてスクロールの速さを変化させる場合には、このx軸ドラッグ判定閾値データ326は、スクロールの速さを選択するための閾値としても用いられる。例えば、x軸ドラッグ判定閾値データ326のデータX0が、スクロール表示の指示とみなされる判定値として用いられ、データX1が、スクロールの速さVaの閾値として用いられる場合には、タッチ位置の左右方向の変位量の値が、X0以上X1未満のときには、スクロールの速さVは、Vaに設定され、変位量の値が、X1以上のときには、スクロールの速さVは、Vb(上限値)に設定される。このようにスクロールの速さがタッチ位置の左右方向の変位量に応じた速さに設定される場合には、各速さに対応する閾値をx軸ドラッグ判定閾値データ326としてデータ記憶領域323に複数記憶させることもできる。なお、この場合には、スクロールの速さVa及びVb等が、速さデータとしてデータ記憶領域323に記憶される(図示せず)。
【0099】
タイマスクロール判定閾値データ327は、計測が開始されているタイマカウンタデータ325が示す時間が、所定の時間を超えているか否かを判定するために用いられる閾値のデータである。具体的には、タッチペン28によって最初に選択操作領域52がタッチオンされてから、タッチ位置が選択操作領域52から上部スクロール指示領域53に移動して、その後の当該上部スクロール指示領域53上にタッチ位置が位置している時間によって、スクロール対象画像をスクロール表示させる指示とみなせるか否かを判定するための閾値のデータである。
【0100】
また、タッチ位置が上部スクロール指示領域53上に位置している時間に応じてスクロールの速さを変化させる場合には、このタイマスクロール判定閾値データ327は、スクロールの速さを選択するための閾値としても用いられる。例えば、タイマスクロール判定閾値データ327のデータT0が、スクロール表示の指示とみなされる判定値として用いられ、データT1が、スクロールの速さVaの閾値として用いられる場合には、タイマカウンタデータ325の値Tが、T0以上T1未満のときには、スクロールの速さVは、Vaに設定され、タイマカウンタデータ325の値Tが、T1以上のときには、スクロールの速さVは、Vb(上限値)に設定される。このようにスクロールの速さが長押しの時間に応じた速さに設定される場合には、各速さに対応する閾値をタイマスクロール判定閾値データ327としてデータ記憶領域323に複数記憶させることもできる。
【0101】
[CPU311によって実行される処理]
次に、図14〜図16のフローチャートを参照しつつ、CPU311によって実行される選択処理及びスクロール処理について説明する。なお、以下に説明する一連の処理は、メインメモリ32に記憶されている情報処理プログラム322に基づいてCPU311自身又はCPU311が発行する命令に従って行われる。また、これらのフローチャートでは、画像の生成及び出力に関する処理を省略しているが、画像の生成及び出力は一定の周期で行われる。
【0102】
図14に示されるように、まず、ステップS11において、CPU311は、下側LCD12の表示画面上がタッチオンされたか否かを判定する。ステップS11での判定がYESの場合、処理はステップS12に移り、この判定がNOの場合、処理は再びステップS11に戻る。すなわち、CPU311は、下側LCD12の表示画面上がタッチオンされていない場合は、タッチオンされたと判定するまでステップS11の判定を繰り返す。
【0103】
ステップS12において、CPU311は、ステップS11において下側LCD12の表示画面上がタッチオンされたと判定した最初のタッチ位置を検出する。具体的には、CPU311は、データ記憶領域323に記憶されているタッチ位置データ324の最初のタッチ位置データA(1)に基づいて、タッチ位置を検出する。その後、処理はステップS13に移る。
【0104】
ステップS13において、CPU311は、ステップS12において検出された最初のタッチ位置が選択操作領域52上であるか否かを判定する。ステップS13での判定がYESの場合、処理はステップS15に移り、この判定がNOの場合、処理はステップS14に移る。
【0105】
ステップS14において、CPU311は、タッチペン28が下側LCD12の表示画面上からタッチオフされたか否かを判定する。ステップS14での判定がYESの場合、処理はステップS11に戻り、この判定がNOの場合、処理は再びステップS14に戻る。すなわち、CPU311は、タッチオフされたと判定するまでステップS14の判定を繰り返し、タッチオフされたと判定すると処理をステップS11に戻す。
【0106】
すなわち、最初のタッチ位置が検出され(ステップS12)、そのタッチ位置が選択操作領域52上ではない場合(ステップS13:NO)、その後、下側LCD12の表示画面上がタッチオンされ続けていても選択処理及びスクロール処理も行われないため、CPU311は、タッチペン28が下側LCD12の表示画面上からタッチオフされるまで待機する。
【0107】
ステップS15において、CPU311は、次のタッチ位置を検出する。具体的には、CPU311は、データ記憶領域323に記憶されているタッチ位置データ324の最新のタッチ位置データA(n)に基づいて、次のタッチ位置を検出する。その後、処理はステップS16に移る。
【0108】
ステップS16において、CPU311は、ステップS15において検出された次のタッチ位置が選択操作領域52上であるか否かを判定する。ステップS16での判定がYESの場合、処理はステップS17に移り、この判定がNOの場合、処理はステップS23に移る。
【0109】
すなわち、最初のタッチ位置が選択操作領域52上である場合(ステップS13:YES)、その後のタッチ位置がどこに移動するかによって(次のタッチ位置がどこで検出されるかによって)、選択処理が行われるか、スクロール処理が行われるか、いずれも行われないかが決定される。このため、ステップS16において、次のタッチ位置が下側LCD12の表示画面においてどの領域上にあるかが判定される。
【0110】
ステップS17において、CPU311は、データ記憶領域323に記憶されているタイマカウンタデータ325に基づいて、タイマカウンタが動作中であるか否かを判定する。ステップS17での判定がYESの場合、処理はステップS18に移り、この判定がNOの場合、処理はステップS19に移る。
【0111】
ステップS18において、CPU311は、タイマカウンタの動作を停止する。具体的には、計測中であるタイマカウンタの計測を停止し、タイマカウンタデータ325をリセット(初期化)する。
【0112】
このように、タイマカウンタが動作している場合(ステップS17:YES)、タイマカウンタの動作が停止される(ステップS18)のは、以下の理由による。すなわち、タイマカウンタが動作するのは、後述する上部操作処理(図16参照)においてタッチ位置が上部スクロール指示領域53上に位置しているときであり、このタイマカウンタは、タッチ位置が連続して上部スクロール指示領域53上に位置している時間を計測する。そのため、タッチ位置が選択操作領域52上に移動したとき(タッチ位置が選択操作領域52上で検出されたとき)には、この計測時間はリセットされ、タイマカウンタの動作は停止する。
【0113】
ステップS19において、CPU311は、タッチ位置の変位が選択操作に該当するか否かを判定する。具体的には、CPU311は、データ記憶領域323に記憶されているタッチ位置データ324の最新のタッチ位置データA(n)と1つ前のタッチ位置データA(n−1)から、タッチ位置の変位を算出し、その変位が選択操作に該当する変位であるか否かを判定する。ステップS19の判定がYESの場合、処理はステップS20に移り、この判定がNOの場合、処理はステップS21に移る。
【0114】
ステップS20において、CPU311は、ステップS19において算出されたタッチ位置の変位から、その変位量に応じた選択処理を行う。具体的には、CPU311は、スクロール画像表示領域51に表示されたスクロール対象画像に対して、変位量に応じた領域に相当する画像の一部(又は全部)を選択し、選択した画像をハイライト表示させる(図6参照)。その後、処理はステップS21に移る。
【0115】
ステップS21において、CPU311は、タッチペン28が下側LCD12の表示画面上からタッチオフされたか否かを判定する。ステップS21での判定がYESの場合、処理はステップS22に移り、この判定がNOの場合、処理はステップS15に戻る。すなわち、下側LCD12の表示画面上がタッチオンされている限り、最新のタッチ位置が検出され続ける。
【0116】
ステップS22において、CPU311は、タッチ位置データ324をリセットする。すなわち、タッチペン28が下側LCD12の表示画面上からタッチオフされた(ステップS21:YES)場合に、タッチ位置データ324は、リセット(初期化)される。その後、処理はステップS11に戻る。
【0117】
ステップS23において、CPU311は、下部スクロール指示領域54上であるか否かを判定する。ステップS23での判定がYESの場合、処理は下部操作処理(図15参照)に移り、この判定がNOの場合(すなわち、タッチ位置が上部スクロール指示領域53上である場合)、処理は上部操作処理(図16参照)に移る。
【0118】
次に、図15を参照しつつ、CPU311によって実行される下部操作処理について説明する。
【0119】
まず、ステップS31において、CPU311は、ステップS15(図14参照)において検出され、ステップS23(図14参照)において下部スクロール指示領域54上に位置すると判定された(ステップS23:YES)タッチ位置のy座標に基づいて、下方向のスクロールの第1の速さV1を算出する。具体的には、CPU311は、データ記憶領域323に記憶されているタッチ位置データ324の最新のタッチ位置データA(n)のy座標に基づいて、タッチ位置が選択操作領域52の下端(選択操作領域52と下部スクロール指示領域54の境界)からy軸負方向(下方向)に変位した変位量を算出する。そして、CPU311は、この変位量に基づいて第1の速さV1を算出する。例えば、変位量に比例して速さV1が大きくなる設定としてもよいし、変位量のレンジごとに一定の速さを対応づけてもよい。その後、処理はステップS32に移る。
【0120】
ステップS32において、CPU311は、タッチ位置のx軸方向の変位が所定の閾値を超えたか否かを判定する。具体的には、CPU311は、データ記憶領域323に記憶されているタッチ位置データ324の最新のタッチ位置データA(n)のx座標と1つ前のタッチ位置データA(n−1)のx座標から、タッチ位置のx軸方向の変位量を算出し、その変位量がデータ記憶領域323に記憶されているx軸ドラッグ判定閾値データ326の値を超えているか否かを判定する。ステップS32の判定がYESの場合、処理はステップS33に移り、この判定がNOの場合、処理はステップS34に移る。
【0121】
ステップS33において、CPU311は、ステップS32において閾値を超えると判定された(ステップS32:YES)タッチ位置のx軸方向の変位量に基づいて、下方向のスクロールの第2の速さV2を算出する。例えば、変位量に比例して速さV2が大きくなる設定としてもよいし、変位量のレンジごとに一定の速さを対応づけてもよい。その後、処理はステップS35に移る。
【0122】
ステップS34において、CPU311は、ステップS32においてタッチ位置のx軸方向の変位量が閾値を超えないと判定された(ステップS32:NO)ので、下方向のスクロールの第2の速さV2に値0を設定する。その後、処理はステップS35に移る。
【0123】
ステップS35において、CPU311は、ステップS31において算出した第1の速さV1と、ステップS33又はステップS34において算出した第2の速さV2とを加算して、下方向のスクロールの速さVを算出する。その後、処理はステップS36に移る。
【0124】
ステップS36において、CPU311は、スクロール画像表示領域51に表示されたスクロール対象画像を、ステップS36において算出された速さVで下方向にスクロール表示させる。その後、処理はステップS37に移る。
【0125】
ステップS37において、CPU311は、タッチペン28が下側LCD12の表示画面上からタッチオフされたか否かを判定する。ステップS37での判定がYESの場合、処理はステップS38に移り、この判定がNOの場合、処理は再びステップS15(図14参照)に戻る。すなわち、下側LCD12の表示画面上がタッチオンされている限り、最新のタッチ位置が検出され続ける。
【0126】
ステップS38において、CPU311は、タッチ位置データ324をリセットする。すなわち、タッチペン28が下側LCD12の表示画面上からタッチオフされた(ステップS37:YES)場合に、タッチ位置データ324は、リセット(初期化)される。その後、処理は図14のステップS11に戻る。
【0127】
上記のように、下部操作処理においては、タッチ位置の上下方向(y軸方向)の位置に応じて第1の速さV1が決定され、タッチ位置の左右方向(x軸方向)の変位量に応じて第2の速さV2が決定され、両者の合計値(V1+V2)が下方向のスクロールの速さVとして決定される。
【0128】
次に、図16を参照しつつ、CPU311によって実行される上部操作処理について説明する。
【0129】
まず、ステップS51において、CPU311は、データ記憶領域323に記憶されているタイマカウンタデータ325に基づいて、タイマカウンタが動作中であるか否かを判定する。ステップS51での判定がYESの場合、処理はステップS53に移り、この判定がNOの場合、処理はステップS52に移る。
【0130】
ステップS52において、CPU311は、タイマカウンタの動作を開始する。具体的には、CPU311は、タイマカウンタの計測を開始し、計測時間をタイマカウンタデータ325としてデータ記憶領域323に記憶させる。その後、処理はステップS55に移る。
【0131】
ステップS53において、CPU311は、タイマカウンタの値Tが所定の閾値を超えたか否かを判定する。具体的には、CPU311は、データ記憶領域323に記憶されているタイマカウンタデータ325がデータ記憶領域323に記憶されているタイマスクロール判定閾値データ327の値を超えているか否かを判定する。ステップS53の判定がYESの場合、処理はステップS54に移り、この判定がNOの場合、処理はステップS55に移る。
【0132】
ステップS54において、CPU311は、ステップS53において閾値を超えると判定された(ステップS53:YES)タイマカウンタの値Tに基づいて、上方向のスクロールの第1の速さV1を算出する。例えば、値Tの大きさに比例して速さV1が大きくなる設定としてもよいし、値Tのレンジごとに一定の速さを対応づけてもよい。その後、処理はステップS56に移る。
【0133】
ステップS55において、タイマカウンタの動作を開始した(ステップS52)直後、又はタイマカウンタの値Tが所定の閾値を超えていない(ステップS53:NO)ので、CPU311は、上方向のスクロールの第1の速さV1に値0を設定する。その後、処理はステップS56に移る。
【0134】
ステップS56において、CPU311は、タッチ位置のx軸方向の変位が所定の閾値を超えたか否かを判定する。具体的には、CPU311は、データ記憶領域323に記憶されているタッチ位置データ324の最新のタッチ位置データA(n)のx座標と1つ前のタッチ位置データA(n−1)のx座標から、タッチ位置のx軸方向の変位量を算出し、その変位量がデータ記憶領域323に記憶されているx軸ドラッグ判定閾値データ326の値を超えているか否かを判定する。ステップS56の判定がYESの場合、処理はステップS57に移り、この判定がNOの場合、処理はステップS58に移る。
【0135】
ステップS57において、CPU311は、ステップS56において閾値を超えると判定された(ステップS56:YES)タッチ位置のx軸方向の変位量に基づいて、上方向のスクロールの第2の速さV2を算出する。例えば、変位量に比例して速さV2が大きくなる設定としてもよいし、変位量のレンジごとに一定の速さを対応づけてもよい。その後、処理はステップS59に移る。
【0136】
ステップS58において、CPU311は、ステップS56においてタッチ位置のx軸方向の変位量が閾値を超えないと判定された(ステップS56:NO)ので、上方向のスクロールの第2の速さV2に値0を設定する。
【0137】
ステップS59において、CPU311は、ステップS54又はステップS55において算出した第1の速さV1と、ステップS57又はステップS58において算出した第2の速さV2とを加算して、下方向のスクロールの速さVを算出する。その後、処理はステップS60に移る。
【0138】
ステップS60において、CPU311は、スクロール画像表示領域51に表示されたスクロール対象画像を、ステップS59において算出された速さVで上方向にスクロール表示させる。その後、処理はステップS61に移る。
【0139】
ステップS61において、CPU311は、タッチペン28が下側LCD12の表示画面上からタッチオフされたか否かを判定する。ステップS61での判定がYESの場合、処理はステップS62に移り、この判定がNOの場合、処理は再びステップS15(図14参照)に戻る。すなわち、下側LCD12の表示画面上がタッチオンされている限り、最新のタッチ位置が検出され続ける。
【0140】
ステップS62において、CPU311は、タイマカウンタの動作を停止する。具体的には、計測中であるタイマカウンタの計測を停止し、タイマカウンタデータ325をリセット(初期化)する。
【0141】
ステップS63において、CPU311は、タッチ位置データ324をリセットする。すなわち、下側LCD12の表示画面上からタッチオフされた(ステップS61:YES)場合に、タッチ位置データ324は、リセット(初期化)される。その後、処理は図14のステップS11に戻る。
【0142】
上記のように、上部操作処理においては、タッチ位置の存続時間(長押しされている時間)によって第1の速さV1が決定され、タッチ位置の左右方向(x軸方向)の変位量によって第2の速さV2が決定され、両者の合計値(V1+V2)が上方向のスクロールの速さVとして決定される。
【0143】
以上のように、CPU311は、最初にタッチオンされた領域が選択操作領域52上であるか否かを判定し(ステップS11〜S13)、選択操作領域52上である場合には、次以降のタッチ位置を判定し(ステップS16、S23)、判定結果に応じて、選択処理(ステップS17〜S22)、下部操作処理(ステップS31〜ステップS38)、上部操作処理(ステップS51〜ステップS63)を行う。
【0144】
次のタッチ位置(最新のタッチ位置)が、選択操作領域52上であると判定された場合(ステップS16:YES)、タッチ位置の変位量に応じてスクロール対象画像の一部(又は全部)を選択する選択処理が行われる(ステップS19、S20)。なお、本発明において、この選択処理は主要な部分ではないため、その詳細についての説明は割愛しているが、通常、この選択処理の後、選択されたスクロール対象画像に対して所定のプログラムが起動する。
【0145】
次のタッチ位置(最新のタッチ位置)が、下部スクロール指示領域54上であると判定された場合(ステップS23:YES)、下方向のスクロール表示が行われる(ステップS31〜S36)。このスクロール表示のスクロールの速さは、タッチ位置の上下方向(y軸方向)の位置によって決定される第1の速さV1(ステップS31)とタッチ位置の左右方向(x軸方向)の変位量によって決定される第2の速さV2(ステップS33、S34)の合算値である。したがって、ユーザはタッチペン28を下方向に変位させてタッチ位置を下部スクロール指示領域54上に変位させるだけで、速さV1のスクロール表示を行うことが可能であり、また、さらに速いスクロール表示を行う場合には、タッチペン28を下部スクロール指示領域54上で左右方向に変位(ドラッグ)させることで、速さV1+V2のスクロール表示を行うことができる。
【0146】
次のタッチ位置(最新のタッチ位置)が、上部スクロール指示領域53上であると判定された場合(ステップS23:NO)、上方向のスクロール表示が行われる(ステップS51〜S60)。このスクロール表示のスクロールの速さは、タッチ位置が上部スクロール指示領域53上に位置している時間によって決定される第1の速さV1(ステップS54、S55)とタッチ位置の左右方向(x軸方向)の変位量によって決定される第2の速さV2(ステップS57、58)の合算値である。したがって、ユーザはタッチペン28を上方向に変位させてタッチ位置を上部スクロール指示領域53上に位置させて所定時間の経過を待つと、速さV1のスクロール表示を行うことが可能であり、また、さらに速いスクロール表示を行う場合には、タッチペン28を上部スクロール指示領域53上で左右方向に変位させることで、速さV1+V2のスクロール表示を行うことができる。また、所定時間の経過を待つことを望まない場合には、すぐにタッチペン28を上部スクロール指示領域53上で左右方向に変位させることによって、速さV2のスクロール表示を行うことができる。なお、この場合、左右方向の変位を所定時間続けることによって、速さV2+V1のスクロール表示が行われる。
【0147】
[変形例]
なお、上記実施形態では、最初に選択操作領域52上がタッチオンされて、タッチ位置が選択操作領域52上から上部スクロール指示領域53上に移動した後に、上部スクロール指示領域53上でタッチ位置が左右方向(x軸方向)に変位することによって、上方向(y軸正方向)にスクロール表示されるものとした。しかし、最初に上部スクロール指示領域53上がタッチオンされて、上部スクロール指示領域53上でタッチ位置が左右方向に変位することで、上方向にスクロール表示されてもよい。
【0148】
また、上記実施形態では、上方向のスクロール処理において、スクロールの速さは第1の速さV1と第2の速さV2の合計値とした。しかし、スクロールの速さは第2の速さV2のみによって決定されるとしてもよい。すなわち、タッチペン28を上部スクロール指示領域53上で左右方向に変位させることによって、スクロール表示されるとしてもよい。この場合においても、ユーザはタッチペン28の左右方向の変位量を調節することで、所望の速さで上方向にすぐさまスクロール表示させることができる。
【0149】
また、上記実施形態では、スクロール画像表示領域51が下側LCD12の表示画面において上端部までに広がり、そのため上部スクロール指示領域53のスクロール方向(上方向)の長さが短くなる場合を例に説明した。しかし、スクロール画像表示領域51が下側LCD12の表示画面において下端部に広がっており、そのため下部スクロール指示領域54のスクロール方向(下方向)の長さが短くなっていてもよい。この場合においては、タッチ位置が選択操作領域52の下端(選択操作領域52と下部スクロール指示領域54の境界)からy軸負方向(下方向)に変位した変位量の大きさから速さV1を算出せずに、タッチ位置のx軸方向(左右方向)の変位量に基づいて、下方向のスクロールの第2の速さV2のみを算出してもよい。
【0150】
また、上記実施形態において、スクロール画像表示領域51が下側LCD12の表示画面の全体(又はほぼ全部)を占めた場合のように、上部スクロール指示領域53のスクロール方向(上方向)の長さと、下部スクロール指示領域54のスクロール方向(下方向)の長さの両方が短くなっていてもよい。このような場合であっても、タッチ位置の左右方向の変位量に基づいて、上方向のスクロールの速さ及び下方向のスクロールの速さが算出される。したがって、スクロール画像表示領域51が下側LCD12の表示画面の全体(又はほぼ全部)を占めた場合であっても、上下方向のスクロール表示を行うことができる。
【0151】
また、上記実施形態では、タッチ位置の左右方向(x軸方向)の変位量は、最新のタッチ位置データA(n)と、1つ前のタッチ位置データA(n−1)のx座標の変位量に基づいている(図15のステップS33、図16のステップS57参照)。すなわち、上記実施形態では、左右方向の変位量の基準時間をタッチ位置の検出間隔と同じ時間としており、第2の速さV2は、この基準時間あたりのx軸方向の変位量(すなわち、変位速度)を基準に算出されている。しかし、この基準時間は、タッチ位置の検出間隔と同じでなくてもよく、例えば5個のタッチ位置が検出される時間としてもよい。この場合、最新のタッチ位置データA(n)と5つ前のタッチ位置データA(n−5)のx座標の変位量が、第2の速さV2を算出するための変位量として用いられる。
【0152】
また、上記のように上記実施形態では、第2の速さV2は基準時間(タッチ位置の検出間隔)あたりのx軸方向の変位量(変位速度)を基準に算出されている。しかし、例えば連続する3つの変位量の平均値を、第2の速さV2を算出するための変位量として用いてもよい。具体的には、連続する4つのタッチ位置データが、A(n−3)、A(n−2)、A(n−1)、A(n)で表わされる場合、各位置データのx座標の変位量X1=A(n−2)−A(n−3)、X2=A(n−1)−A(n−2)、X3=A(n)−A(n−1)が算出され、x座標の変位量X1、X2、X3の平均値が、第2の速さV2を算出するための変位量として用いられる。
【0153】
また、上記実施形態では、タッチ位置の左右方向(x軸方向)の変位量は、最新のタッチ位置データA(n)と、1つ前のタッチ位置データA(n−1)のx座標の変位量に基づいている。しかし、上部スクロール指示領域53(又は下部スクロール指示領域54)にタッチ位置が移動したことが最初に検出されたk番目のタッチ位置データA(k)を基準に、この基準位置を示すタッチ位置データA(k)と最新のタッチ位置データA(n)のx座標の差分をx軸方向の変位量として、この変位量が、第2の速さV2を算出するための変位量として用いられてもよい。この方法によれば、基準となるタッチ位置データA(k)からの変位量によって第2の速さV2が決定される。このことから、ユーザは、例えばタッチ位置をタッチ位置データA(k)が示す基準位置に近づけることでスクロールの速さを遅くし、基準位置から遠ざけることによりスクロールの速さを速くすることができる。なお、基準位置となるタッチ位置データA(k)は所定のタイミングで更新されるものとしてもよい。例えばタッチ位置データが5個検出されるたびに更新されるものとしてもよい。この場合、基準位置となるタッチ位置データは、A(k)、A(k+5)、A(k+10)、・・・と更新されていく。この方法によれば、例えばユーザが指示位置を停止させたとき、基準位置はユーザの指示位置に近づいて行くので、基準位置と指示位置の変位量は小さくなっていき、スクロールの速さは遅くなっていく。したがって、ユーザが指示位置を停止させた場合には、徐々にスクロールの速さが遅くなり、最終的にスクロールが止まるスクロール表示を行うことができる。
【0154】
また、上記において、基準位置を示すタッチ位置データA(k)と最新のタッチ位置データA(n)のx座標の差分をx軸方向の変位量とすることに代え、タッチ位置が基準位置からx方向に移動した軌跡の長さをx軸方向の変位量として用いてもよい。すなわち、基準位置を示すタッチ位置データA(k)から、連続する2個のタッチ位置データのx座標の変位量の絶対値を、最新のタッチ位置データA(n)まで積算した変位量を用いてもよい。具体的には、この変位量は、A(k+1)−A(k)、A(k+2)−A(k+1)、・・・、A(n)−A(n−1)の各x座標の変位量の絶対値が積算されて算出される。この方法によれば、タッチ位置が左右方向に往復移動することによっても変位量は加算されていくので、左右方向にドラッグ操作が可能な範囲が小さくても、変位量に応じて決定されるスクロールの速さV2の値を大きくすることが可能になる。なお、基準位置となるタッチ位置データA(k)は所定のタイミングで更新されるものとしてもよい。例えば、軌跡の長さが所定の閾値を超えたときに、その軌跡の長さに応じてスクロールの速さV2が決定されるとともに、基準位置となるタッチ位置データA(k)がこのときの最新のタッチ位置データA(n)に更新されるものとしてもよい。
【0155】
また、上記実施形態では、上部スクロール指示領域53(又は下部スクロール指示領域54)においてタッチ位置が左右方向(x軸方向)に変位したか否かの判定は、最新のタッチ位置データA(n)と、1つ前のタッチ位置データA(n−1)のx座標の変位量が所定の閾値を超えたか否かに基づいている。すなわち、タッチ位置が左右方向に所定の速さ以上で変位したか否かに基づき、所定の速さでスクロール表示されるものとした。しかし、これに限られず、例えば、タッチ位置のx軸方向の変位が所定の基準位置から閾値を超えたと判定されることにより、スクロール表示されるものとしてもよい。
【0156】
また、上記実施形態では、下方向のスクロールの速さV1は、タッチ位置が選択操作領域52の下端(選択操作領域52と下部スクロール指示領域54の境界)からy軸負方向(下方向)に変位した変位量の大きさに応じて決定されるとした。しかし、これに限らず、例えば下方向のスクロールの速さV1は、タッチ位置が下部スクロール指示領域54において所定の基準位置からy軸方向に移動した軌跡の長さに応じて決定されるとしてもよい。
【0157】
また、上記実施形態では、上下方向にスクロール表示する場合においてタッチ位置の左右方向の変位量に基づいてスクロールの速さV2が算出されるものとした。しかし、これには限られず、例えば、左右方向にスクロール表示される実施形態においては、タッチ位置の上下方向の変位量に基づいて左右方向のスクロールの速さV2が算出されるものとしてもよい。
【0158】
また、上記実施形態では、タッチ位置の左右方向(x軸方向)の変位量や下方向(y軸負方向)の変位量等に基づいて、スクロールの速さが算出されるものとした。しかし、これに限られず、これらの変位量に基づいてスクロールの量(すなわち、所定タイミングでスクロールされる際のスクロールの幅)が算出されるものとしてもよい。
【0159】
また、上記実施形態では、上下方向(y軸方向)にスクロール表示する際に、左右方向(x軸方向)の変位量に基づいてスクロールの速さV2を算出した。しかし、y軸方向にスクロールする際に、必ずしもこれと直交するx軸方向の変位成分に基づく必要はなく、y軸方向と異なる方向の変位成分に基づいてスクロールの速さを算出してもよい。y軸方向と異なる方向は、x軸方向となす角度の範囲が−45度から+45度までが好ましい。
【0160】
また、上記実施形態では、入力手段としてタッチパネル13を利用する場合を例に説明したが、入力手段はタッチパネル13に限定されるものではなく、例えばマウスやジョイスティックやタッチパッド等であってもよい。
【0161】
また、上記実施形態では、本発明のスクロール対象画像がテキストである場合を例に説明したが、本発明のスクロール対象画像は、その他画像、文字、記号等であってもよい。
【0162】
また、上記実施形態では、ゲーム装置10にタッチパネル13が一体的に設けられている場合を例に説明したが、ゲーム装置10とタッチパネルとを別体に構成しても、本発明を実現できることは言うまでもない。また、上側LCD22の上面にタッチパネル13を設けて上側LCD22に上述した下側LCD12に表示していた表示画像を表示してもよい。
【0163】
また、上記実施形態では、携帯型のゲーム装置10を用いて説明したが、一般的なパーソナルコンピュータ等の情報処理装置で本発明の情報処理プログラムを実行して、本発明を実現しても構わない。また、他の実施形態では、ゲーム装置に限らず任意の携帯型電子機器、例えば、PDA(Personal Digital Assistant)や携帯電話、パーソナルコンピュータ等であってもよい。
【0164】
また、上述した説明では全ての情報処理をゲーム装置10で行う場合を例に説明したが、情報処理の各処理ステップの少なくとも一部を他の装置で行っても構わない。例えば、ゲーム装置10が他の装置(例えば、サーバや他のゲーム装置)と通信可能に接続されている場合、上記情報処理における処理ステップは、ゲーム装置10及び他の装置が協働することによって実行されてもよい。また、上記実施形態においては、ゲーム装置10の情報処理部31が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われたが、ゲーム装置10が備える専用回路によって上記処理の一部又は全部が行われてもよい。
【0165】
また、上述したゲーム装置10の形状や、それに設けられている各種操作ボタン14、アナログスティック15、タッチパネル13の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる値等は、単なる一例に過ぎず他の順序や値であっても、本発明を実現できることは言うまで
もない。
【0166】
また、上記情報処理プログラムは、外部メモリ45やデータ保存用外部メモリ46等の外部記憶媒体を通じてゲーム装置10に供給されるだけでなく、有線又は無線の通信回線を通じてゲーム装置10に供給されてもよい。また、上記プログラムは、ゲーム装置10内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD−ROM、DVD、或いはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ等であってもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを一時的に記憶する揮発性メモリでもよい。
【0167】
以上、本発明を詳細に説明してきたが、上述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。
【産業上の利用可能性】
【0168】
本発明は、ユーザが入力手段を用いて行った操作に応じた情報処理を行う情報処理装置に実行させる情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法等に適用可能である。
【符号の説明】
【0169】
10 ゲーム装置
12 下側LCD
13 タッチパネル
28 タッチペン
31 情報処理部
32 メインメモリ
42 I/F回路
45 外部メモリ
51 スクロール画像表示領域
52 操作対象領域
53 上部スクロール指示領域
54 下部スクロール指示領域
311 CPU
322 情報処理プログラム
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法に関し、より特定的には、ユーザが入力手段を用いて行った操作に応じた情報処理を行う情報処理装置に実行させる情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法に関する。
【背景技術】
【0002】
従来、表示部が有する表示領域よりも大きな画像を表示する場合、当該画像はスクロール操作によってスクロール表示される。そのため、例えば特許文献1には、表示部にスクロール操作が可能なスクロール指示領域(ドラッグ操作領域)を設けることが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003−330613号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
一方、表示領域に表示された画像に対して選択操作等の処理を行うためには、表示領域内に当該操作用の操作領域を設ける必要がある。したがって、前述のスクロール指示領域は、この操作領域以外の領域に配置される必要がある。ところで、情報処理装置の小型化が進む現代においては、表示部が小さくなるため、表示部において表示領域の占める割合を大きくしたいという要望が生じる。この場合、表示領域に表示された画像に対して操作を行う操作領域以外の領域が狭くなり、このことにより、スクロール指示領域の配置可能な領域は狭くなる。したがって、スクロール指示領域の配置可能な領域はスクロール方向に短い距離しかとれず、スクロールの従来技術であるスクロール方向へのドラッグ操作を行うことは難しい。
【0005】
それ故に、本発明の主たる目的は、スクロール指示領域がスクロール方向に短い距離しかとれない状況においても、操作性の良いスクロール操作が可能な情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法を提供することである。
【課題を解決するための手段】
【0006】
本発明は上記の課題を解決するために、以下の構成を採用した。なお、本欄における括弧内の参照符号や補足説明等は、本発明の理解を助けるために後述する実施形態との対応関係を示したものであって、本発明を何ら限定するものではない。
【0007】
本発明は、スクロール対象画像を表示するスクロール画像表示領域(51)を有する表示領域を備えた情報処理装置のコンピュータに実行させる情報処理プログラムとして構成される。情報処理プログラムは、当該コンピュータを、指示位置検出手段と、第1スクロール指示判定手段と、第2スクロール指示判定手段と、スクロール制御手段として機能させる。指示位置検出手段は、ユーザによる表示領域上の指示位置を逐次検出する。第1スクロール指示判定手段は、指示位置検出手段によって検出された指示位置が、基準位置より第1方向(図5に示されるy軸正方向)に配置される第1領域(53)上で所定時間連続して検出されたか否かを判定する。第2スクロール指示判定手段は、指示位置検出手段によって検出された指示位置が、第1方向と異なる方向に変位したか否かを判定する。スクロール制御手段は、第1スクロール指示判定手段及び第2スクロール指示判定手段の判定結果の少なくとも一方が肯定である場合に、スクロール対象画像を第1方向に沿ってスクロールさせる。
【0008】
本構成によれば、ユーザは、指示位置を所定の第1領域において所定時間保持させることにより、スクロール対象画像を第1方向にスクロール表示させる(スクロール対象画像をスクロール画像表示領域に対して第1方向と反対方向に移動させる)ことができる。また、ユーザは、指示位置を第1方向と異なる方向に移動させることによっても、スクロール対象画像を第1方向にスクロール表示させることができる。すなわち、ユーザは、所定時間の経過を待ってスクロール表示させることも、所定時間の経過を待たずにスクロール表示させることもできる。このことにより、スクロール表示のための操作性が向上する。
【0009】
第1領域(53)は、スクロール指示に用いられる領域であり、スクロール画像表示領域(51)は、第2領域(52)を含み、第1領域は、第2領域に対して第1方向(図5に示されるy軸正方向)に配置されてもよい。この場合、第2スクロール指示判定手段は、指示位置検出手段によって検出された指示位置が、第1領域内で第1方向と異なる方向に変位したか否かを判定する。
【0010】
本構成によれば、ユーザは、指示位置を第1領域(スクロール指示領域)において所定時間保持させることにより、スクロール対象画像を第1方向にスクロール表示させる(スクロール対象画像をスクロール画像表示領域に対して第1方向と反対方向に移動させる)ことができる。また、ユーザは、スクロール指示領域内において指示位置を第1方向と異なる方向に移動させることによっても、スクロール対象画像を第1方向にスクロール表示させることができる。すなわち、ユーザは、所定時間の経過を待ってスクロール表示させることも、所定時間の経過を待たずにスクロール表示させることもできる。このことにより、スクロール表示のための操作性が向上する。
【0011】
情報処理プログラムは、コンピュータを、スクロール対象画像を第1方向に沿ってスクロールさせる際のスクロールの量を決定するスクロール量決定手段としてさらに機能させてもよい。スクロール量決定手段は、指示位置検出手段によって検出された指示位置が第1領域上に位置している時間に基づいて、第1のスクロールの量を決定し、指示位置検出手段によって検出された指示位置が第1領域において第1方向と異なる方向に変位した変位量に基づいて、第2のスクロールの量を決定する。スクロール制御手段は、スクロール量決定手段によって決定された第1のスクロールの量と第2のスクロールの量とを合算したスクロールの量だけスクロール対象画像を第1方向に沿ってスクロールさせる。
【0012】
本構成によれば、ユーザは、指示位置を第1領域(スクロール指示領域)において所定時間保持させる第1の操作により、その時間に応じたスクロールの量(H1)だけスクロール対象画像を第1方向にスクロール表示させる(スクロール対象画像をスクロール画像表示領域に対して第1方向と反対方向に移動させる)ことができる。また、ユーザは、スクロール指示領域内において指示位置を第1方向と異なる方向に移動させる第2の操作により、その変位量に応じたスクロールの量(H2)だけスクロール対象画像を第1方向にスクロール表示させることもできる。したがって、すぐさまスクロール表示を行いたいユーザは、第1の操作による所定時間の経過を待つことなく、第2の操作によってスクロール対象画像をスクロール表示させることができる。また、第2の操作を所定時間行うことによって、第1の操作も同時に行われることになり、スクロール対象画像がスクロールされる際のスクロールの量は、H1+H2となる。このことにより、ユーザは、第1の操作と第2の操作を同時に行うことで、一方の操作によるスクロールの量(H1又はH2)よりも大きなスクロールの量で、スクロール表示を行うことが可能となる。
【0013】
スクロール量決定手段による処理は以下のとおりであってもよい。すなわち、スクロール量決定手段は、指示位置検出手段によって検出された指示位置が第1領域上に位置している時間に基づいて、単位時間あたりにスクロールさせる第1のスクロールの量を決定し、指示位置検出手段によって検出された指示位置が第1領域において第1方向と異なる方向に変位した変位量に基づいて、当該単位時間あたりにスクロールさせる第2のスクロールの量を決定する。この場合、スクロール制御手段は、当該単位時間あたりに、スクロール量決定手段によって決定された当該第1のスクロールの量と当該第2のスクロールの量とを合算したスクロールの量だけスクロール対象画像を第1方向に沿ってスクロールさせる。
【0014】
本構成によれば、ユーザは、指示位置を第1領域(スクロール指示領域)において所定時間保持させる第1の操作により、当該所定時間に応じた単位時間あたりにスクロールさせる量だけ(すなわち、速さV1で)スクロール対象画像を第1方向にスクロール表示させる(スクロール対象画像をスクロール画像表示領域に対して第1方向と反対方向に移動させる)ことができる。また、ユーザは、スクロール指示領域内において指示位置を第1方向と異なる方向に移動させる第2の操作により、その変位量に応じた単位時間あたりにスクロールさせる量だけ(すなわち、速さV2で)でスクロール対象画像を第1方向にスクロール表示させることもできる。したがって、すぐさまスクロール表示を行いたいユーザは、第1の操作による所定時間の経過を待つことなく、第2の操作によってスクロール対象画像をスクロール表示させることができる。また、第2の操作を所定時間行うことによって、第1の操作も同時に行われることになり、スクロール対象画像がスクロールされる際のスクロールの速さは、V1+V2となる。このことにより、ユーザは、第1の操作と第2の操作を同時に行うことで、一方の操作によるスクロールの速さ(V1又はV2)よりも速く、スクロール表示を行うことが可能となる。
【0015】
スクロール量決定手段による処理は以下のとおりであってもよい。すなわち、スクロール量決定手段は、指示位置検出手段によって検出された指示位置が第1領域において所定の基準位置から第1方向と異なる方向に移動した軌跡の長さに応じて、第2のスクロールの量を決定する。
【0016】
本構成によれば、第1領域(スクロール指示領域)において、ユーザは、指示位置を第1方向(スクロール方向)と異なる方向に往復移動させることによっても、指示位置が第1方向と異なる方向に移動した軌跡の長さを長くすることができる。このことにより、第1方向と異なる方向に指示位置を移動させることが可能な領域が小さくても、往復移動を繰り返すことにより当該軌跡の長さを長くすることが可能であり、この長さに応じて決定されるスクロールの量を大きく(例えば、スクロールの速さを速く)することが可能になる。
【0017】
スクロール量決定手段による処理は以下のとおりであってもよい。すなわち、スクロール量決定手段は、指示位置検出手段によって検出された指示位置が第1領域において所定の基準位置から第1方向と異なる方向に変位した変位量に応じて、第2のスクロールの量を決定する。
【0018】
本構成によれば、スクロール画像表示領域内に位置する第1領域(スクロール指示領域)において、ユーザは、所定の基準位置から指示位置を第1方向(スクロール方向)と異なる方向に移動させる移動量(距離)を変えることにより、この移動量に応じて決定されるスクロールの量を変えることができる。したがって、ユーザは、指示位置を移動させ続けることなく所定の位置に保持することで所定時間の経過までスクロールの量(例えば、スクロールの速さ)を一定に保つことができる。
【0019】
スクロール量決定手段による処理は以下のとおりであってもよい。すなわち、スクロール量決定手段は、指示位置検出手段によって検出された指示位置が第1領域において第1方向と異なる方向に所定時間内に変位した変位量に応じて、第2のスクロールの量を決定する。
【0020】
本構成によれば、第1領域(スクロール指示領域)において、ユーザは、指示位置を第1方向(スクロール方向)と異なる方向に移動させる速さを変えることにより、この速さに応じて決定されるスクロールの量を変えることができる。すなわち、ユーザは、指示位置を速く動かせばスクロールの量は大きくなるという直感的な操作によってスクロールの量(例えば、スクロールの速さ)を変更することができる。
【0021】
第2スクロール指示判定手段による処理は以下のとおりであってもよい。すなわち、第2スクロール指示判定手段は、指示位置検出手段によって検出された指示位置が第1領域において第1方向と異なる方向に所定時間内に所定の閾値を超えて変位したか否かを判定する。
【0022】
本構成によれば、第1領域(スクロール指示領域)において、ユーザは、指示位置を所定の速さ以上で第1方向(スクロール方向)と異なる方向に移動させることによって、スクロール対象画像を第1方向にスクロール表示させる(スクロール対象画像をスクロール画像表示領域に対して第1方向と反対方向に移動させる)ことができる。したがって、指示位置を第1方向と異なる方向にゆっくり移動させた場合のように、ユーザにスクロール表示の意図がないとみなせる場合に、所定の時間の経過までスクロール表示されることを回避することができる。
【0023】
第1方向と異なる方向は、第1方向と直交する方向であってもよい。
【0024】
一般に、スクロール対象画像の表示される部分を少しでも大きくするために、スクロール画像表示領域をスクロール方向に広くしたいという要望がある。このような場合、スクロール表示領域内の第2領域(例えば画像の一部を選択するための選択操作領域)もスクロール方向に広くする必要があるため、第1領域(スクロール指示領域)のスクロール方向の長さ(幅)は短くなる。しかし、スクロール指示領域のスクロール方向と直交する方向の長さ(幅)は短くなることはない。本構成によれば、スクロール指示領域において、スクロール方向と直交する方向の長さ(幅)は、ユーザが指示位置を移動させるのに十分な長さを有しており、ユーザはこの方向に指示位置を移動させることによりスクロール表示させることができる。
【0025】
以上では、情報処理プログラムとして本発明を構成する場合について記載した。しかし、本発明は、情報処理装置、情報処理システム、又は情報処理方法として構成されてもよい。更には、本発明は、上記情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体として構成されてもよい。
【発明の効果】
【0026】
本発明によれば、スクロール指示領域がスクロール方向に短い距離しかとれない状況においても、操作性の良いスクロール操作が可能な情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法を提供することができる。
【図面の簡単な説明】
【0027】
【図1】開いた状態のゲーム装置10の正面図
【図2】開いた状態のゲーム装置10の右側面図
【図3A】閉じた状態のゲーム装置10の左側面図
【図3B】閉じた状態のゲーム装置10の正面図
【図3C】閉じた状態のゲーム装置10の右側面図
【図3D】閉じた状態のゲーム装置10の背面図
【図4】ゲーム装置10の内部構成の一例を示すブロック図
【図5】下側LCD12の表示画面に表示される画像の一例を示す図
【図6】ユーザが下側LCD12の表示画面に対して行う操作の一例を示す図
【図7】ユーザが下側LCD12の表示画面に対して行う操作の一例を示す図
【図8】ユーザが下側LCD12の表示画面に対して行う操作の一例を示す図
【図9】ユーザが下側LCD12の表示画面に対して行う操作の一例を示す図
【図10】ユーザが下側LCD12の表示画面に対して行う操作の一例を示す図
【図11】ユーザが下側LCD12の表示画面に対して行う操作の一例を示す図
【図12】ユーザが下側LCD12の表示画面に対して行う操作の一例を示す図
【図13】メインメモリ32のメモリマップ
【図14】CPU311によって実行される処理の一例を示すフローチャート
【図15】CPU311によって実行される処理の一例を示すフローチャート
【図16】CPU311によって実行される処理の一例を示すフローチャート
【発明を実施するための形態】
【0028】
以下、適宜図面を参照しつつ、本発明の一実施形態に係る情報処理装置について説明する。なお、本発明の情報処理装置及びこの装置で実行される情報処理プログラムは任意のコンピュータシステムに適用可能であるが、本実施形態では、情報処理装置の一例としての携帯型のゲーム装置10において、外部メモリ45に記録されている情報処理プログラムが実行される場合を例に説明する。
【0029】
[ゲーム装置10の構成]
図1は、開いた状態のゲーム装置10の正面図である。図2は、開いた状態のゲーム装置10の右側面図である。図3Aは、閉じた状態のゲーム装置10の左側面図である。図3Bは、閉じた状態のゲーム装置10の正面図である。図3Cは、閉じた状態のゲーム装置10の右側面図である。図3Dは、閉じた状態のゲーム装置10の背面図である。
【0030】
ゲーム装置10は、画像を撮像する撮像部を有しており、撮像された画像を画面に表示したり、撮像された画像のデータを保存したりすることが可能である。また、ゲーム装置10は、交換可能なメモリカード(外部メモリ45)内に記憶されたプログラム、又はサーバや他のゲーム装置から受信したプログラムを実行可能である。ゲーム装置10は、これらのプログラムを実行することにより、仮想空間に設定された仮想カメラで撮像した画像をコンピュータグラフィックス処理して生成した画像を画面に表示することもできる。
【0031】
ゲーム装置10は、下側ハウジング11及び上側ハウジング21を備える。上側ハウジング21は、下側ハウジング11に対して開閉可能に連結されている。このため、ゲーム装置10は、折り畳みが可能である。このゲーム装置10は、図1に例示されるように開いた状態で使用され、未使用時には閉じた状態(図3A〜図3D参照)で保管される。
【0032】
[下側ハウジング11の構成]
下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12、タッチパネル13、各操作ボタン14A〜14L(図1、図3A〜図3D)、アナログスティック15、LED16A,16B、挿入口17、及びマイクロフォン用孔18が設けられている。
【0033】
下側LCD12は、上下方向(y軸方向)よりも左右方向(x軸方向)に長い表示画面を有しており、下側ハウジング11の内側面11Bにおける中央に設けられている。下側LCD12の画素数は、特に限定されるものではないが、一例として、320dot×240dot(横×縦)である。下側LCD12は、後述する上側LCD22とは異なり、画像を(立体視可能ではなく)平面的に表示する表示装置である。
【0034】
なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用してもよい。
【0035】
図1に示されるように、ゲーム装置10は、入力手段として機能するタッチパネル13を備えている。タッチパネル13は、下側LCD12の画面上を覆うように装着されている。本実施形態では、タッチパネル13は、例えば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル13は、抵抗膜方式に限らず、例えば静電容量方式等、任意の押圧式のタッチパネルを用いることができる。本実施形態では、タッチパネル13として、下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度とが一致している必要はない。
【0036】
下側ハウジング11の上側面には挿入口17(図1及び図3Dに示す破線)が設けられている。挿入口17は、タッチパネル13に対する操作を行うために用いられるタッチペン28を収納することができる。なお、タッチパネル13に対する入力は通常タッチペン28を用いて行われるが、タッチペン28に限らず、ユーザの指でタッチパネル13に対する入力を行うことも可能である。
【0037】
各操作ボタン14A〜14Lは、所定の入力を行うための入力装置である。図1に示されるように、下側ハウジング11の内側面11Bには、各操作ボタン14A〜14Lのうち、十字ボタン14A、ボタン14B、ボタン14C、ボタン14D、ボタン14E、電源ボタン14F、セレクトボタン14J、HOMEボタン14K、及びスタートボタン14Lが設けられている。ボタン14A〜14E、セレクトボタン14J、HOMEボタン14K、及びスタートボタン14Lには、ゲーム装置10が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン14Aは選択操作等に用いられ、各操作ボタン14B〜14Eは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン14Fは、ゲーム装置10の電源をオン/オフするために用いられる。
【0038】
アナログスティック15は、方向を指示するデバイスであり、下側ハウジング11の内側面11Bにおける下側LCD12の左側に設けられている。このアナログスティック15及び十字ボタン14Aは、下側ハウジング11を把持したユーザの左手の親指で操作可能な位置に設けられている。アナログスティック15は、そのキートップが、下側ハウジング11の内側面11Bに平行にスライドするように構成されており、ゲーム装置10が実行するプログラムに応じて機能する。
【0039】
下側ハウジング11の内側面11Bには、マイクロフォン用孔18が設けられている。後述するが、下側ハウジング11の内部には、マイクロフォン用孔18と対応する位置に音声入力装置としてのマイク43(図4参照)が設けられている。マイクロフォン用孔18を介して入力された音がマイク43によって検出される。
【0040】
図3B及び図3Dに示されるように、下側ハウジング11の上面には、Lボタン14G及びRボタン14Hが設けられている。Lボタン14Gは、下側ハウジング11の上面の左端部に設けられ、Rボタン14Hは、下側ハウジング11の上面の右端部に設けられている。Lボタン14G及びRボタン14Hは、例えば撮像部のシャッターボタン(撮影指示ボタン)として機能する。また、図3Aに示されるように、下側ハウジング11の左側面には、音量ボタン14Iが設けられている。音量ボタン14Iは、ゲーム装置10が備えるスピーカ44(図4参照)の音量を調整するために用いられる。
【0041】
図3Aに示されるように、下側ハウジング11の左側面には開閉可能なカバー部11Cが設けられている。このカバー部11Cの内側には、ゲーム装置10とデータ保存用外部メモリ46(図1参照)とを電気的に接続するためのコネクタ(図示せず)が設けられている。データ保存用外部メモリ46は、上記コネクタに着脱可能に装着される。データ保存用外部メモリ46は、例えば、ゲーム装置10によって撮像された画像のデータを記憶(保存)するために用いられる。なお、上記コネクタおよびそのカバー部11Cは、下側ハウジング11の右側面に設けられてもよい。
【0042】
図3Dに示されるように、下側ハウジング11の上面には、挿入口11Dが設けられている。挿入口11Dには、情報処理プログラムを記録した記録媒体としての外部メモリ45(図1参照)が挿入される。挿入口11Dの内部には、外部メモリ45が着脱可能に装着されるコネクタ(図示せず)が設けられている。外部メモリ45がこのコネクタに装着されることによって外部メモリ45とゲーム装置10とが電気的に接続され、情報処理プログラムが実行される。なお、上記コネクタ及び挿入口11Dは、下側ハウジング11の他の面(例えば、右側面等)に設けられてもよい。
【0043】
図1に示されるように、下側ハウジング11の下面には、第1LED16Aが設けられている。この第1LED16Aは、ゲーム装置10の電源のON/OFF状況をユーザに通知する。図3Cに示されるように、下側ハウジング11の右側面には、第2LED16Bが設けられている。ゲーム装置10は、他の機器との間で無線通信を行うことが可能に構成されている。第2LED16Bは、ゲーム装置10の無線通信の確立状況をユーザに通知するものであり、他の機器との無線通信が確立している場合に点灯する。ゲーム装置10は、例えば、IEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。下側ハウジング11の右側面には、この無線通信の機能を有効/無効にする無線スイッチ19が設けられている(図3C参照)。
【0044】
[上側ハウジング21の構成]
上側ハウジング21には、上側LCD22、2つの外側撮像部23(外側左撮像部23A及び外側右撮像部23B)、内側撮像部24、3D調整スイッチ25、及び3Dインジケータ26が設けられている。
【0045】
図1に示されるように、上側ハウジング21の内側面(主面)21Bに上側LCD22が設けられている。上側LCD22は、縦方向よりも横方向に長い表示画面を有しており、上側ハウジング21の中央に設けられている。上側LCD22の画素数は、特に限定されるものではないが、一例として800dot×240dot(横×縦)である。なお、本実施形態では、上側LCD22が液晶表示装置であるが、例えばELを利用した表示装置などが利用されてもよい。
【0046】
上側LCD22は、立体視可能な画像を表示することが可能な表示装置である。上側LCD22は、実質的に同一の表示領域を用いて左目用画像と右目用画像とを表示することが可能である。
【0047】
外側撮像部23は、図3Bに示されるように、上側ハウジング21の外側面(上側LCD22が設けられた主面と反対側の面)21Dに設けられている。この外側撮像部23は、外側左撮像部23A及び外側右撮像部23Bから構成されている。
【0048】
外側左撮像部23A及び外側右撮像部23Bの撮像方向は、いずれも外側面21Dの外向きの法線方向である。また、外側左撮像部23Aの撮像方向及び外側右撮像部23Bの撮像方向は、互いに平行である。外側左撮像部23Aと外側右撮像部23Bとは、ゲーム装置10が実行するプログラムによって、ステレオカメラとして使用することが可能である。
【0049】
内側撮像部24は、上側ハウジング21の内側面(主面)21Bに設けられており、外側撮像部23とは反対方向を撮像する撮像部である。このため、ユーザが上側LCD22を静止した状態で、内側撮像部24によりユーザの顔を正面から撮像することができる。内側撮像部24は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【0050】
図1,図2,図3Cに示されるように、上側ハウジング21の内側面及び右側面の端部に3D調整スイッチ25が設けられている。3D調整スイッチ25は、上側LCD22に表示された立体視可能な画像(立体画像)の立体感を調整するために用いられる。
【0051】
図1に示されるように、上側ハウジング21の内側面21Bに3Dインジケータ26が設けられている。3Dインジケータ26は、上側LCD22が立体表示モードか否かを示す。例えば、3Dインジケータ26は、LEDであり、上側LCD22の立体表示モードが有効である場合に点灯する。
【0052】
また、上側ハウジング21の内側面21Bには、スピーカ孔21Eが形成されており、後述するスピーカ44(図4参照)からの音声がこのスピーカ孔21Eを介して出力される。
【0053】
[ゲーム装置10の内部構成]
次に、図4を参照しつつ、ゲーム装置10の内部構成について説明する。ここで、図4は、ゲーム装置10の内部構成の一例を示すブロック図である。
【0054】
図4に示されるように、ゲーム装置10は、情報処理部31、メインメモリ32、外部メモリインターフェース(外部メモリI/F)33、データ保存用外部メモリI/F34、データ保存用内部メモリ35、無線通信モジュール36、ローカル通信モジュール37、リアルタイムクロック(RTC)38、加速度センサ39、角速度センサ40、電源回路41、及びインターフェース回路(I/F回路)42等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング11(又は上側ハウジング21)内に収納されている。
【0055】
情報処理部31は、所定のプログラムを実行するためのCPU(Central Processing Unit)311、画像処理を行うGPU(Graphics Processing Unit)312等を含む情報処理手段である。本実施形態では、情報処理プログラムがゲーム装置10内のメモリ(例えば外部メモリI/F33に接続された外部メモリ45やデータ保存用内部メモリ35)に記憶されている。CPU311は、この情報処理プログラムを実行することによって、表示画面に表示されるスクロール対象画像をスクロール表示させる等の情報処理を実行する。なお、CPU311によって実行される情報処理プログラムは、他の機器との通信によって他の機器から取得されてもよい。
【0056】
情報処理部31は、VRAM(Video RAM)313を含む。GPU312は、CPU311からの命令に応じて画像をVRAM313に描画する。そして、GPU312は、VRAM313に描画された画像を上側LCD22及び/又は下側LCD12に出力し、上側LCD22及び/又は下側LCD12に当該画像が表示される。
【0057】
情報処理部31には、メインメモリ32、外部メモリI/F33、データ保存用外部メモリI/F34、及びデータ保存用内部メモリ35が接続される。外部メモリI/F33は、外部メモリ45を着脱自在に接続するためのインターフェースである。データ保存用外部メモリI/F34は、データ保存用外部メモリ46を着脱自在に接続するためのインターフェースである。
【0058】
メインメモリ32は、CPU311のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ32は、画像処理やゲーム処理で用いられる各種データを一時的に記憶したり、外部(外部メモリ45や他の機器等)から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ32として例えばPSRAM(Pseudo−SRAM)が用いられる。
【0059】
外部メモリ45は、情報処理部31によって実行されるプログラムを記憶する不揮発性の記憶手段である。外部メモリ45は、例えば読み取り専用の半導体メモリで構成される。外部メモリ45が外部メモリI/F33に接続されると、情報処理部31は外部メモリ45に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムが実行されることにより、所定の処理が行われる。
【0060】
データ保存用外部メモリ46は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ46には、外側撮像部23で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ46がデータ保存用外部メモリI/F34に接続されると、情報処理部31はデータ保存用外部メモリ46に記憶された画像を読み込み、上側LCD22及び/又は下側LCD12に当該画像を表示することができる。
【0061】
データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【0062】
無線通信モジュール36は、例えばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。ローカル通信モジュール37は、所定の通信方式(例えば赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。情報処理部31は、無線通信モジュール36を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール37を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【0063】
加速度センサ39は、3軸(本実施形態では、xyz軸)方向に沿った直線方向の加速度(直線加速度)の大きさを検出する。
【0064】
角速度センサ40は、ゲーム装置10の3軸(本実施形態では、xyz軸)周りに生じる角速度をそれぞれ検出し、検出した角速度を示すデータ(角速度データ)を情報処理部31へ出力する。
【0065】
情報処理部31には、RTC38及び電源回路41が接続される。RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻(日付)を計算する。電源回路41は、ゲーム装置10が有する電源(下側ハウジング11に収納される充電式電池)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。
【0066】
I/F回路42には、マイク43、スピーカ44、及びタッチパネル13が接続される。具体的には、I/F回路42には、図示しないアンプを介してスピーカ44が接続される。マイク43は、ユーザの音声を検知して音声信号をI/F回路42に出力する。アンプは、I/F回路42からの音声信号を増幅し、音声をスピーカ44から出力させる。I/F回路42は、マイク43及びスピーカ44(アンプ)の制御を行う音声制御回路と、タッチパネル13の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換及びD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部31に出力する。タッチ位置データは、タッチパネル13の入力面において入力が行われた位置(タッチ位置)の座標を示すデータである。なお、タッチパネル制御回路は、タッチパネル13からの信号の読み込み、及びタッチ位置データの生成を所定時間に1回の割合で行う。情報処理部31は、タッチ位置データを取得することにより、タッチパネル13に対して入力が行われたタッチ位置を取得することができる。
【0067】
操作ボタン14は、上記各操作ボタン14A〜14Lからなり、情報処理部31に接続される。操作ボタン14から情報処理部31へは、各操作ボタン14A〜14Iに対する入力状況(押下されたか否か)を示す操作データが出力される。情報処理部31は、操作ボタン14から操作データを取得することによって、操作ボタン14に対する入力に応じた処理を実行する。
【0068】
ユーザがタッチパネル13や操作ボタン14を用いた所定の操作を行うことにより、使用する撮像部が選択される。情報処理部31は、この選択結果に応じて、外側撮像部23及び内側撮像部24のいずれか一方に対して撮像を指示する。これに対して、外側撮像部23及び内側撮像部24は、情報処理部31からの指示に従って画像を撮像し、撮像した画像データを情報処理部31に出力する。
【0069】
下側LCD12及び上側LCD22は、情報処理部31(GPU312)の指示に従って画像を表示する。情報処理部31は、例えば、外側撮像部23によって撮像された右目用画像と左目用画像とを用いた立体画像(立体視可能な画像)を上側LCD22に表示させる。また、情報処理部31は、例えば、所定のプログラムを起動させるための各種画像(アイコン)や、ユーザの操作によってスクロールする画像(テキスト)を下側LCD12に表示させる。この下側LCD12の表示画面の構成については、後に詳述する。
【0070】
3D調整スイッチ25は、スライダの位置に応じた電気信号を情報処理部31に出力する。これに対して、情報処理部31(CPU311)は、3D調整スイッチ25からの電気信号に基づいて上側LCD22の表示モードを設定する。情報処理部31は、3Dインジケータ26の点灯を制御する。例えば、情報処理部31は、上側LCD22が立体表示モードである場合、3Dインジケータ26を点灯させる。
【0071】
なお、上述したハードウェア構成は単なる一例に過ぎず、ゲーム装置10の構成は適宜変更可能である。
【0072】
[下側LCD12の表示画面の構成]
図5は、下側LCD12の表示画面の構成と、表示画面に表示される画像の一例を示す図である。図5に示されるように、下側LCD12の表示画面は、スクロール対象画像を表示するスクロール画像表示領域51を有する。スクロール対象画像とは、後述するユーザによる各種操作によって、スクロール画像表示領域51内において上下方向(y軸方向)にスクロールして表示される画像(テキスト)である。また、下側LCD12の表示画面には、スクロール画像表示領域51以外の領域にも様々な画像が表示される。例えば、スクロール画像表示領域51の下部にソフトウェアキーボードの画像が表示され、当該ソフトウェアキーボードがユーザにタッチされることによって入力された情報に基づいて、スクロール画像表示領域51にスクロール対象画像(テキスト)が表示される。
【0073】
一方、下側LCD12の表示画面は、選択操作領域52、上部スクロール指示領域53、及び下部スクロール指示領域54から構成される。上部スクロール指示領域53は、選択操作領域52の上側に配置され、下部スクロール指示領域54は、選択操作領域52の下側に配置される。選択操作領域52は、ユーザがタッチペン28を用いてスクロール対象画像の一部又は全部を選択する選択操作を行うための領域である。上部スクロール指示領域53は、ユーザがタッチペン28を用いてスクロール対象画像を上方向にスクロールさせるための領域である。下部スクロール指示領域54は、ユーザがタッチペン28を用いてスクロール対象画像を下方向にスクロールさせるための領域である。なお、選択操作領域52は、スクロール対象画像に対して選択操作を行うための領域であることから、スクロール画像表示領域51内に含まれる。
【0074】
[ユーザによる各種操作]
以下、図6〜図11を用いてユーザがタッチペン28を用いてタッチパネル13をタッチする各種操作について説明する。以下の説明では、ユーザがタッチペン28を用いてタッチパネル13をタッチする操作を「タッチオン」と言い、タッチペン28をタッチパネル13から離す操作を「タッチオフ」と言う。なお、説明の都合上、特に断りのない限り、ユーザが下側LCD12の表示画面の直上にあるタッチパネル13をタッチオンすることを、単に下側LCD12の表示画面をタッチオンすると言う。同様に、タッチペン28が指示するタッチパネル13上の「タッチ位置」は、その直下にある下側LCD12の表示画面上の「タッチ位置」と言う。また、ユーザがタッチペン28を用いて選択操作領域52上をタッチオンして、そのまま(タッチオフしないで)タッチ位置を移動させる操作をドラッグ操作と言う。
【0075】
[選択処理]
図6は、ユーザが下側LCD12の表示画面において選択操作領域52上をタッチオンしているときの様子を示している。図6に示されるように、ユーザが選択操作領域52内でドラッグ操作を行うと、ドラッグ操作の操作量(タッチ位置の変位量)に応じてスクロール画像表示領域51に表示されたスクロール対象画像(テキスト)の一部又は全部が選択される。なお、この選択操作領域52上が最初にタッチオンされることによって、このようにスクロール対象画像が選択される選択処理や、後述する、スクロール対象画像が上下方向にスクロール表示されるスクロール処理が行われる。選択操作領域52上が最初にタッチオンされない場合には、タッチ位置が変位しても選択処理もスクロール処理も行われない。
【0076】
[スクロール処理]
図7〜図12は、ユーザがスクロール画像表示領域51に表示されたスクロール対象画像をスクロール表示させるときの様子を示している。
【0077】
[第1の下方向スクロール処理]
図7及び図8は、ユーザがタッチペン28を下方向にドラッグして、スクロール対象画像を下方向にスクロール表示させるときの様子を示している。図7に示されるように、ユーザは、タッチペン28を用いて選択操作領域52上を最初にタッチオンした後、タッチペン28を下方向にドラッグして、タッチ位置を下部スクロール指示領域54上に移動させる。このとき、図8に示されるように、スクロール画像表示領域51に表示されたスクロール対象画像は下方向にスクロール表示される(すなわち、スクロール対象画像は、スクロール画像表示領域51に対して相対的に上方向に移動する)。なお、このスクロールの速さは、例えば、下部スクロール指示領域54上のタッチ位置が選択操作領域52の下端(選択操作領域52と下部スクロール指示領域54の境界)から下方向(y軸負方向)に変位した変位量に応じて決定される。
【0078】
[第1の上方向スクロール処理]
図9及び図10は、ユーザがタッチペン28を上方向にドラッグして、スクロール対象画像を上方向にスクロール表示させるときの様子を示している。図9に示されるように、ユーザは、タッチペン28を用いて選択操作領域52上を最初にタッチオンした後、タッチペン28を上方向にドラッグして、タッチ位置を上部スクロール指示領域53上に移動させる。このとき、タッチ位置が選択操作領域52上から、上部スクロール指示領域53上に上方向(y軸正方向)に変位したことによっては、スクロール画像表示領域51に表示されたスクロール対象画像は上方向にスクロール表示されない。
【0079】
図10に示されるように、ユーザがタッチ位置を、上部スクロール指示領域53上に移動させてから所定時間この上部スクロール指示領域53上で保持(長押し)したときに初めて、スクロール対象画像が上方向にスクロール表示される(すなわち、スクロール対象画像は、スクロール画像表示領域51に対して相対的に下方向に移動する)。ただし、タッチ位置は、上部スクロール指示領域53上で1点に固定されている必要はなく、上部スクロール指示領域53上のいずれかに位置していればよく、この時間が長押しされている時間として計測される。なお、このスクロールの速さは、例えば、タッチ位置が上部スクロール指示領域53上に位置している時間(長押しされている時間)に応じて決定される。
【0080】
このように、上方向スクロール処理と下方向スクロール処理が行われるためのユーザの操作が異なるのは以下の理由による。すなわち、本実施形態で例示されるように、下側LCD12の表示画面の下部にソフトウェアキーボードの画像を表示する必要があるときなどは、スクロール画像表示領域51は、下側LCD12の表示画面の上部に位置する。このとき、スクロール画像表示領域51内に位置する選択操作領域52の上側に位置する上部スクロール指示領域53の上方向の長さ(幅)は、選択操作領域52の下側に位置する下部スクロール指示領域54の下方向の長さ(幅)よりも短くなる。したがって、上部スクロール指示領域53上で上方向にドラッグ操作が可能な範囲は、下部スクロール指示領域54上で下方向にドラッグ操作が可能な範囲よりも小さく、このため上部スクロール指示領域53上での上方向のドラッグ操作は下部スクロール指示領域54上での下方向のドラッグ操作に比べて行い難くなる。
【0081】
また、上部スクロール指示領域53上のタッチ位置が選択操作領域52の上端(選択操作領域52と上部スクロール指示領域53の境界)から上方向(y軸正方向)へ変位する際に取りうる変位量の最大値は、下部スクロール指示領域54上のタッチ位置が選択操作領域52の下端(選択操作領域52と下部スクロール指示領域54の境界)から下方向(y軸負方向)へ変位する際に取りうる変位量の最大値に比べて小さくなる。したがって、上方向のスクロール表示が、この変位量に応じてスクロールの速さが決定される下方向のスクロール表示を行うための操作と同様の操作(図7及び図8参照)によって行われるとすると、上方向への変位量は小さな値しかとれないため、上方向のスクロールの速さは下方向のスクロールの速さに比べて小さくなる。一方、上記した同様の操作によって、上方向のスクロールの速さの最大値を下方向のスクロールの速さの最大値と同じにするためには、所定の変位量に対する速さの増加率を上げなければならず、この場合、タッチ位置の移動(変化)に対して、スクロールの速さの変化が急峻なものとなり、ユーザの操作性が悪化する。以上の理由により、上方向のスクロール処理は、下方向のスクロール処理とは異なる操作(長押し)によって行われる。
【0082】
[第2の上方向スクロール処理]
図11は、ユーザがタッチペン28を左右方向にドラッグして、スクロール対象画像を上方向にスクロール表示させるときの様子を示している。ユーザは、タッチペン28を用いて選択操作領域52上を最初にタッチオンした後、タッチペン28を上方向にドラッグして、タッチ位置を上部スクロール指示領域53上に移動させる(図9参照)。その後、ユーザは上部スクロール指示領域53上でタッチペン28を左右方向にドラッグする(図11参照)。このとき、図11に示されるように、スクロール画像表示領域51に表示されたスクロール対象画像は上方向にスクロール表示される。なお、このスクロールの速さは、例えば、ドラッグ操作の操作量(距離)やドラッグ操作の速度に応じて決定される。
【0083】
このように、第2の上方向スクロール処理が行われるのは以下の理由による。上記したように、第1の上方向のスクロール処理が行われるのは、ユーザが選択操作領域52を最初にタッチオンしてからタッチ位置を上部スクロール指示領域53上に移動させて、その後タッチ位置を上部スクロール指示領域53上で所定時間保持(長押し)したときである。したがって、すぐさま上方向のスクロール表示を行いたいユーザにとっては所定時間の経過を待つのは意図に反するため、不快に感じることがある。また、ユーザがスクロール表示の速さを増加させるには、長押しの時間を長くしなければならない(すなわち、待たなければならない)ため、早く(速く)スクロール表示させたいという意図と矛盾した操作を必要とし、そのことがユーザの不快感を増す恐れがある。
【0084】
しかし、第2の上方向スクロール処理によれば、ドラッグ操作が可能な範囲が上下方向よりも左右方向に広い上部スクロール指示領域53上の左右方向の領域を利用して、左右方向にドラッグ操作が行われることで上方向のスクロール表示が可能となる。したがって、ユーザにとっては自身の左右方向のドラッグ操作によって上方向のスクロール表示の速さを変えることができ、また所定時間の経過を待つことなく上方向のスクロール表示を行うことができる。この結果として、ユーザは、タッチペン28を用いて上部スクロール指示領域53上で長押しする操作及び上部スクロール指示領域53上で左右方向にドラッグする操作を行うことにより、上方向のスクロール表示が可能となり、スクロール表示のための操作性が向上する。
【0085】
また、第2の上方向スクロール処理が行われるのは以下の理由にもよる。本実施形態で例示されるように、スクロール画像表示領域51が下側LCD12の表示画面の上端に位置する場合には、スクロール画像表示領域51内に上部スクロール指示領域53を設けなければならない。そのため、上部スクロール指示領域53の上方向(スクロール方向)の長さ(幅)は短くなってしまう。しかし、上部スクロール指示領域53の左右方向の長さ(幅)は、スクロール画像表示領域51内においても上下方向の長さに比べて長くすることが可能である。したがって、スクロール画像表示領域51内の限られた領域を上部スクロール指示領域53として用いて、かつ左右方向に長い領域を有する上部スクロール指示領域53において左右方向にドラッグ操作を行うことによって、スクロール対象画像を上方向にスクロール表示させることができる。
【0086】
すなわち、第2の上方向のスクロール処理によれば、下側LCD12においてスクロール画像表示領域51の占める割合を大きくして上部スクロール指示領域53が位置する領域がスクロール方向(上下方向)に十分な長さを有することができなかったとしても、それとは異なる方向(左右方向)の領域を利用してドラッグ操作が行われることにより上方向のスクロール表示が可能となる。このことにより、下側LCD12においてスクロール画像表示領域51の大きさを大きくしても、スクロール画像表示領域51に表示されたスクロール対象画像を操作性良く、適切にスクロール表示させることができる。
【0087】
[第2の下方向スクロール処理]
図12は、ユーザがタッチペン28を左右方向にドラッグして、スクロール対象画像を下方向にスクロール表示させるときの様子を示している。ユーザは、タッチペン28を用いて選択操作領域52上を最初にタッチオンした後、タッチペン28を下方向にドラッグして、タッチ位置を下部スクロール指示領域54上に移動させる(図7参照)。このとき、図8に示されるように、スクロール対象画像は、下方向のドラッグの操作量(距離)に応じた速さで下方向にスクロール表示される。さらに、ユーザは下部スクロール指示領域54上でタッチペン28を左右方向にドラッグする(図12参照)。このとき、図12に示されるように、スクロール対象画像は、更に速く下方向にスクロール表示される。なお、このスクロールの速さの増加量は、例えば、図12に示される左右方向のドラッグ操作の操作量(距離)や、このドラッグ操作の速度に応じて決定される。
【0088】
このように、第2の下方向スクロール処理が行われるのは以下の理由による。上記したように第1の下方向のスクロール処理(図8参照)が行われるのは、ユーザが選択操作領域52を最初にタッチオンしてからタッチ位置を下部スクロール指示領域54上に移動させたときであり、そのスクロール表示の速さは、タッチ位置の下方向への変位量に応じて決定される。しかし、下方向の変位量は、下部スクロール指示領域54の最下端までの変位量を最大値とし、そのため、その変位量に応じて決定されるスクロール表示の速さには限界値がある。しかしながら、ユーザによっては、あるいはスクロール対象画像の大きさ(上下方向の長さ)によっては、さらに速い速さでスクロール表示を行いたいという要望がある。
【0089】
この場合には、通常の第1の下方向のスクロール処理(図8参照)に加えて、第2の下方向のスクロール処理(図12参照)が行われることにより、ユーザは更に速い速さでスクロール対象画像を下方向にスクロール表示させることができる。したがって、下方向に速くスクロール表示させたいユーザは、通常の下方向へのドラッグ操作に加えて左右方向のドラッグ操作を行うことにより、意図したスクロール表示の速さで下方向にスクロール表示させることができる。
【0090】
以上のように、ユーザは最初に選択操作領域52上をタッチオンすることにより、スクロール画像表示領域51に表示されたスクロール対象画像に対して、スクロール対象画像の一部又は全部を選択する選択表示、スクロール対象画像の上方向スクロール表示、及びスクロール対象画像の下方向スクロール表示を行わせることができる。また、スクロール対象画像の上方向スクロール表示は、タッチペン28の長押し及びタッチペン28の左右方向へのドラッグ操作によって可能である。スクロール対象画像の下方向スクロール表示は、タッチペン28の下方向(下部スクロール指示領域54の領域内)へのドラッグ操作及びタッチペン28の左右方向へのドラッグ操作によって可能である。したがって、ユーザにとってはスクロール表示のための操作は自由度の高いものとなるとともに、下側LCD12内に占めるスクロール画像表示領域51の位置・大きさによって制約を受ける上部スクロール指示領域53の位置・大きさにかかわらず、上方向のスクロール表示のための操作が可能となる。
【0091】
[メモリマップ]
以下、図13を参照しつつ、情報処理の際にメインメモリ32に記憶されるデータについて説明する。ここで、図13は、メインメモリ32のメモリマップである。図13に例示されるように、メインメモリ32は、プログラム記憶領域321及びデータ記憶領域323を有している。プログラム記憶領域321には、CPU311によって実行されるプログラムが記憶される。データ記憶領域323には、情報処理に必要な各種データが記憶される。プログラム記憶領域321内のプログラム、及びデータ記憶領域323内のデータの一部は、外部メモリ45等に予め記憶されたデータが、情報処理に際して外部メモリ45等から読み出されたものである。
【0092】
プログラム記憶領域321には、情報処理プログラム322等が記憶されている。情報処理プログラム322は、図14〜図16に示されている一連の処理をCPU311に実行させるためのプログラムである。
【0093】
データ記憶領域323には、タッチ位置データ324、タイマカウンタデータ325、x軸ドラッグ判定閾値データ326、タイマスクロール判定閾値データ327等が記憶される。
【0094】
タッチ位置データ324は、タッチペン28による下側LCD12の表示画面上のタッチ位置を示すデータである。本実施形態では、図5に示される下側LCD12の画面の長手方向をx軸方向とし、これに垂直な方向をy軸方向とした2次元座標(x,y)によってタッチ位置が表される。下側LCDの表示画面上が一旦タッチオンされると、最初のタッチ位置データA(1)から、n番目の最新のタッチ位置データA(n)までのタッチ位置データ(A(1)、A(2)、・・・、A(n))がタッチ位置データ324として、所定時間毎にデータ記憶領域323に記憶され続ける。
【0095】
すなわち、ユーザが下側LCD12の表示画面上をタッチオンし続けている間、タッチ位置の軌跡がタッチ位置データ324としてデータ記憶領域323に記憶されている。このタッチ位置データ324が示す最新のタッチ位置データA(n)に基づいて、例えばタッチペン28が選択操作領域52上にタッチオンされているか否かを判定する処理等が行われる。なお、タッチオフされると、タッチ位置データ324は、全てリセット(初期化)される。
【0096】
タイマカウンタデータ325は、タッチペン28によって最初に選択操作領域52がタッチオンされてから、タッチ位置が選択操作領域52から上部スクロール指示領域53上に移動した際に計測開始される、時間を示すデータである。そして、タッチ位置が上部スクロール指示領域53上に位置している間、その時間が、タイマカウンタデータ325として、データ記憶領域323に記憶される。なお、タイマカウンタデータ325は、タッチ位置が上部スクロール指示領域53上に位置しなくなったときにリセット(初期化)される。
【0097】
x軸ドラッグ判定閾値データ326は、ユーザによるタッチペン28の左右方向のドラッグ操作が、スクロール対象画像をスクロール表示させる指示とみなせるか否かを判定するために用いられる閾値のデータである。具体的には、タッチペン28によって最初に選択操作領域52がタッチオンされてから、タッチ位置が選択操作領域52から上部スクロール指示領域53又は下部スクロール指示領域54に移動して、その後の当該上部スクロール指示領域53又は下部スクロール指示領域54内におけるタッチ位置の左右方向の変位が、スクロール対象画像をスクロール表示させる指示とみなせるか否かを判定するための閾値のデータである。これは、ユーザの意図しない手ぶれによる変位を除外するためのものであり、このデータには任意の値が設定される。例えば手ぶれによる変位を考慮する必要が無い場合には、この値は0(ゼロ)に設定されればよい。
【0098】
また、タッチ位置の左右方向の変位量に応じてスクロールの速さを変化させる場合には、このx軸ドラッグ判定閾値データ326は、スクロールの速さを選択するための閾値としても用いられる。例えば、x軸ドラッグ判定閾値データ326のデータX0が、スクロール表示の指示とみなされる判定値として用いられ、データX1が、スクロールの速さVaの閾値として用いられる場合には、タッチ位置の左右方向の変位量の値が、X0以上X1未満のときには、スクロールの速さVは、Vaに設定され、変位量の値が、X1以上のときには、スクロールの速さVは、Vb(上限値)に設定される。このようにスクロールの速さがタッチ位置の左右方向の変位量に応じた速さに設定される場合には、各速さに対応する閾値をx軸ドラッグ判定閾値データ326としてデータ記憶領域323に複数記憶させることもできる。なお、この場合には、スクロールの速さVa及びVb等が、速さデータとしてデータ記憶領域323に記憶される(図示せず)。
【0099】
タイマスクロール判定閾値データ327は、計測が開始されているタイマカウンタデータ325が示す時間が、所定の時間を超えているか否かを判定するために用いられる閾値のデータである。具体的には、タッチペン28によって最初に選択操作領域52がタッチオンされてから、タッチ位置が選択操作領域52から上部スクロール指示領域53に移動して、その後の当該上部スクロール指示領域53上にタッチ位置が位置している時間によって、スクロール対象画像をスクロール表示させる指示とみなせるか否かを判定するための閾値のデータである。
【0100】
また、タッチ位置が上部スクロール指示領域53上に位置している時間に応じてスクロールの速さを変化させる場合には、このタイマスクロール判定閾値データ327は、スクロールの速さを選択するための閾値としても用いられる。例えば、タイマスクロール判定閾値データ327のデータT0が、スクロール表示の指示とみなされる判定値として用いられ、データT1が、スクロールの速さVaの閾値として用いられる場合には、タイマカウンタデータ325の値Tが、T0以上T1未満のときには、スクロールの速さVは、Vaに設定され、タイマカウンタデータ325の値Tが、T1以上のときには、スクロールの速さVは、Vb(上限値)に設定される。このようにスクロールの速さが長押しの時間に応じた速さに設定される場合には、各速さに対応する閾値をタイマスクロール判定閾値データ327としてデータ記憶領域323に複数記憶させることもできる。
【0101】
[CPU311によって実行される処理]
次に、図14〜図16のフローチャートを参照しつつ、CPU311によって実行される選択処理及びスクロール処理について説明する。なお、以下に説明する一連の処理は、メインメモリ32に記憶されている情報処理プログラム322に基づいてCPU311自身又はCPU311が発行する命令に従って行われる。また、これらのフローチャートでは、画像の生成及び出力に関する処理を省略しているが、画像の生成及び出力は一定の周期で行われる。
【0102】
図14に示されるように、まず、ステップS11において、CPU311は、下側LCD12の表示画面上がタッチオンされたか否かを判定する。ステップS11での判定がYESの場合、処理はステップS12に移り、この判定がNOの場合、処理は再びステップS11に戻る。すなわち、CPU311は、下側LCD12の表示画面上がタッチオンされていない場合は、タッチオンされたと判定するまでステップS11の判定を繰り返す。
【0103】
ステップS12において、CPU311は、ステップS11において下側LCD12の表示画面上がタッチオンされたと判定した最初のタッチ位置を検出する。具体的には、CPU311は、データ記憶領域323に記憶されているタッチ位置データ324の最初のタッチ位置データA(1)に基づいて、タッチ位置を検出する。その後、処理はステップS13に移る。
【0104】
ステップS13において、CPU311は、ステップS12において検出された最初のタッチ位置が選択操作領域52上であるか否かを判定する。ステップS13での判定がYESの場合、処理はステップS15に移り、この判定がNOの場合、処理はステップS14に移る。
【0105】
ステップS14において、CPU311は、タッチペン28が下側LCD12の表示画面上からタッチオフされたか否かを判定する。ステップS14での判定がYESの場合、処理はステップS11に戻り、この判定がNOの場合、処理は再びステップS14に戻る。すなわち、CPU311は、タッチオフされたと判定するまでステップS14の判定を繰り返し、タッチオフされたと判定すると処理をステップS11に戻す。
【0106】
すなわち、最初のタッチ位置が検出され(ステップS12)、そのタッチ位置が選択操作領域52上ではない場合(ステップS13:NO)、その後、下側LCD12の表示画面上がタッチオンされ続けていても選択処理及びスクロール処理も行われないため、CPU311は、タッチペン28が下側LCD12の表示画面上からタッチオフされるまで待機する。
【0107】
ステップS15において、CPU311は、次のタッチ位置を検出する。具体的には、CPU311は、データ記憶領域323に記憶されているタッチ位置データ324の最新のタッチ位置データA(n)に基づいて、次のタッチ位置を検出する。その後、処理はステップS16に移る。
【0108】
ステップS16において、CPU311は、ステップS15において検出された次のタッチ位置が選択操作領域52上であるか否かを判定する。ステップS16での判定がYESの場合、処理はステップS17に移り、この判定がNOの場合、処理はステップS23に移る。
【0109】
すなわち、最初のタッチ位置が選択操作領域52上である場合(ステップS13:YES)、その後のタッチ位置がどこに移動するかによって(次のタッチ位置がどこで検出されるかによって)、選択処理が行われるか、スクロール処理が行われるか、いずれも行われないかが決定される。このため、ステップS16において、次のタッチ位置が下側LCD12の表示画面においてどの領域上にあるかが判定される。
【0110】
ステップS17において、CPU311は、データ記憶領域323に記憶されているタイマカウンタデータ325に基づいて、タイマカウンタが動作中であるか否かを判定する。ステップS17での判定がYESの場合、処理はステップS18に移り、この判定がNOの場合、処理はステップS19に移る。
【0111】
ステップS18において、CPU311は、タイマカウンタの動作を停止する。具体的には、計測中であるタイマカウンタの計測を停止し、タイマカウンタデータ325をリセット(初期化)する。
【0112】
このように、タイマカウンタが動作している場合(ステップS17:YES)、タイマカウンタの動作が停止される(ステップS18)のは、以下の理由による。すなわち、タイマカウンタが動作するのは、後述する上部操作処理(図16参照)においてタッチ位置が上部スクロール指示領域53上に位置しているときであり、このタイマカウンタは、タッチ位置が連続して上部スクロール指示領域53上に位置している時間を計測する。そのため、タッチ位置が選択操作領域52上に移動したとき(タッチ位置が選択操作領域52上で検出されたとき)には、この計測時間はリセットされ、タイマカウンタの動作は停止する。
【0113】
ステップS19において、CPU311は、タッチ位置の変位が選択操作に該当するか否かを判定する。具体的には、CPU311は、データ記憶領域323に記憶されているタッチ位置データ324の最新のタッチ位置データA(n)と1つ前のタッチ位置データA(n−1)から、タッチ位置の変位を算出し、その変位が選択操作に該当する変位であるか否かを判定する。ステップS19の判定がYESの場合、処理はステップS20に移り、この判定がNOの場合、処理はステップS21に移る。
【0114】
ステップS20において、CPU311は、ステップS19において算出されたタッチ位置の変位から、その変位量に応じた選択処理を行う。具体的には、CPU311は、スクロール画像表示領域51に表示されたスクロール対象画像に対して、変位量に応じた領域に相当する画像の一部(又は全部)を選択し、選択した画像をハイライト表示させる(図6参照)。その後、処理はステップS21に移る。
【0115】
ステップS21において、CPU311は、タッチペン28が下側LCD12の表示画面上からタッチオフされたか否かを判定する。ステップS21での判定がYESの場合、処理はステップS22に移り、この判定がNOの場合、処理はステップS15に戻る。すなわち、下側LCD12の表示画面上がタッチオンされている限り、最新のタッチ位置が検出され続ける。
【0116】
ステップS22において、CPU311は、タッチ位置データ324をリセットする。すなわち、タッチペン28が下側LCD12の表示画面上からタッチオフされた(ステップS21:YES)場合に、タッチ位置データ324は、リセット(初期化)される。その後、処理はステップS11に戻る。
【0117】
ステップS23において、CPU311は、下部スクロール指示領域54上であるか否かを判定する。ステップS23での判定がYESの場合、処理は下部操作処理(図15参照)に移り、この判定がNOの場合(すなわち、タッチ位置が上部スクロール指示領域53上である場合)、処理は上部操作処理(図16参照)に移る。
【0118】
次に、図15を参照しつつ、CPU311によって実行される下部操作処理について説明する。
【0119】
まず、ステップS31において、CPU311は、ステップS15(図14参照)において検出され、ステップS23(図14参照)において下部スクロール指示領域54上に位置すると判定された(ステップS23:YES)タッチ位置のy座標に基づいて、下方向のスクロールの第1の速さV1を算出する。具体的には、CPU311は、データ記憶領域323に記憶されているタッチ位置データ324の最新のタッチ位置データA(n)のy座標に基づいて、タッチ位置が選択操作領域52の下端(選択操作領域52と下部スクロール指示領域54の境界)からy軸負方向(下方向)に変位した変位量を算出する。そして、CPU311は、この変位量に基づいて第1の速さV1を算出する。例えば、変位量に比例して速さV1が大きくなる設定としてもよいし、変位量のレンジごとに一定の速さを対応づけてもよい。その後、処理はステップS32に移る。
【0120】
ステップS32において、CPU311は、タッチ位置のx軸方向の変位が所定の閾値を超えたか否かを判定する。具体的には、CPU311は、データ記憶領域323に記憶されているタッチ位置データ324の最新のタッチ位置データA(n)のx座標と1つ前のタッチ位置データA(n−1)のx座標から、タッチ位置のx軸方向の変位量を算出し、その変位量がデータ記憶領域323に記憶されているx軸ドラッグ判定閾値データ326の値を超えているか否かを判定する。ステップS32の判定がYESの場合、処理はステップS33に移り、この判定がNOの場合、処理はステップS34に移る。
【0121】
ステップS33において、CPU311は、ステップS32において閾値を超えると判定された(ステップS32:YES)タッチ位置のx軸方向の変位量に基づいて、下方向のスクロールの第2の速さV2を算出する。例えば、変位量に比例して速さV2が大きくなる設定としてもよいし、変位量のレンジごとに一定の速さを対応づけてもよい。その後、処理はステップS35に移る。
【0122】
ステップS34において、CPU311は、ステップS32においてタッチ位置のx軸方向の変位量が閾値を超えないと判定された(ステップS32:NO)ので、下方向のスクロールの第2の速さV2に値0を設定する。その後、処理はステップS35に移る。
【0123】
ステップS35において、CPU311は、ステップS31において算出した第1の速さV1と、ステップS33又はステップS34において算出した第2の速さV2とを加算して、下方向のスクロールの速さVを算出する。その後、処理はステップS36に移る。
【0124】
ステップS36において、CPU311は、スクロール画像表示領域51に表示されたスクロール対象画像を、ステップS36において算出された速さVで下方向にスクロール表示させる。その後、処理はステップS37に移る。
【0125】
ステップS37において、CPU311は、タッチペン28が下側LCD12の表示画面上からタッチオフされたか否かを判定する。ステップS37での判定がYESの場合、処理はステップS38に移り、この判定がNOの場合、処理は再びステップS15(図14参照)に戻る。すなわち、下側LCD12の表示画面上がタッチオンされている限り、最新のタッチ位置が検出され続ける。
【0126】
ステップS38において、CPU311は、タッチ位置データ324をリセットする。すなわち、タッチペン28が下側LCD12の表示画面上からタッチオフされた(ステップS37:YES)場合に、タッチ位置データ324は、リセット(初期化)される。その後、処理は図14のステップS11に戻る。
【0127】
上記のように、下部操作処理においては、タッチ位置の上下方向(y軸方向)の位置に応じて第1の速さV1が決定され、タッチ位置の左右方向(x軸方向)の変位量に応じて第2の速さV2が決定され、両者の合計値(V1+V2)が下方向のスクロールの速さVとして決定される。
【0128】
次に、図16を参照しつつ、CPU311によって実行される上部操作処理について説明する。
【0129】
まず、ステップS51において、CPU311は、データ記憶領域323に記憶されているタイマカウンタデータ325に基づいて、タイマカウンタが動作中であるか否かを判定する。ステップS51での判定がYESの場合、処理はステップS53に移り、この判定がNOの場合、処理はステップS52に移る。
【0130】
ステップS52において、CPU311は、タイマカウンタの動作を開始する。具体的には、CPU311は、タイマカウンタの計測を開始し、計測時間をタイマカウンタデータ325としてデータ記憶領域323に記憶させる。その後、処理はステップS55に移る。
【0131】
ステップS53において、CPU311は、タイマカウンタの値Tが所定の閾値を超えたか否かを判定する。具体的には、CPU311は、データ記憶領域323に記憶されているタイマカウンタデータ325がデータ記憶領域323に記憶されているタイマスクロール判定閾値データ327の値を超えているか否かを判定する。ステップS53の判定がYESの場合、処理はステップS54に移り、この判定がNOの場合、処理はステップS55に移る。
【0132】
ステップS54において、CPU311は、ステップS53において閾値を超えると判定された(ステップS53:YES)タイマカウンタの値Tに基づいて、上方向のスクロールの第1の速さV1を算出する。例えば、値Tの大きさに比例して速さV1が大きくなる設定としてもよいし、値Tのレンジごとに一定の速さを対応づけてもよい。その後、処理はステップS56に移る。
【0133】
ステップS55において、タイマカウンタの動作を開始した(ステップS52)直後、又はタイマカウンタの値Tが所定の閾値を超えていない(ステップS53:NO)ので、CPU311は、上方向のスクロールの第1の速さV1に値0を設定する。その後、処理はステップS56に移る。
【0134】
ステップS56において、CPU311は、タッチ位置のx軸方向の変位が所定の閾値を超えたか否かを判定する。具体的には、CPU311は、データ記憶領域323に記憶されているタッチ位置データ324の最新のタッチ位置データA(n)のx座標と1つ前のタッチ位置データA(n−1)のx座標から、タッチ位置のx軸方向の変位量を算出し、その変位量がデータ記憶領域323に記憶されているx軸ドラッグ判定閾値データ326の値を超えているか否かを判定する。ステップS56の判定がYESの場合、処理はステップS57に移り、この判定がNOの場合、処理はステップS58に移る。
【0135】
ステップS57において、CPU311は、ステップS56において閾値を超えると判定された(ステップS56:YES)タッチ位置のx軸方向の変位量に基づいて、上方向のスクロールの第2の速さV2を算出する。例えば、変位量に比例して速さV2が大きくなる設定としてもよいし、変位量のレンジごとに一定の速さを対応づけてもよい。その後、処理はステップS59に移る。
【0136】
ステップS58において、CPU311は、ステップS56においてタッチ位置のx軸方向の変位量が閾値を超えないと判定された(ステップS56:NO)ので、上方向のスクロールの第2の速さV2に値0を設定する。
【0137】
ステップS59において、CPU311は、ステップS54又はステップS55において算出した第1の速さV1と、ステップS57又はステップS58において算出した第2の速さV2とを加算して、下方向のスクロールの速さVを算出する。その後、処理はステップS60に移る。
【0138】
ステップS60において、CPU311は、スクロール画像表示領域51に表示されたスクロール対象画像を、ステップS59において算出された速さVで上方向にスクロール表示させる。その後、処理はステップS61に移る。
【0139】
ステップS61において、CPU311は、タッチペン28が下側LCD12の表示画面上からタッチオフされたか否かを判定する。ステップS61での判定がYESの場合、処理はステップS62に移り、この判定がNOの場合、処理は再びステップS15(図14参照)に戻る。すなわち、下側LCD12の表示画面上がタッチオンされている限り、最新のタッチ位置が検出され続ける。
【0140】
ステップS62において、CPU311は、タイマカウンタの動作を停止する。具体的には、計測中であるタイマカウンタの計測を停止し、タイマカウンタデータ325をリセット(初期化)する。
【0141】
ステップS63において、CPU311は、タッチ位置データ324をリセットする。すなわち、下側LCD12の表示画面上からタッチオフされた(ステップS61:YES)場合に、タッチ位置データ324は、リセット(初期化)される。その後、処理は図14のステップS11に戻る。
【0142】
上記のように、上部操作処理においては、タッチ位置の存続時間(長押しされている時間)によって第1の速さV1が決定され、タッチ位置の左右方向(x軸方向)の変位量によって第2の速さV2が決定され、両者の合計値(V1+V2)が上方向のスクロールの速さVとして決定される。
【0143】
以上のように、CPU311は、最初にタッチオンされた領域が選択操作領域52上であるか否かを判定し(ステップS11〜S13)、選択操作領域52上である場合には、次以降のタッチ位置を判定し(ステップS16、S23)、判定結果に応じて、選択処理(ステップS17〜S22)、下部操作処理(ステップS31〜ステップS38)、上部操作処理(ステップS51〜ステップS63)を行う。
【0144】
次のタッチ位置(最新のタッチ位置)が、選択操作領域52上であると判定された場合(ステップS16:YES)、タッチ位置の変位量に応じてスクロール対象画像の一部(又は全部)を選択する選択処理が行われる(ステップS19、S20)。なお、本発明において、この選択処理は主要な部分ではないため、その詳細についての説明は割愛しているが、通常、この選択処理の後、選択されたスクロール対象画像に対して所定のプログラムが起動する。
【0145】
次のタッチ位置(最新のタッチ位置)が、下部スクロール指示領域54上であると判定された場合(ステップS23:YES)、下方向のスクロール表示が行われる(ステップS31〜S36)。このスクロール表示のスクロールの速さは、タッチ位置の上下方向(y軸方向)の位置によって決定される第1の速さV1(ステップS31)とタッチ位置の左右方向(x軸方向)の変位量によって決定される第2の速さV2(ステップS33、S34)の合算値である。したがって、ユーザはタッチペン28を下方向に変位させてタッチ位置を下部スクロール指示領域54上に変位させるだけで、速さV1のスクロール表示を行うことが可能であり、また、さらに速いスクロール表示を行う場合には、タッチペン28を下部スクロール指示領域54上で左右方向に変位(ドラッグ)させることで、速さV1+V2のスクロール表示を行うことができる。
【0146】
次のタッチ位置(最新のタッチ位置)が、上部スクロール指示領域53上であると判定された場合(ステップS23:NO)、上方向のスクロール表示が行われる(ステップS51〜S60)。このスクロール表示のスクロールの速さは、タッチ位置が上部スクロール指示領域53上に位置している時間によって決定される第1の速さV1(ステップS54、S55)とタッチ位置の左右方向(x軸方向)の変位量によって決定される第2の速さV2(ステップS57、58)の合算値である。したがって、ユーザはタッチペン28を上方向に変位させてタッチ位置を上部スクロール指示領域53上に位置させて所定時間の経過を待つと、速さV1のスクロール表示を行うことが可能であり、また、さらに速いスクロール表示を行う場合には、タッチペン28を上部スクロール指示領域53上で左右方向に変位させることで、速さV1+V2のスクロール表示を行うことができる。また、所定時間の経過を待つことを望まない場合には、すぐにタッチペン28を上部スクロール指示領域53上で左右方向に変位させることによって、速さV2のスクロール表示を行うことができる。なお、この場合、左右方向の変位を所定時間続けることによって、速さV2+V1のスクロール表示が行われる。
【0147】
[変形例]
なお、上記実施形態では、最初に選択操作領域52上がタッチオンされて、タッチ位置が選択操作領域52上から上部スクロール指示領域53上に移動した後に、上部スクロール指示領域53上でタッチ位置が左右方向(x軸方向)に変位することによって、上方向(y軸正方向)にスクロール表示されるものとした。しかし、最初に上部スクロール指示領域53上がタッチオンされて、上部スクロール指示領域53上でタッチ位置が左右方向に変位することで、上方向にスクロール表示されてもよい。
【0148】
また、上記実施形態では、上方向のスクロール処理において、スクロールの速さは第1の速さV1と第2の速さV2の合計値とした。しかし、スクロールの速さは第2の速さV2のみによって決定されるとしてもよい。すなわち、タッチペン28を上部スクロール指示領域53上で左右方向に変位させることによって、スクロール表示されるとしてもよい。この場合においても、ユーザはタッチペン28の左右方向の変位量を調節することで、所望の速さで上方向にすぐさまスクロール表示させることができる。
【0149】
また、上記実施形態では、スクロール画像表示領域51が下側LCD12の表示画面において上端部までに広がり、そのため上部スクロール指示領域53のスクロール方向(上方向)の長さが短くなる場合を例に説明した。しかし、スクロール画像表示領域51が下側LCD12の表示画面において下端部に広がっており、そのため下部スクロール指示領域54のスクロール方向(下方向)の長さが短くなっていてもよい。この場合においては、タッチ位置が選択操作領域52の下端(選択操作領域52と下部スクロール指示領域54の境界)からy軸負方向(下方向)に変位した変位量の大きさから速さV1を算出せずに、タッチ位置のx軸方向(左右方向)の変位量に基づいて、下方向のスクロールの第2の速さV2のみを算出してもよい。
【0150】
また、上記実施形態において、スクロール画像表示領域51が下側LCD12の表示画面の全体(又はほぼ全部)を占めた場合のように、上部スクロール指示領域53のスクロール方向(上方向)の長さと、下部スクロール指示領域54のスクロール方向(下方向)の長さの両方が短くなっていてもよい。このような場合であっても、タッチ位置の左右方向の変位量に基づいて、上方向のスクロールの速さ及び下方向のスクロールの速さが算出される。したがって、スクロール画像表示領域51が下側LCD12の表示画面の全体(又はほぼ全部)を占めた場合であっても、上下方向のスクロール表示を行うことができる。
【0151】
また、上記実施形態では、タッチ位置の左右方向(x軸方向)の変位量は、最新のタッチ位置データA(n)と、1つ前のタッチ位置データA(n−1)のx座標の変位量に基づいている(図15のステップS33、図16のステップS57参照)。すなわち、上記実施形態では、左右方向の変位量の基準時間をタッチ位置の検出間隔と同じ時間としており、第2の速さV2は、この基準時間あたりのx軸方向の変位量(すなわち、変位速度)を基準に算出されている。しかし、この基準時間は、タッチ位置の検出間隔と同じでなくてもよく、例えば5個のタッチ位置が検出される時間としてもよい。この場合、最新のタッチ位置データA(n)と5つ前のタッチ位置データA(n−5)のx座標の変位量が、第2の速さV2を算出するための変位量として用いられる。
【0152】
また、上記のように上記実施形態では、第2の速さV2は基準時間(タッチ位置の検出間隔)あたりのx軸方向の変位量(変位速度)を基準に算出されている。しかし、例えば連続する3つの変位量の平均値を、第2の速さV2を算出するための変位量として用いてもよい。具体的には、連続する4つのタッチ位置データが、A(n−3)、A(n−2)、A(n−1)、A(n)で表わされる場合、各位置データのx座標の変位量X1=A(n−2)−A(n−3)、X2=A(n−1)−A(n−2)、X3=A(n)−A(n−1)が算出され、x座標の変位量X1、X2、X3の平均値が、第2の速さV2を算出するための変位量として用いられる。
【0153】
また、上記実施形態では、タッチ位置の左右方向(x軸方向)の変位量は、最新のタッチ位置データA(n)と、1つ前のタッチ位置データA(n−1)のx座標の変位量に基づいている。しかし、上部スクロール指示領域53(又は下部スクロール指示領域54)にタッチ位置が移動したことが最初に検出されたk番目のタッチ位置データA(k)を基準に、この基準位置を示すタッチ位置データA(k)と最新のタッチ位置データA(n)のx座標の差分をx軸方向の変位量として、この変位量が、第2の速さV2を算出するための変位量として用いられてもよい。この方法によれば、基準となるタッチ位置データA(k)からの変位量によって第2の速さV2が決定される。このことから、ユーザは、例えばタッチ位置をタッチ位置データA(k)が示す基準位置に近づけることでスクロールの速さを遅くし、基準位置から遠ざけることによりスクロールの速さを速くすることができる。なお、基準位置となるタッチ位置データA(k)は所定のタイミングで更新されるものとしてもよい。例えばタッチ位置データが5個検出されるたびに更新されるものとしてもよい。この場合、基準位置となるタッチ位置データは、A(k)、A(k+5)、A(k+10)、・・・と更新されていく。この方法によれば、例えばユーザが指示位置を停止させたとき、基準位置はユーザの指示位置に近づいて行くので、基準位置と指示位置の変位量は小さくなっていき、スクロールの速さは遅くなっていく。したがって、ユーザが指示位置を停止させた場合には、徐々にスクロールの速さが遅くなり、最終的にスクロールが止まるスクロール表示を行うことができる。
【0154】
また、上記において、基準位置を示すタッチ位置データA(k)と最新のタッチ位置データA(n)のx座標の差分をx軸方向の変位量とすることに代え、タッチ位置が基準位置からx方向に移動した軌跡の長さをx軸方向の変位量として用いてもよい。すなわち、基準位置を示すタッチ位置データA(k)から、連続する2個のタッチ位置データのx座標の変位量の絶対値を、最新のタッチ位置データA(n)まで積算した変位量を用いてもよい。具体的には、この変位量は、A(k+1)−A(k)、A(k+2)−A(k+1)、・・・、A(n)−A(n−1)の各x座標の変位量の絶対値が積算されて算出される。この方法によれば、タッチ位置が左右方向に往復移動することによっても変位量は加算されていくので、左右方向にドラッグ操作が可能な範囲が小さくても、変位量に応じて決定されるスクロールの速さV2の値を大きくすることが可能になる。なお、基準位置となるタッチ位置データA(k)は所定のタイミングで更新されるものとしてもよい。例えば、軌跡の長さが所定の閾値を超えたときに、その軌跡の長さに応じてスクロールの速さV2が決定されるとともに、基準位置となるタッチ位置データA(k)がこのときの最新のタッチ位置データA(n)に更新されるものとしてもよい。
【0155】
また、上記実施形態では、上部スクロール指示領域53(又は下部スクロール指示領域54)においてタッチ位置が左右方向(x軸方向)に変位したか否かの判定は、最新のタッチ位置データA(n)と、1つ前のタッチ位置データA(n−1)のx座標の変位量が所定の閾値を超えたか否かに基づいている。すなわち、タッチ位置が左右方向に所定の速さ以上で変位したか否かに基づき、所定の速さでスクロール表示されるものとした。しかし、これに限られず、例えば、タッチ位置のx軸方向の変位が所定の基準位置から閾値を超えたと判定されることにより、スクロール表示されるものとしてもよい。
【0156】
また、上記実施形態では、下方向のスクロールの速さV1は、タッチ位置が選択操作領域52の下端(選択操作領域52と下部スクロール指示領域54の境界)からy軸負方向(下方向)に変位した変位量の大きさに応じて決定されるとした。しかし、これに限らず、例えば下方向のスクロールの速さV1は、タッチ位置が下部スクロール指示領域54において所定の基準位置からy軸方向に移動した軌跡の長さに応じて決定されるとしてもよい。
【0157】
また、上記実施形態では、上下方向にスクロール表示する場合においてタッチ位置の左右方向の変位量に基づいてスクロールの速さV2が算出されるものとした。しかし、これには限られず、例えば、左右方向にスクロール表示される実施形態においては、タッチ位置の上下方向の変位量に基づいて左右方向のスクロールの速さV2が算出されるものとしてもよい。
【0158】
また、上記実施形態では、タッチ位置の左右方向(x軸方向)の変位量や下方向(y軸負方向)の変位量等に基づいて、スクロールの速さが算出されるものとした。しかし、これに限られず、これらの変位量に基づいてスクロールの量(すなわち、所定タイミングでスクロールされる際のスクロールの幅)が算出されるものとしてもよい。
【0159】
また、上記実施形態では、上下方向(y軸方向)にスクロール表示する際に、左右方向(x軸方向)の変位量に基づいてスクロールの速さV2を算出した。しかし、y軸方向にスクロールする際に、必ずしもこれと直交するx軸方向の変位成分に基づく必要はなく、y軸方向と異なる方向の変位成分に基づいてスクロールの速さを算出してもよい。y軸方向と異なる方向は、x軸方向となす角度の範囲が−45度から+45度までが好ましい。
【0160】
また、上記実施形態では、入力手段としてタッチパネル13を利用する場合を例に説明したが、入力手段はタッチパネル13に限定されるものではなく、例えばマウスやジョイスティックやタッチパッド等であってもよい。
【0161】
また、上記実施形態では、本発明のスクロール対象画像がテキストである場合を例に説明したが、本発明のスクロール対象画像は、その他画像、文字、記号等であってもよい。
【0162】
また、上記実施形態では、ゲーム装置10にタッチパネル13が一体的に設けられている場合を例に説明したが、ゲーム装置10とタッチパネルとを別体に構成しても、本発明を実現できることは言うまでもない。また、上側LCD22の上面にタッチパネル13を設けて上側LCD22に上述した下側LCD12に表示していた表示画像を表示してもよい。
【0163】
また、上記実施形態では、携帯型のゲーム装置10を用いて説明したが、一般的なパーソナルコンピュータ等の情報処理装置で本発明の情報処理プログラムを実行して、本発明を実現しても構わない。また、他の実施形態では、ゲーム装置に限らず任意の携帯型電子機器、例えば、PDA(Personal Digital Assistant)や携帯電話、パーソナルコンピュータ等であってもよい。
【0164】
また、上述した説明では全ての情報処理をゲーム装置10で行う場合を例に説明したが、情報処理の各処理ステップの少なくとも一部を他の装置で行っても構わない。例えば、ゲーム装置10が他の装置(例えば、サーバや他のゲーム装置)と通信可能に接続されている場合、上記情報処理における処理ステップは、ゲーム装置10及び他の装置が協働することによって実行されてもよい。また、上記実施形態においては、ゲーム装置10の情報処理部31が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われたが、ゲーム装置10が備える専用回路によって上記処理の一部又は全部が行われてもよい。
【0165】
また、上述したゲーム装置10の形状や、それに設けられている各種操作ボタン14、アナログスティック15、タッチパネル13の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる値等は、単なる一例に過ぎず他の順序や値であっても、本発明を実現できることは言うまで
もない。
【0166】
また、上記情報処理プログラムは、外部メモリ45やデータ保存用外部メモリ46等の外部記憶媒体を通じてゲーム装置10に供給されるだけでなく、有線又は無線の通信回線を通じてゲーム装置10に供給されてもよい。また、上記プログラムは、ゲーム装置10内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD−ROM、DVD、或いはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ等であってもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを一時的に記憶する揮発性メモリでもよい。
【0167】
以上、本発明を詳細に説明してきたが、上述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。
【産業上の利用可能性】
【0168】
本発明は、ユーザが入力手段を用いて行った操作に応じた情報処理を行う情報処理装置に実行させる情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法等に適用可能である。
【符号の説明】
【0169】
10 ゲーム装置
12 下側LCD
13 タッチパネル
28 タッチペン
31 情報処理部
32 メインメモリ
42 I/F回路
45 外部メモリ
51 スクロール画像表示領域
52 操作対象領域
53 上部スクロール指示領域
54 下部スクロール指示領域
311 CPU
322 情報処理プログラム
【特許請求の範囲】
【請求項1】
スクロール対象画像を表示するスクロール画像表示領域を有する表示領域を備えた情報処理装置のコンピュータに実行させる情報処理プログラムであって、
ユーザによる前記表示領域上の指示位置を逐次検出する指示位置検出手段と、
前記指示位置検出手段によって検出された前記指示位置が、基準位置より第1方向に配置される第1領域上で所定時間連続して検出されたか否かを判定する第1スクロール指示判定手段と、
前記指示位置検出手段によって検出された前記指示位置が、前記第1方向と異なる方向に変位したか否かを判定する第2スクロール指示判定手段と、
前記第1スクロール指示判定手段及び前記第2スクロール指示判定手段の判定結果の少なくとも一方が肯定である場合に、前記スクロール対象画像を前記第1方向に沿ってスクロールさせるスクロール制御手段として機能させる、情報処理プログラム。
【請求項2】
前記第1領域は、スクロール指示に用いられる領域であり、
前記スクロール画像表示領域は、第2領域を含み、
前記第1領域は、前記第2領域に対して前記第1方向に配置され、
前記第2スクロール指示判定手段は、前記指示位置検出手段によって検出された前記指示位置が前記第1領域内で前記第1方向と異なる方向に変位したか否かを判定する、請求項1に記載の情報処理プログラム。
【請求項3】
前記情報処理プログラムは、前記コンピュータを、前記スクロール対象画像を前記第1方向に沿ってスクロールさせる際のスクロールの量を決定するスクロール量決定手段としてさらに機能させ、
前記スクロール量決定手段は、
前記指示位置検出手段によって検出された前記指示位置が前記第1領域上に位置している時間に基づいて、第1のスクロールの量を決定し、
前記指示位置検出手段によって検出された前記指示位置が前記第1領域において前記第1方向と異なる方向に変位した変位量に基づいて、第2のスクロールの量を決定し、
前記スクロール制御手段は、前記スクロール量決定手段によって決定された前記第1のスクロールの量と前記第2のスクロールの量とを合算したスクロールの量だけ前記スクロール対象画像を前記第1方向に沿ってスクロールさせる、請求項1または2に記載の情報処理プログラム。
【請求項4】
前記スクロール量決定手段は、
前記指示位置検出手段によって検出された前記指示位置が前記第1領域上に位置している時間に基づいて、単位時間あたりにスクロールさせる第1のスクロールの量を決定し、
前記指示位置検出手段によって検出された前記指示位置が前記第1領域において前記第1方向と異なる方向に変位した変位量に基づいて、前記単位時間あたりにスクロールさせる第2のスクロールの量を決定し、
前記スクロール制御手段は、前記単位時間あたりに、前記スクロール量決定手段によって決定された前記第1のスクロールの量と前記第2のスクロールの量とを合算したスクロールの量だけ前記スクロール対象画像を前記第1方向に沿ってスクロールさせる、請求項3に記載の情報処理プログラム。
【請求項5】
前記スクロール量決定手段は、前記指示位置検出手段によって検出された前記指示位置が前記第1領域において所定の基準位置から前記第1方向と異なる方向に移動した軌跡の長さに応じて、前記第2のスクロールの量を決定する、請求項3または4に記載の情報処理プログラム。
【請求項6】
前記スクロール量決定手段は、前記指示位置検出手段によって検出された前記指示位置が前記第1領域において所定の基準位置から前記第1方向と異なる方向に変位した変位量に応じて、前記第2のスクロールの量を決定する、請求項3または4に記載の情報処理プログラム。
【請求項7】
前記スクロール量決定手段は、前記指示位置検出手段によって検出された前記指示位置が前記第1領域において前記第1方向と異なる方向に所定時間内に変位した変位量に応じて、前記第2のスクロールの量を決定する、請求項3または4に記載の情報処理プログラム。
【請求項8】
前記第2スクロール指示判定手段は、前記指示位置検出手段によって検出された前記指示位置が前記第1領域において前記第1方向と異なる方向に所定時間内に所定の閾値を超えて変位したか否かを判定する、請求項1乃至7のいずれかに記載の情報処理プログラム。
【請求項9】
前記第1方向と異なる方向は、前記第1方向と直交する方向である、請求項1乃至8のいずれかに記載の情報処理プログラム。
【請求項10】
スクロール対象画像を表示するスクロール画像表示領域を有する表示領域を備えた情報処理装置であって、
ユーザによる前記表示領域上の指示位置を逐次検出する指示位置検出手段と、
前記指示位置検出手段によって検出された前記指示位置が、基準位置より第1方向に配置される第1領域上で所定時間連続して検出されたか否かを判定する第1スクロール指示判定手段と、
前記指示位置検出手段によって検出された前記指示位置が、前記第1方向と異なる方向に変位したか否かを判定する第2スクロール指示判定手段と、
前記第1スクロール指示判定手段及び前記第2スクロール指示判定手段の判定結果の少なくとも一方が肯定である場合に、前記スクロール対象画像を前記第1方向に沿ってスクロールさせるスクロール制御手段とを備える、情報処理装置。
【請求項11】
スクロール対象画像を表示するスクロール画像表示領域を有する表示領域を備えた情報処理システムであって、
ユーザによる前記表示領域上の指示位置を逐次検出する指示位置検出手段と、
前記指示位置検出手段によって検出された前記指示位置が、基準位置より第1方向に配置される第1領域上で所定時間連続して検出されたか否かを判定する第1スクロール指示判定手段と、
前記指示位置検出手段によって検出された前記指示位置が、前記第1方向と異なる方向に変位したか否かを判定する第2スクロール指示判定手段と、
前記第1スクロール指示判定手段及び前記第2スクロール指示判定手段の判定結果の少なくとも一方が肯定である場合に、前記スクロール対象画像を前記第1方向に沿ってスクロールさせるスクロール制御手段とを備える、情報処理システム。
【請求項12】
スクロール対象画像を表示するスクロール画像表示領域を有する表示領域を備えた情報処理装置において用いられる情報処理方法であって、
ユーザによる前記表示領域上の指示位置を逐次検出する指示位置検出ステップと、
前記指示位置検出ステップによって検出された前記指示位置が、基準位置より第1方向に配置される第1領域上で所定時間連続して検出されたか否かを判定する第1スクロール指示判定ステップと、
前記指示位置検出ステップによって検出された前記指示位置が、前記第1方向と異なる方向に変位したか否かを判定する第2スクロール指示判定ステップと、
前記第1スクロール指示判定ステップ及び前記第2スクロール指示判定ステップでの判定結果の少なくとも一方が肯定である場合に、前記スクロール対象画像を前記第1方向に沿ってスクロールさせるスクロール制御ステップとを含む、情報処理方法。
【請求項1】
スクロール対象画像を表示するスクロール画像表示領域を有する表示領域を備えた情報処理装置のコンピュータに実行させる情報処理プログラムであって、
ユーザによる前記表示領域上の指示位置を逐次検出する指示位置検出手段と、
前記指示位置検出手段によって検出された前記指示位置が、基準位置より第1方向に配置される第1領域上で所定時間連続して検出されたか否かを判定する第1スクロール指示判定手段と、
前記指示位置検出手段によって検出された前記指示位置が、前記第1方向と異なる方向に変位したか否かを判定する第2スクロール指示判定手段と、
前記第1スクロール指示判定手段及び前記第2スクロール指示判定手段の判定結果の少なくとも一方が肯定である場合に、前記スクロール対象画像を前記第1方向に沿ってスクロールさせるスクロール制御手段として機能させる、情報処理プログラム。
【請求項2】
前記第1領域は、スクロール指示に用いられる領域であり、
前記スクロール画像表示領域は、第2領域を含み、
前記第1領域は、前記第2領域に対して前記第1方向に配置され、
前記第2スクロール指示判定手段は、前記指示位置検出手段によって検出された前記指示位置が前記第1領域内で前記第1方向と異なる方向に変位したか否かを判定する、請求項1に記載の情報処理プログラム。
【請求項3】
前記情報処理プログラムは、前記コンピュータを、前記スクロール対象画像を前記第1方向に沿ってスクロールさせる際のスクロールの量を決定するスクロール量決定手段としてさらに機能させ、
前記スクロール量決定手段は、
前記指示位置検出手段によって検出された前記指示位置が前記第1領域上に位置している時間に基づいて、第1のスクロールの量を決定し、
前記指示位置検出手段によって検出された前記指示位置が前記第1領域において前記第1方向と異なる方向に変位した変位量に基づいて、第2のスクロールの量を決定し、
前記スクロール制御手段は、前記スクロール量決定手段によって決定された前記第1のスクロールの量と前記第2のスクロールの量とを合算したスクロールの量だけ前記スクロール対象画像を前記第1方向に沿ってスクロールさせる、請求項1または2に記載の情報処理プログラム。
【請求項4】
前記スクロール量決定手段は、
前記指示位置検出手段によって検出された前記指示位置が前記第1領域上に位置している時間に基づいて、単位時間あたりにスクロールさせる第1のスクロールの量を決定し、
前記指示位置検出手段によって検出された前記指示位置が前記第1領域において前記第1方向と異なる方向に変位した変位量に基づいて、前記単位時間あたりにスクロールさせる第2のスクロールの量を決定し、
前記スクロール制御手段は、前記単位時間あたりに、前記スクロール量決定手段によって決定された前記第1のスクロールの量と前記第2のスクロールの量とを合算したスクロールの量だけ前記スクロール対象画像を前記第1方向に沿ってスクロールさせる、請求項3に記載の情報処理プログラム。
【請求項5】
前記スクロール量決定手段は、前記指示位置検出手段によって検出された前記指示位置が前記第1領域において所定の基準位置から前記第1方向と異なる方向に移動した軌跡の長さに応じて、前記第2のスクロールの量を決定する、請求項3または4に記載の情報処理プログラム。
【請求項6】
前記スクロール量決定手段は、前記指示位置検出手段によって検出された前記指示位置が前記第1領域において所定の基準位置から前記第1方向と異なる方向に変位した変位量に応じて、前記第2のスクロールの量を決定する、請求項3または4に記載の情報処理プログラム。
【請求項7】
前記スクロール量決定手段は、前記指示位置検出手段によって検出された前記指示位置が前記第1領域において前記第1方向と異なる方向に所定時間内に変位した変位量に応じて、前記第2のスクロールの量を決定する、請求項3または4に記載の情報処理プログラム。
【請求項8】
前記第2スクロール指示判定手段は、前記指示位置検出手段によって検出された前記指示位置が前記第1領域において前記第1方向と異なる方向に所定時間内に所定の閾値を超えて変位したか否かを判定する、請求項1乃至7のいずれかに記載の情報処理プログラム。
【請求項9】
前記第1方向と異なる方向は、前記第1方向と直交する方向である、請求項1乃至8のいずれかに記載の情報処理プログラム。
【請求項10】
スクロール対象画像を表示するスクロール画像表示領域を有する表示領域を備えた情報処理装置であって、
ユーザによる前記表示領域上の指示位置を逐次検出する指示位置検出手段と、
前記指示位置検出手段によって検出された前記指示位置が、基準位置より第1方向に配置される第1領域上で所定時間連続して検出されたか否かを判定する第1スクロール指示判定手段と、
前記指示位置検出手段によって検出された前記指示位置が、前記第1方向と異なる方向に変位したか否かを判定する第2スクロール指示判定手段と、
前記第1スクロール指示判定手段及び前記第2スクロール指示判定手段の判定結果の少なくとも一方が肯定である場合に、前記スクロール対象画像を前記第1方向に沿ってスクロールさせるスクロール制御手段とを備える、情報処理装置。
【請求項11】
スクロール対象画像を表示するスクロール画像表示領域を有する表示領域を備えた情報処理システムであって、
ユーザによる前記表示領域上の指示位置を逐次検出する指示位置検出手段と、
前記指示位置検出手段によって検出された前記指示位置が、基準位置より第1方向に配置される第1領域上で所定時間連続して検出されたか否かを判定する第1スクロール指示判定手段と、
前記指示位置検出手段によって検出された前記指示位置が、前記第1方向と異なる方向に変位したか否かを判定する第2スクロール指示判定手段と、
前記第1スクロール指示判定手段及び前記第2スクロール指示判定手段の判定結果の少なくとも一方が肯定である場合に、前記スクロール対象画像を前記第1方向に沿ってスクロールさせるスクロール制御手段とを備える、情報処理システム。
【請求項12】
スクロール対象画像を表示するスクロール画像表示領域を有する表示領域を備えた情報処理装置において用いられる情報処理方法であって、
ユーザによる前記表示領域上の指示位置を逐次検出する指示位置検出ステップと、
前記指示位置検出ステップによって検出された前記指示位置が、基準位置より第1方向に配置される第1領域上で所定時間連続して検出されたか否かを判定する第1スクロール指示判定ステップと、
前記指示位置検出ステップによって検出された前記指示位置が、前記第1方向と異なる方向に変位したか否かを判定する第2スクロール指示判定ステップと、
前記第1スクロール指示判定ステップ及び前記第2スクロール指示判定ステップでの判定結果の少なくとも一方が肯定である場合に、前記スクロール対象画像を前記第1方向に沿ってスクロールさせるスクロール制御ステップとを含む、情報処理方法。
【図1】
【図2】
【図3A】
【図3B】
【図3C】
【図3D】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3A】
【図3B】
【図3C】
【図3D】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2012−123563(P2012−123563A)
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願番号】特願2010−272973(P2010−272973)
【出願日】平成22年12月7日(2010.12.7)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
【公開日】平成24年6月28日(2012.6.28)
【国際特許分類】
【出願日】平成22年12月7日(2010.12.7)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】
[ Back to top ]