説明

情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法

【課題】ユーザの操作に応じてスクロールインジケータの表示タイミングを変化させることのできる情報処理プログラム等を提供すること。
【解決手段】表示画面にはコンテンツ61の一部分が表示される。ユーザが第1領域を指示すると、第1タイミングで、表示画面に表示される一部分を示すスクロールインジケータ57が表示される。ユーザが第2領域を指示すると、第2タイミングで、表示画面に表示される一部分を示すスクロールインジケータ57が表示される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法に関し、より特定的には、ユーザが入力手段を用いて行った操作に応じた情報処理を行う情報処理装置に実行させる情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法に関する。
【背景技術】
【0002】
従来、表示画面よりも大きなコンテンツを表示する場合に、コンテンツの一部分の領域を表示画面に表示し、スクロール操作を行うことによってコンテンツの他の一部分を表示できるようにしたものがある。そして、その際に、表示画面に表示されている一部分がコンテンツ全体のどの範囲・位置にあるかを視覚的に分かりやすく示すためのスクロールインジケータを表示するものが知られている。例えば、特許文献1には、ユーザがスクロール操作を行ったときにスクロールインジケータが表示され、所定の時間経過後にスクロールインジケータの表示が消えるようにすることが開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−85210号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、特許文献1は、ユーザの操作に応じてスクロールインジケータの表示タイミングを変化させるものではなかった。
【0005】
それ故に、本発明の主たる目的は、ユーザの操作に応じてスクロールインジケータの表示タイミングを変化させることのできる、情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法を提供することである。
【課題を解決するための手段】
【0006】
本発明は上記の課題を解決するために、以下の構成を採用した。
【0007】
本発明に係る情報処理部プログラムは、表示部が表示する領域よりも大きなコンテンツの一部分を当該表示部に表示する情報処理装置のコンピュータを、指示位置検出手段、第1表示制御手段、及び第2表示制御手段として機能させる。指示位置検出手段は、ユーザによる表示部上の指示位置を検出する。第1表示制御手段は、指示位置検出手段によって第1領域が指示されたと判定されたとき、表示部に表示されるコンテンツの一部分の当該コンテンツ全体における位置を示すインジケータを、第1タイミングで当該表示部に表示する。第2表示制御手段は、指示位置検出手段によって第1領域とは異なる第2領域が指示されたと判定されたとき、インジケータを第1タイミングとは異なる第2タイミングで表示部に表示する。
【0008】
この構成によれば、表示部上の指示される領域に応じてインジケータの表示タイミングを変化させることができる。このことにより、ユーザは、指示した領域がどの領域であるのかを認識することができる。
【0009】
コンピュータを、第1処理手段と第2処理手段としてさらに機能させてもよい。第1処理手段は、指示位置検出手段によって第1領域が指示されたと判定されたとき、表示部に表示される一部分をスクロールさせるスクロール処理または第1領域に割り当てられた処理を実行する。第2処理手段は、指示位置検出手段によって第2領域が指示されたと判定されたとき、表示部に表示される一部分をスクロールさせるスクロール処理を実行する。この場合、第1表示制御手段は、インジケータを所定の条件が満たされたときに表示し、第2表示制御手段は、前記インジケータを直ちに表示する。
【0010】
この構成によれば、インジケータは、スクロール処理と他の処理を実行可能な領域が指示されたときは所定の条件達成時に表示され、スクロール処理のみを実行可能な領域が指示されたときは直ちに表示される。このことにより、ユーザは、スクロール処理のみを実行可能か他の処理も実行可能かを容易に知ることができるとともに、適切なタイミングで表示されるインジケータによって、表示部に表示されるコンテンツの一部が当該コンテンツ全体のどの位置にあるかを認識することができる。
【0011】
第1処理手段による処理、及び所定の条件は以下のとおりであってもよい。すなわち、第1処理手段は、指示位置検出手段によって第1領域が指示された状態が継続したまま指示位置が変化したと判定されたとき、表示部に表示される一部分をスクロールさせ、当該指示位置検出手段によって当該第1領域が指示された後当該指示が解除されたと判定されたとき、当該第1領域に割り当てられた処理を実行する。所定の条件は、指示位置検出手段によって第1領域が指示された状態が継続したまま指示位置が変化したとき、または当該第1領域が指示された状態が所定時間以上継続したときである。
【0012】
この構成によれば、スクロール処理と他の処理を実行可能な領域が指示されたときは、スクロール処理を選択するような操作が行われたときにインジケータが表示される。このことにより、ユーザは、スクロール処理が必要になった段階で適切にインジケータを認識することができる。
【0013】
第1領域及び第2領域は以下の領域であってもよい。すなわち、第1領域は、コンテンツ内の所定の機能を実行可能な画像が配置された領域であり、第2領域は、コンテンツ内の前記画像の配置されていない領域である。
【0014】
この構成によれば、所定の機能を実行可能な画像の配置されている領域が指示されたか画像の配置されていない領域が指示されたかに応じてインジケータの表示タイミングを変化させることができる。このことにより、ユーザは、指示した領域が所定の機能を実行可能な領域であるのか否かを容易に認識することができる。
【0015】
本発明は、表示部が表示する領域よりも大きなコンテンツの一部分を当該表示部に表示する情報処理装置として捉えることもできる。この情報処理装置は、指示位置検出手段、第1表示制御手段、及び第2表示制御手段を備える。指示位置検出手段は、ユーザによる表示部上の指示位置を検出する。第1表示制御手段は、指示位置検出手段によって第1領域が指示されたと判定されたとき、表示部に表示されるコンテンツの一部分の当該コンテンツ全体における位置を示すインジケータを、第1タイミングで当該表示部に表示する。第2表示制御手段は、指示位置検出手段によって第1領域とは異なる第2領域が指示されたと判定されたとき、インジケータを第1タイミングとは異なる第2タイミングで表示部に表示する。
【0016】
また、本発明は、表示部が表示する領域よりも大きなコンテンツの一部分を当該表示部に表示する情報処理システムとして捉えることもできる。この情報処理システムは、指示位置検出手段、第1表示制御手段、及び第2表示制御手段を備える。指示位置検出手段は、ユーザによる表示部上の指示位置を検出する。第1表示制御手段は、指示位置検出手段によって第1領域が指示されたと判定されたとき、表示部に表示されるコンテンツの一部分の当該コンテンツ全体における位置を示すインジケータを、第1タイミングで当該表示部に表示する。第2表示制御手段は、指示位置検出手段によって第1領域とは異なる第2領域が指示されたと判定されたとき、インジケータを第1タイミングとは異なる第2タイミングで表示部に表示する。
【0017】
また、本発明は、表示部が表示する領域よりも大きなコンテンツの一部分を当該表示部に表示する情報処理方法として捉えることもできる。この情報処理方法では、以下の処理が実行される。まず、ユーザによる表示部上の指示位置が検出される。次に、第1領域が指示されたと判定されたとき、表示部に表示されるコンテンツの一部分の当該コンテンツ全体における位置を示すインジケータが、第1タイミングで当該表示部に表示される。第1領域とは異なる第2領域が指示されたと判定されたとき、インジケータが第1タイミングとは異なる第2タイミングで表示部に表示される。
【発明の効果】
【0018】
本発明によれば、ユーザによって指示された表示部上の領域に応じてインジケータの表示タイミングを変化させることができる。このことにより、ユーザは、指示した領域がどの領域であるのかを認識することができるとともに、適切なタイミングでインジケータを認識することができる。また、ユーザの操作意図を的確に反映してインジケータを表示させることができる。
【図面の簡単な説明】
【0019】
【図1】開いた状態のゲーム装置10の正面図
【図2】開いた状態のゲーム装置10の右側面図
【図3A】閉じた状態のゲーム装置10の左側面図
【図3B】閉じた状態のゲーム装置10の正面図
【図3C】閉じた状態のゲーム装置10の右側面図
【図3D】閉じた状態のゲーム装置10の背面図
【図4】ゲーム装置10の内部構成の一例を示すブロック図
【図5】下側LCD12の画面に表示される画像の一例を示す図
【図6】コンテンツ61とコンテンツ表示領域51との関係の一例を示す図
【図7】下側LCD12の画面に表示される画像の一例を示す図
【図8】下側LCD12の画面に表示される画像の一例を示す図
【図9】下側LCD12の画面に表示される画像の一例を示す図
【図10】下側LCD12の画面に表示される画像の一例を示す図
【図11】コンテンツ61とコンテンツ表示領域51との関係の一例を示す図
【図12】下側LCD12の画面に表示される画像の一例を示す図
【図13】下側LCD12の画面に表示される画像の一例を示す図
【図14】下側LCD12の画面に表示される画像の一例を示す図
【図15】下側LCD12の画面に表示される画像の一例を示す図
【図16】下側LCD12の画面に表示される画像の一例を示す図
【図17】下側LCD12の画面に表示される画像の一例を示す図
【図18】メインメモリ32のメモリマップ
【図19】CPU311によって実行される処理の一例を示すフローチャート
【図20】CPU311によって実行される処理の一例を示すフローチャート
【図21】コンテンツ61とコンテンツ表示領域51との関係の一例を示す図
【発明を実施するための形態】
【0020】
以下、適宜図面を参照しつつ、本発明の一実施形態に係る情報処理装置について説明する。なお、本発明の情報処理装置及びこの装置で実行される情報処理プログラムは任意のコンピュータシステムに適用可能であるが、本実施形態では、情報処理装置の一例としての携帯型のゲーム装置10において、外部メモリ45に記録されている情報処理プログラムが実行される場合を例に説明する。
【0021】
[ゲーム装置10の構成]
図1は、開いた状態のゲーム装置10の正面図である。図2は、開いた状態のゲーム装置10の右側面図である。図3Aは、閉じた状態のゲーム装置10の左側面図である。図3Bは、閉じた状態のゲーム装置10の正面図である。図3Cは、閉じた状態のゲーム装置10の右側面図である。図3Dは、閉じた状態のゲーム装置10の背面図である。
【0022】
ゲーム装置10は、画像を撮像する撮像部を有しており、撮像された画像を画面に表示したり、撮像された画像のデータを保存したりすることが可能である。また、ゲーム装置10は、交換可能なメモリカード(外部メモリ45)内に記憶されたプログラム、又はサーバや他のゲーム装置から受信したプログラムを実行可能である。ゲーム装置10は、これらのプログラムを実行することにより、仮想空間に設定された仮想カメラで撮像した画像をコンピュータグラフィックス処理して生成した画像を画面に表示することもできる。
【0023】
ゲーム装置10は、下側ハウジング11及び上側ハウジング21を備える。上側ハウジング21は、下側ハウジング11に対して開閉可能に連結されている。このため、ゲーム装置10は、折り畳みが可能である。このゲーム装置10は、図1に例示されるように開いた状態で使用され、未使用時には閉じた状態(図3A〜図3D参照)で保管される。
【0024】
[下側ハウジング11の構成]
下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12、タッチパネル13、各操作ボタン14A〜14L(図1、図3A〜図3D)、アナログスティック15、LED16A,16B、挿入口17、及びマイクロフォン用孔18が設けられている。
【0025】
下側LCD12は、縦方向よりも横方向に長い表示画面を有しており、下側ハウジング11の内側面11Bにおける中央に設けられている。下側LCD12の画素数は、特に限定されるものではないが、一例として、256dot×192dot(横×縦)である。下側LCD12は、後述する上側LCD22とは異なり、画像を(立体視可能ではなく)平面的に表示する表示装置である。
【0026】
なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用してもよい。
【0027】
図1に示されるように、ゲーム装置10は、入力手段として機能するタッチパネル13を備えている。タッチパネル13は、下側LCD12の画面上を覆うように装着されている。本実施形態では、タッチパネル13は、例えば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル13は、抵抗膜方式に限らず、例えば静電容量方式等、任意の押圧式のタッチパネルを用いることができる。本実施形態では、タッチパネル13として、下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度とが一致している必要はない。
【0028】
下側ハウジング11の上側面には挿入口17(図1及び図3Dに示す破線)が設けられている。挿入口17は、タッチパネル13に対する操作を行うために用いられるタッチペン28を収納することができる。なお、タッチパネル13に対する入力は通常タッチペン28を用いて行われるが、タッチペン28に限らず、ユーザの指でタッチパネル13に対する入力を行うことも可能である。
【0029】
各操作ボタン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の電源をオン/オフするために用いられる。
【0030】
アナログスティック15は、方向を指示するデバイスであり、下側ハウジング11の内側面11Bにおける下側LCD12の左側に設けられている。このアナログスティック15及び十字ボタン14Aは、下側ハウジング11を把持したユーザの左手の親指で操作可能な位置に設けられている。アナログスティック15は、そのキートップが、下側ハウジング11の内側面11Bに平行にスライドするように構成されており、ゲーム装置10が実行するプログラムに応じて機能する。
【0031】
下側ハウジング11の内側面11Bには、マイクロフォン用孔18が設けられている。後述するが、下側ハウジング11の内部には、マイクロフォン用孔18と対応する位置に音声入力装置としてのマイク43(図4参照)が設けられている。マイクロフォン用孔18を介して入力された音がマイク43によって検出される。
【0032】
図3B及び図3Dに示されるように、下側ハウジング11の上面には、Lボタン14G及びRボタン14Hが設けられている。Lボタン14Gは、下側ハウジング11の上面の左端部に設けられ、Rボタン14Hは、下側ハウジング11の上面の右端部に設けられている。Lボタン14G及びRボタン14Hは、例えば撮像部のシャッターボタン(撮影指示ボタン)として機能する。また、図3Aに示されるように、下側ハウジング11の左側面には、音量ボタン14Iが設けられている。音量ボタン14Iは、ゲーム装置10が備えるスピーカ44(図4参照)の音量を調整するために用いられる。
【0033】
図3Aに示されるように、下側ハウジング11の左側面には開閉可能なカバー部11Cが設けられている。このカバー部11Cの内側には、ゲーム装置10とデータ保存用外部メモリ46(図1参照)とを電気的に接続するためのコネクタ(図示せず)が設けられている。データ保存用外部メモリ46は、上記コネクタに着脱可能に装着される。データ保存用外部メモリ46は、例えば、ゲーム装置10によって撮像された画像のデータを記憶(保存)するために用いられる。なお、上記コネクタおよびそのカバー部11Cは、下側ハウジング11の右側面に設けられてもよい。
【0034】
図3Dに示されるように、下側ハウジング11の上面には、挿入口11Dが設けられている。挿入口11Dには、情報処理プログラムを記録した記録媒体としての外部メモリ45(図1参照)が挿入される。挿入口11Dの内部には、外部メモリ45が着脱可能に装着されるコネクタ(図示せず)が設けられている。外部メモリ45がこのコネクタに装着されることによって外部メモリ45とゲーム装置10とが電気的に接続され、情報処理プログラムが実行される。なお、上記コネクタ及び挿入口11Dは、下側ハウジング11の他の面(例えば、右側面等)に設けられてもよい。
【0035】
図1に示されるように、下側ハウジング11の下面には、第1LED16Aが設けられている。この第1LED16Aは、ゲーム装置10の電源のON/OFF状況をユーザに通知する。図3Cに示されるように、下側ハウジング11の右側面には、第2LED16Bが設けられている。ゲーム装置10は、他の機器との間で無線通信を行うことが可能に構成されている。第2LED16Bは、ゲーム装置10の無線通信の確立状況をユーザに通知するものであり、他の機器との無線通信が確立している場合に点灯する。ゲーム装置10は、例えば、IEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。下側ハウジング11の右側面には、この無線通信の機能を有効/無効にする無線スイッチ19が設けられている(図3C参照)。
【0036】
[上側ハウジング21の構成]
上側ハウジング21には、上側LCD22、2つの外側撮像部23(外側左撮像部23A及び外側右撮像部23B)、内側撮像部24、3D調整スイッチ25、及び3Dインジケータ26が設けられている。
【0037】
図1に示されるように、上側ハウジング21の内側面(主面)21Bに上側LCD22が設けられている。上側LCD22は、縦方向よりも横方向に長い表示画面を有しており、上側ハウジング21の中央に設けられている。上側LCD22の画素数は、特に限定されるものではないが、一例として640dot×200dot(横×縦)である。なお、本実施形態では、上側LCD22が液晶表示装置であるが、例えばELを利用した表示装置などが利用されてもよい。
【0038】
上側LCD22は、立体視可能な画像を表示することが可能な表示装置である。上側LCD22は、実質的に同一の表示領域を用いて左目用画像と右目用画像とを表示することが可能である。具体的には、上側LCD22は、左目用画像と右目用画像とが所定単位で(例えば、1列ずつ)横方向に交互に表示される方式の表示装置である。なお、上側LCD22は、左目用画像と右目用画像とが時間的に交互に表示される方式の表示装置であってもよい。また、上側LCD22は、裸眼立体視可能な表示装置である。この場合、上側LCD22は、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式(視差バリア方式)のものが用いられる。本実施形態では、上側LCD22は、パララックスバリア方式のものとする。上側LCD22は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像(立体画像)を表示する。すなわち、上側LCD22は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像をそれぞれ視認させることにより、ユーザにとって立体感のある立体画像(立体視可能な画像)を表示することができる。また、上側LCD22は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる(上述した立体視とは反対の意味で平面視の画像を表示することができる)。
【0039】
外側撮像部23は、図3Bに示されるように、上側ハウジング21の外側面(上側LCD22が設けられた主面と反対側の面)21Dに設けられている。この外側撮像部23は、外側左撮像部23A及び外側右撮像部23Bから構成されている。外側左撮像部23A及び外側右撮像部23Bは、それぞれ所定の共通の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【0040】
外側左撮像部23A及び外側右撮像部23Bの撮像方向は、いずれも外側面21Dの外向きの法線方向である。また、外側左撮像部23Aの撮像方向及び外側右撮像部23Bの撮像方向は、互いに平行である。外側左撮像部23Aと外側右撮像部23Bとは、ゲーム装置10が実行するプログラムによって、ステレオカメラとして使用することが可能である。また、プログラムによっては、2つの外側撮像部(外側左撮像部23A及び外側右撮像部23B)のいずれか一方を単独で用いて、外側撮像部23を非ステレオカメラとして使用することも可能である。また、プログラムによっては、2つの外側撮像部(外側左撮像部23A及び外側右撮像部23B)で撮像した画像を合成して又は補完的に使用することにより撮像範囲を広げた撮像を行うことも可能である。
【0041】
外側左撮像部23A及び外側右撮像部23Bは、図1に示されるように、ユーザが上側LCD22の画面を正面から視認した場合に、外側左撮像部23Aが左側に位置すると共に外側右撮像部23Bが右側に位置するように設けられている。外側撮像部23をステレオカメラとして使用する場合、外側左撮像部23Aは、ユーザの左目で視認される左目用画像を撮像し、外側右撮像部23Bは、ユーザの右目で視認される右目用画像を撮像する。なお、外側左撮像部23A及び外側右撮像部23Bの間隔は、人間の両目の間隔程度に設定されている。
【0042】
内側撮像部24は、上側ハウジング21の内側面(主面)21Bに設けられており、外側撮像部23とは反対方向を撮像する撮像部である。このため、ユーザが上側LCD22を静止した状態で、内側撮像部24によりユーザの顔を正面から撮像することができる。内側撮像部24は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【0043】
図1,図2,図3Cに示されるように、上側ハウジング21の内側面及び右側面の端部に3D調整スイッチ25が設けられている。3D調整スイッチ25は、上側LCD22に表示された立体視可能な画像(立体画像)の立体感を調整するために用いられる。この3D調整スイッチ25は、所定方向(例えば、上下方向)へスライド可能なスライダを有している。例えば、3D調整スイッチ25のスライダが最下点位置に配置されている場合、上側LCD22が平面表示モードに設定され、上側LCD22の画面には平面画像が表示される。一方、上記最下点位置より上側にスライダが配置されている場合、上側LCD22は立体表示モードに設定される。この場合、上側LCD22の画面には立体視可能な画像が表示される。ここで、スライダが上記最下点位置より上側に配置されている場合、スライダの位置に応じて、立体画像の見え方が調整される。具体的には、スライダの位置に応じて、右目用画像及び左目用画像における横方向の位置のずれ量が調整される。
【0044】
図1に示されるように、上側ハウジング21の内側面21Bに3Dインジケータ26が設けられている。3Dインジケータ26は、上側LCD22が立体表示モードか否かを示す。例えば、3Dインジケータ26は、LEDであり、上側LCD22の立体表示モードが有効である場合に点灯する。
【0045】
また、上側ハウジング21の内側面21Bには、スピーカ孔21Eが形成されており、後述するスピーカ44(図4参照)からの音声がこのスピーカ孔21Eを介して出力される。
【0046】
[ゲーム装置10の内部構成]
次に、図4を参照しつつ、ゲーム装置10の内部構成について説明する。ここで、図4は、ゲーム装置10の内部構成の一例を示すブロック図である。
【0047】
図4に示されるように、ゲーム装置10は、情報処理部31、メインメモリ32、外部メモリインターフェース(外部メモリI/F)33、データ保存用外部メモリI/F34、データ保存用内部メモリ35、無線通信モジュール36、ローカル通信モジュール37、リアルタイムクロック(RTC)38、加速度センサ39、角速度センサ40、電源回路41、及びインターフェース回路(I/F回路)42等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング11(又は上側ハウジング21)内に収納されている。
【0048】
情報処理部31は、所定のプログラムを実行するためのCPU(Central Processing Unit)311、画像処理を行うGPU(Graphics Processing Unit)312等を含む情報処理手段である。本実施形態では、情報処理プログラムがゲーム装置10内のメモリ(例えば外部メモリI/F33に接続された外部メモリ45やデータ保存用内部メモリ35)に記憶されている。CPU311は、この情報処理プログラムを実行することによって、表示画面に表示されるコンテンツの一部分を切り替える等の情報処理を実行する。なお、CPU311によって実行される情報処理プログラムは、他の機器との通信によって他の機器から取得されてもよい。
【0049】
情報処理部31は、VRAM(Video RAM)313を含む。GPU312は、CPU311からの命令に応じて画像をVRAM313に描画する。そして、GPU312は、VRAM313に描画された画像を上側LCD22及び/又は下側LCD12に出力し、上側LCD22及び/又は下側LCD12に当該画像が表示される。
【0050】
情報処理部31には、メインメモリ32、外部メモリI/F33、データ保存用外部メモリI/F34、及びデータ保存用内部メモリ35が接続される。外部メモリI/F33は、外部メモリ45を着脱自在に接続するためのインターフェースである。データ保存用外部メモリI/F34は、データ保存用外部メモリ46を着脱自在に接続するためのインターフェースである。
【0051】
メインメモリ32は、CPU311のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ32は、画像処理やゲーム処理で用いられる各種データを一時的に記憶したり、外部(外部メモリ45や他の機器等)から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ32として例えばPSRAM(Pseudo−SRAM)が用いられる。
【0052】
外部メモリ45は、情報処理部31によって実行されるプログラムを記憶する不揮発性の記憶手段である。外部メモリ45は、例えば読み取り専用の半導体メモリで構成される。外部メモリ45が外部メモリI/F33に接続されると、情報処理部31は外部メモリ45に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムを実行することにより、所定の処理が行われる。
【0053】
データ保存用外部メモリ46は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ46には、外側撮像部23で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ46がデータ保存用外部メモリI/F34に接続されると、情報処理部31はデータ保存用外部メモリ46に記憶された画像を読み込み、上側LCD22及び/又は下側LCD12に当該画像を表示することができる。
【0054】
データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【0055】
無線通信モジュール36は、例えばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。ローカル通信モジュール37は、所定の通信方式(例えば赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。情報処理部31は、無線通信モジュール36を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール37を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【0056】
加速度センサ39は、3軸(本実施形態では、xyz軸)方向に沿った直線方向の加速度(直線加速度)の大きさを検出する。加速度センサ39は、例えば下側ハウジング11の内部に設けられる。加速度センサ39は、図1に示されるように、下側ハウジング11の長手方向をx軸、下側ハウジング11の短手方向をy軸、下側ハウジング11の内側面(主面)11Bに対して垂直な方向をz軸として、ゲーム装置10の各軸方向へ生じる直線加速度の大きさをそれぞれ検出する。なお、加速度センサ39は、例えば静電容量式の加速度センサとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ39は1軸または2軸方向を検出する加速度センサであってもよい。情報処理部31は、加速度センサ39が検出した加速度を示すデータ(加速度データ)を受信して、ゲーム装置10の姿勢や動きを算出する。
【0057】
角速度センサ40は、ゲーム装置10の3軸(本実施形態では、xyz軸)周りに生じる角速度をそれぞれ検出し、検出した角速度を示すデータ(角速度データ)を情報処理部31へ出力する。角速度センサ40は、例えば下側ハウジング11の内部に設けられる。情報処理部31は、角速度センサ40から出力された角速度データを受信して、ゲーム装置10の姿勢や動きを算出する。
【0058】
情報処理部31には、RTC38及び電源回路41が接続される。RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻(日付)を計算する。電源回路41は、ゲーム装置10が有する電源(下側ハウジング11に収納される充電式電池)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。
【0059】
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に対して入力が行われたタッチ位置を取得することができる。
【0060】
操作ボタン14は、上記各操作ボタン14A〜14Lからなり、情報処理部31に接続される。操作ボタン14から情報処理部31へは、各操作ボタン14A〜14Iに対する入力状況(押下されたか否か)を示す操作データが出力される。情報処理部31は、操作ボタン14から操作データを取得することによって、操作ボタン14に対する入力に応じた処理を実行する。
【0061】
ユーザがタッチパネル13や操作ボタン14を用いた所定の操作を行うことにより、使用する撮像部が選択される。情報処理部31は、この選択結果に応じて、外側撮像部23及び内側撮像部24のいずれか一方に対して撮像を指示する。これに対して、外側撮像部23及び内側撮像部24は、情報処理部31からの指示に従って画像を撮像し、撮像した画像データを情報処理部31に出力する。
【0062】
下側LCD12及び上側LCD22は、情報処理部31(GPU312)の指示に従って画像を表示する。情報処理部31は、例えば、外側撮像部23によって撮像された右目用画像と左目用画像とを用いた立体画像(立体視可能な画像)を上側LCD22に表示させる。また、情報処理部31は、所定のプログラムを起動させるための各種画像(アイコン)を含むコンテンツ選択画面を下側LCD12に表示させる。このコンテンツ選択画面については、後に詳述する。
【0063】
3D調整スイッチ25は、スライダの位置に応じた電気信号を情報処理部31に出力する。これに対して、情報処理部31(CPU311)は、3D調整スイッチ25からの電気信号に基づいて上側LCD22の表示モードを設定する。情報処理部31は、3Dインジケータ26の点灯を制御する。例えば、情報処理部31は、上側LCD22が立体表示モードである場合、3Dインジケータ26を点灯させる。
【0064】
なお、上述したハードウェア構成は単なる一例に過ぎず、ゲーム装置10の構成は適宜変更可能である。
【0065】
[ゲーム装置10の画面表示の概要]
ゲーム装置10では、外部メモリ45からメインメモリ32にロードされた情報処理プログラムが情報処理部31のCPU311によって実行される。以下、図5〜図17を参照しつつ、情報処理プログラムに基づくゲーム装置10の動作の概要を説明する。
【0066】
図5は、コンテンツ選択画面の一例を示す下側LCD12の画面図である。図5に示されるコンテンツ選択画面は、コンテンツ表示領域51(本発明の表示部が表示する領域の一例)と、コンテンツ表示領域51の上部と下部に設けられた非コンテンツ表示領域52から構成される。コンテンツ表示領域51には選択可能な複数のコンテンツ内ボタン53(コンテンツ内ボタン53A〜53E)及び画面遷移ボタン54が表示されている。すなわち、コンテンツ表示領域51は、複数のコンテンツ内ボタン53が配置される領域と画面遷移ボタン54が配置される領域といずれのボタンも配置されないボタン非配置領域とを含む。また、コンテンツ表示領域51は、スクロール操作が可能な領域である。非コンテンツ表示領域52には選択可能な複数のコンテンツ外ボタン55が表示されている。
【0067】
コンテンツ内ボタン53及びコンテンツ外ボタン55は、CPU311によって実行されるプログラムに関連付けられたボタン画像である。ユーザは、下側LCD12の画面に表示される複数のコンテンツ内ボタン53及びコンテンツ外ボタン55の中から任意のボタンを選択することによって、所望のプログラムをCPU311に実行させることができる。この任意のボタンの選択は、タッチパネル13をタッチペン28でタッチすることや、操作ボタン14を操作することによって実現される。なお、以下の説明では、タッチパネル13がタッチペン28でタッチされることを「タッチオン」と言い、タッチペン28がタッチパネル13から離されることを「タッチオフ」と言う。また、タッチペン28がタッチオンされた時点の位置を「タッチオン位置」と言い、タッチペン28がタッチオフされる際にタッチペン28が最後にタッチされていたタッチパネル13上の位置を「タッチオフ位置」と言う。
【0068】
画面遷移ボタン54は、コンテンツ表示領域51の右端部及び左端部に表示されている。この画面遷移ボタン54は、コンテンツ表示領域51に表示される画面(後述するコンテンツ61の一部分)を切り替えるためのものである。この画面遷移ボタン54を用いた表示画面の切り替えについては、後に詳述する。
【0069】
図6は、コンテンツ61とコンテンツ表示領域51との関係を示す図である。図6に示されるコンテンツ61は、コンテンツ表示領域51に表示すべきコンテンツ内ボタン53によって構成される仮想領域である。一方、コンテンツ表示領域51は、実際にコンテンツ内ボタン53が表示される領域である。コンテンツ61の大きさはコンテンツ表示領域51の大きさよりも大きい。そのため、コンテンツ表示領域51には、図6に示されるコンテンツ61の一部分に相当する領域Aのみが表示される。
【0070】
ユーザは、画面遷移ボタン54上をタッチオンすることで、コンテンツ表示領域51に表示されるコンテンツ61の一部分(領域A)を切り替えることができる。具体的には、コンテンツ表示領域51の右端部に表示された画面遷移ボタン54上をタッチオンすることによって、図6に示されるように、領域Aは、コンテンツ61に対して相対的に右に遷移する(コンテンツ61は、領域Aに対して相対的に左に遷移する)。このことによって、コンテンツ表示領域51に表示される画面(コンテンツ61の一部分)は左に遷移し、表示画面の切り替えが行われる。
【0071】
なお、画面遷移ボタン54上をタッチオンすることによって、コンテンツ表示領域51に表示される領域Aがどのように切り替わるかは様々な設定が可能である。例えば、画面遷移ボタン54上を一度タッチオンすることによって、コンテンツ表示領域51に表示される領域Aは、当該領域Aの1つ分だけ右(又は左)に遷移して切り替わることとしてもよい。また、タッチオンからタッチオフするまでの時間に応じて遷移する領域の大きさを変化させてもよい。
【0072】
このように、ユーザは、画面遷移ボタン54上をタッチオンすることによって、コンテンツ表示領域51に表示されるコンテンツ61の一部分(領域A)をコンテンツ61の他の一部分へと切り替えることができる。また、領域Aの切り替えにおいて、領域Aがコンテンツ61の他の一部分へと遷移する大きさは、前述したように設定によって変えることが可能であり、領域Aを、コンテンツ61の他の一部分へ不連続に遷移させることができる。すなわち、例えば、図6(1)に示される領域Aを図6(2)に示されるようにコンテンツ内ボタン53の1つ分だけ右に遷移させた領域に切り替えることや、図6(3)に示されるように領域Aの1つ分だけ右に遷移させた領域に切り替えること等ができる。このことにより、スクロール処理のような連続的な移動(切り替え)の処理を経ることなく、コンテンツ表示領域51に表示される画面(コンテンツ61の一部分)を不連続に瞬時に(あるいは、ある程度の時間をかけて)他の画面(コンテンツ61の他の一部分)へとジャンプして切り替えることが可能となる。なお、上述したようにコンテンツ表示領域51に表示される画面が他の画面に不連続に(または、瞬時に、ジャンプして)切り替わることを、表示切替又はコンテンツ表示領域51の画面遷移と言う。
【0073】
以下、図7〜図17を参照しつつ、上記したコンテンツ表示領域51の画面遷移及び後述するスクロールインジケータ57の表示について説明する。
【0074】
図7は、図5に示されるコンテンツ選択画面において、ユーザがタッチペン28を用いて画面遷移ボタン54上をタッチオンしたときの様子を示している。図8〜図10は、図7に示されるように画面遷移ボタン54上がタッチオンされているときに、コンテンツ表示領域51に表示される画面(コンテンツ61の一部分)が切り替わる様子及びスクロールインジケータ57が表示されて消滅するまでの様子を示している。
【0075】
図7に示されるように、ユーザはコンテンツ表示領域51に表示される画面を切り替えたい場合には、タッチペン28を用いてコンテンツ表示領域51上に表示される画面遷移ボタン54上をタッチオンする。
【0076】
図8に示されるように、ユーザがタッチペン28を用いて画面遷移ボタン54上をタッチオンすると、スクロールインジケータ57とスクロール枠58が上部の非コンテンツ表示領域52に表示される。スクロールインジケータ57は、スクロール範囲全体に対する、現在の表示範囲の割合および位置等を視覚的に把握できるようにしたものである。なお、本実施形態ではスクロール枠58が表示されるものとしているが、スクロール枠58は表示されず、スクロールインジケータ57のみが表示されるものとしてもよい。
【0077】
ここで、スクロール範囲全体とは、図6に示されるコンテンツ61の全体を指し、現在の表示範囲とは、図6に示されるコンテンツ61の領域Aを指す。図8に示されるスクロール枠58の長手方向(x方向)の長さは、図6に示されるスクロール範囲全体の長手方向の長さを一定割合で縮小したものであり、そして、この割合で、現在の表示範囲(領域A)の長手方向の長さを縮小したものが、スクロールインジケータ57の長手方向の長さである。また、スクロール範囲全体に対して領域Aが位置する長手方向(x方向)の位置は、スクロール枠58に対してスクロールインジケータ57が位置する長手方向(x方向)の位置で表わされる。したがって、スクロール処理等により、スクロール範囲全体に対して領域Aの位置が遷移すると、それに応じて、スクロール枠58の中で、スクロールインジケータ57が長手方向(x方向)に徐々に移動する。
【0078】
すなわち、現在のコンテンツ61の領域Aが図6(1)に示される位置である場合、図8に示されるようにコンテンツ表示領域51にコンテンツ61の一部分(領域A)が表示され、スクロールインジケータ57が上部の非コンテンツ表示領域52に表示される。このことにより、ユーザは、スクロール範囲全体に対する、現在の表示範囲を視覚的に認識することができる。
【0079】
次に、コンテンツ表示領域51の画面遷移が行われる。例えば、コンテンツ61の領域Aが、図6(1)から図6(3)に示す領域へと遷移した場合、図9に示されるようにコンテンツ表示領域51の画面遷移が行われる。すなわち、コンテンツ61は、領域Aに対して相対的に左に遷移したため、コンテンツ表示領域51に表示される画面(コンテンツ61の一部分)は左に遷移し、表示画面の切り替えが行われる。
【0080】
それと同時に、スクロール枠58の中で、スクロールインジケータ57が右(x軸の正方向)に徐々に移動して、現在のコンテンツ表示領域51に表示されている領域Aがコンテンツ61の全体のうちどの位置にあるのか(あるいは、どの程度移動したのか)を示す。
【0081】
次に、ユーザがタッチペン28を画面遷移ボタン54上からタッチオフすると、スクロールインジケータ57及びスクロール枠58は次第に半透明になり、例えば40ms後に消失する(図10参照)。
【0082】
このように、ユーザがタッチペン28を用いて画面遷移ボタン54上をタッチオンすることによって、コンテンツ表示領域51に表示されるコンテンツ61の一部分(領域A)を切り替える表示切替を行う場合には、スクロールインジケータ57が表示される。最初、スクロールインジケータ57のスクロール枠58に対する表示位置は、表示切替前のコンテンツ61全体に対する領域Aの位置を示す。コンテンツ表示領域51に表示される画面(コンテンツ61の一部分)が切り替わった後には、スクロールインジケータ57のスクロール枠58に対する表示位置は、表示切替後のコンテンツ61全体に対する領域Aの位置を示す。したがって、ユーザは表示切替前後のスクロールインジケータ57の表示位置の変化を視覚的に認識することにより、コンテンツ表示領域51に表示される一部分が全体のどの位置に遷移したのかを認識することができる。
【0083】
図11は、複数の相異なるコンテンツ61a〜61dが連結されて、複合コンテンツ62を形成する場合のイメージ図であり、各コンテンツ61a〜61dの大きさが異なっている例を示す。図11に示されるように、コンテンツ61a〜61dは、左から61a、61b、61c、61dの順に隣接配置されており、複合コンテンツ62を形成している。例えばコンテンツ表示領域51の右端部に表示された画面遷移ボタン54上がタッチオンされることによって、領域Aは、複合コンテンツ62に対して相対的に右に遷移する。そして、領域Aは、1つのコンテンツ(コンテンツ61a)の右端に達すると(図11(1)参照)、右に隣接するコンテンツ(コンテンツ61b)の左端に遷移する(図11(2)参照)。すなわち、画面遷移ボタン54上がタッチオンされることによって、コンテンツ表示領域51に表示される複合コンテンツ62の一部分(領域A)は、各コンテンツ61a〜61dに跨って遷移し、跨るタイミングでコンテンツ表示領域51に表示されるコンテンツ61a〜61dの一部分が他のコンテンツ61a〜61dの一部分へと切り替わる表示切替が行われる。なお、本実施形態では、領域Aがコンテンツ61dの右端に達すると、それ以上右には遷移しないものとしている。しかし、領域Aがコンテンツ61dの右端に達すると、最も左に配置されたコンテンツ(コンテンツ61a)の左端に遷移するとしてもよい。すなわち、領域Aは、各コンテンツ間を循環遷移するものとしてもよい。
【0084】
図11(1)に示されるように、領域Aが現在、コンテンツ61aの右端部であり、ユーザが画面遷移ボタン54上をタッチオンしている場合、スクロールインジケータ57は、図12に示されるように表示される。すなわち、コンテンツ61aを全領域とした場合における領域A(コンテンツ表示領域51に表示されるコンテンツ61aの一部分)の当該全領域に占める範囲及び位置が、スクロールインジケータ57の長さ及びスクロールインジケータ57のスクロール枠58に対する表示位置によって示される。
【0085】
次に、画面遷移ボタン54上のタッチオンによって、図11(2)に示されるように、領域Aがコンテンツ61bの左端部に遷移し、コンテンツ表示領域51に表示される画面(コンテンツ61の一部分)が切り替わる。この場合、表示切替後のスクロールインジケータ57は、図13に示されるように表示される。すなわち、コンテンツ61bを全領域とした場合における領域A(コンテンツ表示領域51に表示されるコンテンツ61bの一部分)の当該全領域に占める範囲及び位置が、スクロールインジケータ57の長さ及びスクロールインジケータ57のスクロール枠58に対する表示位置によって示される。
【0086】
このように、表示切替によって表示されるコンテンツの一部分が、或るコンテンツの一部分から大きさの異なる他のコンテンツの一部分へと遷移する場合、コンテンツの全体の大きさによってスクロールインジケータ57の大きさ(長さ)も変化する。したがって、表示切替前後のスクロールインジケータ57が表示されることによって、ユーザは、切り替え後の新たなコンテンツの全体の大きさを視覚的に認識することができる。
【0087】
次に、ユーザが画面遷移ボタン54以外の場所上をタッチペン28でタッチオンした場合について説明する。なお、以下の説明では、コンテンツ表示領域51に表示される領域のうち、コンテンツ内ボタン53が配置された領域を第1領域と言い、コンテンツ内ボタン53及び画面遷移ボタン54のいずれも配置されていない領域を第2領域と言う。
【0088】
図14、図15は、図5に示されるコンテンツ選択画面において、第1領域上がタッチオンされた場合を示す。図16、図17は、図5に示されるコンテンツ選択画面において、第2領域上がタッチオンされた場合を示す。なお、以下の説明において、ユーザが下側LCD12上のタッチパネル13をタッチペン28でタッチオンしたままタッチペン28をスライドさせる(タッチペン28を画面に接触させたまま滑らせる)操作のことを「ドラッグ操作」と言う。
【0089】
図14に示されるように、ユーザがタッチペン28を用いて第1領域(コンテンツ表示領域51内のコンテンツ内ボタン53)上をタッチオンした場合には、その後のタッチペン28の操作によって、スクロールインジケータ57の表示されるタイミングが異なる。
【0090】
ユーザがタッチペン28を用いて第1領域上をタッチオンした後ドラッグ操作を行ってタッチペンを右方向にスライドさせた場合、ドラッグ操作があったと判定されると同時にスクロールインジケータ57が表示される。一方、ドラッグ操作が行われない場合にはタッチオンからタッチオフまでの時間(タッチオンの状態が継続する時間)が所定の時間(例えば30ms)を超えればスクロールインジケータ57が表示され、所定の時間を超えなければスクロールインジケータ57は表示されない。なお、このとき表示されるスクロールインジケータ57は、コンテンツ表示領域51に現在表示されている領域Aがコンテンツ61の全体に占める範囲、位置を示す。
【0091】
図14に示される状態において、ユーザがコンテンツ内ボタン53の中のいずれかのボタン(第1領域)上をタッチペン28でタッチオンして右方向(x軸正方向)にドラッグ操作した場合には、図15に示されるように、コンテンツ表示領域51に表示される画面(コンテンツ61の一部分)がタッチペン28のスライド量に応じた距離だけ右方向にスクロールする。逆に、ユーザがコンテンツ内ボタン53の中のいずれかのボタンをタッチペン28でタッチオンして左方向にドラッグ操作した場合には、コンテンツ表示領域51に表示される画面がタッチペン28のスライド量に応じた距離だけ左方向にスクロールする。このように第1領域をタッチペン28でタッチオンしてからタッチペン28を左右方向にスライドさせることによって、ユーザは、コンテンツ表示領域51に表示される画面を左右にスクロールさせることができる。これによって、コンテンツ61に含まれるコンテンツもスクロールして画面に表示されていないコンテンツを表示できるようになる。
【0092】
ドラッグ操作によってコンテンツ表示領域51に表示される画面(コンテンツ61の一部分)が左右にスクロールされることにより、コンテンツ表示領域51に現在表示されている領域Aのコンテンツ61全体における位置が遷移する。このため、スクロールインジケータ57のスクロール枠58に対する表示位置も移動する(図15参照)。
【0093】
このように、ユーザがタッチペン28を第1領域上にタッチオンした直後にドラッグ操作を行う場合には、スクロールインジケータ57が直ちに表示されて、スクロール処理に応じてスクロールインジケータ57の表示位置が移動する。このため、ユーザはドラッグ操作の間、現在コンテンツ表示領域51に表示されている領域Aがコンテンツ61全体のどの位置、範囲にあるかを視覚的に認識することができる。
【0094】
なお、ドラッグ操作が行われない場合で、ユーザがタッチペン28を用いて第1領域のコンテンツ内ボタン53上をタッチオンして、同一のボタン上でタッチオフした場合には、このコンテンツ内ボタン53に関連付けられたプログラムが実行される。
【0095】
このように、ユーザがタッチペン28を用いて、第1領域の特定のコンテンツ内ボタン53上をタッチオンした場合に、その後のタッチペン28の操作によってスクロールインジケータ57の表示タイミングを異ならせるのは、以下の理由による。
【0096】
ユーザが第1領域のコンテンツ内ボタン53上をタッチオンした時点では、そのコンテンツ内ボタン53に関連付けられたプログラムを実行するか、画面のスクロール処理を実行するかを選択することができる。そのため、そのコンテンツ内ボタン53に関連付けられたプログラムを実行するためのタッチオンであるか否かがわからない。そのため、ユーザの意図がコンテンツ内ボタン53に関連付けられたプログラムを実行するものか否かによってスクロールインジケータ57の表示タイミングが変えられている。すなわち、ユーザがコンテンツ内ボタン53上をタッチオンした直後にドラッグ操作を行うのであれば、スクロール処理が実行されるので、コンテンツ内ボタン53に関連付けられたプログラムを実行するユーザの意図はないものと判断されて、ドラッグ操作のためにスクロールインジケータ57が直ちに表示される。一方、ユーザがタッチオン直後にドラッグ操作を行わない場合には、タッチオンからタッチオフまでの時間によって、スクロールインジケータ57を表示するか否かが判断される。すなわち、タッチオンからタッチオフまでの時間が所定時間を経過していなければ、ユーザはコンテンツ内ボタン53に関連付けられたプログラムを実行する意図があると判断され、スクロールインジケータ57は表示されない。一方、タッチオンからタッチオフまでの時間が所定時間経過していれば、ユーザはコンテンツ内ボタン53に関連付けられたプログラムを実行する意図はなく、この後ドラッグ処理を行う意図があると判断され、所定時間の経過と同時にスクロールインジケータ57が表示される。なお、スクロールインジケータ57が表示された後にドラッグ操作が行われずに同一のコンテンツ内ボタン53上からタッチオフされた場合には、ユーザはコンテンツ内ボタン53に関連付けられたプログラムを実行する意図があると判断され、その関連付けられたプログラムが実行される。
【0097】
図16に示されるように、ユーザがタッチペン28を用いて第2領域(コンテンツ表示領域51内のコンテンツ内ボタン53以外の領域)上をタッチオンした場合には、画面のスクロール処理を実行するという選択肢しかないので、ユーザが意図する操作はドラッグ操作(コンテンツ表示領域51に表示される画面をスクロールする操作)であると考えられるので、このタッチオンと同時に、スクロールインジケータ57が表示される(図17参照)。その後、タッチペン28のドラッグ操作が行われると、前述したように、ドラッグ操作量に応じてコンテンツ表示領域51に表示される画面(コンテンツ61の一部分)が遷移すると同時にスクロールインジケータ57の表示位置も移動する。
【0098】
なお、ユーザがタッチペン28を用いて非コンテンツ表示領域52上をタッチオンした場合、ユーザが表示切替又はスクロール処理を意図していないものと判断され、スクロールインジケータ57は表示されない。また、ユーザがコンテンツ外ボタン55上をタッチオンした場合には、コンテンツ外ボタン55に関連付けられたプログラムが実行される。なお、コンテンツ外ボタン55は、タッチオンした場合に実行されるのではなく、タッチオフした場合に実行されるようにしてもよい。
【0099】
以上のように、スクロール処理と他の処理(コンテンツ内ボタン53に関連付けられたプログラムの実行)を実行可能な領域(第1領域)上がタッチオンされたときには、スクロール処理を選択するような操作(ドラッグ操作)が行われたときにスクロールインジケータ57が表示される。また、第1領域上がタッチオンされて所定時間タッチオフされずにドラッグ操作が行われないときには、他の処理を実行するものではないと判断され、スクロールインジケータ57が表示されてスクロール処理を行うことができることが示される。一方、スクロール処理のみを実行可能な領域(第2領域)上がタッチオンされたときには、スクロールインジケータ57が直ちに表示されることで、スクロール処理のみが実行可能であることが示される。したがって、タッチオンしてから所定時間ドラッグ操作が行われない場合でも、第1領域上をタッチオンしたか第2領域上をタッチオンしたかによって、スクロールインジケータ57の表示タイミングが異なる。これらにより、ユーザはスクロール処理のみを実行可能か他の処理も実行可能かを容易に知ることができるとともに、適切なタイミングで表示されるスクロールインジケータ57の表示位置を基に、現在のコンテンツ表示領域51に表示されている画面(コンテンツ61の一部分)がコンテンツ61全体のどの位置、範囲にあるかを視覚的に認識することができ、また、ユーザの操作意図を的確に反映したスクロールインジケータの表示およびスクロール処理を行うことができる。
【0100】
[メモリマップ]
以下、図18を参照しつつ、情報処理の際にメインメモリ32に記憶されるデータについて説明する。ここで、図18は、メインメモリ32のメモリマップである。図18に例示されるように、メインメモリ32は、プログラム記憶領域321及びデータ記憶領域323を有している。プログラム記憶領域321には、CPU311によって実行されるプログラムが記憶される。データ記憶領域323には、情報処理に必要な各種データが記憶される。プログラム記憶領域321内のプログラム、及びデータ記憶領域323内のデータの一部は、外部メモリ45に予め記憶されたデータが、情報処理に際して外部メモリ45から読み出されたものである。
【0101】
プログラム記憶領域321には、情報処理プログラム322等が記憶されている。情報処理プログラム322は、図19、図20に示されている一連の処理をCPU311に実行させるためのプログラムである。
【0102】
データ記憶領域323には、コンテンツデータ324、コンテンツ内ボタン画像データ325、コンテンツ外ボタン画像データ326、スクロールデータ327、タッチ位置データ328、スクロール開始判定閾値データ329等が記憶される。
【0103】
コンテンツデータ324は、領域Aがコンテンツ61(61a〜61d等)のいずれの一部分であるかというデータ、当該コンテンツ61の大きさを示すデータ、及び領域Aの位置データを含む。コンテンツデータ324は、画面遷移ボタン54上のタッチ操作又はタッチペン28によるドラッグ操作によって、コンテンツ表示領域51に表示される画面(コンテンツ61の一部分)が表示切替される毎に更新される。
【0104】
コンテンツ内ボタン画像データ325は、コンテンツ内ボタン53のそれぞれに対応する画像データである。コンテンツ外ボタン画像データ326はコンテンツ外ボタン55のそれぞれに対応する画像データである。
【0105】
スクロールデータ327は、スクロールインジケータ57の大きさ(長さ)及び表示位置を示すデータである。スクロールインジケータ57の大きさを示すデータは、コンテンツ61の大きさが更新される毎に更新される。また、スクロールインジケータ57の表示位置を示すデータは、ユーザによる画面遷移ボタン54上のタッチ操作や、タッチペン28によるドラッグ操作によって、コンテンツ表示領域51に表示される画面が遷移する毎に更新される。
【0106】
タッチ位置データ328は、タッチペン28によるタッチパネル13の指示位置(タッチ位置)を示すデータである。情報処理が行われている間、このタッチ位置データ328が示す指示位置に基づいて、例えばタッチペン28が第1領域上にタッチオンされているか否かを判定する処理等が行われる。また、一回のタッチオンからタッチオフまでのタッチ位置のデータ、すなわちユーザがタッチオンしてからタッチオフするまでのタッチ位置の軌跡が記憶されている。
【0107】
スクロール開始判定閾値データ329は、タッチオン位置を起点としてタッチ位置データ328が示すタッチペン28の指示位置(タッチオン位置)が移動したときに、その移動がスクロール開始処理とみなされるか否かを判別する際に使用される閾値のデータである。
【0108】
なお、図には示されていないが、データ記憶領域323には、情報処理中に用いられる音声データや、仮想ゲーム空間の様子を画面表示するための仮想カメラの制御に関するデータ等が記憶されるが、これらのデータは本発明とは直接関係しないので、説明は省略する。
【0109】
[CPU311によって実行される処理]
次に、図19、図20のフローチャートを参照しつつ、CPU311によって実行される処理について説明する。なお、以下に説明する一連の処理は、メインメモリ32に記憶されている情報処理プログラム322に基づいてCPU311自身又はCPU311が発行する命令に従って行われる。また、これらのフローチャートでは、画像の生成及び出力に関する処理を省略しているが、画像の生成及び出力は一定の周期で行われる。
【0110】
フローチャートの説明を行う前に、まず、前提となるコンテンツ選択画面の初期表示について説明する。
【0111】
コンテンツ選択画面を初期表示するために必要な設定情報は、メインメモリ32のデータ記憶領域323から読み出される。具体的には、CPU311は、コンテンツデータ324、コンテンツ内ボタン画像データ325、コンテンツ外ボタン画像データ326をデータ記憶領域323から読み出す。そして、CPU311は、コンテンツ選択画面を下側LCD12の画面に表示させる。具体的には、CPU311は、コンテンツ61のうち、下側LCD12の画面に表示する一部分(領域A)をコンテンツデータ324に基づいて決定する。そして、CPU311は、コンテンツ内ボタン画像データ325を用いて、コンテンツ表示領域51にコンテンツ内ボタン53を表示させる。また、CPU311は、コンテンツ外ボタン画像データ326を用いて、非コンテンツ表示領域52にコンテンツ外ボタン55を表示させる。
【0112】
以下、上記のように、下側LCD12の画面にコンテンツ選択画面が初期表示されているものとして、ユーザによって画面タッチが行われた場合に、CPU311によって実行される処理について説明する。
【0113】
図19に示されるように、まず、CPU311は、タッチ位置データ328に基づいて、タッチパネル13(本発明の入力手段の一例)がタッチペン28によりタッチオンされたか否かを判定する(ステップS10)。タッチオンされていないと判定した場合(ステップS10:NO)、CPU311は、タッチオンされたと判定するまでステップS10の処理を繰り返す。一方、タッチオンされたと判定した場合(ステップS10:YES)、CPU311は、タッチオン位置が画面遷移ボタン54上であるか否かを判定する(ステップS11)。
【0114】
タッチオン位置が画面遷移ボタン54上ではないと判定した場合(ステップS11:NO)、CPU311は、処理をタッチ位置検出処理へと進める。なお、このタッチ位置検出処理については後述する。一方、タッチオン位置が画面遷移ボタン54上であると判定した場合(ステップS11:YES)、CPU311は、処理をステップS12に進める。
【0115】
ステップS12において、CPU311は、スクロールデータ327を参照して、スクロールインジケータ57の大きさ(長さ)、位置を決定する。なお、スクロールデータ327は、CPU311によって最新のデータに更新されている。
【0116】
次に、ステップS13において、スクロールインジケータ表示手段として機能するCPU311は、ステップS12において決定したスクロールインジケータ57の大きさ及び表示位置に基づいて、スクロールインジケータ57を下側LCD12に表示する。
【0117】
次に、ステップS14において、CPU311は、コンテンツ表示領域51に表示される領域Aの遷移先が他のコンテンツであるか否かを判定する。遷移先が他のコンテンツであると判定した場合(ステップS14:YES)、CPU311は、遷移後のスクロールインジケータの長さ、位置を算出する(ステップS15)。この場合の画面遷移は例えば図11で示されるような遷移であるため、具体的には、CPU311は、コンテンツデータ324から、遷移後の他のコンテンツの大きさのデータ(図11の例ではコンテンツ61bの大きさのデータ)を読み出す。そして、CPU311は、このデータに基づいてスクロールインジケータ57の大きさ及び表示位置を示すデータを決定し、スクロールデータ327を更新する。その後、CPU311は、処理をステップS17へ進める。
【0118】
一方、ステップS14において、遷移先が他のコンテンツではないと判定した場合(ステップS14:NO)、すなわち遷移先が同一コンテンツ内の他の一部分であると判定した場合、又はステップS15の処理の後、表示切替手段として機能するCPU311は、コンテンツ表示領域51に表示される画面の画面遷移処理を行う(ステップS17)。具体的には、画面遷移ボタン54のタッチオン時間に応じて所定のフレーム分(例えば図6(3)において示した領域Aの大きさ分)だけ領域Aがコンテンツ61に対して遷移し、遷移したこの領域Aがコンテンツ61の一部分としてコンテンツ表示領域51に表示される。
【0119】
次に、ステップS18において、CPU311は、ステップS17における画面遷移処理による画面遷移に応じて、スクロールデータ327を更新する。そして、この更新したスクロールデータ327に基づき、スクロールインジケータ57を表示する。前述したように、スクロールデータ327は、ユーザによる画面遷移ボタン54上のタッチパネル13のタッチ操作等によってコンテンツ表示領域51に表示される画面が遷移する毎に更新される。したがって、画面遷移にあわせて表示されるスクロールインジケータ57の表示位置も移動することになる。なお、ステップS14においてYESの後のステップS18では、CPU311は、ステップS15において更新されたスクロールデータ327に基づき、スクロールインジケータ57を表示する。従って、この場合は、画面遷移にあわせて表示されるスクロールインジケータ57の位置に加えて長さも変化することになる。
【0120】
次に、ステップS19において、CPU311は、ユーザによって画面遷移ボタン54上からタッチオフされたか否かを判定する。タッチオフされていないと判定した場合(ステップS19:NO)、CPU311は、処理をステップS14に戻し、タッチオフされるまでの間、ステップS14〜S18の処理を繰り返す。
【0121】
一方、タッチオフされたと判定した場合(ステップS19:YES)、CPU311は、スクロールインジケータ57の表示の透明度を所定の時間(例えば60ms)保持し(ステップS20)、その後、所定の時間(例えば40ms)をかけてこの透明度を徐々に高くし(ステップS21)、最終的にはスクロールインジケータ57の表示を消滅させる(ステップS22)。
【0122】
このように、ユーザが画面遷移ボタン54上をタッチオンした場合には、画面遷移前後のスクロールインジケータ57が表示され、画面遷移ボタン54上のタッチパネル13からタッチオフすると、スクロールインジケータ57は一定時間表示が継続された後、徐々に半透明になり消滅する。
【0123】
また、上記したように、表示切替によってコンテンツ表示領域51に表示される領域Aが、或るコンテンツの一部分から大きさの異なる他のコンテンツの一部分へと遷移する場合、遷移先のコンテンツ全体の大きさによって決定されるスクロールインジケータ57の大きさ(長さ)も変化して表示される。
【0124】
次に、ステップS11において画面遷移ボタン54がタッチオンされていないと判定された場合(ステップS11:NO)に行われるタッチ位置検出処理について説明する。
【0125】
図20に示されるように、タッチ位置検出処理において、指示位置検出手段として機能するCPU311は、画面のタッチ位置を検出する(ステップS23)。具体的には、CPU311は、タッチ位置データ328に基づいて、タッチパネル13上においてタッチペン28によってタッチされているタッチ位置を検出する。本実施形態では、図14に示される下側LCD12の画面の長手方向をX軸方向とし、これに垂直な方向をY軸方向とした2次元座標(X,Y)によってタッチ位置が表される。
【0126】
タッチ位置を検出すると、CPU311は、タッチ位置データ328が示すタッチ位置(ここではタッチオン位置)がコンテンツ表示領域51上であるか否かを判定する(ステップS24)。タッチオン位置がコンテンツ表示領域51上ではないと判定した場合(ステップS24:NO)、非コンテンツ表示領域52上を指示していると判断できるので、CPU311は、スクロールインジケータ57の表示は行わない(ステップS25)。
【0127】
ステップS25の後、CPU311は、タッチ位置データ328に基づいてタッチオン位置が非コンテンツ表示領域52内のコンテンツ外ボタン55のいずれかの上であって、その後タッチオフされ、当該タッチオフ位置が同一のコンテンツ外ボタン55上であるか否かを判定する(ステップS26)。すなわち、CPU311は、コンテンツ外ボタン55上がタッチオンされ、そのボタン上でタッチオフされたか否かを判定する。
【0128】
コンテンツ外ボタン55上がタッチオンされ、そのボタン上でタッチオフされたと判定した場合(ステップS26:YES)、CPU311は、コンテンツ外ボタン55に関連付けられているプログラムを起動し(ステップS27)、処理は最初のステップS10(図19参照)へ戻される。なお、コンテンツ外ボタン55上がタッチオンされたら、そのボタン上でタッチオフされなくても直ちにコンテンツ外ボタン55に関連付けられているプログラムを起動してもよい。
【0129】
一方、コンテンツ外ボタン55上がタッチオンされ、そのボタン上でタッチオフされていないと判定した場合(ステップS26:NO)、すなわち、タッチオン位置がコンテンツ外ボタン55上ではない場合や、タッチオン位置がコンテンツ外ボタン55上であってもタッチオフ位置が同一のコンテンツ外ボタン55上ではない場合には、処理は最初のステップS10(図19参照)へ戻される。
【0130】
ステップS24において、タッチオン位置がコンテンツ表示領域51上であると判定した場合(ステップS24:YES)、CPU311は、タッチオン位置がコンテンツ表示領域51内のコンテンツ内ボタン53(第1領域)上であるか否かを判定する(ステップS28)。タッチオン位置が第1領域上ではないと判定した場合(ステップS28:NO)、CPU311は処理をステップS32へ進める。
【0131】
一方、タッチオン位置が第1領域上であると判定した場合(ステップS28:YES)、CPU311は、ステップS23の処理と同様に、最新のタッチ位置データ328に基づいて、タッチペン28によるタッチパネル13上のタッチ位置を検出する(ステップS29)。
【0132】
次に、ステップS30において、CPU311は、タッチ位置のX軸方向(左右方向)の変位が予め設定された画面スクロール開始判定の閾値を超えたか否かを判定する。具体的には、CPU311は、ステップS23の処理で検出したタッチ位置のX座標値と、ステップS29の処理で検出したタッチ位置のX座標値との差分の絶対値で示されるX軸方向の変位が、スクロール開始判定閾値データ329が示す閾値(例えば10dot)を超えたか否かを判定する。
【0133】
タッチ位置のX軸方向の変位が予め設定された閾値を超えたと判定した場合(ステップS30:YES)、CPU311は、ユーザによってコンテンツ表示領域51に表示されている画面(コンテンツ61の一部分)の左右方向のスクロールが指示されたと判断して、ステップS32へと処理を進める。このように、タッチ位置のX軸方向の変位が予め設定された閾値(例えば10dot)を超えてはじめて、左右方向のスクロール指示がなされたと判定されるのは、ユーザがタッチパネル13をタッチした際の意図しない手ぶれによる変位を除外するためである。
【0134】
一方、タッチ位置のX軸方向の変位が予め設定された閾値を超えていないと判定した場合(ステップS30:NO)、CPU311は、タッチオンの時間が所定時間(例えば30ms)継続しているか否かを判定する(ステップS31)。具体的には、ステップS23の処理において最初にタッチペン28によるタッチパネル13上のタッチ位置が検出されてから、タッチ位置データ328に基づいて、所定時間タッチパネル13がタッチペン28によりタッチオンされ続けているか否かを判定する。あるいは、時計カウンタを設けて、最初にタッチペン28によるタッチパネル13上のタッチ位置が検出されてから、時計カウンタによって計測されるカウント値に基づいて、所定時間タッチパネル13がタッチペン28によりタッチオンされ続けているか否かを判定してもよい。
【0135】
タッチオンの時間が所定時間継続していると判定した場合(ステップS31:YES)、CPU311は、処理をステップS32へ進める。
【0136】
一方、タッチオンの時間が所定時間継続していないと判定した場合(ステップS31:NO)、CPU311は、スクロールインジケータ57の表示は行わない(ステップS25)。その後、CPU311は、タッチオン位置がコンテンツ表示領域51内のコンテンツ内ボタン53のいずれかの上であって、その後タッチパネル13からタッチペン28が同一のコンテンツ内ボタン53上でタッチオフされたか否か、つまり、タッチオフ位置が同一のコンテンツ内ボタン53上であるか否かを判定する(ステップS26)。すなわち、タッチオン位置とタッチオフ位置が同一のコンテンツ内ボタン53上であるか否かを判定する。
【0137】
タッチオン位置とタッチオフ位置が同一のコンテンツ内ボタン53上であると判定した場合(ステップS26:YES)、CPU311は、コンテンツ内ボタン53に関連付けられているプログラムを起動し(ステップS27)、処理は最初のステップS10(図19参照)に戻される。
【0138】
一方、CPU311がタッチオン位置とタッチオフ位置が同一のコンテンツ内ボタン53上ではないと判定した場合(ステップS26:NO)、すなわち、タッチオン位置がコンテンツ内ボタン53上ではない場合や、タッチオン位置がコンテンツ内ボタン53上であってもタッチオフ位置が同一のコンテンツ内ボタン53上ではない場合や、タッチオンが所定時間未満で継続中の場合には、処理は最初のステップS10(図19参照)に戻される。
【0139】
タッチオン位置が第1領域上ではないと判定した場合(ステップS28:NO)、タッチ位置のX軸方向の変位が予め設定された閾値を超えたと判定した場合(ステップS30:YES)、又はタッチオンの時間が所定時間継続していると判定した場合(ステップS31:YES)、CPU311は、ステップS32の処理を行う。ステップS32において、CPU311は、スクロールインジケータ57の長さ(大きさ)、位置を決定する。具体的には、スクロールデータ327からスクロールインジケータ57の大きさ及び表示位置を示すデータを読み出す。
【0140】
次に、ステップS33において、スクロールインジケータ表示手段として機能するCPU311は、ステップS32において読み出したスクロールインジケータ57の大きさ及び表示位置を示すデータに基づいて、スクロールインジケータ57を下側LCD12に表示する。
【0141】
次に、ステップS34において、CPU311は、ステップS23の処理と同様に、最新のタッチ位置データ328に基づいて、タッチペン28によるタッチパネル13上のタッチ位置を検出する。
【0142】
そして、ステップS35において、CPU311は、ステップS30の処理と同様に、タッチ位置のX軸方向(左右方向)の変位が予め設定された画面スクロール開始判定の閾値を超えたか否かを判定する。具体的には、CPU311は、ステップS23の処理で検出したタッチ位置のX座標値と、ステップS34の処理で検出したタッチ位置のX座標値との差分の絶対値で示されるX軸方向の変位が、スクロール開始判定閾値データ329が示す閾値を超えたか否かを判定する。
【0143】
タッチ位置のX軸方向の変位が予め設定された閾値を超えたと判定した場合(ステップS35:YES)、CPU311は、コンテンツ表示領域51に表示されている画面(コンテンツ61の一部分)の左右方向のスクロールがユーザによって指示されたと判断して、処理をステップS36へ進める。
【0144】
ステップS36において、スクロール切り替え手段として機能するCPU311は、コンテンツ表示領域51に表示される画面のスクロール処理を行う(ステップS36)。具体的には、CPU311は、ステップS23の処理で取得されたタッチオン位置のX座標値とステップS34の処理で取得されたタッチ位置のX座標値との大小関係に基づいてスクロール方向を決定し、これら2つのX座標値の差分の絶対値に応じてスクロール幅(コンテンツ表示領域51に表示される画面の左右方向への移動量)を決定する。そして、CPU311は、決定したスクロール方向及びスクロール幅にて、図15に基づいて上述したように、コンテンツ表示領域51に表示される画面をスクロール表示させる。
【0145】
次に、ステップS37において、CPU311は、ステップS36において画面スクロール処理をした後に、スクロール処理に応じてスクロールデータ327を更新する。そして、この更新したスクロールデータ327に基づき、スクロールインジケータ57を下側LCDに表示する。前述したように、スクロールデータ327は、ユーザによるタッチペン28によるドラッグ操作等によってコンテンツ表示領域51に表示される画面が遷移する毎に更新される。したがって、スクロール処理による画面のスライド移動にあわせて表示されるスクロールインジケータ57の表示位置も移動することになる。
【0146】
次に、ステップS38において、CPU311は、タッチ位置データ328に基づいて、タッチパネル13からタッチペン28がタッチオフされたか否かを判定する。タッチペン28がタッチオフされていないと判定した場合(ステップS38:NO)、CPU311は最新のタッチ位置データ328に基づいて、タッチペン28によるタッチパネル13上のタッチ位置を検出し(ステップS39)、処理をステップS36へ戻し、タッチオフされるまでの間、画面スクロール処理(ステップS36)、及び画面スクロールに合わせてスクロールインジケータ57の表示位置の移動処理(ステップS37)を繰り返す。
【0147】
一方、タッチペン28がタッチオフされたと判定した場合(ステップS38:YES)、CPU311は、スクロールインジケータ57の表示の透明度を所定の時間(例えば60ms)保持し(図19に示されるステップS20)、その後、所定の時間(例えば40ms)をかけてこの透明度を徐々に高くし(図19に示されるステップS21)、最終的にはスクロールインジケータ57の表示を消滅させる(図19に示されるステップS22)。
【0148】
一方、ステップS35において、タッチ位置のX軸方向の変位が予め設定された閾値を超えていないと判定した場合(ステップS35:NO)、CPU311は、タッチ位置データ328に基づいて、タッチパネル13からタッチペン28がタッチオフされたか否かを判定する(ステップS40)。
【0149】
タッチペン28がタッチオフされていないと判定した場合(ステップS40:NO)、CPU311は、処理をステップS34へ戻し、最新のタッチ位置データ328に基づいて検出されたタッチ位置から、タッチ位置のX軸方向の変位が予め設定された閾値を超えたか否かを判定する(ステップS34、ステップS35)。すなわち、タッチペン28がタッチオフされていない場合は、タッチ位置の移動が画面スクロール開始判定の閾値を超えたか否かが判定され続ける。
【0150】
一方、タッチペン28がタッチオフされたと判定した場合(ステップS40:YES)、CPU311は、タッチオン位置がコンテンツ表示領域51内のコンテンツ内ボタン53のいずれかの上であって、その後タッチパネル13からタッチペン28がタッチオフされ、タッチオフ位置が同一のコンテンツ内ボタン53上であるか否かを判定する(ステップS41)。すなわち、タッチオン位置とタッチオフ位置が同一のコンテンツ内ボタン53上であるか否かを判定する。
【0151】
タッチオン位置とタッチオフ位置が同一のコンテンツ内ボタン53上であると判定した場合(ステップS41:YES)、CPU311は、コンテンツ内ボタン53に関連付けられているプログラムを起動して(ステップS42)、その後、図19に示されるステップS20〜S22の処理を実行することによって、最終的にスクロールインジケータ57の表示を消滅させる。
【0152】
一方、CPU311がタッチオン位置とタッチオフ位置が同一のコンテンツ内ボタン53上ではないと判定した場合(ステップS41:NO)、すなわち、タッチオン位置がコンテンツ内ボタン53上ではない場合や、タッチオン位置がコンテンツ内ボタン53上でもタッチオフ位置が同一のコンテンツ内ボタン53上ではない場合には、CPU311は、図19に示されるステップS20〜S22の処理を実行することによって最終的にスクロールインジケータ57の表示を消滅させる。
【0153】
以上説明したように、本実施形態によれば、画面遷移が行われたときに遷移前後のスクロールインジケータ57を表示するので、ユーザは、表示切替時にコンテンツ表示領域51に表示される一部分がコンテンツ61の全領域のどの位置または範囲にあるかを視覚的に認識することができる。また、タッチオン位置がスクロール処理と他の処理(ボタンに割り当てられた処理等)を実行可能な領域上である場合には、スクロールインジケータ57は、ドラッグ操作または所定の時間のタッチオンがあったときに表示され、タッチオン位置がスクロール処理のみを実行可能な領域上である場合には、スクロールインジケータ57は直ちに表示される。したがってユーザはスクロール処理のみを実行可能か他の処理も実行可能かを容易に知ることができる。また、ユーザがスクロール処理を行うのか、他の処理を行うのかに応じて、スクロールインジケータ57が表示されるタイミングが異なるので、ユーザの操作意図が的確に反映される。
【0154】
[変形例]
なお、上記実施形態では、画面遷移が異なるコンテンツ間において行われる場合(複合コンテンツ62において行われる場合)、異なるコンテンツ61a〜61dは互いに隣接配置されており(表示順が設定されており)、画面遷移ボタン54上のタッチパネル13のタッチによって領域Aが左右方向に遷移する際には、予め設定された順序(例えば右方向に遷移する場合には、コンテンツ61a、61b、61c、61dの順)に遷移するものとした(図11参照)。しかし、画面遷移が複合コンテンツ62において行われる方法は、この実施形態に限られるものではなく、例えば図21に示されるようなものであってもよい。すなわち、複合コンテンツ62を構成する異なるコンテンツ61a〜61cは互いに隣接配置されておらず(表示順が設定されておらず)、領域Aは、コンテンツ61bの中央の領域からコンテンツ61cの左端部の領域へと遷移可能としてもよい。この場合、例えばゲーム装置10は、コンテンツ切替ボタンを備え、コンテンツ切替ボタンの押下(またはこれに相当するタッチパネル13上のタッチオン)によって、コンテンツ61が自由に切り替え可能としてもよい。または、ドラッグ操作によるスクロール処理によって領域Aを同一コンテンツ内で移動させ、画面遷移ボタン54上のタッチによって領域Aを他のコンテンツに遷移するようにしてもよい。
【0155】
また、上記実施形態では、ユーザがタッチペン28を用いてタッチパネル13をタッチオンしたタッチ位置が画面遷移ボタン54上にある場合に、画面遷移処理を行うこととした。しかし、これに代えて例えば十字ボタン14Aまたはボタン14B〜14Eのいずれかを押下することで画面遷移処理を行うこととしてもよい。例えば、十字ボタン14Aの右キーまたはボタン14Bを押下することで、右方向に画面遷移が行われることとしてもよい。この場合には、図19に示されるステップS10は省略され、ステップS11において、十字ボタン14またはボタン14B〜14Eのいずれかが押下されたか否かが判定され、ステップS19において、ステップS11の処理によって押下された十字ボタン14またはボタン14B〜14Eのいずれかが離されたか否かが判定される。
【0156】
また、上記実施形態では、図19のステップS14に示されるように画面遷移処理において画面遷移は他のコンテンツ61に跨ることがあるとした(ステップS14:YES)。しかし、画面遷移は同一のコンテンツ61内でのみ行われるものとしてもよい。この場合、コンテンツ61の大きさは固定であるため、スクロールデータ327のうちスクロールインジケータ57の大きさを示すデータは同一のコンテンツ61の大きさに基づいて固定値としてデータ記憶領域323内に記憶しておいてもよい。
【0157】
また、上記実施形態では、図20に示されるステップS36の画面スクロール処理において、画面スクロールは同一のコンテンツ61の間でスクロールされる場合について説明したが、異なるコンテンツ61を跨ってスクロールされてもよい。この場合は、ステップS35:YESとステップS36の処理の間に、図19に示されるステップS14、ステップS15の処理が挿入される。すなわち、CPU311は、タッチ位置のX軸方向の変位が予め設定された閾値を超えたと判定した場合(ステップS35:YES)、画面スクロールによって画面の遷移先が他のコンテンツ61であるか否かを判定する(ステップS14)。遷移先が他のコンテンツ61ではないと判定した場合(ステップS14:NO)、CPU311は処理をステップS36へと進める。一方、遷移先が他のコンテンツ61であると判定した場合(ステップS14:YES)、CPU311は、遷移後のコンテンツ61の大きさに基づいてスクロールインジケータ57の長さ、位置を算出する(ステップS15)。その後、CPU311は、画面スクロール処理を行う(ステップS36)。同様に、ステップS39とステップS36の処理の間にも、図19に示されるステップS14、ステップS15の処理が挿入される。
【0158】
また、上記実施形態では、スクロールインジケータ57は上部の非コンテンツ表示領域52に表示されるとしたが、下部の非コンテンツ表示領域52に表示されてもよいし、コンテンツ表示領域51に表示されてもよく、その表示位置を限定するものではない。
【0159】
また、上記実施形態では、入力手段としてタッチパネル13を利用する場合を例に説明したが、入力手段はタッチパネル13に限定されるものではなく、例えばマウスやジョイスティックやタッチパッド等であってもよい。
【0160】
また、上記実施形態では、本発明のコンテンツ(コンテンツ表示領域51に表示される画像)がボタン画像である場合を例に説明したが、本発明のコンテンツは、その他画像、文字、記号等であってもよい。
【0161】
また、上記実施形態では、コンテンツ表示領域51に表示される画面が左右方向にスクロール表示される場合を例に説明したが、画面は上下方向にスクロール表示されてもよい。この場合、スクロールインジケータ57は上下方向に表示されるのが好ましい。また、左右方向及び上下方向のいずれにもスクロール表示可能として、スクロールインジケータ57は左右方向及び上下方向の両方に表示されてもよい。
【0162】
また、図20のステップS30、S35の処理で用いる閾値は、適切な値を個別に設定すればよい。
【0163】
また、図19のステップS20、S21の処理で用いる所定の時間は、適切な値を個別に設定すればよい。またステップS20の処理において所定の時間を0(ゼロ)、すなわち、スクロールインジケータ57の透明度を保持する処理を省略してもよい。
【0164】
また、上記実施形態では、ゲーム装置10にタッチパネル13が一体的に設けられている場合を例に説明したが、ゲーム装置10とタッチパネルとを別体に構成しても、本発明を実現できることは言うまでもない。また、上側LCD22の上面にタッチパネル13を設けて上側LCD22に上述した下側LCD12に表示していた表示画像を表示してもよい。
【0165】
また、上記実施形態では、携帯型のゲーム装置10を用いて説明したが、一般的なパーソナルコンピュータ等の情報処理装置で本発明の情報処理プログラムを実行して、本発明を実現しても構わない。また、他の実施形態では、ゲーム装置に限らず任意の携帯型電子機器、例えば、PDA(Personal Digital Assistant)や携帯電話、パーソナルコンピュータ等であってもよい。
【0166】
また、上述した説明では全ての情報処理をゲーム装置10で行う場合を例に説明したが、情報処理の各処理ステップの少なくとも一部を他の装置で行っても構わない。例えば、ゲーム装置10が他の装置(例えば、サーバや他のゲーム装置)と通信可能に接続されている場合、上記情報処理における処理ステップは、ゲーム装置10及び他の装置が協働することによって実行されてもよい。また、上記実施形態においては、ゲーム装置10の情報処理部31が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われたが、ゲーム装置10が備える専用回路によって上記処理の一部又は全部が行われてもよい。
【0167】
また、上述したゲーム装置10の形状や、それに設けられている各種操作ボタン14、アナログスティック15、タッチパネル13の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる値等は、単なる一例に過ぎず他の順序や値であっても、本発明を実現できることは言うまで
もない。
【0168】
また、上記情報処理プログラムは、外部メモリ45やデータ保存用外部メモリ46等の外部記憶媒体を通じてゲーム装置10に供給されるだけでなく、有線又は無線の通信回線を通じてゲーム装置10に供給されてもよい。また、上記プログラムは、ゲーム装置10内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD−ROM、DVD、或いはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ等であってもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを一時的に記憶する揮発性メモリでもよい。
【0169】
以上、本発明を詳細に説明してきたが、上述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。
【産業上の利用可能性】
【0170】
本発明は、ユーザが入力手段を用いて行った操作に応じた情報処理を行う情報処理装置に実行させる情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法等に適用可能である。
【符号の説明】
【0171】
10 ゲーム装置
12 下側LCD
13 タッチパネル
28 タッチペン
31 情報処理部
32 メインメモリ
42 I/F回路
45 外部メモリ
51 コンテンツ表示領域
52 非コンテンツ表示領域
53 コンテンツ内ボタン
54 画面遷移ボタン
55 コンテンツ外ボタン
57 スクロールインジケータ
58 スクロール枠
61 コンテンツ
311 CPU
322 情報処理プログラム

【特許請求の範囲】
【請求項1】
表示部が表示する領域よりも大きなコンテンツの一部分を当該表示部に表示する情報処理装置のコンピュータに実行させる情報処理プログラムであって、
ユーザによる前記表示部上の指示位置を検出する指示位置検出手段と、
前記指示位置検出手段によって第1領域が指示されたと判定されたとき、前記表示部に表示される前記コンテンツの一部分の当該コンテンツ全体における位置を示すインジケータを、第1タイミングで当該表示部に表示する第1表示制御手段と、
前記指示位置検出手段によって前記第1領域とは異なる第2領域が指示されたと判定されたとき、前記インジケータを前記第1タイミングとは異なる第2タイミングで前記表示部に表示する第2表示制御手段として機能させる、情報処理プログラム。
【請求項2】
前記情報処理プログラムは、前記コンピュータを、前記指示位置検出手段によって前記第1領域が指示されたと判定されたとき、前記表示部に表示される前記一部分をスクロールさせるスクロール処理または前記第1領域に割り当てられた処理を実行する第1処理手段と、
前記指示位置検出手段によって前記第2領域が指示されたと判定されたとき、前記表示部に表示される前記一部分をスクロールさせるスクロール処理を実行する第2処理手段としてさらに機能させ、
前記第1表示制御手段は、前記インジケータを所定の条件が満たされたときに表示し、
前記第2表示制御手段は、前記インジケータを直ちに表示する、請求項1記載の情報処理プログラム。
【請求項3】
前記第1処理手段は、前記指示位置検出手段によって前記第1領域が指示された状態が継続したまま指示位置が変化したと判定されたとき、前記表示部に表示される前記一部分をスクロールさせ、当該指示位置検出手段によって当該第1領域が指示された後当該指示が解除されたと判定されたとき、当該第1領域に割り当てられた処理を実行し、
前記所定の条件は、前記指示位置検出手段によって前記第1領域が指示された状態が継続したまま指示位置が変化したとき、または当該第1領域が指示された状態が所定時間以上継続したときである、請求項2記載の情報処理プログラム。
【請求項4】
前記第1領域は、前記コンテンツ内の所定の機能を実行可能な画像が配置された領域であり、
前記第2領域は、前記コンテンツ内の前記画像の配置されていない領域である、請求項1乃至3のいずれかに記載の情報処理プログラム。
【請求項5】
表示部が表示する領域よりも大きなコンテンツの一部分を当該表示部に表示する情報処理装置であって、
ユーザによる前記表示部上の指示位置を検出する指示位置検出手段と、
前記指示位置検出手段によって第1領域が指示されたと判定されたとき、前記表示部に表示される前記コンテンツの一部分の当該コンテンツ全体における位置を示すインジケータを、第1タイミングで当該表示部に表示する第1表示制御手段と、
前記指示位置検出手段によって前記第1領域とは異なる第2領域が指示されたと判定されたとき、前記インジケータを前記第1タイミングとは異なる第2タイミングで前記表示部に表示する第2表示制御手段とを備える、情報処理装置。
【請求項6】
表示部が表示する領域よりも大きなコンテンツの一部分を当該表示部に表示する情報処理システムであって、
ユーザによる前記表示部上の指示位置を検出する指示位置検出手段と、
前記指示位置検出手段によって第1領域が指示されたと判定されたとき、前記表示部に表示される前記コンテンツの一部分の当該コンテンツ全体における位置を示すインジケータを、第1タイミングで当該表示部に表示する第1表示制御手段と、
前記指示位置検出手段によって前記第1領域とは異なる第2領域が指示されたと判定されたとき、前記インジケータを前記第1タイミングとは異なる第2タイミングで前記表示部に表示する第2表示制御手段とを備える、情報処理システム。
【請求項7】
表示部が表示する領域よりも大きなコンテンツの一部分を当該表示部に表示する情報処理方法であって、
ユーザによる前記表示部上の指示位置を検出する指示位置検出ステップと、
前記指示位置検出ステップによって第1領域が指示されたと判定されたとき、前記表示部に表示される前記コンテンツの一部分の当該コンテンツ全体における位置を示すインジケータを、第1タイミングで当該表示部に表示する第1表示制御ステップと、
前記指示位置検出ステップによって前記第1領域とは異なる第2領域が指示されたと判定されたとき、前記インジケータを前記第1タイミングとは異なる第2タイミングで前記表示部に表示する第2表示制御ステップとを含む、情報処理方法。

【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図3C】
image rotate

【図3D】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2012−68990(P2012−68990A)
【公開日】平成24年4月5日(2012.4.5)
【国際特許分類】
【出願番号】特願2010−214319(P2010−214319)
【出願日】平成22年9月24日(2010.9.24)
【出願人】(000233778)任天堂株式会社 (1,115)
【出願人】(391041718)株式会社ハル研究所 (38)
【Fターム(参考)】