(57)【要約】【課題】スマートデバイス等において、仮想３次元空間の画像と２次元画像との双方を１画面で表示しようとする場合に、ユーザの利便性を高める画面スクロール制御が可能な情報処理プログラム等を提供すること。【解決手段】ポインティングデバイスによる入力に基づいて画面スクロールが可能な領域であって、３次元画像を投影するための３次元画像用領域と、当該３次元画像用領域に隣接する領域であって２次元画像を表示するための２次元画像用領域とを含むコンテンツ表示領域を画面に表示する。そして、コンテンツ表示領域が画面スクロールされるときは、３次元画像用領域および２次元画像用領域の双方を一体的に画面スクロールさせる。【選択図】図８
2017142454.tif 000002
【特許請求の範囲】
【請求項１】
ポインティングデバイスによる入力を受け付け可能な情報処理装置のコンピュータに実行させる情報処理プログラムであって、
仮想３次元空間にオブジェクトを配置するオブジェクト配置手段と、
前記仮想３次元空間に仮想カメラを配置する仮想カメラ配置手段と、
前記仮想カメラで前記仮想３次元空間を撮影することにより３次元画像を生成する３次元画像生成手段と、
所定の２次元画像を生成する２次元画像生成手段と、
前記３次元画像を投影するための３次元画像用領域と、当該３次元画像用領域に隣接する領域であって前記２次元画像を表示するための２次元画像用領域とを含むコンテンツ表示領域を画面に表示するコンテンツ領域表示手段と、
前記ポインティングデバイスによる入力に基づいて画面スクロールを行うスクロール制御手段として前記コンピュータを機能させ、
前記コンテンツ表示領域が画面スクロールされる場合に、前記３次元画像用領域および２次元画像用領域の双方が一体的に画面スクロールされる、情報処理プログラム。
【請求項２】
前記情報処理プログラムは、前記ポインティングデバイスによる入力が前記３次元画像用領域に対して行われたか前記２次元画像用領域に対して行われたかを判定する入力対象判定手段として前記コンピュータを更に機能させ、
前記スクロール制御手段は、前記２次元画像用領域内の任意の位置を入力の始点とする所定の操作が行われた場合に、前記コンテンツ表示領域の画面スクロールを行う、請求項１に記載の情報処理プログラム。
【請求項３】
前記情報処理プログラムは、前記３次元画像用領域内の任意の位置を入力の始点とする所定の操作が行われた場合に、前記コンテンツ表示領域の画面スクロールを行わず、前記３次元仮想空間を制御する第１仮想空間制御手段として前記コンピュータを更に機能させる、請求項２に記載の情報処理プログラム。
【請求項４】
前記情報処理プログラムは、前記ポインティングデバイスにより前記３次元画像用領域に対して第１の操作が行われた場合に、当該３次元画像用領域の大きさを拡大する３次元画像用領域拡大手段として前記コンピュータを更に機能させる、請求項１ないし請求項３のいずれか一項に記載の情報処理プログラム。
【請求項５】
前記３次元画像用領域拡大手段は、前記３次元画像用領域の大きさの拡大後の縦横比に基づき、前記仮想カメラの画角を変更する、請求項４に記載の情報処理プログラム。
【請求項６】
前記情報処理プログラムは、前記ポインティングデバイスにより前記３次元画像用領域に対して前記第１の操作とは異なる第２の操作が行われた場合に、当該第２の操作内容に応じて前記仮想カメラを移動する制御を行う仮想カメラ移動手段として前記コンピュータを更に機能させる、請求項４または請求項５に記載の情報処理プログラム。
【請求項７】
前記情報処理プログラムは、前記ポインティングデバイスによる所定の操作に応じて、前記２次元画像用領域に表示される内容を更新する２次元画像更新手段として前記コンピュータを更に機能させ、
前記３次元画像用領域に投影される前記３次元画像は、前記ポインティングデバイスによる所定の操作の有無にかかわらず所定の時間間隔で更新される、請求項１ないし請求項６のいずれか一項に記載の情報処理プログラム。
【請求項８】
前記３次元画像用領域は、前記コンテンツ表示領域において、画面スクロールの際にスクロールの先頭となる位置に配置されている、請求項１ないし請求項７のいずれか一項に記載の情報処理プログラム。
【請求項９】
前記３次元画像用領域と前記２次元画像とが隣接する方向が前記画面スクロールの方向と平行となるように、当該３次元画像用領域と当該２次元画像とが配置されている、請求項１ないし請求項８のいずれか一項に記載の情報処理プログラム。
【請求項１０】
前記情報処理プログラムは、前記画面スクロールの操作が行われているか否かに関わらず、前記３次元仮想空間を制御する第２仮想空間制御手段として前記コンピュータを更に機能させる、請求項１に記載の情報処理プログラム。
【請求項１１】
前記３次元画像用領域に投影される前記３次元画像は、当該３次元画像用領域が画面に表示されていない状態であっても更新される、請求項１ないし請求項１０のいずれか一項に記載の情報処理プログラム。
【請求項１２】
前記コンテンツには複数のコンテンツがあり、
前記情報処理プログラムは、
前記ポインティングデバイスによる入力に応じて、前記複数のコンテンツの表示を切り替える表示コンテンツ切替手段として前記コンピュータを更に機能させ、
前記表示コンテンツ切替手段は、コンテンツの切り替え操作に応じて前記２次元画像用領域の表示内容のみを変更し、更に、コンテンツの切り替えが発生したときは、切り替える直前の画面におけるコンテンツ表示領域の表示範囲を示す情報を保存し、その後、他のコンテンツが表示されている状態から当該コンテンツに切り替えられたときは、当該保存された表示範囲を再現するようにして表示を切り替える、請求項１ないし請求項１１のいずれか一項に記載の情報処理プログラム。
【請求項１３】
前記表示コンテンツ切り替え手段は、
前記コンテンツの切り替えが発生したとき、切り替える直前の表示画面内に前記３次元画像用領域の少なくとも一部が含まれているか否かを判定する３次元領域有無判定手段を含み、
第１のコンテンツから第２のコンテンツへの切り替えが発生したとき、第１のコンテンツにかかるコンテンツ表示領域の画面への表示範囲内および第２のコンテンツにかかるコンテンツ表示領域の最終的な表示範囲内の双方に３次元画像用領域が含まれているときは、切り替え後の第２のコンテンツにかかる３次元画像用領域の表示位置として、切り替え前である第１のコンテンツにおける３次元画像用領域の表示位置が反映されるように当該第２のコンテンツにかかるコンテンツ表示領域の表示範囲を調整して切り替える、請求項１２に記載の情報処理プログラム。
【請求項１４】
ポインティングデバイスによる入力を受け付け可能な情報処理システムであって、
仮想３次元空間にオブジェクトを配置するオブジェクト配置手段と、
前記３次元仮想空間に仮想カメラを配置する仮想カメラ配置手段と、
前記仮想カメラで前記仮想３次元空間を撮影することにより３次元画像を生成する３次元画像生成手段と、
所定の２次元画像を生成する２次元画像生成手段と、
前記３次元画像を投影するための３次元画像用領域と、当該３次元画像用領域に隣接する領域であって前記２次元画像を表示するための２次元画像用領域とを含むコンテンツ表示領域を画面に表示するコンテンツ領域表示手段と、
前記ポインティングデバイスによる入力に基づいて画面スクロールを行うスクロール制御手段とを備え、
前記コンテンツ表示領域が画面スクロールされるときは、前記３次元画像用領域および２次元画像用領域の双方が一体的に画面スクロールされる、情報処理システム。
【請求項１５】
ポインティングデバイスによる入力を受け付け可能な情報処理装置のコンピュータを制御するための情報処理方法であって、
仮想３次元空間にオブジェクトを配置するオブジェクト配置ステップと、
前記３次元仮想空間に仮想カメラを配置する仮想カメラ配置ステップと、
前記仮想カメラで前記仮想３次元空間を撮影することにより３次元画像を生成する３次元画像生成ステップと、
所定の２次元画像を生成する２次元画像生成ステップと、
前記３次元画像を投影するための３次元画像用領域と、当該３次元画像用領域に隣接する領域であった前記２次元画像を表示するための２次元画像用領域とを含むコンテンツ表示領域を画面に表示するコンテンツ領域表示ステップと、
前記ポインティングデバイスによる入力に基づいて画面スクロールを行うスクロール制御ステップとを前記コンピュータに実行させ、
前記コンテンツ表示領域が画面スクロールされるときは、前記３次元画像用領域および２次元画像用領域の双方が一体的に画面スクロールされる、情報処理方法。
【請求項１６】
ポインティングデバイスによる入力を受け付け可能な情報処理装置であって、
仮想３次元空間にオブジェクトを配置するオブジェクト配置手段と、
前記３次元仮想空間に仮想カメラを配置する仮想カメラ配置手段と、
前記仮想カメラで前記仮想３次元空間を撮影することにより３次元画像を生成する３次元画像生成手段と、
所定の２次元画像を生成する２次元画像生成手段と、
前記３次元画像を投影するための３次元画像用領域と、当該３次元画像用領域に隣接する領域であって前記２次元画像を表示するための２次元画像用領域とを含むコンテンツ表示領域を画面に表示するコンテンツ領域表示手段と、
前記ポインティングデバイスによる入力に基づいて画面スクロールを行うスクロール制御手段とを備え、
前記コンテンツ表示領域が画面スクロールされるときは、前記３次元画像用領域および２次元画像用領域の双方が一体的に画面スクロールされる、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポインティングデバイスによる入力を受け付け可能な情報処理装置のコンピュータに実行させる情報処理プログラムに関し、より特定的には、３次元仮想空間画像と２次元画像とを１画面で表示するときの画面表示制御に関する。
【背景技術】
【０００２】
従来から、タッチパネルに対する操作に応じて、画面に表示されている２次元画像をスクロールさせる技術が知られている（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−６８７２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記の技術は、画面に表示される画像が２次元画像である場合を想定した技術であった。そのため、仮想３次元空間を仮想カメラで撮像した仮想３次元空間画像が画面に表示される場合については特に想定するものではなかった。また、２次元画像と仮想３次元空間画像との双方が１画面に同時に表示されるような場合についても想定したものではなかった。
【０００５】
それ故に、本発明の目的は、スマートデバイス等において、仮想３次元空間画像と２次元画像との双方を１画面で表示しようとする場合に、ユーザの利便性を高める画面スクロール制御が可能な情報処理プログラム等を提供することである。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、例えば以下のような構成例が挙げられる。
【０００７】
構成例の一例は、ポインティングデバイスによる入力を受け付け可能な情報処理装置のコンピュータに実行させる情報処理プログラムであって、コンピュータを、オブジェクト配置手段と、仮想カメラ配置手段と、３次元画像生成手段と、２次元画像生成手段と、コンテンツ領域表示手段として機能させる。オブジェクト配置手段は、仮想３次元空間にオブジェクトを配置する。仮想カメラ配置手段は、仮想３次元空間に仮想カメラを配置する。３次元画像生成手段は、仮想カメラで仮想３次元空間を撮影することにより３次元画像を生成する。２次元画像生成手段は、所定の２次元画像を生成する。コンテンツ領域表示手段は、前記３次元画像を投影するための３次元画像用領域と、当該３次元画像用領域に隣接する領域であった前記２次元画像を表示するための２次元画像用領域とを含むコンテンツ表示領域を画面に表示する。そして、コンテンツ表示領域が画面スクロールされる場合に、３次元画像用領域および２次元画像用領域の双方が一体的に画面スクロールされる。
【０００８】
上記構成例によれば、３次元画像用領域と２次元画像用領域とのそれぞれに対するユーザが関心度の高さに応じて、限られた画面の大きさを有効活用することができ、ユーザの利便性を高めることができる。
【０００９】
他の構成例として、情報処理プログラムは、ポインティングデバイスによる入力が３次元画像用領域に対して行われたか２次元画像用領域に対して行われたかを判定する入力対象判定手段としてコンピュータを更に機能させてもよい。そして、スクロール制御手段は、２次元画像用領域内の任意の位置を入力の始点とする所定の操作が行われたときに、コンテンツ表示領域の画面スクロールを行うように構成されていてもよい。更に、情報処理プログラムは、３次元画像用領域内の任意の位置を入力の始点とする所定の操作が行われた場合に、コンテンツ表示領域の画面スクロールを行わず、３次元仮想空間を制御する第１仮想空間制御手段としてコンピュータを更に機能させてもよい。
【００１０】
上記構成例によれば、例えば２次元画像用領域内の任意の位置を始点とするスワイプ操作でコンテンツ領域を画面スクロールさせることができる。また、３次元画像用領域内の任意の位置を始点とするスワイプ操作の場合は、仮想３次元空間の制御を行うことができる。これにより、直感的な操作性を提供することができる。
【００１１】
他の構成例として、ポインティングデバイスにより前記３次元画像用領域に対して第１の操作が行われた場合に、当該３次元画像用領域の大きさを拡大する３次元画像用領域拡大手段としてコンピュータを更に機能させるようにしてもよい。また、３次元画像用領域拡大手段は、３次元画像用領域の大きさの拡大後の縦横比に基づき、前記仮想カメラの画角を変更してもよい。更に、情報処理プログラムは、ポインティングデバイスにより３次元画像用領域に対して第１の操作とは異なる第２の操作が行われた場合に、当該第２の操作内容に応じて仮想カメラを移動する制御を行う仮想カメラ移動手段としてコンピュータを機能させてもよい。
【００１２】
上記構成例によれば、仮想３次元空間に対する直感的な操作性を提供することができる。また、例えば、３次元画像用領域へのタップ操作で３次元空間画像を最大化表示することができ、仮想３次元空間に対しての操作性をより高めることもある。また、最大化表示の際に、違和感のない仮想３次元空間画像を提供することもできる。
【００１３】
他の構成例として、情報処理プログラムは、ポインティングデバイスによる所定の操作に応じて、２次元画像用領域に表示される内容を更新する２次元画像更新手段としてコンピュータを更に機能させてもよい。そして、３次元画像用領域に投影される３次元画像は、ポインティングデバイスによる所定の操作の有無にかかわらず所定の時間間隔で更新されるように構成してもよい。
【００１４】
上記構成例によれば、例えば、新着データの通知等のリアルタイム性の高い処理は３次元仮想空間を用いた処理で実現しながら、リアルタイム処理の必要性が低い処理は２次元画像を利用した処理として実行できる。更に、当該２次元画像を利用した処理に関しては、ユーザの操作に応じた任意のタイミングで画面表示内容を更新することができ、ユーザの利便性を高めることができる。
【００１５】
他の構成例として、３次元画像用領域は、コンテンツ表示領域において、画面スクロールの際にスクロールの先頭となる位置に配置されていてもよい。また、３次元画像用領域と２次元画像とが隣接する方向が画面スクロールの方向と平行となるように、当該３次元画像用領域と当該２次元画像とが配置されていてもよい。
【００１６】
上記構成例によれば、例えば、初期状態で表示される画面として３次元空間画像と２次元画像の双方を１画面中に表示できる。また、ユーザが３次元画像用領域を表示したい場合に、先頭までスクロールさせるだけで３次元画像用領域を画面内に含めることができ、直感的な操作を提供できる。
【００１７】
他の構成例として、情報処理プログラムは、画面スクロールの操作が行われているか否かに関わらず、３次元仮想空間を制御する第２仮想空間制御手段としてコンピュータを更に機能させてもよい。また、３次元画像用領域に投影される３次元画像は、当該３次元画像用領域が画面に表示されていない状態であっても更新されてもよい。
【００１８】
上記構成例によれば、仮想３次元空間内の状態をユーザの操作の有無に関わらず更新し続けることができる。そのため、例えば、新着データの通知等のリアルタイム性の高い処理は３次元仮想空間を用いた処理で実現しつつ、リアルタイム処理の必要性が低い処理は２次元画像を利用した処理として実行するといった、処理の使い分けを行うことができる。
【００１９】
他の構成例として、コンテンツには複数のコンテンツがあり、情報処理プログラムは、ポインティングデバイスによる入力に応じて、複数のコンテンツの表示を切り替える表示コンテンツ切替手段としてコンピュータを更に機能させてもよい。そして、表示コンテンツ切替手段は、コンテンツの切り替え操作に応じて２次元画像用領域の表示内容のみを変更し、更に、コンテンツの切り替えが発生したときは、切り替える直前の画面におけるコンテンツ表示領域の表示範囲を示す情報を保存し、その後、他のコンテンツが表示されている状態から当該コンテンツに切り替えられたときは、当該保存された表示範囲を再現するようにして表示を切り替えるようにしてもよい。更に、表示コンテンツ切り替え手段は、コンテンツの切り替えが発生したとき、切り替える直前の表示画面内に３次元画像用領域の少なくとも一部が含まれているか否かを判定する３次元領域有無判定手段を含んでいてもよい。そして、第１のコンテンツから第２のコンテンツへの切り替えが発生したとき、第１のコンテンツにかかるコンテンツ表示領域の画面への表示範囲内および第２のコンテンツにかかるコンテンツ表示領域の最終的な表示範囲内の双方に３次元画像用領域が含まれているときは、切り替え後の第２のコンテンツにかかる３次元画像用領域の表示位置として、切り替え前である第１のコンテンツにおける３次元画像用領域の表示位置が反映されるように当該第２のコンテンツにかかるコンテンツ表示領域の表示範囲を調整して切り替えるようにしてもよい。
【００２０】
上記構成例によれば、複数のコンテンツ表示を切り替えて利用する場合に、ユーザの利便性を高めることが可能となる。
【発明の効果】
【００２１】
本実施形態によれば、３次元画像用領域と２次元画像用領域とを１画面上で表示する場合に、限られた画面の大きさを有効活用しつつ、ユーザの利便性を高めることができる。
【図面の簡単な説明】
【００２２】
【図１】本実施形態の一例である情報処理システムの全体像を示す模式図
【図２】スマートデバイス１０２の構成の一例を示すブロック図
【図３】サーバ１０１の構成の一例を示すブロック図
【図４】本実施形態にかかるアプリ画面の一例
【図５】２Ｄコンテンツ領域１５４のより具体的な表示例
【図６】本実施形態にかかるアプリ画面の一例
【図７】本実施形態にかかるスクロール制御の概念を説明するための図
【図８】本実施形態にかかるスクロール制御の概念を説明するための図
【図９】本実施形態にかかるアプリ画面の一例
【図１０】リフレッシュ操作を説明するための図
【図１１】リフレッシュ操作を説明するための図
【図１２】リフレッシュ操作を説明するための図
【図１３】コンテンツ切り替え時の動作を説明するための図
【図１４】コンテンツ切り替え時の動作を説明するための図
【図１５】コンテンツ切り替え時の動作を説明するための図
【図１６】コンテンツ切り替え時の動作を説明するための図
【図１７】コンテンツ切り替え時の動作を説明するための図
【図１８】コンテンツ切り替え時の動作を説明するための図
【図１９】スマートデバイス１０２のメインメモリ１１３に格納されるプログラムおよび情報の一例
【図２０】本実施形態におけるアプリケーション処理の詳細を示すフローチャート
【図２１】ステップＳ４のタップ処理の詳細を示すフローチャート
【図２２】ステップＳ２８のメニュータップ処理の詳細を示すフローチャート
【図２３】ステップＳ２８のメニュータップ処理の詳細を示すフローチャート
【図２４】ステップＳ６にかかるスワイプ処理の詳細を示すフローチャート
【図２５】ステップＳ５５のリフレッシュ処理の詳細を示すフローチャート
【発明を実施するための形態】
【００２３】
以下、本発明の一実施形態について説明する。
【００２４】
図１は、本実施形態に係る情報処理システムの全体像を示す模式図である。本実施形態の情報処理システム１００は、サーバ１０１と、複数の携帯型スマートデバイス１０２（以下では、単にスマートデバイスと呼ぶ）とを含んでいる。スマートデバイス１０２は、例えばスマートフォンやタブレット機等である。サーバ１０１と、スマートデバイス１０２とは、インターネットを介して通信可能に構成されている。本実施形態では、このような構成で、スマートデバイス間のコミュニケーションサービスを提供することを想定している。スマートデバイス１０２には、当該コミュニケーションサービスを実現するためのアプリケーションがインストールされる。そして、サーバ１０１を介して他のスマートデバイスと所定のデータを送受信することで、ユーザに当該コミュニケーションサービスを提供する。
【００２５】
次に、上記システムにおける各ハードウェアの構成について説明する。図２は、スマートデバイス１０２の機能ブロック図である。図２において、スマートデバイス１０２は、プロセッサ部１１１と、内部記憶装置１１２と、メインメモリ１１３と、通信部１１４と、操作部１１５と、表示部１１６とを備えている。プロセッサ部１１１は、後述する情報処理を実行したり、スマートデバイス１０２の全体的な動作を制御したりするためのシステムプログラム（図示せず）を実行することで、スマートデバイス１０２の動作を制御する。なお、プロセッサ部１１１は、単一のプロセッサを搭載してもよいし、複数のプロセッサを搭載するようにしてもよい。内部記憶装置１１２には、プロセッサ部１１１によって実行される各種プログラムや当該プログラムで利用される各種データが格納されている。内部記憶装置１１２は、例えば、フラッシュＥＥＰＲＯＭやハードディスク装置である。メインメモリ１１３は、コンピュータプログラムや情報を一時的に記憶する。通信部１１４は、有線、または無線通信によってネットワークと接続し、上記サーバ１０１との間で所定のデータを送受信する。操作部１１５は、例えば、ユーザからの操作を受け付けるための入力装置である。表示部１１６は、典型的には液晶表示装置である。なお、本実施形態に係る処理では、操作部１１５及び表示部１１６として、液晶画面と一体化したタッチパネルを想定する。他の実施形態では、操作部１１５として、タッチパネル以外の所定のポインティングデバイスを用いてもよい。
【００２６】
次に、上記サーバ１０１の構成について説明する。図３は、サーバ１０１の機能ブロック図である。サーバ１０１は、プロセッサ部１２１と、内部記憶装置１２２と、メインメモリ１２３と、通信部１２４とを少なくとも備えている。プロセッサ部１２１は、サーバ１０１を制御するための各種プログラムを実行する。内部記憶装置１２２には、プロセッサ部１２１によって実行される各種プログラムや利用される各種データが格納されている。メインメモリ１２３は、コンピュータプログラムや情報を一時的に記憶する。通信部１２４は、有線、または無線通信によってネットワークと接続し、上記スマートデバイス１０２や他のサーバ（図示せず）との間で所定のデータを送受信する。
【００２７】
次に、本実施形態にかかる情報処理の動作概要を説明する。本実施形態で説明する処理は、主に上記スマートデバイス１０２における画面表示制御に関するが、まず、本実施形態で想定するアプリケーション（上記コミュニケーションサービス）の動作概要について説明する。
【００２８】
本実施形態で想定するアプリケーションは、いわゆるアバターを用いて他のユーザとコミュニケーションを行うものである。具体的には、自分のアバターに対して、アプリケーション側から所定の質問が問いかけられる。これに対して、ユーザは自分の回答を入力する。この回答内容が、例えばフレンド登録している他のユーザに送信される。また、他のユーザから送信された回答内容も受信される。そして、アプリケーションでは、受信した回答内容に基づいた所定の画面を生成して画面に表示する。例えば、「好きな飲み物は何ですか？」という質問に対して、フレンドは「コーヒー」という回答を入力していたとする。この回答内容が受信され、例えば「好きな飲み物は？」「コーヒー」のようなテキストメッセージが表示される。つまり、所定の質問に対する回答内容がユーザ間（スマートデバイス間）で送受信される。また、例えば、上記のアバターを利用して、フレンドのアバターが自分のところに訪問してきて、上記のような回答内容に基づいたメッセージを話すような表現を行うことも可能である。例えば、訪問してきたアバターが「僕はコーヒーが好きです」、と話すような表現も可能である。
【００２９】
次に、本実施形態に係るアプリケーションの画面例を用いて、その動作について説明する。図４は、表示部１１６に表示されるアプリケーション画面（以下、アプリ画面）の一例である。本実施形態では、アプリ画面はいわゆる「縦画面」で表示されている。アプリ画面は、コンテンツ領域１５１と、メニュー領域１５２とで構成されている。
【００３０】
まず、コンテンツ領域１５１について説明する。コンテンツ領域１５１は、３Ｄコンテンツ領域１５３と２Ｄコンテンツ領域１５４とから構成されている。３Ｄコンテンツ領域１５３と２Ｄコンテンツ領域１５４とは、隣接するように配置されている。また、この隣接する方向は、画面のスクロール方向に平行となるような方向である。３Ｄコンテンツ領域１５３は、仮想３次元空間を仮想カメラで撮像したものを投影するための領域である。つまり、仮想３次元空間画像を表示するための領域である。本実施形態では、上述したアバターの３Ｄモデル（アバターオブジェクト）がここに表示される。次に、２Ｄコンテンツ領域１５４は、２次元画像を表示するための領域である。本実施形態では、主に、サーバ１０１から受信したデータ（上記回答内容のデータ等）に基づいて生成された２次元画像がここに表示される。例えば、フレンドの回答内容に基づいたテキストが表示される。図５に、２Ｄコンテンツ領域１５４のより具体的な表示例を示す。図５では、２Ｄコンテンツ領域１５４の上端に、横に細長いタイトルバー１５５が表示される。その下に、パネル１５６が縦方向に３つ並べて表示されている。パネル１５６には１人分の回答内容に基づいた画像・テキストが示される。例えば、アバターの顔画像や、質問文とその回答内容が表示される。図５の例では、３人分の回答内容が同時に表示されている。換言すれば、２Ｄコンテンツ領域１５４には、複数のアイテム（パネル１５６）から構成されるリストが表示されているともいえる。
【００３１】
ところで、本実施形態では、更に他のフレンドの回答内容を閲覧したい場合、画面を縦方向にスクロールすることで、更に他のフレンドの回答内容を画面に表示することができる。ここで、上記図４のように、画面の上部に仮想３次元空間画像が表示され、その下に２次元画像が表示されるような画面の場合に、２次元画像部分をスクロールしたい場合は、タッチパネルへの縦方向へのスライド操作を行うことが考えられる。そして、このような操作を行った場合、一般的には、図４の２Ｄコンテンツ領域１５４の部分のみが縦方向にスクロールし、３Ｄコンテンツ領域１５３はスクロールせずに、その表示位置は固定されているという制御が行われる。しかし、本実施形態では、このようなスクロール操作を行った場合、コンテンツ領域１５１全体をスクロールさせるという制御を行う。つまり、図６に示すように、３Ｄコンテンツ領域１５３と２Ｄコンテンツ領域１５４とを同時に縦方向にスクロールさせる（なお、後述するメニュー領域１５２はスクロール制御対象ではなく、固定的に表示される）。換言すれば、３Ｄコンテンツ領域１５３と２Ｄコンテンツ領域１５４とを一体的にスクロールさせている。これは、このようなスクロール操作を行う場合、ユーザの関心は、３Ｄコンテンツ領域１５３よりも２Ｄコンテンツ領域１５４のほうに注がれているであろうとの観点によるものである。特に、本実施形態で想定するようなコミュニケーションツールにおいては、２Ｄコンテンツ領域１５４に他のユーザとのやりとりが表示されることが多いと考えられる。そして、例えば画面下方向へのスクロール操作が行われた場合は、この他のユーザとのやりとりを閲覧することへの関心度が高いと考えられる。そのため、限られた画面の大きさを有効活用するために、２Ｄコンテンツ領域１５４にかかる内容を画面により多く表示しようとするものである。従って、上記のような下方向へのスクロール操作を続けた結果、画面上には、３Ｄコンテンツ領域１５３が表示されない状態となる。また、この状態から上方向（逆方向）へのスクロール操作を行うと、図６のような画面を経て、最終的に上記図４のような画面に戻る。つまり、コンテンツ領域１５１全体がスクロール可能であり、そのスクロールの上端となる位置に３Ｄコンテンツ領域１５３が配置されているともいえる。
【００３２】
本実施形態にかかるスクロール制御の概念について、図を用いて補足説明する。図７および図８は、コンテンツ領域１５１と、実際に画面に表示される表示対象範囲１６１との関係を示す図である。図７および図８では、表示対象範囲１６１を太線の枠で示している。また、３Ｄコンテンツ領域１５３は斜線で示している。コンテンツ領域１５１は、情報処理の内部的には、画面の表示範囲以上の大きさを有している。なお、本実施形態では、上記２Ｄコンテンツ領域１５４に表示する内容として、一度に３０件分のデータをサーバ１０１から取得するものとする。そして、所定のタイミングでサーバ１０１から３０件分のデータが取得され、これに基づいた画像が２Ｄコンテンツ領域１５４の下方に適宜追加されていくものとする。
【００３３】
図７で示す状態は、３Ｄコンテンツ領域１５３の全体が、表示対象範囲１６１に含まれている状態を示す（例えば、アプリ開始後の初期状態はこのような状態となる）。この状態からユーザが少しだけ画面スクロールさせる操作を行うと、図８に示すような状態となる。つまり、コンテンツ領域１５１全体が上方向に移動するイメージである。
【００３４】
次に、コンテンツ領域１５１における上記スクロール操作以外の操作に関して簡単に説明する。まず、３Ｄコンテンツ領域１５３に対するタッチ入力操作について説明する。３Ｄコンテンツ領域１５３上でスワイプ操作が行われた場合は、そのスワイプ方向やスワイプ量(距離）に応じて、仮想カメラの位置、姿勢の制御が行われる。本実施形態では、仮想カメラはユーザのアバターを注視点として、その周りを周回するような動きが行われるものとする。つまり、仮想カメラの回転移動が行われる。また、３Ｄコンテンツ領域１５３に表示される特定のオブジェクトをタップ操作した場合は、そのオブジェクトに関連する所定の処理が実行される。例えば、ユーザのアバターの近傍に、フレンドアバターの顔画像を含む「吹き出し」が表示される。この吹き出しは、新着の回答内容で、未読（未確認）のものがあることを示す（いわば、新着メッセージ通知）。そして、ユーザがこの吹き出しをタップすると、フレンドアバターが当該仮想空間内に登場し（例えば部屋を訪問するような演出が行われる）、新着の回答内容に基づいたメッセージを表示する、という処理が実行される。また、ユーザがこの特定オブジェクト以外の位置をタップした場合は、図９に示すような、３Ｄコンテンツ領域１５３の最大化表示が行われる。すなわち、画面内に２Ｄコンテンツ領域１５４が表示されなくなる程度に３Ｄコンテンツ領域１５３の大きさを拡大して表示する。これにより、仮想３次元空間に対する各種操作を行いやすくすることができる。なお、他の実施形態では、３Ｄコンテンツ領域１５３の大きさは拡大するが、２Ｄコンテンツ領域１５４が表示されなくなる程度までは拡大しないようにしてもよい(最大化表示というよりは、３Ｄコンテンツ領域１５３の単なる拡大）。つまり、２Ｄコンテンツ領域１５４が狭くなるものの、画面内にはまだ２Ｄコンテンツ領域１５４は表示されている程度の拡大に留めておくようにしてもよい。
【００３５】
ここで、上記の３Ｄコンテンツ領域１５３への操作については、換言すれば、コンテンツ領域１５１のスクロール操作は、タッチ入力の始点が２Ｄコンテンツ領域１５４である場合にのみ発生し得るともいえる。つまり、スワイプ操作の入力の始点が３Ｄコンテンツ領域１５３である場合は、上記の仮想カメラ制御が行われることになる。
【００３６】
次に、２Ｄコンテンツ領域１５４に対する上記スクロール操作以外のタッチ入力操作について説明する。タップ操作の場合は、そのタップ位置の画像に応じた所定の処理が実行される。その他、本実施形態では、２Ｄコンテンツ領域１５４の内容を更新するための「リフレッシュ操作」というものがある。この操作は、上方向にそれ以上スクロールできない状態（３Ｄコンテンツ領域１５３が全て画面内に表示されている状態）において、２Ｄコンテンツ領域１５４にて下方向へのスワイプ操作を行う操作である。この操作により、サーバ１０１に対して最新データを取得する通信処理が行われ、その結果に応じて２Ｄコンテンツ領域１５４の表示内容が更新される。この操作が行われるときの画面制御について図１０〜図１２を用いて説明する。まず、図１０の状態で、ユーザが点１７１にタッチオンしたとする。この点１７１の位置は、２Ｄコンテンツ領域１５４の上端近く、画面全体で捉えると、中央からやや上の位置となっている。この点１７１を始点として、図１１に示すように、下方向へのスワイプ操作を行っていき、最終的に、図１２で示す点１７２の位置までスワイプしたとする。このスワイプ操作の距離に応じて、２Ｄコンテンツ領域１５４のうち、タイトルバー１５５を除く部分が徐々にグレーアウトしていくように表示される。また、この操作の際、タイトルバー１５５の表示内容も変化する。例えば、点１７１にタッチオンした後、スワイプ操作の距離が所定値以上になったときに、タイトルバーの表示内容が変更される。図１１、図１２の例では、スワイプ操作の距離に応じてタイトルバー１５５の中央から左右方向に伸びていくゲージを表示している。なお、スワイプ操作中に、タイトルバー１５５上に操作ガイドとなるテキスト等を表示するようにしてもよい（例えば、「引き下げて更新」等）。そして、点１７２までスワイプ操作を行った後（このとき、「指を離すと更新」のようにタイトルバー１５５の表示テキストを変化させてもよい）、ユーザがタッチオフを行うと、グレーアウト表示が解除され、２Ｄコンテンツ領域１５４の表示内容の更新が行われる。すなわち、タッチオフが検出されたタイミングでサーバへのデータ要求が行われ、当該要求に応じたデータ（本例では、２Ｄコンテンツ領域１５４に表示すべきデータ）がダウンロードされる。そして、当該ダウンロードしたデータに基づいて、２Ｄコンテンツ領域１５４の表示内容が更新される。なお、上記グレーアウト表示の際に用いる色については、どのような色を用いてもよい。例えば、他の実施形態では、白色を用いてもよいし（ホワイトアウト）、黒色を用いてもよい（ブラックアウト）。
【００３７】
次に、メニュー領域１５２について説明する。本実施形態のアプリでは、大きく４つのコンテンツが用意されている。そして、この４つのコンテンツを切り替えるためのボタンが、４つのメニューボタン１８１Ａ〜１８１Ｄとしてメニュー領域１５２に表示されている。この４つのコンテンツの一例として、本実施形態では、「新着」、「マイアンサー」、「フレンド」、「ショップ」が用意されている。各コンテンツに対応するメニューボタン１８１をタップすることで、ユーザは画面に表示されるコンテンツを切換えることができる。なお、本実施形態では、当該切り替えにより、２Ｄコンテンツ領域１５４の表示内容が変化し、３Ｄコンテンツ領域１５３の表示内容は当該切り替えに基づいては変化しないものとする。つまり、どのコンテンツを表示した場合でも、３Ｄコンテンツ領域１５３には、同じ仮想３次元空間を撮像した画像が表示されることになる（仮想３次元空間はコンテンツ間で共用されている）。換言すれば、仮想３次元空間については上記コンテンツの切り替えとは直接的には連動するものではない。
【００３８】
ここで、各コンテンツの概要について簡単に補足する。「新着」は、主にフレンドの回答内容を閲覧するためのコンテンツである。そのため、２Ｄコンテンツ領域１５４には、フレンドの回答内容に基づいた画像等が主に表示される。なお、本実施形態では、「既読」の回答内容が２Ｄコンテンツ領域１５４にされるものとする。「未読」のものは、例えば上記のようなアバターの吹き出しという形でユーザに通知される。そして、ユーザが吹き出しをタップすることで、「既読」として扱われ、２Ｄコンテンツ領域１５４に適宜追加表示されることになるものとする。
【００３９】
「マイアンサー」は、主にユーザ自身が回答した内容（質問とその回答内容）の履歴を閲覧するためのコンテンツである。２Ｄコンテンツ領域１５４には、ユーザ自身の回答内容に基づいた画像、テキスト等が主に表示される。「フレンド」は、主にフレンドを管理するためのコンテンツであり、２Ｄコンテンツ領域１５４は、フレンドを管理するためのユーザインターフェースの提供のために用いられる。「ショップ」は、例えばアバターのための着せ替えパーツ等を購入するためのコンテンツである。２Ｄコンテンツ領域１５４には、各種ショップへのリンク画像が表示される。また、このリンク画像へのタップに応じて各ショップに応じた画面が適宜表示され、パーツ購入のためのユーザインターフェースが提供される。
【００４０】
次に、上記のようなコンテンツを切り替える時の画面制御の例について、図１３〜図１８を用いて説明する。以下では、「新着」がメニューボタン１８１Ａに対応し、「マイアンサー」がメニューボタン１８１Ｂに対応し、「フレンド」がメニューボタン１８１Ｃに対応し、「ショップ」がメニューボタン１８１Ｄに対応しているものとして説明する。
【００４１】
まず、初期状態として、上記「新着」のコンテンツが表示されている状態であるとする。この状態で、メニューボタン１８１Ａがタップされた場合は、コンテンツ領域１５１が一番上まで自動的にスクロールする。すなわち、現在表示されているコンテンツと同じコンテンツのメニューボタン１８１がタップされた場合は、コンテンツ領域１５１の上端が画面に表示されるように自動的に画面スクロールが実行される。一方、現在表示されているコンテンツとは異なるコンテンツのメニューボタン１８１がタップされたときは、タップされたメニューボタン１８１に対応するコンテンツがコンテンツ領域に表示される。
【００４２】
ここで、異なるコンテンツへの切り替えに際して、本実施形態では、次のような画面制御が行われる。まず、操作の一例として、次のような操作を行われたとする。「新着」のコンテンツが表示されている状態で（図１３、３Ｄコンテンツ領域１５３は全部分が表示されている状態）、メニューボタン１８１Ｂがタップされることで、「マイアンサー」のコンテンツが表示される（図１４）。この画面で、３Ｄコンテンツ領域１５３が画面に表示されなくなるまでスクロール操作が行われたとする（図１５）。その後、メニューボタン１８１Ｃがタップされることで、「フレンド」のコンテンツが表示される（図１６）。この画面において、３Ｄコンテンツ領域１５３の略上半分だけが画面に表示されない程度までスクロール操作が行われる（図１７）。つまり、３Ｄコンテンツ領域１５３の一部が表示範囲内に残っている状態である。このような操作を行った状態から、「新着」コンテンツに切り替える場合と、「マイアンサー」コンテンツに切り替える場合を考える。まず、図１７の状態から、メニューボタン１８１Ａをタップして「新着」コンテンツに切り替えた場合、図１８に示すように、３Ｄコンテンツ領域１５３の表示位置は変わらずに、２Ｄコンテンツ領域１５４の内容だけが「新着」コンテンツの内容に切り替わるような制御となる。一方、図１７の状態から、メニューボタン１８１Ｂをタップして「マイアンサー」コンテンツに切り替えた場合は、「マイアンサー」コンテンツの最終表示状態、すなわち、３Ｄコンテンツ領域１５３が画面に含まれていない状態の画面のままで表示される。つまり、あるコンテンツから別のコンテンツへの切り替えが発生した際、最終的な画面において３Ｄコンテンツ領域１５３が含まれておらずに２Ｄコンテンツ領域のみが表示されていた場合は、その後、他のコンテンツから戻ってきた際、この最終的な画面の表示状態を復元する。一方、コンテンツの切り替え時の最終的な画面に３Ｄコンテンツ領域１５３が一部でも含まれていた場合は、他のコンテンツから戻ってきたとき、最新の３Ｄコンテンツ領域１５３の表示位置を反映させるようにする。上記図の例で言うと、「新着」コンテンツから「マイアンサー」コンテンツに切替えたとき、３Ｄコンテンツ領域１５３はその全てが画面に表示されている状態であった。その後、図１７の状態から「新着」コンテンツに戻ってきたときは、「新着」コンテンツから「マイアンサー」コンテンツへの切り替えの際には３Ｄコンテンツ領域１５３の全てが表示されていたにもかかわらず、「フレンド」コンテンツにおける３Ｄコンテンツ領域１５３の表示位置（最新の３Ｄコンテンツ領域１５３の表示位置）を反映してコンテンツ領域１５１が表示されている（そのため、少しだけスクロールされた状態となっている）。このように、本実施形態では、３Ｄコンテンツ領域１５３が表示範囲に含まれている状態でコンテンツの切り替えが行われたときは、その後、このコンテンツに切り替えられた際、最新の３Ｄコンテンツ領域１５３の表示位置を反映させる。一方、２Ｄコンテンツ領域１５４のみが画面に表示されている状態で他のコンテンツへの切り替えが行われた場合は、その後、他のコンテンツからこのコンテンツに切り替えられたとき、当該他のコンテンツで最終的に３Ｄコンテンツ領域１５３が表示されていたか否かにかかわらず、２Ｄコンテンツ領域１５４のみが画面に表示されている状態を復元して表示している。これは、次のような観点によるものである。２Ｄコンテンツ領域１５４のみが画面に表示されている状態は、ユーザの関心が２Ｄコンテンツ領域１５４の表示内容に向いている可能性が高いといえる。また、特定の位置の２Ｄコンテンツ領域の表示内容へユーザの関心が向いているともいえる。そこで、このような観点から、ユーザの関心が高かった表示状態（表示位置・表示内容）をそのまま復元することで、ユーザの利便性を高めようとするものである。
【００４３】
なお、３Ｄコンテンツ領域１５３が最大化表示されていた場合は、いずれかのメニューボタン１８１のタップ操作が、最大化表示の解除操作となる。
【００４４】
ここで、本実施形態では、２Ｄコンテンツ領域１５４の表示内容の更新については、原則として、以下の３つのタイミングで行われるものとする。まず、アプリ起動時のタイミングである。このタイミングで、各コンテンツの表示内容がサーバから取得される。この際、例えば上記「新着」、「マイアンサー」については、３０件分のデータが取得されるものとする。２つ目は、取得済みのデータ分（ここでは３０件）を越えて画面スクロールが行われたタイミングでも更新される。このタイミングでサーバから追加のデータ取得が行われる。最後は、上記のような「リフレッシュ操作」が行われたタイミングである。なお、他の実施形態では、２Ｄコンテンツ領域１５４の更新タイミングはこれに限らず、例えば定期的に自動更新するようにしてもよい。表示されているコンテンツの特性に合わせて適宜更新するようにしてもよい（あるコンテンツはリアルタイム更新し、別のコンテンツは手動更新する等）。
【００４５】
次に、図１９〜図２５を参照して、本実施形態における処理の動作をより詳細に説明する。
【００４６】
図１９は、スマートデバイス１０２のメインメモリ１１３に格納されるプログラムおよびデータの一例を示している。メインメモリ１１３には、アプリケーションプログラム２２１、操作データ２２２、仮想空間・３Ｄモデルデータ２２３、３Ｄ領域最新位置データ２２４、リフレッシュ操作フラグ２２５、最終表示状態データ２２６等が格納される。
【００４７】
アプリケーションプログラム２２１は、本実施形態に係るアプリケーションを実行するためのプログラムである。具体的には、後述する図２０のフローチャート処理を実行するためのプログラムである。
【００４８】
操作データ２２２は、操作部１１５に対して行われた各種操作内容を示すデータである。本実施形態では、操作部１１５としてのタッチパネルへの入力の有無、タッチ座標等を示すデータや、図示しない各種ボタンの押下状態等を示すデータが含まれている。
【００４９】
仮想空間・３Ｄモデルデータ２２３は、３Ｄコンテンツ領域１５３に投影される仮想３次元空間を構成するためのデータである。上記アバターの３Ｄモデル等が含まれる。
【００５０】
３Ｄ領域最新位置データ２２４は、上記のようなコンテンツ切り替え時の動作に際して用いられるデータであり、画面（表示範囲）内における３Ｄコンテンツ領域１５３の最新の表示位置を示すためデータである。
【００５１】
リフレッシュ操作フラグ２２５は、上述した「リフレッシュ操作」行われている状態か否かを示すためのフラグである。
【００５２】
最終表示状態データ２２６は、各コンテンツの表示切り替えが行われたとき、表示が切り替えられる前のコンテンツ領域１５１の最終的な表示状態（表示範囲）を示すためのデータである。コンテンツ毎に最終的な表示状態が記憶される。
【００５３】
次に、図２０〜図２５のフローチャートを参照して、スマートデバイス１０２のプロセッサ部１１１によって実行される処理の流れを説明する。なお、図２０におけるステップＳ２〜Ｓ１０の処理ループは、例えば６０フレーム毎に繰り返し実行されるものとする。
【００５４】
まず、本実施形態にかかるアプリケーションの起動命令が受け付けられると、ステップＳ１で、プロセッサ部１１１は、初期化処理を実行する。具体的には、本処理で用いられるデータを初期化する処理が実行される。更に、仮想空間・３Ｄモデルデータ２２３に基づいてアバターオブジェクト等の各種オブジェクトが生成され、仮想３次元空間内に配置される。また、仮想カメラも当該仮想３次元空間内に配置される。また、サーバ１０１へのアクセスが行われ、２Ｄコンテンツ領域１５４等に表示するためのデータの取得も行われる。そして、プロセッサ部１１１は、上記仮想３次元空間を上記仮想カメラで撮像した画像を３Ｄコンテンツ領域１５３に投影すると共に、サーバから取得したデータに基づいて２Ｄコンテンツ領域１５４に表示するための画像を生成する。そして、３Ｄコンテンツ領域１５３および２Ｄコンテンツ領域１５４を含んだコンテンツ領域１５１を画面に表示する。なお、初期状態では、２Ｄコンテンツ領域１５４には上記「新着」のコンテンツが表示されるものとする。
【００５５】
次に、ステップＳ２で、プロセッサ部１１１は操作データ２２２を取得する。続いて、ステップＳ３で、プロセッサ部１１１は、操作データ２２２に基づき、タップ操作が行われたか否かを判定する。タップ操作が行われていないときは（ステップＳ３でＮＯ）、後述のステップＳ５に処理が進められる。タップ操作が行われたときは（ステップＳ３でＹＥＳ）、次に、ステップＳ４で、プロセッサ部１１１は、タップ処理を実行する。
【００５６】
図２１は、上記ステップＳ４のタップ処理の詳細を示すフローチャートである。まず、ステップＳ２１で、プロセッサ部１１１は、操作データ２２２に基づき、３Ｄコンテンツ領域１５３内でのタップ操作が行われたか否かを判定する。３Ｄコンテンツ領域１５３内でのタップ操作のときは（ステップＳ２１でＹＥＳ）、ステップＳ２２で、プロセッサ部１１１は、予め定義されている特定のオブジェクト（例えば、上述した「吹き出し」のオブジェクト等）へのタップ操作が行われたか否かを判定する。その結果、特定のオブジェクトへのタップ操作が行われたときは（ステップＳ２２でＹＥＳ）、ステップＳ２３で、プロセッサ部１１１は、当該タップされたオブジェクトに応じた所定の処理を実行する。
【００５７】
一方、特定のオブジェクトへのタップ操作は行われていないときは（ステップＳ２２でＮＯ）、ステップＳ２４で、プロセッサ部１１１は、３Ｄコンテンツ領域を最大化して表示するための設定処理を実行する。具体的には、プロセッサ部１１１は、仮想カメラの画角を変更する。上記図９で示したように、最大化表示を行うと、縦長の画面で仮想３Ｄ空間画像を表示することになるため、画面のアスペクト比が変化することになる。そのため、仮想カメラの画角もこれに合わせて変更するものである。なお、この処理において、画角の変更と共にズームも行うように設定してもよい。例えば、最大化表示した際に、ユーザのアバターが所定の倍率でズームされて表示されるようにしてもよい。
【００５８】
一方、上記ステップＳ２１の判定の結果、３Ｄコンテンツ領域１５３内でのタップ操作ではないときは（ステップＳ２１でＮＯ）、次に、ステップＳ２５で、プロセッサ部１１１は、２Ｄコンテンツ領域１５４内でのタップ操作であるか否かを判定する。その結果、２Ｄコンテンツ領域１５４内でのタップ操作のときは（ステップＳ２５でＹＥＳ）、ステップＳ２６で、プロセッサ部１１１は、そのタップ位置（の画像）に応じた、２Ｄコンテンツ領域１５４に関する所定の処理を実行する。また、この処理に伴い、２Ｄコンテンツ領域１５４の表示内容も適宜更新される。
【００５９】
一方、ステップＳ２５の判定の結果、２Ｄコンテンツ領域１５４内でのタップ操作でもないときは（ステップＳ２５でＮＯ）、ステップＳ２７で、プロセッサ部１１１は、メニュー領域１５２内でのタップ操作であるか否かを判定する。メニュー領域１５２内でのタップ操作が行われたときは（ステップＳ２７でＹＥＳ）、ステップＳ２８で、プロセッサ部１１１は、メニュータップ処理を実行する。一方、メニュー領域１５２内でのタップ操作でもないときは（ステップＳ２７でＮＯ）、タップ処理は終了する。
【００６０】
図２２は、上記ステップＳ２８にかかるメニュータップ処理の詳細を示すフローチャートである。まず、ステップＳ３１で、プロセッサ部１１１は、３Ｄコンテンツ領域１５３の全画面表示状態であるか否かを判定する。その結果、全画面表示状態のときは（ステップＳ３１でＹＥＳ）、ステップＳ３２で、プロセッサ部１１１は、全画面表示を解除する処理を行う。そして、一旦、メニュータップ処理は終了する。
【００６１】
一方、ステップＳ３１の判定の結果、全画面表示中ではないときは（ステップＳ３１でＮＯ）、ステップＳ３３で、プロセッサ部１１１は、タップされたメニューボタン１８１を判別する。次に、ステップＳ３４で、プロセッサ部１１１は、現在表示中のコンテンツと同じコンテンツのメニューボタン１８１がタップされたか否かを判定する。その結果、現在表示中のコンテンツと同じコンテンツのメニューボタン１８１がタップされたときは（ステップＳ３４でＹＥＳ）、ステップＳ３５で、プロセッサ部１１１は、表示範囲がコンテンツ領域１５１の上端（先頭）に到達するまで、コンテンツ領域１５１を自動的にスクロールする。このときのスクロール速度は、速い速度であることが好ましい。なお、他の実施形態では、スクロールさせるのではなく、瞬時にコンテンツ領域１５１の上端部分が表示されるようにしてもよい。
【００６２】
一方、ステップＳ３４の判定の結果、現在表示中のコンテンツとは別のコンテンツに対応するメニューボタン１８１がタップされたときは（ステップＳ３４でＮＯ）、ステップＳ３６で、プロセッサ部１１１は、現在表示中のコンテンツ領域の表示状態（表示範囲）を示すデータを当該コンテンツに対応する最終表示状態データ２２６としてメインメモリ１１３に記憶する。次に、ステップＳ３７で、プロセッサ部１１１は、現在表示中のコンテンツ領域の表示範囲に３Ｄコンテンツ領域１５３が含まれているか否かを判定する。その結果、含まれているときは（ステップＳ３７でＹＥＳ）、３Ｄコンテンツ領域１５３の表示位置を示すデータを３Ｄ領域最新位置データ２２４としてメインメモリ１１３に記憶する。一方、含まれていないときは（ステップＳ３７でＮＯ）、当該ステップＳ３８の処理はスキップされる。
【００６３】
次に、ステップＳ３９で、プロセッサ部１１１は、切り替え先（遷移先）のコンテンツに対応する最終表示状態データ２２６を取得する。そして、ステップＳ４０で、プロセッサ部１１１は、当該取得した最終表示状態データ２２６に基づき、切り替え先となるコンテンツの最終表示状態において３Ｄコンテンツ領域１５３が表示範囲に含まれていたか否かを判定する。その結果、含まれていたときは（ステップＳ４０でＹＥＳ）、ステップＳ４１で、プロセッサ部１１１は、３Ｄ領域最新位置データ２２４に基づいて、切替先のコンテンツ領域の表示範囲を適宜調整したうえで、切替先のコンテンツにかかるコンテンツ領域１５１を画面に表示する。一方、含まれていなかったときは（ステップＳ４０でＮＯ）、ステップＳ４２で、プロセッサ部１１１は、上記取得した最終表示状態データ２２６に基づいて、切替先のコンテンツにかかるコンテンツ領域１５１を表示する。つまり、２Ｄコンテンツ領域１５４のみ表示されていた場合は、その状態のまま表示を復元することになる。以上で、メニュータップ処理は終了する。
【００６４】
図２０に戻り、上記ステップＳ３の判定の結果、タップ操作ではなかった場合（ステップＳ３でＮＯ）について説明する。この場合は、ステップＳ５で、プロセッサ部１１１は、スワイプ操作が行われたか否かを判定する。なお、ここでの判定対象となるスワイプ操作には、スワイプ操作中の状態（タッチオンが継続している状態）と、スワイプ操作が終了した直後の状態（スワイプ操作を行った後タッチオフした直後の状態）との双方の状態が含まれるものとする。
【００６５】
ステップＳ５の判定の結果、スワイプ操作が行われているときは（ステップＳ５でＹＥＳ）、ステップＳ６で、プロセッサ部１１１は、スワイプ処理を実行する。一方、スワイプ操作が行われていないときは（ステップＳ５でＮＯ）、ステップＳ７で、プロセッサ部１１１は、操作データ２２２に基づいたその他の処理を実行する。その後、後述のステップＳ８の処理に進む。
【００６６】
図２４は、上記ステップＳ６にかかるスワイプ処理の詳細を示すフローチャートである。まず、ステップＳ５１で、プロセッサ部１１１は、３Ｄコンテンツ領域１５３内でのスワイプ操作が行われたか否かを判定する。その結果、３Ｄコンテンツ領域１５３内でのスワイプ操作が行われているときは（ステップＳ５１でＹＥＳ）、ステップＳ５２で、プロセッサ部１１１は、そのスワイプ操作の方向および距離に基づいて、仮想空間内における仮想カメラの位置や姿勢を制御する。一方、スワイプ操作ではないときは（ステップＳ５１でＮＯ）、ステップＳ５３で、プロセッサ部１１１は、２Ｄコンテンツ領域１５４内でのスワイプ操作が行われたか否かを判定する。２Ｄコンテンツ領域１５４内でのスワイプ操作でもないときは（ステップＳ５３でＮＯ）、スワイプ処理は終了する。一方、２Ｄコンテンツ領域１５４内でのスワイプ操作が行われたときは（ステップＳ５３でＹＥＳ）、次に、ステップＳ５４で、プロセッサ部１１１は、当該スワイプ操作が上述した「リフレッシュ操作」に該当するか否かを判定する。具体的には、プロセッサ部１１１は、コンテンツ領域１５１の上端（３Ｄコンテンツ領域１５３の全体）が表示されている状態での、下方向へのスワイプ操作が行われたか否かを判定する。当該判定の結果、「リフレッシュ操作」に該当しないときは（ステップＳ５４でＮＯ）、ステップＳ５６で、プロセッサ部１１１は、スワイプ操作の距離および方向に応じて、コンテンツ領域の上下方向のいずれかの方向にスクロールする処理を実行する。一方、「リフレッシュ操作」に該当するときは（ステップＳ５４でＹＥＳ）、ステップＳ５５で、プロセッサ部１１１は、リフレッシュ処理を実行する。
【００６７】
図２５は、上記リフレッシュ処理の詳細を示すフローチャートである。まず、ステップＳ６１で、プロセッサ部１１１は、スワイプ操作が継続中の状態であるか否か、すなわち、タッチ入力が現在検出されている状態か、タッチオフ直後の状態かを判定する。その結果、スワイプ操作が継続している状態のときは（ステップＳ６１でＹＥＳ）、ステップＳ６２で、プロセッサ部１１１は、そのスワイプ操作の距離に応じて、２Ｄコンテンツ領域１５４（タイトルバー１５５部分を除く）が徐々にグレーアウトしていくような表示を行う。更に、ステップＳ６３で、プロセッサ部１１１は、スワイプ操作の距離に応じてタイトルバー１５５の表示内容を変更・更新する処理を実行する。例えば、「引き下げて更新」等のテキストを表示したり、上記図１１や図１２で示したようなゲージを横方向に伸ばしていくような表示が行われる。
【００６８】
次に、ステップＳ６４で、プロセッサ部１１１は、スワイプ操作の距離が予め定義されている所定値を越えたか否かを判定する。その結果、越えている場合は（ステップＳ６４でＹＥＳ）、ステップＳ６５で、プロセッサ部１１１は、リフレッシュ操作フラグ２２５をオンに設定する。一方、所定値を超えていないときは（ステップＳ６４でＮＯ）、当該ステップＳ６５の処理はスキップされる。これは、スワイプ操作における距離が十分な長さではないときは、タッチオフされても２Ｄコンテンツ領域のリフレッシュが行われないようにするためのものである。
【００６９】
次に、上記ステップＳ６１の判定の結果、スワイプ操作が継続中ではない、すなわち、スワイプ操作を行い、タッチオフした直後の状態であるときは（ステップＳ６１でＮＯ）、ステップＳ６６で、プロセッサ部１１１は、リフレッシュ操作フラグ２２５がオンであるか否かを判定する。その結果、オンの時は（ステップＳ６６でＹＥＳ）、ステップＳ６７で、プロセッサ部１１１は、サーバ１０１に対して、２Ｄコンテンツ領域１５４に表示すべき内容の最新データを要求する。そして、当該要求に応じたデータをサーバ１０１からダウンロードする。そして、プロセッサ部１１１は、当該ダウンロードしたデータに基づいて、２Ｄコンテンツ領域１５４の表示内容を更新する。その後、ステップＳ６８で、プロセッサ部１１１は、リフレッシュ操作フラグ２２５にオフを設定する。
【００７０】
一方、上記ステップＳ６６の判定の結果、リフレッシュ操作フラグ２２５がオフのときは（ステップＳ６６でＮＯ）、スワイプ距離が短い等で、リフレッシュ操作が途中でキャンセルされた場合に該当する。この場合は、ステップＳ６９で、プロセッサ部１１１は、２Ｄコンテンツ領域１５４がグレーアウト表示されているか否かを判定する。その結果、グレーアウト表示されていたときは（ステップＳ６９でＹＥＳ）、ステップＳ７０で、プロセッサ部１１１は、グレーアウト表示を解除する処理を行う。また、タイトルバー１５５の表示を変更していたときは、初期状態に戻す処理も実行する。一方、グレーアウト表示がされていなければ（ステップＳ６９でＮＯ）、当該ステップＳ７０の処理はスキップされる。以上で、リフレッシュ処理は終了する。
【００７１】
図２０に戻り、上記ステップＳ４のタップ処理、ステップＳ６のスワイプ処理、ステップＳ７のその他の処理のいずれかが終了すれば、次に、ステップＳ８で、プロセッサ部１１１は、上述の処理以外の仮想３次元空間内における所定の処理を実行する。つまり、ユーザの操作の有無に関係なく、仮想３次元空間の状態は更新されることになる。この処理では、例えば、新着の回答内容の有無をサーバに問い合わせ、あった場合は、上記のような吹き出しオブジェクトを生成して仮想３次元空間画像として表示するための処理が実行される。また、仮想空間内のオブジェクトの動作を制御する処理等も実行される。例えば、ユーザのアバターオブジェクト等を自発的に動かす（部屋の中を歩き回る動作等）処理が実行される。そして、ステップＳ９で、プロセッサ部１１１は、上記ステップＳ８の処理が反映された仮想３次元空間を仮想カメラで撮像することで３次元画像を生成し、当該画像を３Ｄコンテンツ領域１５３に投影する。つまり、３Ｄコンテンツ領域１５３に表示される画像が更新されることになる。この処理は、毎フレーム行われることになるため、表示範囲内に３Ｄコンテンツ領域１５３が含まれていない場合（つまり、仮想３次元画像が表示されていない状態）であっても、仮想３次元空間の様子（３Ｄコンテンツ領域１５３に投影される画像）は更新され続けていることになる。当然、画面スクロール操作中であっても、仮想３次元空間の様子は更新され続けている。
【００７２】
次に、ステップＳ１０で、プロセッサ部１１１は、本アプリケーションの終了条件が満たされたか否かを判定し、満たしていれば（ステップＳ１０でＹＥＳ）、本アプリケーションを終了する。満たしていなければ（ステップＳ１０でＮＯ）、上記ステップＳ２に戻り、上記の処理を繰り返す。以上で、本実施形態に係るアプリケーション処理の詳細説明を終了する。
【００７３】
このように、本実施形態では、１画面上に表示される３Ｄコンテンツ領域１５３と２Ｄコンテンツ領域１５４について、双方を一体的に画面スクロールする制御を行っている。これにより、３Ｄコンテンツ領域１５３と２Ｄコンテンツ領域１５４とのそれぞれに対するユーザが関心度の高さに応じて、限られた画面の大きさを有効活用し、ユーザの利便性を高めることができる。また、複数コンテンツが提供される場合に、その画面切り替えを行った際でも、切り替えの度にその表示が初期状態に戻る（例えば、切り替えの度にそのコンテンツの先頭部分が表示される）ことがなく、ユーザの利便性を高めることも可能である。
【００７４】
なお、上記の説明は、縦画面における縦方向スクロールの場合を例に説明したが、横画面における横方向スクロールを利用する場合も適用可能である。例えば、コンテンツ領域１５１の左端に３Ｄコンテンツ領域１５３を配置し、その右隣に２Ｄコンテンツ領域１５４を配置するようにしてコンテンツ領域を構成してもよい。
【００７５】
また、他の実施形態では、複数のコンテンツを切り替える場合に、各コンテンツの内容に応じたスクロール制御を行ってもよい。例えば、コンテンツＡが表示されているときは、上記のような３Ｄコンテンツ領域１５３と２Ｄコンテンツ領域１５４とを一体的にスクロール制御するが、コンテンツＢの場合は、３Ｄコンテンツ領域１５３の表示位置は固定的なものとし、２Ｄコンテンツ領域１５４のみをスクロールするような制御を行ってもよい。
【００７６】
また、上記実施形態では、上述のようなアプリケーションの一連の処理が単一のスマートデバイス１０２において実行される場合を説明したが、他の実施形態においては、上記一連の処理が複数の情報処理装置からなる情報処理システムにおいて実行されてもよい。例えば、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの一部の処理がサーバ側装置によって実行されてもよい。さらには、端末側装置と、当該端末側装置とネットワークを介して通信可能なサーバ側装置とを含む情報処理システムにおいて、上記一連の処理のうちの主要な処理がサーバ側装置によって実行され、当該端末側装置では一部の処理が実行されてもよい。また、上記情報処理システムにおいて、サーバ側のシステムは、複数の情報処理装置によって構成され、サーバ側で実行するべき処理を複数の情報処理装置が分担して実行してもよい。
【００７７】
（付記）上記した具体的実施形態から以下のような構成を抽出することが可能である。
（付記１）
ポインティングデバイスによる操作入力を受け付け可能な情報処理装置のコンピュータに実行させる情報処理プログラムであって、
複数の項目からなるリストを表示装置に表示させる第１表示制御手段と、
前記ポインティングデバイスによる継続した操作入力にしたがって前記複数の項目が徐々に同一色に変化するように、当該複数の項目を前記表示装置に表示させる第２表示制御手段と、
前記継続していた前記ポインティングデバイスの操作入力が途切れたことを検出した場合に、前記リストを更新して前記表示装置に表示させる第３表示制御手段として前記コンピュータを機能させる、情報処理プログラム。
（付記２）
前記リストをスクロールさせるスクロール制御手段としてさらに前記コンピュータを機能させ、
前記ポインティングデバイスによる継続した操作入力の方向は前記スクロールの方向と同一の方向である、付記１に記載の情報処理プログラム。
（付記３）
前記第２表示制御手段による表示とともに、前記ポインティングデバイスによる継続した操作入力に応じて長さが変化するオブジェクトを前記表示装置に表示させる第４表示制御手段として前記コンピュータをさらに機能させる、付記１または付記２に記載の情報処理プログラム。
（付記４）
前記第４表示制御手段は、前記ポインティングデバイスによる継続した操作入力の方向と直交する方向に長さが変化するように前記オブジェクトを表示させる、付記３に記載の情報処理プログラム。
（付記５）
前記第３表示制御手段は、前記第２表示制御手段により前記複数の項目が同一色となった後に、前記継続していた前記ポインティングデバイスの操作入力が途切れたことを検出した場合に、前記リストを更新する、付記１ないし付記４のいずれか一項に記載の情報処理プログラム。
【符号の説明】
【００７８】
１０２  スマートデバイス
１１１  プロセッサ部
１１２  内部記憶装置
１１３  メインメモリ
１１４  通信部
１１５  操作部
１１６  表示部
【図１】
2017142454.tif 000003
【図２】
2017142454.tif 000004
【図３】
2017142454.tif 000005
【図４】
2017142454.tif 000006
【図５】
2017142454.tif 000007
【図６】
2017142454.tif 000008
【図７】
2017142454.tif 000009
【図８】
2017142454.tif 000010
【図９】
2017142454.tif 000011
【図１０】
2017142454.tif 000012
【図１１】
2017142454.tif 000013
【図１２】
2017142454.tif 000014
【図１３】
2017142454.tif 000015
【図１４】
2017142454.tif 000016
【図１５】
2017142454.tif 000017
【図１６】
2017142454.tif 000018
【図１７】
2017142454.tif 000019
【図１８】
2017142454.tif 000020
【図１９】
2017142454.tif 000021
【図２０】
2017142454.tif 000022
【図２１】
2017142454.tif 000023
【図２２】
2017142454.tif 000024
【図２３】
2017142454.tif 000025
【図２４】
2017142454.tif 000026
【図２５】
2017142454.tif 000027