図1を参照して、この発明の一実施例であるゲーム装置10は、上側ハウジング12および下側ハウジング14を含み、上側ハウジング12と下側ハウジング14とは、開閉可能(折り畳み可能)に連結されている。図1の例では、上側ハウジング12および下側ハウジング14は、それぞれ横長の長方形の板状に形成され、互いの長辺部分で回動可能に連結されている。つまり、この実施例のゲーム装置10は、折り畳み型の携帯ゲーム装置であり、図1には、当該ゲーム装置10を開いた状態(開状態)で示してある。ゲーム装置10は、開いた状態においてもユーザが両手または片手で把持することができるようなサイズで構成される。
通常、ユーザは、開状態でゲーム装置10を使用する。また、ユーザは、ゲーム装置10を使用しない場合には閉状態で保管する。ただし、ゲーム装置10は、上記閉状態および開状態のみでなく、上側ハウジング12と下側ハウジング14とのなす角度が閉状態と開状態との間の任意の角度において、連結部分に発生する摩擦力などによってその開閉角度を維持することができる。つまり、上側ハウジング12を下側ハウジング14に対して任意の角度で静止させることができる。
なお、ゲーム装置10は、後述するカメラ(32,34)を搭載しており、当該カメラ(32,34)によって画像を撮像し、撮像した画像を画面に表示したり、撮像した画像のデータを保存したりする撮像装置としても機能する。
図1に示すように、上側ハウジング12には第1LCD16が設けられ、下側ハウジング14には第2LCD18が設けられる。第1LCD16および第2LCD18は、横長形状であり、それぞれの長辺方向が上側ハウジング12および下側ハウジング14の長辺方向と一致するように配置される。たとえば、第1LCD16および第2LCD18の解像度は、256(横)×192(縦)画素(ドット)に設定される。
なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、EL(Electronic Luminescence)ディスプレイやプラズマディスプレイを用いるようにしてもよい。また、ゲーム装置10は、任意の解像度の表示装置を利用することができる。
図1および図2に示すように、下側ハウジング14には、入力装置として、各操作ボタン20a−20kが設けられる。この各操作ボタン20a−20kのうち、方向入力ボタン20a、操作ボタン20b、操作ボタン20c、操作ボタン20d、操作ボタン20e、電源ボタン20f、スタートボタン20g、およびセレクトボタン20hは、下側ハウジング14の第2LCD18が設けられる側の面(内側の面)に配置される。具体的には、方向入力ボタン20aおよび電源ボタン20fは、第2LCD18の左側に配置され、操作ボタン20b−20e,20gおよび20hは、第2LCD18の右側に配置される。また、上側ハウジング12と下側ハウジング14とを折り畳んだときには、操作ボタン20a−20hはゲーム装置10の内部に収められる。
方向入力ボタン(十字キー)20aは、ディジタルジョイスティックとして機能し、プレイヤオブジェクトの移動方向を指示したり、カーソルを移動させたりするなどに用いられる。各操作ボタン20b−20eは、プッシュボタンであり、たとえば、プレイヤオブジェクトに任意の動作をさせたり、決定やキャンセルを実行したりする等に用いられる。電源ボタン20fは、プッシュボタンであり、ゲーム装置10の主電源をオン/オフするために用いられる。スタートボタン20gは、プッシュボタンであり、ゲームを中断(ポーズ)したり、開始(再開)したりするために用いられる。セレクトボタン20hは、プッシュボタンであり、ゲームモードやメニューの選択等に用いられる。
図1においては、操作ボタン20i−20kを省略したが、図2(A)に示すように、操作ボタン(Lボタン)20iは、下側ハウジング14の上側面の左端部に設けられ、操作ボタン(Rボタン)20jは、下側ハウジング14の上側面の右端部に設けられる。また、図2(B)に示すように、音量ボタン20kは、下側ハウジング14の左側面に設けられる。
なお、図2(A)は、ゲーム装置10を折り畳んだ状態で、上面(上ハウジング12)側から見た図であり、図2(B)は、同じくゲーム装置10を折り畳んだ状態で、左側面から見た図である。
Lボタン20iおよびRボタン20jは、プッシュボタンであり、操作ボタン20b−20eと同様の操作に用いたり、それらの操作ボタン20b−20eの補助的な操作に用いたりすることができる。また、この実施例では、Lボタン20iおよびRボタン20jは、撮影指示の操作(シャッター操作)を行うために用いることもできる。音量ボタン20kは、2つのプッシュボタンを用いて構成され、図示しない2つのスピーカ(右スピーカおよび左スピーカ)から出力される音の大きさを調整するために用いられる。この実施例では、音量ボタン20kには、2つの押圧部を含む操作部が設けられ、各押圧部に対応して上記のプッシュボタンが設けられる。したがって、一方の押圧部を押すと音量が大きくされ、他方の押圧部を押すと音量が小さくされる。たとえば、押圧部を押し続けると、音量が次第に大きくされたり、次第に小さくされたりする。
図1に戻って、ゲーム装置10は、操作ボタン20a−20kとは別の入力装置として、さらにタッチパネル22を備えている。タッチパネル22は、第2LCD18の画面上を覆うように装着されている。この実施例では、タッチパネル22は、たとえば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル22は、抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。また、この実施例では、タッチパネル22として、たとえば第2LCD18の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル22の解像度と第2LCD18の解像度とが一致している必要はない。
また、下側ハウジング14の右側面には、挿入口(図1に示す破線)が設けられている。挿入口は、タッチパネル22に対する操作を行うために用いられるタッチペン24を収納することができる。通常、タッチパネル22に対する入力は、タッチペン24を用いて行われるが、タッチペン24に限らずユーザの指でタッチパネル22を操作することも可能である。したがって、たとえば、タッチペン24を用いない場合には、タッチペン24の挿入口および収納部を設ける必要はない。
また、下側ハウジング14の右側面には、メモリカード26を収納するための挿入口(図1では、二点鎖線で示している)が設けられている。この挿入口の内側には、ゲーム装置10とメモリカード26とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード26は、たとえばSDカードであり、コネクタに着脱自在に装着される。このメモリカード26は、たとえば、ゲーム装置10によって撮像された画像を記憶(保存)したり、他の装置で生成(撮像)ないし記憶された画像をゲーム装置10に読み込んだりするために用いられる。
さらに、下側ハウジング14の上側面には、メモリカード28を収納するための挿入口(図1では、一点鎖線で示している)が設けられている。この挿入口の内側にも、ゲーム装置10とメモリカード28とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード28は、情報処理プログラムおよび必要なデータなどを記録した記録媒体であり、下側ハウジング14に設けられた挿入口に着脱自在に装着される。
また、上側ハウジング12と下側ハウジング14との連結部(ヒンジ)の左端部分には、インジケータ30が設けられる。このインジケータ30は、3つのLED30a,30b,30cによって構成される。ここで、ゲーム装置10は、他の機器との間で無線通信を行うことが可能であり、第1LED30aは、無線通信が確立している場合に点灯する。第2LED30bは、ゲーム装置10の充電中に点灯する。第3LED30cは、ゲーム装置10の主電源がオンである場合に点灯する。したがって、インジケータ30(LED30a−30c)によって、ゲーム装置10の通信確立状況、充電状況、および主電源のオン/オフ状況をユーザに通知することができる。
上述したように、上側ハウジング12には、第1LCD16が設けられる。この実施例では、第2LCD18を覆うように、タッチパネル22を設けているが、第1LCD16を覆うように、タッチパネル22を設けてもよい。または、第1LCD16および第2LCD18のそれぞれを覆うように、2つのタッチパネル22を設けるようにしてもよい。たとえば、第2LCD18には、各操作ボタン20a−20kやタッチパネル22の役割ないし操作方法をユーザに教えるための操作説明画面やゲーム画面が表示される。
また、上側ハウジング12には、2つのカメラ(内側カメラ32および外側カメラ34)が設けられる。図1に示すように、内側カメラ32は、上側ハウジング12と下側ハウジング14との連結部付近であり、第1LCD16が設けられる側の面に、この第1LCD16の表示面とその撮影面とが平行または面一になるように取り付けられる。一方、外側カメラ34は、図2(A)に示すように、内側カメラ32が取り付けられる面とは反対側の面、すなわち、上側ハウジング12の外側の面(ゲーム装置10が閉状態となった場合に外側となる面であり、図1に示す上側ハウジング12の背面)に取り付けられる。ただし、図1においては、外側カメラ34を破線で示してある。
したがって、内側カメラ32は、上側ハウジング12の内側の面が向く方向を撮像することが可能であり、外側カメラ34は、内側カメラ32の撮像方向の逆方向、すなわち、上側ハウジング12の外側の面が向く方向を撮像することが可能である。このように、この実施例では、内側カメラ32および外側カメラ34の撮像方向が互いに逆方向となるように、それら2つのカメラ32,34が設けられる。たとえば、ゲーム装置10を把持したユーザは、このゲーム装置10側からユーザの方を見た景色(たとえば、当該ユーザを含む)を内側カメラ32で撮像することができるとともに、ゲーム装置10側からユーザとは反対側の方向を見た景色を外側カメラ34で撮像することができる。
なお、上記連結部付近の内側の面には、音声入力装置としてマイク84(図3参照)が収納されている。そして、上記連結部付近の内側の面には、マイク84がゲーム装置10外部の音を検知できるように、そのマイク84用の孔36が形成される。マイク84を収納する位置およびマイク84用の孔36の位置は必ずしも上記連結部である必要はなく、たとえば下側ハウジング14にマイク84を収納し、マイク84の収納位置に対応させて下側ハウジング14にマイク84用の孔36を設けるようにしてもよい。
また、上側ハウジング12の外側の面には、外側カメラ34の近傍に第4LED38(図1では、破線で示す)が取り付けられる。第4LED38は、内側カメラ32または外側カメラ34によって撮影が行われた(シャッターボタンが押下された)時点で点灯する。また、内側カメラ32または外側カメラ34によって動画が撮影される場合には、第4LED38は、撮影の間点灯し続ける。つまり、第4LED38を点灯することによって、ゲーム装置10による撮影が行われた(行われている)ことを撮影対象者や周囲に通知することができる。
また、上側ハウジング12には、第1LCD16の両側に、音抜き孔40が形成される。この音抜き孔40に対応する位置であり、上側ハウジング12の内部には、上述したスピーカが収納されている。音抜き孔40は、スピーカからの音をゲーム装置10の外部に放出するための孔である。
以上に説明したように、上側ハウジング12には、画像を撮像するための構成である内側カメラ32および外側カメラ34と、主として、撮影された画像(撮影画像)およびゲーム画面を表示するための表示手段である第1LCD16とが設けられる。一方、下側ハウジング14には、ゲーム装置10に対する操作入力を行うための入力装置(操作ボタン20(20a−20k)およびタッチパネル22)と、主として、操作画面およびゲーム画面を表示するための表示手段である第2LCD18とが設けられる。したがって、ゲーム装置10は、2つの画面(16,18)および2系統の操作部(20,22)を備えている。
図3は、この実施例のゲーム装置10の電気的な構成を示すブロック図である。図3に示すように、ゲーム装置10は、CPU50、メインメモリ52、メモリ制御回路54、保存用データメモリ56、プリセットデータ用メモリ58、メモリカードインターフェース(メモリカードI/F)60、メモリカードI/F62、無線通信モジュール64、ローカル通信モジュール66、リアルタイムクロック(RTC)68、電源回路70、およびインターフェース回路(I/F回路)72、第1GPU(Graphics Processing Unit)74、第2GPU76、第1VRAM(Video RAM)78、第2VRAM80、およびLCDコントローラ82等の電子部品を備えている。これらの電子部品(回路コンポーネント)は、電子回路基板上に実装されて、下側ハウジング14(または上側ハウジング12でもよい)内に収納される。
CPU50は、所定のプログラムを実行するための情報処理手段である。この実施例では、所定のプログラムは、ゲーム装置10内のメモリ(たとえば保存用データメモリ56)やメモリカード26および/または28に記憶されており、CPU50は、当該所定のプログラムを実行することによって、後述する情報処理を実行する。
なお、CPU50によって実行されるプログラムは、ゲーム装置10内のメモリに予め記憶していてもよいし、メモリカード26および/または28から取得してもよいし、他の機器と通信することによって当該他の機器から取得してもよい。
CPU50には、メインメモリ52、メモリ制御回路54、およびプリセットデータ用メモリ58が接続される。また、メモリ制御回路54には、保存用データメモリ56が接続される。メインメモリ52は、CPU50のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ52は、上記情報処理に用いられる各種データを記憶(一時記憶)したり、外部(メモリカード26および28や他の機器等)から取得されるプログラムを記憶したりする。この実施例では、メインメモリ52として、たとえばPSRAM(Pseudo−SRAM)を用いる。保存用データメモリ56は、CPU50によって実行されるプログラムや内側カメラ32および外側カメラ34によって撮像された画像のデータ等を記憶(保存)するための記憶手段である。この保存用データメモリ56は、不揮発性の記憶媒体によって構成されており、たとえば、NAND型フラッシュメモリを用いることができる。メモリ制御回路54は、CPU50の指示に従って、保存用データメモリ56に対するデータの読み出しおよび書き込みを制御する。プリセットデータ用メモリ58は、ゲーム装置10において予め設定される各種パラメータ等のデータ(プリセットデータ)を記憶するための記憶手段である。プリセットデータ用メモリ58としては、SPI(Serial Peripheral Interface)バスによってCPU50と接続されるフラッシュメモリを用いることができる。
メモリカードI/F60および62は、それぞれCPU50に接続される。メモリカードI/F60は、コネクタに装着されたメモリカード26に対するデータの読み出しおよび書き込みを、CPU50の指示に応じて行う。また、メモリカードI/F62は、コネクタに装着されたメモリカード28に対するデータの読み出しおよび書き込みを、CPU50の指示に応じて行う。この実施例では、内側カメラ32および外側カメラ34によって撮像された画像に対応する画像データや他の装置から受信された画像データがメモリカード26に書き込まれたり、メモリカード26に記憶された画像データがメモリカード26から読み出されて保存用データメモリ56に記憶されたり、他の装置へ送信されたりする。また、メモリカード28に記憶された各種プログラムが、CPU50によって読み出されて実行されたりする。
なお、ゲームプログラムなどの情報処理プログラムは、メモリカード28等の外部記憶媒体を通じてゲーム装置10に供給されるだけでなく、有線または無線の通信回線を通じてゲーム装置10に供給されてもよい。また、情報処理プログラムは、ゲーム装置10内部の不揮発性記憶装置に予め記録されていてもよい。さらに、情報処理プログラムを記憶する情報記憶媒体としては、上記不揮発性記憶装置に限らず、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体でもよい。
無線通信モジュール64は、たとえばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール66は、所定の通信方式により同種のゲーム装置との間で無線通信を行う機能を有する。無線通信モジュール64およびローカル通信モジュール66は、CPU50に接続される。CPU50は、無線通信モジュール64を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール66を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
また、CPU50には、RTC68および電源回路70が接続される。RTC68は、時間をカウントしてCPU50に出力する。たとえば、CPU50は、RTC68によって計時された時間に基づいて、日付および現在時刻等を計算することもできる。電源回路70は、ゲーム装置10が有する電源(典型的には電池であり、下側ハウジング14に収納される)から供給される電力を制御し、ゲーム装置10の各回路コンポーネントに電力を供給する。
また、ゲーム装置10は、マイク84およびアンプ86を備えている。マイク84およびアンプ86は、それぞれI/F回路72に接続される。マイク84は、ゲーム装置10に向かって発声ないし発生されたユーザの音声ないし音(拍手や手拍子など)を検知して、当該音声ないし音を示す音声信号をI/F回路72に出力する。アンプ86は、I/F回路72から与えられる音声信号を増幅してスピーカ(図示せず)に与える。I/F回路72は、CPU50に接続される。
また、タッチパネル22は、I/F回路72に接続される。I/F回路72は、マイク84およびアンプ86(スピーカ)の制御を行う音声制御回路と、タッチパネル22の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル22からの信号に基づいて所定の形式のタッチ位置データを生成してCPU50に出力する。たとえば、タッチ位置データは、タッチパネル22の入力面に対して入力が行われた位置の座標を示すデータである。
なお、タッチパネル制御回路は、タッチパネル22からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。CPU50は、I/F回路72を介して、タッチ位置データを取得することにより、タッチパネル22に対して入力が行われた位置を知ることができる。
操作ボタン20は、上記の各操作ボタン20a−20kによって構成され、CPU50に接続される。操作ボタン20からCPU50へは、各操作ボタン20a−20kに対する入力状況(押下されたか否か)を示す操作データが出力される。CPU50は、操作ボタン20からの操作データを取得し、取得した操作データに応じた処理を実行する。
内側カメラ32および外側カメラ34は、それぞれCPU50に接続される。内側カメラ32および外側カメラ34は、CPU50の指示に応じて画像を撮像し、撮像した画像に対応する画像データをCPU50に出力する。この実施例では、CPU50は、内側カメラ32および外側カメラ34のいずれか一方に対して撮像指示を行い、撮像指示を受けたカメラ(32,34)が画像を撮像して画像データをCPU50に送る。
第1GPU74には、第1VRAM78が接続され、第2GPU76には、第2VRAM80が接続される。第1GPU74は、CPU50からの指示に応じて、メインメモリ52に記憶されている表示画像を生成するためのデータに基づいて第1の表示画像を生成し、第1VRAM78に描画する。第2GPU76は、同様にCPU50からの指示に応じて第2の表示画像を生成し、第2VRAM80に描画する。第1VRAM78および第2VRAM80は、LCDコントローラ82に接続されている。
LCDコントローラ82は、レジスタ82aを含む。レジスタ82aは、CPU50からの指示に応じて、「0」または「1」の値を記憶する。LCDコントローラ82は、レジスタ82aの値が「0」である場合には、第1VRAM78に描画された第1の表示画像を第2LCD18に出力し、第2VRAM80に描画された第2の表示画像を第1LCD16に出力する。また、レジスタ82aの値が「1」である場合には、第1VRAM78に描画された第1の表示画像を第1LCD16に出力し、第2VRAM80に描画された第2の表示画像を第2LCD18に出力する。
図4には、この実施例の情報処理を実行する場合の図1および図2に示したゲーム装置10の使用例を示す。図4に示すように、ゲーム装置10は、図1に示した状態から反時計周りに約90°回転した状態で、ユーザないしプレイヤ(以下、単に「ユーザ」という)によって把持される。したがって、第1LCD16および第2LCD18は横並びに配置される。
この実施例の情報処理では、都道府県のような比較的大きい範囲(以下、「全範囲」という)から市町村や買い物エリアあるいはデートエリアのような一部の範囲(以下、「地域」という)が選択され、選択された地域についての地図が第1LCD16および第2LCD18に表示される。
選択された地域についての地図には、予め目印が設定(表示)される。ユーザは、目印の情報を調べるなどして、旅行、買い物またはデートなどを計画する。ただし、この実施例では、「目印」は、予め登録された建造物(店、ショッピングモール、ビル、タワー、遊園地(テーマパーク)、博物館、水族館、寺院、城、家屋、駅、橋など)、牧場、山、河川、湖沼、丘、道路(交差点)などを意味する。
たとえば、目印に従ってユーザは旅行、買い物またはデートに出かけ、必要に応じて、写真を撮影する。撮影した写真(撮影画像)は保存することができる。また、ユーザの指示によって、手書きのメモが作成され、作成された手書きのメモについての画像(手書き画像)を保存することもできる。撮影画像や手書き画像には、日時情報が付加される。また、ユーザの指示によって、撮影画像や手書き画像が地図に貼り付けられる。
また、撮影画像や手書き画像は、スライドショーで見ることができる。ただし、この実施例では、位置情報および日時情報を用いて、スライドショーを再生するようにしてある。簡単に説明すると、撮影または作成した日時に従う順番で、撮影画像や手書き画像が表示される。このとき、撮影画像や手書き画像が貼り付けられた地図上の位置の付近に存在する目印についての画像も表示される。
このように、撮影画像や手書き画像とともに、目印の画像も表示するのは、単に、撮影画像や手書き画像だけを表示した場合には、どこで撮影や作成をしたものかを容易に思い出せないことがあるからである。
図5は、この実施例の情報処理を開始した場合に、第1LCD16および第2LCD18に表示されるトップメニュー画面100を示す図解図である。トップメニュー画面100のうち、左画面102が第1LCD16に表示され、右画面104が第2LCD18に表示される。左画面102には、当該画面がトップメニューである旨および当該画面についての簡単な説明が表示される。右画面104には、トップメニューで選択することができる機能についてのボタン画像110、ボタン画像112およびボタン画像114が画面中央に縦に並んで表示されるとともに、ボタン画像114の下方にボタン画像120およびボタン画像122が表示される。
ボタン画像110は、「スポット探し」の機能を選択するために設けられる。図示は省略するが、「スポット探し」の機能が実行されると、スポットすなわち目印を検索するための検索画面が表示され、この検索画面においてユーザの所望の目印が検索される。また、或る地域におけるおすすめルート(訪問したら良いと思われる目印およびその順序)を紹介するための紹介画面が表示される。ボタン画像112は、後述するように、地図を表示したりするなどの「旅行ツール」の機能を選択するために設けられる。ボタン画像114は、後述するように、スライドショーを再生するなどの「旅の思い出」の機能を選択するために設けられる。
図示は省略するが、右画面104において、ボタン画像110−114のいずれかがオン(選択)されると、選択されたボタン画像(110,112,114)の機能についての簡単な説明が左画面102に表示される。また、ボタン画像110−114のいずれかが選択された状態で、ボタン画像122がオンされると、選択されたボタン画像(110,112,114)に設定されている機能が実行される。図示は省略するが、ボタン画像110−114のいずれかが選択されると、選択されたボタン画像(110,112,114)上にカーソル(図示せず)が表示され、そのボタン画像(110,112,114)が選択されたことが可視表示される。ただし、これに限定される必要はなく、選択されていないボタン画像(110,112,114)を色反転させたり、グレーアウトさせたり、選択されたボタン画像(110,112,114)の枠の色を変化させたり、枠の輝度を高くさせたりしてもよい。以下、ボタン画像がオン(選択)される場合について同様である。
なお、詳細な説明は省略するが、トップメニュー画面100に表示されたボタン画像(110−114,120,122)をオンする場合には、ユーザは、タッチペン24を用いて第2LCD18に表示されたボタン画像を直接的にタッチ(オン)したり、操作ボタン(20a−20k)の操作によって、第2LCD18に表示されたカーソル(図示せず)を移動させて、カーソルによって指示されたボタン画像をオンしたりする。ただし、タッチペン24を用いる場合には、タッチ位置に対応するタッチ位置データが示す第2LCD18上の表示位置が検出され、当該表示位置に表示されたボタン画像(110−114,120,122)がオンされる。以下、ボタン画像をオン(選択)する場合やアイコンをタッチ(オン)する場合について同様である。
たとえば、ボタン画像122は、ボタン画像110−114のいずれもタッチされていない状態では、オンできない状態で表示され(グレーアウト表示や低輝度で表示)、ボタン画像110−114のいずれかがタッチされた状態では、オンできる状態で表示される(色が付されて表示や高輝度表示)。後述する「決定」のボタン画像172,622(図6および図15参照)についても同様である。また、図示は省略するが、ボタン画像120がオンされると、ゲーム装置10自体のメニュー画面に戻る。
トップメニュー画面100において、ボタン画像112がオンされた状態で、ボタン画像122がオンされると、「旅行ツール」の機能が実行され、図6に示すような旅行ツール画面150が表示される。図6に示すように、旅行ツール画面150のうち、左画面152が第1LCD16に表示され、右画面154が第2LCD18に表示される。左画面152には、当該画面が旅行ツール画面150である旨および当該画面についての簡単な説明が表示される。右画面154には、この旅行ツール画面150で選択することができる機能についてのボタン画像160、ボタン画像162およびボタン画像164が画面中央に縦に並んで表示されるとともに、ボタン画像164の下方にボタン画像170およびボタン画像172が表示される。
ボタン画像160は、後述するように、「地図」の機能を選択するために設けられる。ボタン画像162は、「日程メモ」の機能を選択するために設けられる。図示は省略するが、たとえば、「日程メモ」の機能が実行されると、旅行などの日程(予定)を入力するための画面が表示され、その日程を入力することができる。ボタン画像164は、後述するように、「旅メモカメラ」の機能を選択するために設けられる。
図示は省略するが、トップメニュー画面100と同様に、ボタン画像160−164のいずれかがオン(選択)されると、選択されたボタン画像(160,162,164)に割り当てられた機能についての簡単な説明が左画面152に表示される。また、ボタン画像160−164のいずれかが選択された状態で、ボタン画像172がオンされると、選択されたボタン画像(160,162,164)に割り当てられた機能が実行される。ただし、ボタン画像170がオンされた場合には、図5に示したトップメニュー画面100に戻る。
旅行ツール画面150において、ボタン画像160がオンされた状態で、ボタン画像172がオンされると、「地図」の機能が実行され、図7に示すように、地域選択画面200が表示される。この地域選択画面200は、詳細な地図(詳細地図)を表示する地域を選択するための画面である。図7に示すように、地域選択画面200のうち、左画面202が第1LCD16に表示され、右画面204が第2LCD18に表示される。左画面202には、全範囲についての簡単な地図が表示される。図7に示す例では、全範囲としての京都府についての簡単な地図が左画面202に表示される。一方、右画面204には、左画面202において斜線が付された長方形の枠210が表示される範囲について拡大された地図(拡大地図)が表示される。つまり、地域を選択するための地図が右画面204に表示されるのである。この右画面204では、地図上に選択可能な地域の名称を記載した1または2以上のボタン画像220が表示される。ここで、選択可能な地域とは、詳細地図を表示可能な地域を意味する。また、右画面204の左下部には、ボタン画像230が表示される。このボタン画像230がオンされると、図6に示した旅行ツール画面150に戻る。さらに、図示は省略するが、十字キー20aやタッチペン24によって右画面204を上下左右にスクロール(移動)させると、それに伴って(その表示範囲に伴って)左画面202の枠210も移動される。
なお、この実施例では、枠210には、斜線を付してあるが、これに限定される必要はなく、塗りつぶされていない枠210のみを表示したり、半透明で表示したりしてもよい。
たとえば、図7に示す地域選択画面200において、或る地域(ここでは、「河原町烏丸」)のボタン画像220がオンされると、図8に示すように、その地域についての詳細地図画面250が表示される。詳細地図画面250のうち、左画面252は第1LCD16に表示され、右画面254は第2LCD18に表示される。左画面252には、地域選択画面200で選択された地域の全体を含む地図を表示する。図8に示すように、この実施例では、地域選択画面200で選択された地域の全体およびその上下(北と南)方向に隣接する地域についての地図が表示される。左画面252の斜線が付された四角形の枠260で指示される範囲の詳細地図が右画面254に表示される。ただし、地域選択画面200で選択された地域に隣接する地域については、斜線を付した四角形の枠262を表示することにより、この詳細地図画面250において、詳細地図を表示可能な範囲外(選択した地域を超える範囲)であることを示してある。
なお、図8では、枠260および枠262を同じ斜線を付して示してあるが、同じである必要はない。また、枠260は、斜線に代えて、半透明で表示したり、色などが付されていない枠のみを表示したりしてもよい。後述する図10および図12においても同様である。
上述したように、枠260の詳細地図が右画面254に表示される。また、地図上には、目印についてのアイコン270が表示される。このアイコン270は、対応する目印についての詳細な情報を表示するために予め設定されている。また、アイコン270は、対応する目印が存在する地図上の位置に表示される。詳細な説明は省略するが、各目印は、現実の位置(緯度および経度)の情報を、ゲーム装置10の第2LCD18に表示する地図上の位置の情報(位置情報)に変換した場合の位置に表示される。
なお、図面では分かり難いが、アイコン270に表示される図柄は目印の種類ないし内容を示している。
また、右画面254には、画面上部に横に並んでアイコン272およびアイコン274が設けられ、画面下部に横に並んでアイコン276およびアイコン278が設けられる。さらに、アイコン276の左方に、ボタン画像290が設けられる。アイコン272は、手書きのメモを描画(作成)するために設けられる。アイコン274は、撮像装置(内側カメラ32または外側カメラ34)で写真を撮影するために設けられる。アイコン276は、アイコン270を表示したり、非表示したりするために設けられる。つまり、アイコン270が表示されている場合に、アイコン276がクリックされると、右画面254の地図上に表示されているアイコン270が消(非表示に)される。一方、アイコン270が表示されていない場合には、アイコン276がクリックされると、予め登録されている目印についてのアイコン270が右画面254の地図上に表示される。アイコン278は、この詳細地図画面250で選択可能な目印(スポット)の一覧を、左画面252(または右画面254)に表示するために設けられる。また、ボタン画像290がオンされると、上述した地域選択画面200に戻る。
なお、詳細な説明は省略するが、この詳細地図画面250が表示されているときに、所定のボタン(たとえば、セレクトボタン20h)が操作されると、後述するスライドショーの再生処理が実行される。したがって、詳細地図画面250の右画面254に、スライドショーの再生を実行するためのアイコンを設けるようにしてもよい。
図8の詳細地図画面250において、アイコン270をタッチすると、図9に示すように、対応する目印についての詳細を表示するための画面すなわち目印詳細画面300が表示される。図9に示すように、目印詳細画面300のうち、左画面302が第1LCD16に表示され、右画面304が第2LCD18に表示される。左画面302には、目印の名称や目印の画像(写真、ポスターまたはイラストなどの画像)が表示される。
右画面304には、画面上部に横に並んで、ボタン画像310、ボタン画像312およびボタン画像314が表示される。また、右画面304には、画面の右端部に縦に並んでボタン画像316およびボタン画像318が表示される。さらに、右画面304には、画面下部に横に並んでボタン画像320、ボタン画像322およびボタン画像324が表示される。そして、右画面304には、ボタン画像320の上側にアイコン330が設けられる。
ボタン画像310がオンされると、当該目印についての説明が右画面304のほぼ中央に表示(テキスト表示)される。このとき、ボタン画像316またはボタン画像318がオンされることにより、その表示が上下にスクロールされる。以下、ボタン画像312やボタン画像314がオンされた場合も同様である。ボタン画像312がオンされると、当該目印の電話番号、営業時間、定休日、駐車場の有無などの情報が右画面304のほぼ中央にテキスト表示される。ボタン画像314がオンされると、当該目印の住所、最寄駅、最寄インターチェンジなどの情報が右画面304のほぼ中央にテキスト表示される。
また、ボタン画像320がオンされると、図8に示した詳細地図画面250に戻る。ボタン画像322がオンされると、当該目印を「お気に入り」として登録することができる。ただし、当該目印がすでに「お気に入り」に登録されている場合に、ボタン画像322がオンされると、「お気に入り」の登録が解除される。ボタン画像324がオンされると、当該目印に来訪したことが登録される。ただし、当該目印に来訪したことが登録されている場合に、ボタン画像324がオンされると、来訪したことの登録が解除される。したがって、ユーザが当該目印に来訪したことを誤って登録してしまった場合に、それを解除することができる。
アイコン330は、当該目印についてのメモを記入するために設けられる。図示は省略するが、アイコン330がタッチされると、右画面304にキーボードの画面が表示され、テキストによるメモを入力することができる。たとえば、入力されたメモは、次回以降この目印についての目印詳細画面300が表示されるときに、左画面302の上部にテキスト表示される。また、一旦メモが入力された後では、アイコン330がタッチされると、そのメモを編集することができる。
図8に戻って、ボタン画像272がオンされると、図10に示すような手書き画面350が表示される。図10に示すように、手書き画面350のうち、左画面352が第1LCD16に表示され、右画面354が第2LCD18に表示される。左画面352は、図8の詳細地図画面250の左画面252と同じであるため、重複した説明は省略する。右画面354には、白紙領域360が設けられ、画面下部にボタン画像370およびボタン画像372が表示される。ユーザはタッチペン24や指で自由に文字、記号または画像などを白紙領域360に描画することができる。つまり、手書きのメモが作成される。ボタン画像370がオンされると、手書きを止める(終了する)ことが決定され、図8に示した詳細地図画面250に戻る。このとき、白紙領域360に文字などが描画されていた場合には、すべて消去される。また、ボタン画像372がオンされると、手書きのメモが記録される。この実施例では、白紙領域360に描画された手書きのメモの画像(手書き画像)に対応する画像データが、所定のフォーマット(たとえば、ビットマップやJPEG)でゲーム装置10の内部メモリ(メインメモリ52または保存用データメモリ56)に記憶される。ただし、手書き画像の画像データは、ゲーム装置10に装着された外部メモリ(メモリカード26)に記録されてもよい。また、手書き画像の画像データが記憶されるとき、当該画像データに関連して、手書きのメモの作成日時についての日時情報が記憶される。ただし、日付および現在時刻は、ゲーム装置10に内蔵されるRTC68から取得される。
図示は省略するが、手書き画像の画像データが記録されると、当該手書き画像を地図上に貼り付けるかどうかを選択するためのボタン画像が第2LCD18(右画面354)に表示される。手書き画像を地図上に貼り付けることが選択されると、後述するように、旅メモ貼り付け画面450(図12参照)が表示される。一方、手書き画像を地図上に貼り付けないことが選択されれば、そのまま図8に示した詳細地図画面250に戻る。ただし、ここで手書き画像を地図上に貼り付けないことが選択されても、後で地図上に貼り付けることができる。
また、図6に示した旅行ツール画面150において、ボタン画像164がオンされた状態で、ボタン172がオンされたり、図8に示した詳細地図画面250において、アイコン274がタッチされたりすると、図11に示すような撮影画面400が表示される。図11からも分かるように、撮影画面400のうち、左画面402が第1LCD16に表示され、右画面404が第2LCD18に表示される。左画面402には、内側カメラ32または外側カメラ34によって取り込まれる画像(動画像や静止画像)が表示される。つまり、左画面402に動画像(スルー画像)が表示される場合には、第1LCD16はビューファインダとして機能する。また、左画面402にスルー画像が表示されるときには、その中央に正方形状の撮影ガイド410が表示される。詳細な説明は省略するが、被写体のうち、撮影ガイド410で囲まれる範囲にピントが合わされる。
右画面404には、画面のほぼ中央にボタン画像420が表示される。また、右画面404には、画面上部に横に並んで、ボタン画像422および424が表示される。さらに、右画面404の下部であり、ボタン画像420の下方に、ボタン画像426が表示される。ボタン画像420はシャッターボタンとして機能し、シャッターボタンがオンされると、そのとき、内側カメラ32または外側カメラ34によって撮影された画像(撮影画像)が取り込まれる。詳細な説明は省略するが、Lボタン20iおよびRボタン20jもシャッターボタンとして機能する。また、ボタン画像422がオンされると、内側カメラ32が選択され、ボタン画像424がオンされると、外側カメラ34が選択される。つまり、ボタン画像422およびボタン画像424によって、カメラ(32,34)が切り替えられる。ボタン画像426がオンされると、撮影を止める(終了する)ことが選択され、図8に示した詳細地図画面250に戻る。
なお、詳細な説明は省略するが、右画面404には、画面上部であり、ボタン画像424の右側に、撮影可能枚数が表示される。
また、図示は省略するが、内側カメラ32または外側カメラ34によって撮影された撮影画像が取得されると、その撮影画像が第1LCD16(左画面402)に表示され、撮影画像を保存するかどうかを選択するためのボタン画像が第2LCD18(右画面404)に表示される。撮影画像を保存することが選択されると、撮影画像に対応する画像データが所定のフォーマット(たとえば、ビットマップやJPEG)で、ゲーム装置10の内部メモリ(メインメモリ52または保存用データメモリ56)に記憶される。ただし、撮影画像の画像データは、ゲーム装置10に装着された外部メモリ(メモリカード26)に記録されてもよい。また、撮影画像の画像データが記憶されるとき、当該撮影画像の画像データに関連して、撮影日時についての日時情報が記憶される。ただし、日付および現在時刻は、ゲーム装置10に内蔵されるRTC68から取得される。一方、撮影画像を保存しないことが選択されれば、そのまま撮影画像の画像データは削除され、図11に示す撮影画面400に戻る。
また、図示は省略するが、撮影画像が保存されると、この撮影画像を地図上に貼り付けるかどうかを選択するためのボタン画像が第2LCD18(右画面404)に表示される。撮影画像を地図上に貼り付けることが選択されると、後述するように、旅メモ貼り付け画面450(図12参照)が表示される。一方、撮影画像を地図上に貼り付けないことが選択されれば、そのまま図8に示した詳細地図画面250に戻る。ただし、ここで撮影画像を地図上に貼り付けないことが選択されても、後で地図上に貼り付けることもできる。
上述したように、手書き画像や撮影画像を地図上に貼り付けることが選択されると、図12に示すような旅メモ貼り付け画面450が表示される。この実施例では、単に「旅メモ」という場合には、手書きのメモまたは/および撮影した写真を意味する。また、「旅メモの画像」という場合には、手書き画像または/および撮影画像を意味する。図12に示すように、旅メモ貼り付け画面450のうち、左画面452は第1LCD16に表示され、右画面454は第2LCD18に表示される。左画面452は、上述した図8の詳細地図画面250の左画面252と同じであるため、重複した説明は省略する。
右画面454には、画面のほぼ中央に、旅メモを貼り付ける位置を指示するための指示画像460が表示される。また、右画面454には、画面上部にボタン画像470が表示されるとともに、画面下部にボタン画像472が表示される。ボタン画像470がオンされると、旅メモの貼り付ける位置が指示画像460の十字で示す地図上の位置に決定され、その地図上の位置に対応する位置情報が当該旅メモに関連付けて記録される。また、ボタン画像472がオンされると、旅メモの貼り付けを止めること(終了すること)が選択され、図8に示した詳細地図画面250に戻る。
なお、上述したように、右画面454に表示された地図をスクロールさせることにより、旅メモを貼り付ける位置を選択することができる。つまり、この実施例では、指示画像460は、右画面454のほぼ中央に固定的に表示され、地図をスクロールさせることにより、貼り付け位置が選択されるのである。
上述したように、旅メモが貼り付けられると、図示は省略するが、その後、図8に示したような地図詳細画面250が表示されるときに、地図上に目印のアイコン270のみならず、旅メモのアイコンも表示される。この旅メモのアイコンがタッチされると、それに対応する旅メモが表示される。つまり、旅メモの閲覧機能が実行される。たとえば、図13には、手書き画像が表示される場合の旅メモ閲覧画面500が表示され、図14には、撮影画像が表示される場合の旅メモ閲覧画面550が表示される。
図13に示すように、旅メモ閲覧画面500のうち、左画面502が第1LCD16に表示され、右画面504が第2LCD18に表示される。左画面502には、タッチされた旅メモのアイコンに対応して記憶された手書き画像が表示される。また、左画面502には、画面下部に、当該手書き画像の作成日時が表示される。右画面504には、アイコン510が表示されるとともに、指示画像512が表示される。アイコン510は、対応する旅メモ(現在表示中の旅メモとは異なる)を表示するために設けられ、地図に貼り付けられた旅メモに対応して表示される。指示画像512は、上述した詳細地図画面250やこの旅メモ閲覧画面500において、タッチされた旅メモのアイコンに変えて表示される。つまり、指示画像512は、現在左画面502に表示されている旅メモ(ここでは、手書きのメモ)が貼り付けられている地図上の位置を示している。また、指示画像512の上側には、アイコン520およびアイコン522が表示され、それらの間にボタン画像530が表示される。
アイコン520は、旅メモを削除するために設けられる。具体的には、アイコン520がタッチされると、左画面502に表示されている旅メモに関するデータ(ここでは、手書き画像の画像データなど)がゲーム装置10の内部メモリまたは外部メモリから削除される。アイコン522は、旅メモを編集するために設けられる。具体的には、アイコン522がタッチされると、図示しない編集画面が表示され、この編集画面において、旅メモに関する位置情報および地域情報のデータを削除し旅メモが地図に貼り付けられていない状態にしたり、手書きのメモを書き直したり、追加したり、削除したりすることができる。
また、ボタン画像530がオンされると、左画面502に表示されている旅メモ(当該旅メモ)の選択を解除して、図8に示した詳細地図画面250に戻る。
図14に示すように、撮影画像が表示された旅メモ閲覧画面550のうち、左画面552が第1LCD16に表示され、右画面554が第2LCD18に表示される。左画面552には、タッチされたアイコン(560)に対応して記憶された旅メモ(ここでは、撮影された写真)の画像(ここでは、撮影画像)が表示される。また、左画面552には、その下部に、当該撮影画像の撮影日時が表示される。右画面554には、アイコン560および指示画像562が表示され、また、指示画像562の上側には、アイコン570およびアイコン572が表示される。さらに、アイコン570とアイコン572との間には、ボタン画像580が表示される。アイコン560、指示画像562、アイコン570およびボタン画像580については、上述した手書きメモの旅メモ閲覧画面500の場合と同じであるため、重複した説明は省略する。アイコン572がタッチされると、図示は省略するが、撮影画像の編集画面が表示される。この編集画面では、撮影画像を撮り直すことができる。また、撮影画像に対してフリーハンドの落書きができる。
詳細な説明は省略するが、図13および図14に示す旅メモ閲覧画面(500,550)では、旅メモの削除、編集が終了したり、上述したように、ボタン画像(530,580)をオンしたり、右画面(504,554)のアイコン(510,520,522,560,570,572)以外の地図上のいずれかの位置がタッチされたりすると、図8に示したような詳細地図画面250に戻る。
図5に戻って、トップメニュー画面100において、ボタン画像114がオンされた状態で、ボタン画像122がオンされると、図15に示すように、旅の思い出画面600が表示される。図15に示すように、旅の思い出画面600のうち、左画面602が第1LCD16に表示され、右画面604が第2LCD18に表示される。左画面602には、当該画面が旅の思い出画面600である旨および当該画面についての簡単な説明が表示される。右画面604には、画面中央に縦に並んで、ボタン画像610、ボタン画像612およびボタン画像614が設けられる。また、ボタン画像614の下方には、ボタン画像620およびボタン画像622が表示される。
なお、タッチされたいずれかのアイコン(610,612,614)についての簡単な説明が左画面602に表示される点は、図5に示したトップメニュー画面100の場合と同じである。
ボタン画像610は、後述するように、「スライドシアター」の機能を選択するために設けられる。また、ボタン画像612は、「旅メモアルバム」の機能を選択するために設けられる。図示および詳細な説明は省略するが、「旅メモアルバム」の機能が実行されると、すべての旅メモが一覧表示される。たとえば、左画面602または/および右画面604に、すべての旅メモについての縮小画像(サムネイル画像)が並んで表示される。また、図示および詳細な説明は省略するが、たとえば、一覧表示された旅メモから所望の旅メモを選択して、地図に貼り付けることができる。さらに、ボタン画像614は、「旅コラムリスト」の機能を選択するために設けられる。図示および詳細な説明は省略するが、「旅コラムリスト」の機能が実行されると、地図上で見つけることができた任意のキャラクタの一覧が左画面602(または右画面604)に表示される。このキャラクタは、目印のアイコン270とは別に予め開発者やプログラマによって地図上に設定されている。つまり、「キャラクタを見つける」というゲーム要素が加えられている。
また、ボタン画像620がオンされると、図5に示したトップメニュー画面100に戻る。一方、ボタン画像622がオンされると、選択されているボタン画像(610,612,614)に割り当てられた機能が実行される。
上述した「スライドシアター」の機能が実行されると、図16に示すように、スライド再生画面700が表示される。図16に示すように、スライド再生画面700のうち、左画面702が第1LCD16に表示され、右画面704が第2LCD18に表示される。左画面702には、当該画面がスライド再生画面700である旨および当該画面についての簡単な説明が表示される。右画面704には、画面のほぼ中央に横に並んで、ボタン画像710、ボタン画像712およびボタン画像714が表示され、それらの下方に、ボタン画像716およびボタン画像718が表示される。
ボタン画像710がオンされると、スライドの再生が開始(再開)されたり、一時停止されたりする。図16に示すスライド再生画面700では、ボタン画像710は、再生を開始(再開)することができる状態で表示されるが、スライドの再生中では、再生を一時停止することができる状態で表示される。ボタン画像712がオンされると、再生中のスライドの1つ手前のスライドが表示される。一方、ボタン画像714がオンされると、再生中のスライドの1つ次のスライドが表示される。また、ボタン画像716がオンされると、先頭のスライドから再生が開始される。さらに、ボタン画像718がオンされると、図15に示した旅の思い出画面600に戻る。
この実施例では、次のルールに従ってスライド(扉絵、目印、旅メモの各画像)が再生される。これは、旅メモの撮影場所や作成場所を分かり易くするためであり、また旅メモ(旅の記録)を時系列に従って振り返るためである。(1)旅メモは、地域単位で再生される。(2)旅メモは、基本的に、日時の古い(早い)順に再生される。(3)ユーザの来訪した目印の画像が再生される。(4)旅メモは、所定範囲(たとえば、実空間における半径10mの範囲)内に存在する目印の画像(写真、ポスター、イラストなどの画像)の後に再生される。(5)旅メモおよび目印の画像は、一度しか再生されない。(6)位置(地域)が設定されていない旅メモは、位置が設定された旅メモが再生された後に再生される。
ただし、後述するように、扉絵(挿絵)の画像は、対応する地域についての写真、ポスターまたはイラストなどの画像であり、地域毎に予め作成されている。
上述したようなすべてのルールを満たすように、再生リストが作成され、作成された再生リストに従って再生処理を実行することにより、スライドショーが実行される。
図17は、再生リストの一例を示す図解図である。ただし、図17では、扉絵、目印および旅メモには、それぞれ、括弧付きの数字を付することにより、区別してあるが、実際には、それぞれについての識別情報(扉絵ID,目印ID,旅メモID)が記述される。また、図17においては、旅メモ(n)は、すべて地図に貼り付けられており、括弧内の数字が小さいほど、日時情報が示す日時が古い(早い)ものとする。ただし、図17において、nは正の整数である。また、図17においては、目印(1),(2),(3)は、すべてユーザが来訪したことを設定してある(後述する、行ったフラグがオン)ものとする。
図17に示すように、再生リストでは、再生する順番を示すインデックスの番号に対応して、扉絵、目印および旅メモの各画像についての識別情報が記述される。具体的には、インデックスの番号1から順に、扉絵(2)、目印(2)、旅メモ(1)、旅メモ(3)、目印(3)、旅メモ(2)、扉絵(1)、目印(1)、旅メモ(4)、旅メモ(5)、扉絵(3)、…、旅メモ(n)が記述されている。
ここで、再生リストでは、インデックスの番号1から番号6までが、或る地域についてのスライドのグループ(グループ(1))であり、インデックスの番号7から番号10までが、他の地域についてのスライドのグループ(グループ(2))である。また、各グループでは、先頭に、該当する地域を示すための扉絵の画像についての扉絵IDが記載される。これらは、上述したルール(1)に従うためである。また、各グループでは、基本的には、旅メモ(n)は、目印の画像の後であり、古い順に並べられている。これは上述したルール(2)ないし(4)に従うためである。ただし、グループ(1)に示すように、旅メモ(3)は、旅メモ(2)よりも前に並べられている。これは、旅メモ(3)の所定範囲に存在する目印(2)が旅メモ(1)の所定範囲にも存在し、既に再生リストに登録されているためである。つまり、上述したルール(5)に従い目印(2)の後に再生される。また、ルール(2)に従うために、旅メモ(3)は、旅メモ(1)の後ろに並べられている。
なお、図17では省略するが、上述したルール(6)に従って、いずれの旅メモの所定範囲内にも存在しない目印であって、ユーザが来訪した目印の画像や位置情報の設定されていない(地図に貼り付けられていない)旅メモの画像も再生リストに追加される。前者の目印の画像については、当該目印が存在する地域についてのグループが再生リストに有る場合には、そのグループの最後尾に追加され、逆に、当該目印が存在する地域についてのグループが再生リストに無い場合には、再生リストの最後尾に追加される。また、後者の旅メモについては、再生リストの最後尾に追加される。ただし、この実施例では、いずれの旅メモの所定範囲内にも存在しない目印であって、ユーザが来訪した目印の画像が再生リストの最後尾に追加された後に、位置情報の設定されていない旅メモの画像が再生リストの最後尾に追加される。これは単なる一例であるため、位置情報の設定されていない旅メモの画像が再生リストの最後尾に追加された後に、いずれの旅メモの所定範囲内にも存在しない目印であって、ユーザが来訪した目印の画像が再生リストの最後尾に追加されるようにしてもよい。
図18は図2に示したメインメモリ52のメモリマップの例を示す。図18に示すように、メインメモリ52はプログラム記憶領域90およびデータ記憶領域92を含む。プログラム記憶領域90は、情報処理プログラムを記憶し、この情報処理プログラムは、メイン処理プログラム90a、画像生成プログラム90b、画像表示プログラム90c、撮影プログラム90d、手書きメモ作成プログラム90e、目印表示プログラム90f、旅メモ閲覧プログラム90gおよびスライドショー再生プログラム90hなどによって構成される。
メイン処理プログラム90aは、この実施例の情報処理のメインルーチンを処理するためのプログラムである。画像生成プログラム90bは、後述する画像データ92bを用いて、第1LCD16および第2LCD18に画面(100,150,200,250,300,350,400,450,500,550,600,700など)を表示するための画面データを生成するためのプログラムである。画像表示プログラム90cは、画像生成プログラム90bに従って生成された画面データを第1LCD16および第2LCD18に表示するためのプログラムである。
撮影プログラム90dは、内側カメラ32または外側カメラ34を用いて、被写体を撮影し、撮影画像を取得するためのプログラムである。また、ユーザの指示によって、撮影プログラム90dは、撮影画像に対応する撮影画像の画像データを内部メモリや外部メモリに記憶し、このときRTC68から取得した日時情報を撮影画像の画像データに対応づけて同様に内部メモリまたは外部メモリに記憶する。手書きメモ作成プログラム90eは、ユーザによって手書きメモを描画させ、描画された手書きメモについての手書き画像を取得するためのプログラムである。また、ユーザの指示によって、手書きメモ作成プログラム90eは、手書きメモの画像に対応する手書き画像データを内部メモリや外部メモリに記憶し、このときRTC68から日時情報を手書き画像データに対応付けて同様に内部メモリまたは外部メモリに記憶する。
目印表示プログラム90fは、図8に示したような詳細地図画面250において、目印のアイコン270がタッチされた場合に、図9に示したように、そのアイコン270に対応して登録された目印についての目印詳細画面300を表示するためのプログラムである。旅メモ閲覧プログラム90gは、図8に示したような詳細地図画面250において、旅メモのアイコン(510,560)がタッチされた場合に、図13または図14に示す旅メモ閲覧画面500,550を表示するためのプログラムである。ただし、図13または図14に示す旅メモ閲覧画面500,550において、旅メモのアイコン(510,560)がタッチされた場合には、そのタッチされた旅メモのアイコン(510,560)についての旅メモ閲覧画面500,550が表示されることになる。
スライドショー再生プログラム90hは、旅メモの画像(撮影画像,手書き画像)を上記のルール(1)−(6)に従って、扉絵や目印の画像とともに再生するためのプログラムである。このとき、図17に示したような再生リスト(再生リストデータ92g)が生成される。
図示は省略するが、情報処理プログラムには、音出力プログラムやバックアッププログラムなども含まれる。音出力プログラムは、キャラクタの音声ないし擬声音、効果音、BGMのような音についてのデータを生成し、スピーカから音を出力するためのプログラムである。バックアッププログラムは、情報処理の実行に従って生成されたデータ(途中データや結果データ)を、メモリカード26や保存用メモリ56に保存するためのプログラムである。
また、データ記憶領域92には、操作データバッファ92aが設けられるとともに、画像データ92b、地図データ92c、目印データ92d、扉絵データ92e、旅メモデータ92fおよび再生リストデータ92gなどが記憶される。
操作データバッファ92aには、各操作ボタン20a−20kからの操作データやタッチパネル22からのタッチ位置データが時系列に従って記憶される。ただし、操作データバッファ92aに記憶された操作データやタッチ位置データは、情報処理の実行に使用された後に削除される。
画像データ92bは、第1LCD16および第2LCD18に表示する画面(100−700など)についての画面データを生成するためのポリゴンデータやテクスチャデータなどのデータである。ただし、後述するように、地図データ92c、扉絵データ92e、目印の画像の画像データ920dは、予め用意されているため、画像データ92bを用いて生成されることはない。同様に、後述する旅メモデータ92fに含まれる画像データ930cは、撮影画像や手書き画像の画像データであるため、画像データ92bを用いて生成されることはない。
地図データ92cは、図7の地域選択画面200および図8の詳細地画面250に示したような地図(全範囲の地図、各地域の全体地図、全範囲の拡大地図、各地域の詳細地図)についてのデータである。地図上における位置は、緯度および経度に基づいて決定された位置情報(たとえば、2次元座標)で管理されている。
目印データ92dは、予め設定されている目印に関するデータであり、具体的な内容は、図19(A)に示される。図19(A)に示すように、目印データ92dは、全m個の目印についてのデータであり、目印1データ920、目印2データ922、…、目印mデータ92mを含む。目印1データ920は、目印IDデータ920a、位置情報データ920b、地域情報データ920c、画像データ920d、情報データ920e、お気に入りフラグ920fおよび行ったフラグ920gによって構成される。
目印IDデータ920aは、当該目印1のファイル名のような識別情報(目印ID)についてのデータである。位置情報データ920bは、当該目印1が存在する地図上における位置すなわち緯度および経度に相当する位置情報を示すデータである。地域情報データ920cは、当該目印1が存在する地図上の地域の名称ないし地域の識別情報(地域ID)についてのデータである。画像データ920dは、当該目印1の画像(写真、ポスター、イラストなどの画像)についてのデータである。情報データ920eは、当該目印1についての「説明」、「施設」および「交通」の各情報についてのテキストデータである。
お気に入りフラグ920fは、当該目印1がお気に入りとして登録されているか否かを判別するためのフラグであり、1ビットのレジスタで構成される。お気に入りフラグ920fがオン(成立)されると、レジスタにデータ値「1」が設定される。一方、お気に入りフラグ920fがオフ(不成立)されると、レジスタにデータ値「0」が設定される。ただし、目印詳細画面300において、ボタン画像322がオンされると、当該目印1がお気に入りとして登録され、お気に入りフラグ920fはオンされる。また、目印詳細画面300において、ボタン画像322がオンされていなければ(オンされた後にオフされた場合も含む)、当該目印1はお気に入りとして登録されておらず、またはお気に入りとしての登録を解除され、お気に入りフラグ920fはオフされる。
行ったフラグ920gは、当該目印1を来訪したか否かを判別するためのフラグであり、1ビットのレジスタで構成される。行ったフラグ920gがオンされると、レジスタにデータ値「1」が設定される。行ったフラグ920gがオフされると、レジスタにデータ値「0」が設定される。ただし、目印詳細画面300において、ボタン画像324がオンされると、当該目印1を来訪したことが登録され、行ったフラグ920gはオンされる。また、目印詳細画面300において、ボタン画像324がオンされていなければ(オンされた後にオフされた場合も含む)、行ったフラグ920gはオフされる。
なお、目印2データ922,…,目印mデータ92mは、目印1データ920と同様であるため、重複した説明は省略する。
図18に戻って、扉絵データ92eは、各地域の画像(写真、ポスター、イラストなどの画像)についての画像データである。図示は省略するが、地域ないし扉絵を識別するための識別情報(扉絵ID)に対応して、各扉絵の画像についての画像データが記憶されている。また、旅メモデータ92fは、上述した旅メモの画像すなわち撮影画像や手書き画像に関するデータであり、具体的には、図19(B)に示される。図19(B)に示すように、旅メモデータ92fは、全n個の旅メモについてのデータであり、旅メモ1データ930、旅メモ2データ932、…、旅メモnデータ93nを含む。
旅メモ1データ930は、旅メモIDデータ930a、日時情報データ930b、画像データ930c、位置情報データ930dおよび地域情報データ930eによって構成される。旅メモIDデータ930aは、当該旅メモ1のファイル名のような識別情報(旅メモID)についてのデータである。日時情報データ930bは、当該旅メモ1を作成(記録)した日時(撮影日時、作成日時)についてのデータである。画像データ930cは、当該旅メモ1についての撮影画像または手書き画像の画像データである。位置情報データ930dは、当該旅メモ1が貼り付けられている地図上の位置情報についてのデータである。地域情報データ930eは、当該旅メモ1が貼り付けられている地図上の地域の名称ないし地域の識別情報(地域ID)についてのデータである。ただし、旅メモが地図上に貼り付けられていない場合には、位置情報データ930dおよび地域情報データ930eとして、NULLデータが記憶される。
なお、旅メモ2データ932,…,旅メモnデータ93nは、旅メモ1データ930と同様であるため、重複した説明は省略する。
図18に戻って、再生リストデータ92gは、図17に示したような再生リストについてのデータであり、スライドショー再生機能が実行される度に生成される。
図示は省略するが、データ記憶領域92には、他のデータも記憶され、また、この実施例の情報処理プログラムを実行するために必要なフラグやカウンタ(タイマ)なども設けられる。
図20−図25は、図3に示したCPU50の全体処理を示すフロー図である。図20に示すように、CPU50は、全体処理を開始すると、ステップS1で、初期化処理を実行する。ここでは、CPU50は、操作データバッファ92aをクリアしたり、画像データ92b、地図データ92c、目印データ92d、扉絵データ92eおよび旅メモデータ92fをロードしたり、再生リストデータ92gを消去したりする。
次のステップS3では、図5に示したようなトップメニュー画面100を第1LCD16および第2LCD18に表示する。続いて、ステップS5では、「スポット探し」の実行が指示されたかどうかを判断する。つまり、トップメニュー画面100で、ボタン画像110がオンされた状態で、ボタン画像122がオンされたかどうかを判断する。ステップS5で“YES”であれば、つまり「スポット探し」の実行が指示されると、ステップS7で、詳細な説明は省略するが、スポットの検索処理を実行したり、おすすめルートの表示処理を実行したりして、ステップS3に戻る。
一方、ステップS5で“NO”であれば、つまり「スポット探し」の実行が指示されなければ、ステップS9で、「旅行ツール」の実行が指示されたかどうかを判断する。つまり、トップメニュー画面100で、ボタン画像112がオンされた状態で、ボタン画像122がオンされたかどうかを判断する。ステップS9で“YES”であれば、つまり「旅行ツール」の実行が指示されると、ステップS11で、図6に示したような旅行ツール画面150を第1LCD16および第2LCD18に表示し、ステップS13で、トップメニューに戻るかどうかを判断する。つまり、ステップS13では、旅行ツール画面150において、ボタン画像170がオンされたかどうかを判断する。
ステップS13で“YES”であれば、つまりトップメニューに戻る場合には、そのままステップS3に戻る。したがって、上述したように、トップメニュー画面100が第1LCD16および第2LCD18に表示される。一方、ステップS13で“NO”であれば、つまりトップメニューに戻らない場合には、ステップS15で、「地図」の実行が指示されたかどうかを判断する。つまり、旅行ツール画面150でボタン画像160がオンされた状態で、ボタン画像172がオンされたかどうかを判断する。ステップS15で“YES”であれば、つまり「地図」の実行が指示されると、図21に示すステップS23で、図7に示したような地域選択画面200を第1LCD16および第2LCD18に表示する。
次のステップS25では、地域が選択されたかどうかを判断する。つまり、地域を選択するために、いずれかのボタン画像220がオンされたかどうかを判断する。ステップS25で“NO”であれば、つまり地域が選択されていなければ、ステップS27で、旅行ツールに戻るかどうかを判断する。つまり、CPU50は、地域選択画面200において、ボタン画像230がオンされたかどうかを判断するのである。
ステップS27で“YES”であれば、つまり旅行ツールに戻る場合には、図20に示したステップS11に戻る。したがって、上述したように、旅行ツール画面150が第1LCD16および第2LCD18に表示される。一方、ステップS27で“NO”であれば、つまり旅行ツールに戻らない場合には、そのままステップS25に戻る。なお、図21では、地域選択画面200において、ボタン画像220またはボタン画像230がオンされない場合には、そのままステップS25に戻るようにしてあるが、実際には、ユーザのタッチ(ドラッグ)操作によって、右画面204の地図をスクロールしたり、それに伴って左画面202の枠210を移動させたりする処理が実行される。
また、ステップS25で“YES”であれば、つまり地域が選択されると、ステップS29で、選択された地域の地図を読み込む。つまり、CPU50は、選択された地域の全体地図およびその詳細地図についてのデータを、地図データ92cから読み出す。次に、ステップS31で、選択された地域の旅メモの位置情報を読み込む。ここでは、CPU50は、旅メモデータ92fを参照し、地域情報データ(930eなど)が示す地域が、選択された地域と一致する旅メモについての位置情報データ(930dなど)を読み出す。そして、ステップS33では、位置情報に従って地図に旅メモのアイコンを配置する。ここでは、CPU50は、選択された地域の全体地図およびその詳細地図の両方に、旅メモのアイコン(510,560)を配置する。
続いて、ステップS35では、選択された地域の目印の位置情報を読み込む。ここでは、CPU50は、目印データ92dを参照し、地域情報データ(920cなど)が示す地域が、選択された地域と一致する目印についての位置情報データ(920bなど)を読み出す。次に、ステップS37では、位置情報に従って地図に目印のアイコンを配置する。ここでは、CPU50は、選択された地域の全体地図およびその詳細地図の両方に、目印のアイコン(270)を配置する。そして、ステップS39で、地図とアイコンとを表示する。つまり、図8に示したような詳細地域画面250が第1LCD16および第2LCD18に表示される。
図22に示すように、次のステップS41では、「写真撮影」の実行の指示が有るかどうかを判断する。つまり、CPU50は、詳細地図画面250でアイコン274がクリックされたかどうかを判断する。ステップS41で“YES”であれば、つまり「写真撮影」の実行の指示が有れば、ステップS43で、後述する撮影処理(図26および図27参照)を実行して、図21に示したステップS29に戻る。一方、ステップS41で“NO”であれば、つまり「写真撮影」の実行の指示が無ければ、ステップS45で、「手書きメモ作成」の実行の指示が有るかどうかを判断する。つまり、CPU50は、詳細地図画面250でアイコン272がクリックされたかどうかを判断する。
ステップS45で“YES”であれば、つまり「手書きメモ作成」の実行の指示が有れば、ステップS47で、後述する手書きメモ作成処理(図28および図29参照)を実行して、ステップS29に戻る。一方、ステップS45で“NO”であれば、つまり「手書きメモ作成」の実行の指示が無ければ、ステップS49で、地図上の目印のアイコン(270)がタッチされたかどうかを判断する。
ステップS49で“YES”であれば、つまり地図上の目印のアイコン(270)がタッチされれば、ステップS51で、後述する目印表示処理(図30参照)を実行して、ステップS29に戻る。ただし、ステップS51では、タッチされたアイコン(270)に対応する目印についての目印表示処理が実行される。一方、ステップS49で“NO”であれば、つまり地図上の目印のアイコン(270)がタッチされていなければ、図23に示すステップS53で、地図上の旅メモのアイコン(510,560)がタッチされたかどうかを判断する。
ステップS53で“YES”であれば、地図上の旅メモのアイコン(510,560)がタッチされれば、ステップS55で、旅メモを表示して、図21に示したステップS29に戻る。つまり、ステップS55では、CPU50は、タッチされた旅メモのアイコン(510,560)に対応する旅メモの画像(撮影画像または手書き画像)を、第1LCD16すなわち詳細地図画面250の左画面252に表示する。つまり、図13または図14に示した旅メモ閲覧画面500,550が第1LCD16および第2LCD18に表示される。一方、ステップS53で“NO”であれば、つまり地図上の旅メモのアイコン(510,560)がタッチされていなければ、ステップS57で、スライドショーの再生指示が有るかどうかを判断する。つまり、CPU50は、セレクトボタン20hがオンされたかどうかを判断する。
ステップS57で“YES”であれば、つまりスライドショーの再生指示が有れば、ステップS59で、後述するスライドショーの再生処理(図31−図35)を実行して、ステップS29に戻る。一方、ステップS57で“NO”であれば、つまりスライドショーの再生指示が無ければ、ステップS61で、地域選択に戻るかどうかを判断する。つまり、CPU50は、ボタン画像290がオンされたかどうかを判断する。
ステップS61で“NO”であれば、つまり地域選択に戻らない場合には、そのまま図22に示したステップS41に戻る。一方、ステップS61で“YES”でれば、つまり地域選択に戻る場合には、そのままステップS23に戻る。
なお、図示および詳細な説明は省略するが、詳細地図画面250には、ボタン276およびボタン278も設けられるため、これらのボタン276,278がオンされたかどうかを判断し、ボタン276,278がオンされた場合には、上述したように、対応する処理(目印のアイコンの表示/非表示、スポット(目印)の一覧表示)が実行される。
図20に戻って、ステップS15で“NO”であれば、つまり「地図」の実行の指示で無ければ、図24に示すステップS63で、「日程メモ」の実行の指示が有るかどうかを判断する。つまり、旅行ツール画面150でボタン画像162がオンされた状態で、ボタン画像172がオンされたかどうかを判断する。ステップS63で“YES”であれば、つまり「日程メモ」の実行の指示があれば、ステップS65で、詳細な説明は省略するが、スケジュールの入力処理を実行して、図20に示したステップS11に戻る。一方、ステップS63で“NO”であれば、つまり「日程メモ」の実行の指示が無ければ、ステップS67で、「旅メモカメラ」の実行の指示が有るかどうかを判断する。つまり、CPU50は、旅行ツール画面150のボタン画像164がオンされた状態で、ボタン画像172がオンされたかどうかを判断する。
ステップS67で“YES”であれば、つまり「旅メモカメラ」の実行の指示が有れば、ステップS69で、後述する撮影処理を実行して、ステップS11に戻る。一方、ステップS67で“NO”であれば、つまり「旅メモカメラ」の実行の指示が無ければ、そのまま図20に示したステップS13に戻る。
図20に戻って、ステップS9で“NO”であれば、つまり「旅行ツール」の実行の指示が無ければ、ステップS17で「旅の思い出」の実行の指示が有るかどうかを判断する。つまり、CPU50は、トップメニュー画面100でボタン画像114がオンされた状態で、ボタン画像122がオンされたかどうかを判断する。ステップS17で“NO”であれば、つまり「旅の思い出」の実行の指示でなければ、そのままステップS5に戻る。
なお、図示および詳細な説明は省略するが、トップメニュー画面100でボタン120がオンされた場合には、上述したように、ゲーム装置10自体のメニュー画面に戻る。
一方、ステップS17で“YES”であれば、つまり「旅の思い出」の実行の指示が有れば、ステップS19で、図15に示したような旅の思い出画面600を第1LCD16および第2LCD18に表示する。
次のステップS21では、トップメニューに戻るかどうかを判断する。つまり、CPU50は、旅の思い出画面600において、ボタン画像620がオンされたかどうかを判断する。ステップS21で“YES”であれば、つまりトップメニューに戻る場合には、そのままステップS3に戻る。一方、ステップS21で“NO”であれば、つまりトップメニューに戻らない場合には、図25に示すステップS71で、「スライドシアター」の実行が指示されたかどうかを判断する。つまり、CPU50は、旅の思い出画面600においてボタン画像610がオンされた状態で、ボタン画像622がオンされたかどうかを判断する。
ステップS71で“YES”であれば、つまり「スライドシアター」の実行の指示が有れば、ステップS73で、後述するスライドショーの再生処理を実行して、図20に示したステップS19に戻る。一方、ステップS71で“NO”であれば、つまり「スライドシアター」の実行の指示が無ければ、ステップS75で、「旅コラムリスト」の実行が指示されたかどうかを判断する。つまり、CPU50は、旅の思い出画面600においてボタン画像614がオンされた状態で、ボタン画像622がオンされたかどうかを判断する。
ステップS75で“YES”であれば、つまり「旅コラムリスト」の実行の指示が有れば、ステップS77で、詳細な説明は省略するが、キャラクタの一覧表示処理を実行して、ステップS19に戻る。一方、ステップS75で“NO”であれば、つまり「旅コラムリスト」の実行の指示が無ければ、ステップS79で、「旅メモアルバム」の実行の指示が有るかどうかを判断する。つまり、CPU50は、旅の思い出画面600において、ボタン画像612がオンされた状態で、ボタン画像622がオンされたかどうかを判断する。
ステップS79で“YES”であれば、つまり「旅メモアルバム」の実行の指示が有れば、ステップS81で、詳細な説明は省略するが、旅メモの一覧表示処理を実行して、ステップS19に戻る。一方、ステップS79で“NO”であれば、つまり「旅メモアルバム」の実行の指示が無ければ、図20に示したステップS21に戻る。
図26および図27は、図22のステップS43および図24のステップS69に示した撮影処理のフロー図である。図26に示すように、CPU50は、撮影処理を開始すると、ステップS91で、図11に示したような撮影画面400を第1LCD16および第2LCD18に表示する。次のステップS93では、内蔵カメラ(32,34)を起動する。詳細な説明は省略するが、上述したように、この実施例では、ユーザによって選択された内側カメラ32または外側カメラ34が起動される。ただし、内側カメラ32または外側カメラ34は、撮影画面400のボタン画像422またはボタン画像424をオンすることによって切り替えられる。
続いて、ステップS95では、スルー画像を第1LCD16(左画面402)に表示する。次のステップS97では、シャッターボタンが押されたかどうかを判断する。つまり、CPU50は、撮影画面400においてボタン画像420がオンされたり、Lボタン20iまたはRボタン20jが押されたりしたかどうかを判断しているのである。
ステップS97で“NO”であれば、つまりシャッターボタンが押されていなければ、そのままステップS95に戻る。一方、ステップS97で“YES”であれば、つまりシャッターボタンが押されれば、ステップS99で、撮影処理を実行し、ステップS101で、保存の指示が有るかどうかを判断する。詳細な説明は省略するが、撮影後に、撮影画像を保存するか否かの選択画面が表示され、この選択画面において、保存するか保存しないかの指示が入力されるのである。
ステップS101で“NO”であれば、つまり保存することの指示が無ければ、ステップS103で、削除の指示すなわち保存しないことの指示が有るかどうかを判断する。ステップS103で“NO”であれば、つまり削除の指示が無ければ、そのままステップS101に戻る。一方、ステップS101で“YES”であれば、つまり削除の指示があれば、ステップS105で、撮影画像の画像データを削除して、図27に示すように、全体処理にリターンする。
一方、ステップS101で“YES”であれば、つまり保存することの指示が有れば、ステップS107で、撮影画像を旅メモとして保存する。つまり、撮影画像の画像データを含む旅メモnデータ93nがデータ記憶領域92に記憶される。次にステップS109では、撮影日時を旅メモの日時情報として保存する。図示等は省略したが、CPU50は、シャッターボタンが押されたときの日時情報(撮影日時)をRTC68から取得しておき、対応する日時情報データを先の旅メモnデータ93nに追加するのである。
続いて、図27に示すように、ステップS110では、旅メモを地図に貼り付けるかどうかを判断する。ステップS110で“NO”であれば、つまり旅メモを地図に貼り付けないことの指示があれば、そのまま全体処理にリターンする。一方、ステップS110で“YES”であれば、つまり旅メモを地図に貼り付けることの指示があれば、ステップS111で、撮影前に詳細地図が表示されていたかどうかを判断する。つまり、旅行ツールにおいて、「地図」が実行され、その中で撮影処理が行われたかどうかを判断する。
ステップS111で“YES”であれば、つまり撮影前に詳細地図が表示されていた場合には、ステップS113で、撮影前に表示されていた地域の地図すなわち当該地図が表示された旅メモ貼り付け画面450を第1LCD16および第2LCD18に表示して、ステップS119に進む。一方、ステップS111で“NO”であれば、つまり撮影前に詳細地図が表示されていなければ、ステップS115で、地域選択画面200を第1LCD16および第2LCD18に表示し、ステップS117で、当該地域選択画面200にて選択された地域についての地図すなわち当該地図が表示された旅メモ貼り付け画面450を第1LCD16および第2LCD18に表示して、ステップS119に進む。つまり、旅行ツールで「旅メモカメラ」が実行された場合には、撮影画像を貼り付ける地域が選択されるのである。
ステップS119では、地図上の位置が指示されたかどうかを判断する。つまり、CPU50は、旅メモ貼り付け画面450において、第2LCD18に表示された地図がスクロールされるなどして、指示画像460が所望の位置に合わせられ、ボタン画像470がオンされたかどうかを判断しているのである。
ステップS119で“YES”であれば、つまり地図上の位置が指示されれば、ステップS121で、位置情報および地域情報を保存して、全体処理にリターンする。つまり、ステップS121では、CPU50は、ユーザによって指示された地図上の位置についての位置情報データおよび当該地図に対応する地域についての地域情報データを、先の旅メモnデータ93nに追加するのである。
一方、ステップS119で“NO”であれば、つまり地図上の位置が指示されなければ、ステップS123で、貼り付けを止めるかどうかを判断する。つまり、CPU50は、旅メモ貼り付け画面450においてボタン画像472がオンされたかどうかを判断しているのである。ステップS123で“NO”であれば、つまり貼り付けを止めない場合には、そのままステップS119に戻る。なお、ここでは、簡単のために、そのままステップS119に戻るようにしてあるが、この間において、ユーザの指示に従って、地図をスクロールするのである。一方、ステップS123で“YES”であれば、つまり貼り付けを止める場合には、そのまま全体処理にリターンする。詳細な説明は省略するが、ステップS123で貼り付けを止めることが判断された場合には、先の旅メモnデータ93nの位置情報データおよび地域情報データとしてNULLデータが記憶されるのである。
図28および図29は図22に示したステップS47の手書きメモ作成処理のフロー図である。なお、図26および図27に示した撮影処理と同様の処理については簡単に説明することにする。図28に示すように、CPU50は、手書きメモ作成処理を開始すると、ステップS131で、図10に示したような手書き画面350を第1LCD16および第2LCD18に表示する。次のステップS133では、タッチオンかどうかを判断する。つまり、CPU50は、タッチパネル22からタッチ位置データの入力があるかどうかを判断する。ステップS133で“NO”であれば、つまりタッチオンでなければ、そのままステップS137に進む。一方、ステップS133で“YES”であれば、つまりタッチオンであれば、ステップS135で、タッチ位置に点を描画して、ステップS137に進む。つまり、CPU50は、タッチパネル22からのタッチ位置データが示す第2LCD18の表示位置に点を描画するのである。
ステップS137では、保存の指示が有るかどうかを判断する。つまり、CPU50は、手書き画面350において、ボタン画像372がオンされたかどうかを判断する。ステップS137で“NO”であれば、つまり保存の指示が無ければ、ステップS139で、削除の指示すなわち手書きメモの作成を止める指示が有るかどうかを判断する。ここでは、CPU50は、手書き画面350において、ボタン画像370がオンされたかどうかを判断するのである。
ステップS139で“NO”であれば、つまり削除の指示が無ければ、ステップS133に戻る。つまり、手書きメモの作成が継続される。一方、ステップS139で“YES”であれば、つまり削除の指示が有れば、ステップS141で、手書き画像を削除して、図29に示すように、全体処理にリターンする。つまり、ステップS141では、CPU50は、操作データバッファ92aに記憶されているすべてのタッチ位置データを削除(クリア)するのである。
また、ステップS137で“YES”であれば、つまり保存の指示があれば、ステップS143で、描画した手書き画像を旅メモとして保存する。つまり、手書き画像の画像データを含む旅メモnデータをデータ記憶領域92に記憶するのである。次のステップS145では、作成日時を旅メモの日時情報として保存する。図示等は省略するが、CPU50は、ボタン画像372がオンされたときの日時情報(作成日時)をRTC68から取得し、その日時情報データを、先の旅メモnデータに追加するのである。
次に、ステップS146では、旅メモを地図に貼り付けるかどうかを判断する。ステップS146で“NO”であれば、そのまま全体処理にリターンする。一方、ステップS146で“YES”であれば、ステップS147で、描画前に表示されていた地域の地図すなわち当該地図が表示された旅メモ貼り付け画面450を第1LCD16および第2LCD18に表示して、図29に示すステップS149で、地図上の位置が指示されたかどうかを判断する。
ステップS149で“YES”であれば、つまり地図上の位置が指示されれば、ステップS151で、位置情報および地域情報を保存して、全体処理にリターンする。一方、ステップS149で“NO”であれば、つまり地図上の位置が指示されなければ、ステップS153で、貼り付けを止めるかどうかを判断する。ステップS153で“NO”であれば、つまり貼り付けを止めない場合には、そのままステップS149に戻る。一方、ステップS153で“YES”であれば、つまり貼り付けを止める場合には、そのまま全体処理にリターンする。
図30は、図22に示したステップS51の目印表示処理のフロー図である。ただし、この目印表示処理では、簡単のため、スライドショーの再生に関係の有る、行ったフラグ(920g)や行ったボタン画像(324)に関する処理のみを記載してあるが、実際には、他のボタン画像310−318、お気に入りフラグ(920f)やお気に入りボタン画像(322)、およびアイコン330が押された場合の処理も実行されるのである。
図30に示すように、目印表示処理を開始すると、ステップS171で、指示された目印(以下、ここでは、「当該目印」という)の画像を読み込む。つまり、詳細地図画面250において、タッチされたアイコン270に対応する目印についての目印mデータ92mに含まれる画像データを読み込む。
次のステップS173では、当該目印の行ったフラグがオンであるかどうかを判断する。つまり、CPU50は、当該目印についての目印mデータ92mに含まれる、行ったフラグがオンであるかどうかを判断する。ステップS173で“YES”であれば、つまり当該目印の行ったフラグがオンであれば、ステップS175で、行ったボタンを強調して、ステップS179に進む。たとえば、CPU50は、ステップS175で、ボタン画像324の輝度を高くする。一方、ステップS173で“NO”であれば、つまり当該目印の行ったフラグがオフであれば、ステップS177で、行ったボタンを暗くして、ステップS179に進む。たとえば、CPU50は、ステップS177で、ボタン画像324の輝度を低くする。
ステップS179では、画像とボタンとを表示する。つまり、CPU50は、当該目印についての目印mデータ92mに含まれる、画像データ、情報データ、お気に入りデータおよび行ったフラグを用いて、図9に示したような目印詳細画面300を第1LCD16および第2LCD18に表示する。
続いて、ステップS181では、行ったボタン画像が選択されたかどうかを判断する。つまり、CPU50は、目印詳細画面300において、ボタン画像324がオンされたかどうかを判断するのである。ステップS181で“NO”であれば、つまり行ったボタン画像が選択されていなければ、ステップS183で、地図に戻る指示が有るかどうかを判断する。つまり、CPU50は、目印詳細画面300において、ボタン画像320がオンされたかどうかを判断するのである。ステップS183で“NO”であれば、つまり地図に戻らない場合には、そのままステップS181に戻る。一方、ステップS183で“YES”であれば、つまり地図に戻る場合には、そのまま全体処理にリターンする。
また、ステップS181で“YES”であれば、つまり行ったボタン画像が選択されれば、ステップS185で、当該目印の行ったフラグがオンであるかどうかを判断する。つまり、CPU50は、行ったボタン画像が既にオンされているかどうかを判断しているのである。ステップS185で“NO”であれば、つまり当該目印の行ったフラグがオフであれば、ステップS187で、目印詳細画面300の行ったボタン画像324を強調し、ステップS189で、当該目印の行ったフラグをオンして、ステップS179に戻る。
一方、ステップS185で“YES”であれば、つまり当該目印の行ったフラグがオンであれば、ステップS191で、目印詳細画面300の行ったボタン画像324を暗くして、ステップS193で、当該目印の行ったフラグをオフして、ステップS179に戻る。
図31−図35は、図23に示したステップS59および図25に示したステップS73のスライドショーの再生処理のフロー図である。図31に示すように、CPU50は、スライドショーの再生処理を開始すると、ステップS211で、地域が設定されている旅メモをリストアップする。つまり、CPU50は、旅メモデータ92fに含まれるn個の旅メモnデータ(930−93n)のうち、地域情報データとしてNULLデータが記載されていない旅メモnデータ(930−93n)を抽出する。ただし、実際にリストアップされるのは、旅メモnデータ(930−93n)の旅メモID(旅メモIDデータ930aなど)である。
次にステップS213で、ステップS211においてリストアップされた旅メモを日付順に並べる。つまり、CPU50は、リストアップされた旅メモnデータ(930−93n)の日時情報データを参照して、日時の早い順に旅メモIDをソートする。続いて、ステップS215では、並べ替えた旅メモを、地域毎に分類する。たとえば、CPU50は、旅メモの地域情報データを参照して、同じ地域の旅メモnデータ(930−93n)をグループ化する。このとき、各グループでは、地域に対応する扉絵IDおよびこの扉絵IDに続いて当該地域の旅メモIDが日時の早い順番に並べられる。そして、ステップS217で、各地域において最も古い旅メモの日時順に、地域を並べる。つまり、CPU50は、各地域に属する旅メモnデータ(930−93n)のうち、最も古い日時の旅メモnデータ(930−93n)を抽出し、抽出した旅メモnデータ(930−93n)の日時の古い順に、抽出した旅メモnデータ(930−93n)が属する地域のグループを並べる。
次のステップS219では、変数iを初期化(i=1)する。この変数iは、ステップS211においてリストアップされた旅メモの数をカウントするための変数である。続いて、ステップS221では、変数iがリストアップした旅メモの総数Mを超えたかどうかを判断する。ここでは、CPU50は、リストアップしたすべての旅メモについて、目印との関連付けの処理を終了したかどうかを判断しているのである。
ステップS221で“NO”であれば、つまり変数iがリストアップした旅メモの総数M以下であれば、ステップS223で、i番目に古い旅メモを特定する。次のステップS225で、ステップS223において特定した旅メモの地域および位置を取得する。つまり、CPU50は、特定した旅メモについての旅メモnデータ93nに含まれる、位置情報データが示す位置および地域情報データが示す地域を取得する。
次のステップS227では、変数jを初期化(j=1)して、図32に示すステップS231で、変数jが目印の総数Nを超えたかどうかを判断する。ただし、変数jは目印の数をカウントするための変数である。つまり、ステップS231では、CPU50は、i番目の旅メモについて、すべての目印と所定範囲内に有るかどうかの判定処理を実行したかどうかを判断しているのである。
ステップS231で“NO”であれば、つまり変数jが目印の総数N以下であれば、ステップS233で、j番目の目印を特定する。たとえば、データ記憶領域92に目印データ92dとして登録されている順番に従って目印が特定されたり、目印IDが数字やアルファベットで記述されている場合には、その順番に従って目印が特定されたりする。次のステップS235では、特定された目印の行ったフラグがオンであるかどうかを判断する。つまり、CPU50は、特定された目印に対応する目印mデータ92mに含まれる、行ったフラグがオンであるかどうかを判断する。
ステップS235で“NO”であれば、つまり特定された目印の行ったフラグがオフであれば、そのままステップS245に進む。一方、ステップS235で“YES”であれば、つまり特定された目印の行ったフラグがオンであれば、ステップS237で、特定された目印の地域および位置を取得する。つまり、特定された目印に対応する目印mデータ92mに含まれる、地域情報データが示す地域および位置情報データが示す位置を取得する。
続くステップS239では、特定された目印(j番目の目印)の地域とこの旅メモ(i番目の旅メモ)の地域とが同じであるかどうかを判断する。つまり、CPU50は、ステップS225で取得した地域と、ステップS237で取得した地域とが一致するかどうかを判断しているのである。ステップS239で“NO”であれば、つまり特定された目印の地域とこの旅メモの地域とが異なる場合には、そのままステップS245に進む。
一方、ステップS239で“YES”であれば、つまり特定された目印の地域とこの旅メモの地域とが一致する場合には、ステップS241で、特定された目印が、この旅メモから所定範囲内に有るかどうかを判断する。つまり、CPU50は、ステップS225で取得した位置とステップS237で取得した位置との距離が所定範囲を規定する半径よりも短いかどうかを判断しているのである。
ステップS241で“NO”であれば、つまり特定された目印が、この旅メモから所定範囲内に無い場合には、そのままステップS245に進む。一方、ステップS241で“YES”であれば、つまり特定された目印が、この旅メモから所定範囲内に有る場合には、ステップS243で、特定された目印を、この旅メモと所定範囲の目印として抽出して、ステップS245に進む。ただし、ステップS243では、特定された目印を抽出するとともに、特定された目印とこの旅メモとの距離も抽出される。つまり、i番目の旅メモとj番目の目印とが関連付けられる。
ステップS245では、変数jに1加算(j=j+1)して、ステップS231に戻る。つまり、順次目印が特定され、旅メモと所定範囲内かどうかが判断されるのである。
また、ステップS231で“YES”であれば、つまり変数jが目印の総数Nを超えれば、図33に示すステップS247で、この旅メモと所定範囲内の目印として抽出されたもののうち、この旅メモの最も近くにあるものを、この旅メモに関連付けられた目印として設定する。つまり、CPU50は、ステップS243において抽出された距離が最短距離である目印を、この旅メモに関連付けられた目印として設定するのである。このため、1の旅メモの所定範囲内に複数の目印が存在する場合であっても、当該1の旅メモに対して1の目印が関連付けられるのである。
そして、ステップS249では、設定された目印が既に再生リストに入っているかどうかを判断する。ここでは、CPU50は、データ記憶領域92に記憶された再生リストデータ92gを参照して、設定された目印の目印IDデータが示す目印IDが、再生リストに記載されているかどうかを判断するのである。
ステップS249で“NO”であれば、つまり設定された目印が再生リストに入っていなければ、ステップS251で、設定された目印を、この旅メモの前に挿入して、ステップS255で、変数iに1加算(i=i+1)して、図31に示すステップS221に戻る。つまり、次の旅メモについて目印との関連付けの処理が実行される。一方、ステップS249で“YES”であれば、つまり設定された目印が既に再生リストに入っている場合には、ステップS253で、この旅メモを、再生リストにおいて、設定された目印の後ろに並べられた他の旅メモの最も後ろに移動させて、ステップS255に進む。つまり、ステップS253の処理によって、同じ目印が複数回再生されることが回避される。
図31に戻って、ステップS221で“YES”であれば、つまり変数iがリストアップした旅メモの総数Mを超えれば、ステップS229で、どの旅メモとも関連づけられていないに目印を抽出して、図34に示すステップS257に進む。つまり、ステップS229では、CPU50は、いずれの旅メモも所定範囲内に存在しない目印を抽出する。
図34に示すように、ステップS257では、変数kに初期値を設定(k=1)する。この変数kは、ステップS229において抽出された目印の数をカウントするための変数である。次のステップS259では、変数kが抽出された目印の総数Qを越えたかどうかを判断する。ここでは、CPU50は、どの旅メモにも関連付けられていないすべての目印について、ユーザが来訪したかどうかの判断処理を行ったかを判断しているのである。
ステップS259で“NO”であれば、つまり変数kが抽出された目印の総数Q以下であれば、ステップS261で、k番目の目印を特定する。このステップS261の処理は、上述したステップS233の処理と同じである。次のステップS263では、特定された目印の行ったフラグがオンであるかどうかを判断する。
ステップS263で“NO”であれば、つまり特定された目印の行ったフラグがオフであれば、そのままステップS273に進む。一方、ステップS263で“YES”であれば、つまり特定された目印の行ったフラグがオンであれば、ステップS265で、特定された目印の地域を取得する。つまり、特定された目印に対応する目印mデータ92mに含まれる地域情報データが示す地域を取得する。
続いて、ステップS267では、取得された地域が既に再生リストに存在するかどうかを判断する。つまり、CPU50は、データ記録領域92に記憶された再生リストデータ92gを参照して、再生リストに、取得された地域についての扉絵IDが記載されているかどうかを判断するのである。ステップS267で“YES”であれば、つまり取得された地域が既に再生リストに存在する場合には、ステップS269で、再生リスト中のその地域の最後尾にこの目印を追加して、ステップS273で、変数kに1加算(k=k+1)して、ステップS259に戻る。つまり、ステップS269では、CPU50は、再生リストにおいて、ステップS265で取得した地域についての扉絵IDに後続する目印IDや旅メモIDの最後尾に、k番目の目印の目印IDを挿入するのである。
一方、ステップS267で“NO”であれば、つまり取得された地域が再生リストに存在しなければ、ステップS271で、再生リストの最後尾にこの目印を追加して、ステップS273に進む。つまり、ステップS271では、CPU50は、再生リストにおいて、その最後尾に、k番目の目印の目印IDを挿入するのである。
また、ステップS259で“YES”であれば、つまり変数kが抽出された目印の総数Qを超えれば、図35に示すステップS275で、位置情報の無い旅メモを抽出する。つまり、CPU50は、位置情報データとしてNULLデータが記述された旅メモnデータ93nについての旅メモIDを抽出するのである。つまり、地図に貼り付けられていない旅メモが抽出される。なお、地図に貼り付けられていない旅メモには、地域情報も設定されていないため、ステップS275では、地域情報の無い旅メモを抽出するようにしてもよい。
続くステップS277では、ステップS275において抽出された旅メモを日時順に並べる。この実施例では、抽出した旅メモについての日時情報データが示す日時の早い(古い)順に旅メモIDが並べ替えられる。次のステップS279では、ステップS277で並べ替えられたすべての旅メモIDを、再生リストの最後尾に追加する。そして、ステップS281で、作成された再生リストに従って、スライドショーを実行し、全体処理にリターンする。
詳細な説明は省略するが、ステップS281では、再生リストの先頭から順番(インデックスの番号順)に、識別情報(扉絵ID、目印ID、旅メモID)が示す画像データが読み出され、第1LCD16に表示される。たとえば、ユーザが何ら操作しない場合には、3秒間隔で画像データの表示が更新される。ただし、スライドショーの実行中に、スライド再生画面700において、ボタン画像710−ボタン画像716がオンされると、それに応じて、再生が一時停止されたり、再生が再開されたり、1つ手前の画像(スライド)に戻されたり、1つ次のスライドに進められたり、最初からスライドの再生が開始されたりする。ただし、ボタン画像718がオンされると、スライドの再生が終了され、旅の思い出画面600が第1LCD16および第2LCD18に表示される。
この実施例によれば、スライドを再生する場合に、地域毎に、所定範囲内に存在する目印の画像を表示した後に、旅メモの画像を表示するので、どこで撮影または作成した旅メモであるかを容易に思い出させることができる。
なお、この実施例では、旅メモとして、撮影画像や手書き画像を記録し、スライドショーで再生するようにしたが、旅メモとして音声メモを記録するようにしてもよい。かかる場合には、スライドショーの再生時に、実施例に示した手法により、音声メモを含む再生リストを作成し、音声メモについては、旅メモの画像の表示に変えて音声をスピーカから出力するようにすればよい。
また、この実施例では、地域毎にスライドを再生するため、各地域の先頭に扉絵の画像を表示するようにしたが、基本的には、目印の画像の後に旅メモの画像が表示されるため、当該扉絵の画像は表示しなくてもよい。
さらに、この実施例では、旅メモの画像は、日時の早い(古い)順に再生するようにしたが、日時の遅い(新しい)順に再生するようにしてもよい。同様に、この実施例では、目印の画像の次に所定範囲内の旅メモの画像を表示するようにしたが、その順序は逆であってもよい。
さらにまた、この実施例では、旅メモに関連付けられた目印およびユーザが来訪した目印の画像についてはすべて表示するようにしたが、旅メモに関連付けられていない目印の画像については再生しなくてもよい。
また、この実施例では、ユーザが来訪していない目印の画像については再生しないようにしてあるが、そのような目印についても再生するようにしてもよい。つまり、すべての目印の画像を再生するようにしてもよい。かかる場合には、たとえば、ステップS279の処理とステップS281の処理との間において、再生リストに未だ記載(登録)されていないすべての目印IDを、再生リストの最後尾に追加する処理を実行するようにすればよい。
さらに、この実施例では、目印の画像は一度しか再生しないようにしたが、1の目印が複数の旅メモに関連付けられる場合には、旅メモを日時情報に従って再生し、関連付けられた旅メモの画像が再生される前に当該目印の画像を再生するようにしてもよい。つまり、1の目印の画像を複数回再生するようにしてもよい。
さらにまた、この実施例では、旅メモについての撮影画像や手書き画像を記録および再生するようにしたが、これに限定される必要はない。たとえば、撮影画像上に、手書き画像を描画した画像を記録および再生するようにしてもよい。
また、この実施例では、携帯型のゲーム装置を用いる場合について説明したが据置型のゲーム装置やゲーム機能を備えるコンピュータなどの他の情報処理装置を用いることもできる。ただし、かかる場合には、撮影画像はディジタルカメラなどで撮影されたものを据置型のゲーム装置などの情報処理装置に取り込んだり、据置型のゲーム装置などの情報処理装置を用いて手書き画像を作成したり、他のコンピュータなどで作成した手書き画像を、当該他のコンピュータやネットワークから据置型のゲーム装置などの情報処理装置に取り込んだりすればよい。
さらに、この実施例では、地図に設定された位置情報を用いるようにしたが、旅メモの位置情報は、ユーザが緯度および経度を入力するようにしてもよい。また、ゲーム装置がGPS機能を備える場合には、GPSから緯度および経度を取得するようにしてもよい。
また、この実施例では、1枚のスライド(扉絵、目印、旅メモの各画像)が表示される時間は、その種類(扉絵、目印、旅メモ)に拘わらず一定にしたが、種類に応じて表示される時間を変えてもよい。
さらに、この実施例では、タッチペンを用いて、いわゆるフリーハンドで手書きのメモを入力するようにしたが、これに限定される必要はない。たとえば、キーボードの画像を表示し、このキーボードの画像を用いて文字を入力するようにしたり、文字以外の予め用意されている記号や図形を入力するようにしたりしてもよい。
さらにまた、ゲーム装置の構成は実施例のものに限定される必要はない。たとえば、表示装置(LCD)およびカメラは、それぞれ1つでもよい。また、タッチパネルは無くてもよい。さらに、タッチパネルを2つのLCD上に設けてもよい。