(57)【要約】【課題】ユーザにとって見やすい位置に表示要素が表示されるように画面のスクロールを停止する。【解決手段】情報処理装置１００の操作受付部１１１は、ポインティングデバイスを用いて表示装置の表示領域内の座標を指定するポインティング操作を受け付ける。設定部１１２は、操作受付部１１１により受け付けられたポインティング操作の開始座標と終了座標の位置関係に基づいて、表示領域にその一部が表示されるコンテンツのスクロールの停止位置を設定する。スクロール部１１３は、操作受付部１１１により受け付けられたポインティング操作に基づいて、コンテンツを、設定部１１２により設定された停止位置までスクロールする。【選択図】図５
2017004377.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
ポインティングデバイスを用いて表示装置の表示領域内の座標を指定するポインティング操作を受け付ける操作受付部と、
前記ポインティング操作の開始座標と終了座標の位置関係に基づいて、前記表示領域にその一部が表示されるコンテンツのスクロールの第１停止位置を設定する設定部と、
前記ポインティング操作に基づいて、前記コンテンツを前記第１停止位置までスクロールするスクロール部
として機能させるための情報処理プログラム。
【請求項２】
前記ポインティングデバイスは、タッチパネルである
請求項１に記載の情報処理プログラム。
【請求項３】
前記設定部は、
前記ポインティング操作に基づいて前記コンテンツのスクロールの第２停止位置をさらに設定し、
当該第２停止位置を、前記開始座標から前記終了座標に向かうベクトルに基づいて定まる方向に移動させることにより、前記第１停止位置を設定する
請求項１又は２に記載の情報処理プログラム。
【請求項４】
前記設定部は、前記ポインティング操作により指示されるスクロールの量が所定量未満である場合に、前記第２停止位置を、前記ベクトルに基づいて定まる方向に移動させることにより、前記第１停止位置を設定する
請求項３に記載の情報処理プログラム。
【請求項５】
前記設定部は、前記ポインティング操作により指示されるスクロールの量が前記所定量以上である場合には、前記第２停止位置を、前記ポインティング操作に基づいて定まる方向に移動させることにより、前記第１停止位置を設定する
請求項４に記載の情報処理プログラム。
【請求項６】
前記スクロール部は、前記コンテンツを前記第２停止位置までスクロールした後に、前記第１停止位置までスクロールする
請求項３又は４に記載の情報処理プログラム。
【請求項７】
前記設定部は、前記スクロール部により前記コンテンツが前記第２停止位置までスクロールされた結果、前記コンテンツを構成する一の表示要素が前記表示領域の境界をまたいで表示される場合に、当該一の表示要素が前記表示領域に含まれる領域が増加するように、前記第１停止位置を設定する
請求項６に記載の情報処理プログラム。
【請求項８】
前記設定部は、前記一の表示要素の外周の一部が、前記表示領域の境界と接するように、前記第１停止位置を設定する
請求項７に記載の情報処理プログラム。
【請求項９】
前記設定部は、前記境界のうち、前記ベクトルに基づいて定まる部分を前記一の表示要素がまたいで表示される場合に、前記一の表示要素が前記表示領域に含まれる領域が増加するように、前記第１停止位置を設定する
請求項７又は８に記載の情報処理プログラム。
【請求項１０】
前記コンテンツは、複数の表示要素が並べられることにより構成され、
前記スクロール部は、前記複数の表示要素が並べられる方向に前記コンテンツをスクロールする
請求項１乃至９のいずれか１項に記載の情報処理プログラム。
【請求項１１】
ポインティングデバイスを用いて表示装置の表示領域内の座標を指定するポインティング操作を受け付ける操作受付部と、
前記ポインティング操作の開始座標と終了座標の位置関係に基づいて、前記表示領域にその一部が表示されるコンテンツのスクロールの停止位置を設定する設定部と、
前記ポインティング操作に基づいて、前記コンテンツを前記停止位置までスクロールするスクロール部と
を備える表示制御装置。
【請求項１２】
ポインティングデバイスを用いて表示装置の表示領域内の座標を指定するポインティング操作を受け付ける操作受付部と、
前記ポインティング操作の開始座標と終了座標の位置関係に基づいて、前記表示領域にその一部が表示されるコンテンツのスクロールの停止位置を設定する設定部と、
前記ポインティング操作に基づいて、前記コンテンツを前記停止位置までスクロールするスクロール部と
を備える表示制御システム。
【請求項１３】
表示制御装置により実行される表示方法であって、
ポインティングデバイスを用いて表示装置の表示領域内の座標を指定するポインティング操作を受け付けるステップと、
前記ポインティング操作の開始座標と終了座標の位置関係に基づいて、前記表示領域にその一部が表示されるコンテンツのスクロールの停止位置を設定するステップと、
前記ポインティング操作に基づいて、前記コンテンツを前記停止位置までスクロールするステップと
を有する表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示装置に表示されるコンテンツをスクロールするための技術に関する。
【背景技術】
【０００２】
従来、表示装置の表示領域内に収まりきらないコンテンツを閲覧するための技術として、スクロールが知られている。例えば、特許文献１には、テンキーの操作によりディスプレイに表示される文章をスクロールできる携帯電話機が記載されている。この携帯電話機では、テンキーを押し続ける時間に応じてスクロール量が増加するようになっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−６６８０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に記載の技術では、テンキーを押し続ける時間によっては、文章を構成する単語が表示領域の境界にまたがって表示されてしまい、ユーザにとって読みづらい状況となる場合があった。
本発明は、このような事情に鑑みてなされたものであり、ユーザにとって見やすい位置に表示要素が表示されるように画面のスクロールを停止することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は、コンピュータを、ポインティングデバイスを用いて表示装置の表示領域内の座標を指定するポインティング操作を受け付ける操作受付部と、前記ポインティング操作の開始座標と終了座標の位置関係に基づいて、前記表示領域にその一部が表示されるコンテンツのスクロールの第１停止位置を設定する設定部と、前記ポインティング操作に基づいて、前記コンテンツを前記第１停止位置までスクロールするスクロール部として機能させるための情報処理プログラムを提供する。
【０００６】
前記ポインティングデバイスは、タッチパネルであってもよい。
前記設定部は、前記ポインティング操作に基づいて前記コンテンツのスクロールの第２停止位置をさらに設定し、当該第２停止位置を、前記開始座標から前記終了座標に向かうベクトルに基づいて定まる方向に移動させることにより、前記第１停止位置を設定してもよい。
前記設定部は、前記ポインティング操作により指示されるスクロールの量が所定量未満である場合に、前記第２停止位置を、前記ベクトルに基づいて定まる方向に移動させることにより、前記第１停止位置を設定してもよい。
前記設定部は、前記ポインティング操作により指示されるスクロールの量が前記所定量以上である場合には、前記第２停止位置を、前記ポインティング操作に基づいて定まる方向に移動させることにより、前記第１停止位置を設定してもよい。
前記スクロール部は、前記コンテンツを前記第２停止位置までスクロールした後に、前記第１停止位置までスクロールしてもよい。
前記設定部は、前記スクロール部により前記コンテンツが前記第２停止位置までスクロールされた結果、前記コンテンツを構成する一の表示要素が前記表示領域の境界をまたいで表示される場合に、当該一の表示要素が前記表示領域に含まれる領域が増加するように、前記第１停止位置を設定してもよい。
前記設定部は、前記一の表示要素の外周の一部が、前記表示領域の境界と接するように、前記第１停止位置を設定してもよい。
前記設定部は、前記境界のうち、前記ベクトルに基づいて定まる部分を前記一の表示要素がまたいで表示される場合に、前記一の表示要素が前記表示領域に含まれる領域が増加するように、前記第１停止位置を設定してもよい。
前記コンテンツは、複数の表示要素が並べられることにより構成され、前記スクロール部は、前記複数の表示要素が並べられる方向に前記コンテンツをスクロールしてもよい。
【０００７】
また、本発明は、ポインティングデバイスを用いて表示装置の表示領域内の座標を指定するポインティング操作を受け付ける操作受付部と、前記ポインティング操作の開始座標と終了座標の位置関係に基づいて、前記表示領域にその一部が表示されるコンテンツのスクロールの停止位置を設定する設定部と、前記ポインティング操作に基づいて、前記コンテンツを前記停止位置までスクロールするスクロール部とを備える表示制御装置を提供する。
【０００８】
また、本発明は、ポインティングデバイスを用いて表示装置の表示領域内の座標を指定するポインティング操作を受け付ける操作受付部と、前記ポインティング操作の開始座標と終了座標の位置関係に基づいて、前記表示領域にその一部が表示されるコンテンツのスクロールの停止位置を設定する設定部と、前記ポインティング操作に基づいて、前記コンテンツを前記停止位置までスクロールするスクロール部とを備える表示制御システムを提供する。
【０００９】
また、本発明は、表示制御装置により実行される表示方法であって、ポインティングデバイスを用いて表示装置の表示領域内の座標を指定するポインティング操作を受け付けるステップと、前記ポインティング操作の開始座標と終了座標の位置関係に基づいて、前記表示領域にその一部が表示されるコンテンツのスクロールの停止位置を設定するステップと、前記ポインティング操作に基づいて、前記コンテンツを前記停止位置までスクロールするステップとを有する表示方法を提供する。
【発明の効果】
【００１０】
本発明によれば、ユーザにとって見やすい位置に表示要素が表示されるように画面のスクロールを停止することができる。
【図面の簡単な説明】
【００１１】
【図１】情報処理装置１００のハードウェア構成の一例を示すブロック図である。
【図２】メインメモリ１２０のメモリマップの一例を示す図である。
【図３】レイアウトデータＤ８の一例を示す図である。
【図４】表示画面の一例を示す図である。
【図５】スクロール動作を実現するための機能の構成の一例を示すブロック図である。
【図６】メニュー処理の一例を示すフローチャートである。
【図７】メニュー処理の一例を示すフローチャートである。
【図８】コンテンツＣが配置される仮想空間Ｖの一例を示す図である。
【図９】慣性タッチオフ処理の一例を示すフローチャートである。
【図１０】スクロール量調整処理の一例を示すフローチャートである。
【図１１】補間スライド処理の一例を示すフローチャートである。
【図１２】レイアウトデータＤ８の一例を示す図である。
【図１３】表示画面の一例を示す図である。
【図１４】レイアウトデータＤ８の一例を示す図である。
【図１５】表示画面の一例を示す図である。
【図１６】レイアウトデータＤ８の一例を示す図である。
【図１７】表示画面の一例を示す図である。
【図１８】レイアウトデータＤ８の一例を示す図である。
【図１９】表示画面の一例を示す図である。
【発明を実施するための形態】
【００１２】
１．実施形態
１−１．ハードウェア構成
図１は、情報処理装置１００のハードウェア構成の一例を示すブロック図である。情報処理装置１００は、例えば、スマートフォンやタブレット端末や携帯型のゲーム機等のコンピュータ装置である。あるいは、据え置き型のコンピュータ装置である。情報処理装置１００は、本発明に係る「表示制御装置」の一例である。情報処理装置１００は、ＣＰＵ（Central Processing Unit）１１０と、メインメモリ１２０と、保存用データメモリ１３０と、タッチパネル１４０と、操作ボタン１５０と、通信モジュール１６０とを備える。
【００１３】
ＣＰＵ１１０は、メインメモリ１２０や保存用データメモリ１３０に記憶されるプログラムを実行するための演算処理装置である。メインメモリ１２０は、ＣＰＵ１１０によりワーク領域やバッファ領域として利用される記憶装置である。例えば、ＰＳＲＡＭ（Pseudo-SRAM）である。
【００１４】
図２は、メインメモリ１２０のメモリマップの一例を示す図である。メインメモリ１２０は、プログラム記憶領域１２１と、データ記憶領域１２２とを備える。プログラム記憶領域１２１には、後述するメニュー処理を実行するためのメニュー処理プログラムＰ等が、保存用データメモリ１３０から読み込まれる。データ記憶領域１２２には、後述するメニュー処理で利用される、慣性演出用データＤ１と、慣性演出フラグＤ２と、操作データＤ３と、前回入力座標データＤ４と、前々回入力座標データＤ５と、タッチオン座標データＤ６と、タッチオフ座標データＤ７と、レイアウトデータＤ８等が記憶される。
【００１５】
慣性演出用データＤ１は、後述する慣性スクロールにかかる処理（以下、「慣性演出」と呼ぶ）で用いられるデータである。慣性演出フラグＤ２は、慣性演出の実行中であるか否かを示すためのフラグである。本フラグがオンに設定されているときは、慣性演出が実行されている最中であることを示す。
【００１６】
操作データＤ３は、タッチパネル１４０に対する入力状態を示すデータである。操作データＤ３には、入力座標を示すデータも含まれる。前回入力座標データＤ４は、直前のフレームにおいて検出されたタッチパネル１４０への入力座標を示すデータである。直前のフレームにおいて入力が検出されなかったときは、当該データは空となる。一方、入力が検出されたときは、その入力座標が格納される。このデータを参照することで、ドラッグ操作等におけるタッチ位置（入力座標）の変化や、ひいては指示体（例えば、指やスタイラス）の移動量等を算出することができる。前々回入力座標データＤ５は、上記の前回入力座標データの１つ前に検出された入力座標を示すデータである。すなわち、現在のフレームから２つ前のフレームにおいて検出された入力座標を示すデータである。
【００１７】
タッチオン座標データＤ６は、タッチパネル１４０から離れていた指示体がタッチパネル１４０にタッチ（接触）した位置の座標を示すデータである。タッチオフ座標データＤ７は、タッチパネル１４０にタッチ（接触）していた指示体がタッチパネル１４０から離れた位置の座標を示すデータである。
【００１８】
レイアウトデータＤ８は、タッチパネル１４０に表示される画面のレイアウトを示すデータである。タッチパネル１４０には、このデータに基づいて画面が表示される。
【００１９】
図３は、レイアウトデータＤ８の一例を示す図である。図４は、図３に示されるレイアウトデータＤ８に基づいて表示される画面の一例を示す図である。レイアウトデータＤ８は、タッチパネル１４０の表示領域Ｒに関するデータと、タッチパネル１４０に表示されるコンテンツＣに関するデータとにより構成される。表示領域Ｒに関するデータは、表示領域Ｒの左上端のｘｙ座標（画素位置）と、幅と、高さのデータにより構成される。図３及び図４に示される例では、それぞれ、「（０，０）」、「８５０（画素）」、「４８０（画素）」となっている。コンテンツＣに関するデータは、コンテンツＣを構成する各表示要素の要素ＩＤと、左上端のｘｙ座標（画素位置）と、幅と、高さのデータにより構成される。図３及び図４に示される例では、例えば、表示要素Ｃ１については、それぞれ「（３０，７０）」、「８２０（画素）」、「１１０（画素）」となっている。
【００２０】
ここで、コンテンツＣは、例えば、ゲーム等のアプリケーションのメニュー画面である。具体的には、ゲームのステージの選択画面や、ゲーム内の所持アイテムの一覧画面や、ネットワークゲームにおける他のユーザの一覧画面等である。あるいは、コンテンツＣは、Ｗｅｂページや、電子書籍コンテンツである。コンテンツＣを構成する表示要素は、例えば、テキストや画像（静止画又は動画）である。
以上が、メインメモリ１２０についての説明である。
【００２１】
次に、保存用データメモリ１３０は、ＣＰＵ１１０により実行されるプログラムや各種データを記憶する不揮発性の記憶装置である。例えば、フラッシュメモリやハードディスクである。保存用データメモリ１３０は、メニュー処理プログラムＰを記憶する。保存用データメモリ１３０は、情報処理装置１００から着脱可能であってもよい。
【００２２】
タッチパネル１４０は、表示パネルと、当該表示パネル上に重ねられたタッチセンサとにより構成される。表示パネルは、例えば、液晶ディスプレイや、有機ＥＬ（Electro-luminescence）ディスプレイ等の表示装置である。タッチセンサは、例えば、静電容量方式や抵抗膜方式のタッチセンサである。タッチパネル１４０は、所定のフレームレートでタッチ対象の検出を試行し、タッチ位置データを生成して操作データＤ３としてＣＰＵ１１０に出力する。タッチ位置データは、例えば、タッチパネル１４０の入力面に対して入力が行われた位置の座標を示すデータである。タッチパネル１４０は、本発明に係る「ポインティングデバイス」の一例である。ここでポインティングデバイスとは、コンピュータの画面上で任意の位置（または座標）を指定するために用いる装置である。
【００２３】
操作ボタン１５０は、十字キーやプッシュボタン等の操作子である。操作ボタン１５０は、入力状況（押下されたか否か）を示す操作データをＣＰＵ１１０に出力する。
【００２４】
通信モジュール１６０は、データ通信カード等の通信インタフェースである。通信モジュール１６０は、他の装置とのデータ通信を制御する。
【００２５】
１−２．機能構成
情報処理装置１００の機能構成について説明する。具体的には、後述するメニュー処理において実行するスクロール動作を実現するための機能の構成について説明する。
【００２６】
図５は、スクロール動作を実現するための機能の構成の一例を示すブロック図である。ＣＰＵ１１０は、保存用データメモリ１３０に記憶されるメニュー処理プログラムＰをメインメモリ１２０に読み出して実行することにより、大略、操作受付部１１１と、設定部１１２と、スクロール部１１３とを提供する。
【００２７】
操作受付部１１１は、タッチパネル１４０を用いた、当該パネルの表示領域Ｒの座標を指定するポインティング操作を受け付ける。このポインティング操作は、表示領域Ｒにその一部が表示されるコンテンツＣをスクロールさせるための操作である。具体的には、ドラッグ操作やフリック操作等の操作である。ここでドラッグ操作とは、本実施形態においては、指示体をタッチパネル１４０にタッチオンして一定の方向にスライド移動させる操作である。一方、フリック操作は、指示体をタッチパネル１４０にタッチオンして表示面を軽く払うようにしてタッチオフする操作である。フリック操作を行った場合、タッチオフした後も、フリック操作の強さに応じた慣性力によって短時間スクロールが継続する。この慣性力によるスクロールを「慣性スクロール」と呼ぶ。操作受付部１１１は、メインメモリ１２０に記憶される各種データを参照して、ドラッグ操作とフリック操作を判別する。
【００２８】
設定部１１２は、コンテンツＣのスクロールの第１停止位置を設定する。この際、設定部１１２は、操作受付部１１１により受け付けられたポインティング操作の開始座標と終了座標の位置関係に基づいて、第１停止位置を設定する。より具体的には、設定部１１２は、まず、当該ポインティング操作に基づいてコンテンツＣのスクロールの第２停止位置を設定し、この第２停止位置を、当該ポインティング操作の開始座標から終了座標に向かうベクトルに基づいて定まる方向に移動させることにより、第１停止位置を設定する。
【００２９】
第２停止位置を設定する際、設定部１１２は、例えば、ドラッグ操作又はフリック操作に基づいて当該停止位置を設定する。フリック操作に基づいて設定する場合には、そのタッチオフ直前の所定時間内のフレームにおいて検出された入力座標を参照する。第１停止位置を設定する際は、設定部１１２は、例えば、第２停止位置を、操作受付部１１１により受け付けられたポインティング操作の開始座標から終了座標に向かうベクトルの方向に移動させる。または、コンテンツＣを垂直方向にスクロールさせる場合には、当該ベクトルの縦方向成分と同じ方向に移動させる。または、コンテンツＣを水平方向にスクロールさせる場合には、当該ベクトルの横方向成分と同じ方向に移動させる。設定部１１２は、メインメモリ１２０に記憶される各種データを参照して、第１及び第２停止位置を設定し、それぞれをメインメモリ１２０に格納する。ただし、フリック操作に基づいて設定された第２停止位置を示すデータについては、メインメモリ１２０に格納しなくてもよい。
【００３０】
設定部１１２は、補間スライド処理部１１４と、スクロール量調整処理部１１５とを備える。補間スライド処理部１１４は、操作受付部１１１により受け付けられたポインティング操作により指示されるスクロールの量が所定量未満である場合に、上記の第２停止位置を、上記のベクトルに基づいて定まる方向に移動させることにより、上記の第１停止位置を設定する。具体的には、補間スライド処理部１１４は、操作受付部１１１によりドラッグ操作が受け付けられた場合に、このように第１停止位置を設定する。この際、補間スライド処理部１１４は、ドラッグ操作のタッチオフ直前の所定時間内のフレームにおいて検出された入力座標を無視してもよい。
【００３１】
補間スライド処理部１１４は、上記の第１停止位置を設定する際、コンテンツＣが上記の第２停止位置までスクロールされた結果、コンテンツＣを構成する表示要素が表示領域Ｒの境界をまたいで表示される場合には、この表示要素が表示領域Ｒに含まれる領域が増加するように設定する。例えば、補間スライド処理部１１４は、当該表示要素の全体が表示領域Ｒに含まれるように第１停止位置を設定する。この際、補間スライド処理部１１４は、当該表示要素の外周の一部が、表示領域Ｒの境界と接するように、第１停止位置を設定してもよい。すなわち、当該表示要素を表示領域Ｒの境界に対してスナップ、接着又は吸着させてもよい。または、補間スライド処理部１１４は、表示領域Ｒのうち、上記のベクトルに基づいて定まる部分を当該表示要素がまたいで表示される場合に、この表示要素が表示領域Ｒに含まれる領域が増加するように第１停止位置を設定するようにしてもよい。
【００３２】
ここで、上記のベクトルに基づいて定まる部分とは、例えば、表示領域Ｒが矩形形状を有する場合であって、コンテンツＣを垂直方向にスクロールする場合であり、さらに、上記ベクトルの縦方向成分が上向きである場合には、表示領域Ｒの下辺に相当する。上記ベクトルの縦方向成分が下向きである場合には、表示領域Ｒの上辺に相当する。一方、コンテンツＣを水平方向にスクロールする場合であり、さらに、上記ベクトルの横方向成分が右向きである場合には、表示領域Ｒの左辺に相当する。上記ベクトルの横方向成分が左向きである場合には、表示領域Ｒの右辺に相当する。
【００３３】
なお、他の実施形態として、補間スライド処理部１１４は、表示領域Ｒのうち、固定的に設定された部分を当該表示要素がまたいで表示される場合に、この表示要素が表示領域Ｒに含まれる領域が増加するように第１停止位置を設定するようにしてもよい。ここで、固定的に設定された部分は、例えば、表示領域Ｒが矩形形状を有する場合であって、コンテンツＣを垂直方向にスクロールする場合には、表示領域Ｒの上辺又は下辺となる。一方、コンテンツＣを水平方向にスクロールする場合には、表示領域Ｒの右辺又は左辺となる。
【００３４】
次に、スクロール量調整処理部１１５は、操作受付部１１１により受け付けられたポインティング操作により指示されるスクロールの量が所定量以上である場合に、上記の第２停止位置を、当該ポインティング操作に基づいて定まる方向に移動させることにより、上記の第１停止位置を設定する。具体的には、スクロール量調整処理部１１５は、操作受付部１１１によりフリック操作が受け付けられた場合に、このように第１停止位置を設定する。
【００３５】
次に、スクロール部１１３は、操作受付部１１１により受け付けられたポインティング操作に基づいて、コンテンツＣを、設定部１１２により設定された第１停止位置までスクロールする。この際、スクロール部１１３は、具体的には、メインメモリ１２０に格納される表示領域Ｒの座標値を参照してコンテンツＣをスクロールする。スクロール部１１３は、操作受付部１１１によりドラッグ操作が受け付けられた場合には、コンテンツＣを上記の第２停止位置までスクロールした後に、上記の第１停止位置までスクロールする。また、スクロール部１１３は、コンテンツＣが複数の表示要素が並べられることにより構成されている場合に、これら複数の表示要素が並べられる方向にコンテンツＣをスクロールするようにしてもよい。
【００３６】
１−３．動作
１−３−１．メニュー処理
情報処理装置１００において実行されるメニュー処理について説明する。
【００３７】
図６および図７は、メニュー処理の一例を示すフローチャートである。情報処理装置１００の電源が投入されると、情報処理装置１００のＣＰＵ１１０は、図示せぬブートＲＯＭに記憶されている起動プログラムを実行し、メインメモリ１２０等の各ユニットを初期化する。そして、保存用データメモリ１３０に格納されたメニュー処理プログラムＰをメインメモリ１２０に読み込み、当該プログラムの実行を開始する。
【００３８】
まず、ステップＳ１において、ＣＰＵ１１０は、以降の処理において用いられるデータの初期化処理を実行する。具体的には、コンテンツＣを生成して仮想空間Ｖに配置する。
【００３９】
図８は、コンテンツＣが配置される仮想空間Ｖの一例を示す図である。仮想空間Ｖには図示せぬ仮想カメラが配置され、仮想空間内に配置されるコンテンツＣのうち、この仮想カメラにより撮影された領域がタッチパネル１４０に表示される。この仮想カメラで撮影される範囲を表示領域Ｒと呼ぶ。コンテンツＣは、仮想カメラ（表示領域Ｒ）に対して垂直方向にスライド可能に配置されており、コンテンツＣを仮想カメラ（表示領域Ｒ）に対してスライドさせることにより、コンテンツＣのスクロールが実現される。以下の説明では、コンテンツＣを表示領域Ｒに対して上方向にスライドさせることを、「コンテンツＣを上方向にスクロールする」と言う。一方、コンテンツＣを表示領域Ｒに対して下方向にスライドさせることを、「コンテンツＣを下方向にスクロールする」と言う。
【００４０】
なお、コンテンツＣの方を固定して、仮想カメラ（表示領域Ｒ）の方を垂直方向にスライドさせることによりコンテンツＣのスクロールを実現するという方法も考えられる。本動作の説明で採用しているスクロール処理の手法はあくまで一例であり、他の手法を採用してもよい。仮想カメラを用いない手法でもよい。
【００４１】
ステップＳ１の実行後、ＣＰＵ１１０は、ステップＳ２〜Ｓ２３の処理ループを１フレーム毎に繰り返すことにより、メニュー処理を進行していく。
【００４２】
ステップＳ２においてＣＰＵ１１０は、メインメモリ１２０から操作データＤ３を取得する。次に、ＣＰＵ１１０は、取得した操作データＤ３を参照して、タッチパネル１４０に対するタッチ入力が行われているか否かを判定する（ステップＳ３）。この結果、タッチ入力が行われていると判定したときは（ステップＳ３：ＹＥＳ）、ＣＰＵ１１０は、その入力座標値を取得する。そして次に、継続的なタッチ入力が行われているか否かを判定する（ステップＳ４）。具体的には、メインメモリ１２０において前回入力座標データＤ４に何らかのデータが設定されているか否かを判定する。この結果、継続的なタッチ入力が行われていないと判定したときは（ステップＳ４：ＮＯ）、検出されたタッチ入力はタッチオンに該当するため、ＣＰＵ１１０は、取得した入力座標値のデータをタッチオン座標データＤ６としてメインメモリ１２０に格納する（ステップＳ５）。
【００４３】
次に、ＣＰＵ１１０は、慣性演出中か否かを判定する（ステップＳ６）。具体的には、メインメモリ１２０に格納される慣性演出フラグＤ２を参照して、フリック操作による慣性スクロールがまだ継続している状態であるか否かを判定する。この結果、慣性演出中であると判定したときは（ステップＳ６：ＹＥＳ）、ＣＰＵ１１０は、慣性演出をキャンセルする処理を実行する（ステップＳ７）。一方、慣性演出中ではないと判定したときは（ステップＳ６：ＮＯ）、ＣＰＵ１１０は、ステップＳ７の処理をスキップする。次に、ＣＰＵ１１０は、タッチオン時処理を実行する（ステップＳ８）。この処理では、上記の入力座標に応じて適宜所定の処理を実行する。例えば、タッチオンされた表示要素の説明を表示するための処理を実行する。より具体的には、タッチオンされた表示要素の説明をポップアップ表示するための処理を実行する。その後、ＣＰＵ１１０は、ステップＳ１３の処理に進む。
【００４４】
上記のステップＳ４の判定の結果、継続的タッチ入力が行われていると判定したときは（ステップＳ４：ＹＥＳ）、ＣＰＵ１１０は、操作内容がドラッグ操作（すなわち、スクロール操作）であるか否かを判定する（ステップＳ９）。具体的には、操作データＤ３と前回入力座標データＤ４とで示される入力座標の変化量が所定値以上であるか否かを判定する。当該変化量が所定値以上であれば、ドラッグ操作が行われたと判定する。この判定の結果、操作内容がドラッグ操作であると判定した場合には（ステップＳ９：ＹＥＳ）、ＣＰＵ１１０は、コンテンツＣのスクロールを行うための各種パラメータを特定する（ステップＳ１０）。具体的には、操作データＤ３と前回入力座標データＤ４とで示される入力座標の変化量および変化方向に応じて、コンテンツＣのスクロール量とスクロール方向とを特定する。そして、特定したスクロール量とスクロール方向とに基づいてレイアウトデータＤ８を更新する（ステップＳ１１）。具体的には、表示領域Ｒの座標値を更新する。
【００４５】
上記のステップＳ９の判定の結果、操作内容がドラッグ操作でない（すなわち、操作内容が、同じ位置に対する継続的なタッチである）と判定した場合には（ステップＳ９：ＮＯ）、ＣＰＵ１１０は、ステップＳ１０およびＳ１１をスキップする。
【００４６】
次に、ＣＰＵ１１０は、前回入力座標データＤ４の設定を行う（ステップＳ１２）。具体的には、前回入力座標データＤ４を前々回入力座標データＤ５としてメインメモリ１２０に格納する。また、上記のステップＳ２で取得した操作データＤ３に含まれるタッチ位置の入力座標を示すデータを前回入力座標データＤ４としてメインメモリ１２０に格納する。次に、ＣＰＵ１１０は、表示処理を実行する（ステップＳ１３）。具体的には、レイアウトデータＤ８を参照して画像を生成し、タッチパネル１４０に表示させる。その後、ＣＰＵ１１０は、ステップＳ２に戻る。
【００４７】
上記のステップＳ３の判定の結果、タッチ入力がなされていないと判定したときは（ステップＳ３：ＮＯ）、ＣＰＵ１１０は、現在の操作状態がタッチオフに該当するか否かを判定する（ステップＳ１４）。具体的には、前回入力座標データＤ４を参照して、何らかのデータが記憶されている場合にはタッチオフと判定し、前回入力座標データＤ４が空の場合には、タッチオフではない（つまり、タッチしていない状態が継続している）と判定する。この判定の結果、タッチオフに該当すると判定したときは（ステップＳ１４：ＹＥＳ）、ＣＰＵ１１０は、取得した入力座標値のデータをタッチオフ座標データＤ７としてメインメモリ１２０に格納する（ステップＳ１５）。
【００４８】
次に、ＣＰＵ１１０は、現在の操作状態がフリック操作による慣性のついたタッチオフであるか否かを判定する（ステップＳ１６）。具体的には、前回入力座標データＤ４と前々回入力座標データＤ５とで示される入力座標の変化量が所定値以上であるか否かを判定する。当該変化量が所定値以上であれば、フリック操作が行われ慣性のついたタッチオフが発生したと判定する。この判定の結果、慣性のついたタッチオフが行われたと判定したときは（ステップＳ１６：ＹＥＳ）、ＣＰＵ１１０は、慣性タッチオフ処理を実行する（ステップＳ１７）。この処理は、慣性演出を行うための処理である。
【００４９】
図９は、慣性タッチオフ処理の一例を示すフローチャートである。この処理においてＣＰＵ１１０は、まずステップＳ３１において、慣性スクロールを行うための各種パラメータを算出する。具体的には、前回入力座標データＤ４と前々回入力座標データＤ５とで示される入力座標の変化量および変化方向に応じて、スクロール量（以下、「基本スクロール量」と呼ぶ）とスクロール方向とを特定する。次に、ＣＰＵ１１０は、スクロール量調整処理を実行する（ステップＳ３２）。この処理は、画面に表示される表示要素がユーザにとって見やすい位置に表示されるようにコンテンツＣを慣性スクロールするための処理である。
【００５０】
図１０は、スクロール量調整処理の一例を示すフローチャートである。この処理のステップＳ５１においてＣＰＵ１１０は、コンテンツＣを慣性スクロールした後の表示領域Ｒの仮座標値を算出する。具体的には、特定した基本スクロール量およびスクロール方向と、レイアウトデータＤ８とに基づいて、表示領域Ｒの仮座標値を算出する。次に、ＣＰＵ１１０は、スクロール調整方向を特定する（ステップＳ５２）。具体的には、タッチオン座標データＤ６とタッチオフ座標データＤ７とを参照し、タッチオン座標からタッチオフ座標に向かうベクトルの方向に基づいてスクロール調整方向を特定する。
【００５１】
次に、ＣＰＵ１１０は、コンテンツＣを慣性スクロールした場合に、表示領域Ｒの境界をまたいで表示される表示要素が存在するか否かを判定する（ステップＳ５３）。具体的には、表示領域Ｒの境界のうち、特定したスクロール調整方向に対応する境界部分をまたいで表示されている表示要素が存在するか否かを、レイアウトデータＤ８を参照して判定する。この結果、境界部分をまたいで表示される表示要素が存在すると判定した場合には（ステップＳ５３：ＹＥＳ）、ＣＰＵ１１０は、その表示要素を特定する。
【００５２】
次に、ＣＰＵ１１０は、特定した表示要素全体を表示領域Ｒ内に表示するために必要な補正スクロール量を特定する（ステップＳ５４）。具体的には、レイアウトデータＤ８を参照して、特定した表示要素の座標値と、算出した表示領域の仮座標値とに基づいて、補正スクロール量を特定する。次に、ＣＰＵ１１０は、特定した基本スクロール量に、特定した補正スクロール量を加算して、実スクロール量を算出する（ステップＳ５５）。次に、ＣＰＵ１１０は、算出した実スクロール量と、上記の特定したスクロール方向とに基づいて、レイアウトデータＤ８を更新する（ステップＳ５６）。具体的には、表示領域Ｒの座標値を更新する。また、ＣＰＵ１１０は、算出した実スクロール量と、上記の特定したスクロール方向とを慣性演出用データＤ１としてメインメモリ１２０に格納する（ステップＳ５７）。
【００５３】
上記のステップＳ５３の判定の結果、境界部分をまたいで表示される表示要素が存在しないと判定した場合には（ステップＳ５３：ＮＯ）、ＣＰＵ１１０は、補正スクロール量として零を特定し、ステップＳ５５の処理に進む。以上で、スクロール量調整処理は終了する。
【００５４】
図９に戻り、ステップＳ３２のスクロール量調整処理が完了すると、ＣＰＵ１１０は、メインメモリ１２０において慣性演出フラグＤ２をオンに設定する（ステップＳ３３）。そして、慣性演出を開始する（ステップＳ３４）。この結果、コンテンツＣが慣性スクロールされる。以上で、慣性タッチオフ処理は終了する。
【００５５】
図７に戻り、ステップＳ１７の慣性タッチオフ処理が完了すると、ＣＰＵ１１０は、後述するステップＳ１９の処理に進む。
【００５６】
上記のステップＳ１６の判定の結果、ＣＰＵ１１０が、慣性のついたタッチオフが行われていない（つまり、フリック操作によらない通常のタッチオフが行われた）と判定したときは（ステップＳ１６：ＮＯ）、ＣＰＵ１１０は、補間スライド処理を実行する（ステップＳ１８）。この処理は、画面に表示されている表示要素がユーザにとって見やすい位置に表示されるようにコンテンツＣをスクロールするための処理である。
【００５７】
図１１は、補間スライド処理の一例を示すフローチャートである。この処理のステップＳ７１においてＣＰＵ１１０は、補間スライド方向を特定する。具体的には、タッチオン座標データＤ６とタッチオフ座標データＤ７とを参照し、タッチオン座標からタッチオフ座標に向かうベクトルの方向に基づいて補間スライド方向を特定する。次に、ＣＰＵ１１０は、表示領域Ｒの境界をまたいで表示されている表示要素が存在するか否かを判定する（ステップＳ７２）。具体的には、表示領域Ｒの境界のうち、特定した補間スライド方向に対応する境界部分をまたいで表示されている表示要素が存在するか否かを、レイアウトデータＤ８を参照して判定する。この結果、境界部分をまたいで表示されている表示要素が存在すると判定した場合には（ステップＳ７２：ＹＥＳ）、ＣＰＵ１１０は、その表示要素を特定する。
【００５８】
次に、ＣＰＵ１１０は、補間スライド量を特定する（ステップＳ７３）。具体的には、レイアウトデータＤ８を参照して、特定した表示要素の座標値と、表示領域Ｒの座標値とに基づいて補間スライド量を特定する。次に、ＣＰＵ１１０は、特定した補間スライド方向と補間スライド量とに基づいて、レイアウトデータＤ８を更新する（ステップＳ７４）。具体的には、表示領域Ｒの座標値を更新する。
【００５９】
上記のステップＳ７２の判定の結果、境界部分をまたいで表示されている表示要素が存在しないと判定した場合には（ステップＳ７２：ＮＯ）、ＣＰＵ１１０は、ステップＳ７３およびＳ７４をスキップする。以上で、補間スライド処理は終了する。
【００６０】
図７に戻り、ステップＳ１８の補間スライド処理が完了すると、ＣＰＵ１１０は、タッチオフ操作に伴って前回入力座標データＤ４と前々回入力座標データＤ５とをクリアする（ステップＳ１９）。また、タッチオン座標データＤ６とタッチオフ座標データＤ７とをクリアする。その後、ＣＰＵ１１０は、ステップＳ１３の処理に進む。
【００６１】
上記のステップＳ１４の判定の結果、タッチオフに該当しない（すなわち、ユーザがタッチパネル１４０に触れていない状態が継続している）と判定した場合には（ステップＳ１４：ＮＯ）、ＣＰＵ１１０は、慣性演出フラグＤ２を参照して、慣性演出中であるか否かを判定する（ステップＳ２０）。この結果、慣性演出中ではないと判定したときは（ステップＳ２０：ＮＯ）、ＣＰＵ１１０は、後述するステップＳ２１〜Ｓ２３の処理をスキップする。一方、慣性演出中と判定したときは（ステップＳ２０：ＹＥＳ）、ＣＰＵ１１０は、慣性演出用データＤ１に基づく慣性演出の処理を継続する（ステップＳ２１）。
【００６２】
次に、ＣＰＵ１１０は、慣性演出の終了条件が満たされたか否かを判定する（ステップＳ２２）。例えば、慣性演出用データＤ１で示される慣性スクロール量（実スクロール量）に達したか否かで、慣性演出を終了するべきか否かを判定する。その他、慣性スクロール中にコンテンツＣの端に到達した場合も、慣性演出の終了条件が満たされたと判定する。このステップＳ２２の判定の結果、慣性演出の終了条件を満たしていないと判定したときは（ステップＳ２２：ＮＯ）、ＣＰＵ１１０は、後述するステップＳ２３の処理をスキップする。一方、慣性演出の終了条件を満たしたと判定したときは（ステップＳ２２：ＹＥＳ）、ＣＰＵ１１０は、慣性演出フラグＤ２をオフに設定する（ステップＳ２３）。その後、ＣＰＵ１１０は、上記のステップＳ１３の処理に進む。
以上で、本実施形態にかかるメニュー処理の説明を終了する。
【００６３】
１−３−２．メニュー処理の第１の具体例
次に、以上説明したメニュー処理の第１の具体例について説明する。この具体例では、ユーザによるドラッグ操作に応じて行われる、コンテンツＣのスクロール動作について説明する。特に、コンテンツＣが垂直方向にスクロール可能な画面において、コンテンツＣを上方向にスクロールする場合について説明する。
【００６４】
図１２は、本具体例においてメインメモリ１２０に記憶されるレイアウトデータＤ８の一例を示す図である。図１３は、図１２に示されるレイアウトデータＤ８に基づいて表示される画面の一例を示す図である。図１３（ａ）〜（ｃ）は、それぞれ、図１２（ａ）〜（ｃ）と対応している。
【００６５】
図１３（ａ）は、図１２（ａ）に示されるレイアウトデータＤ８に基づいて表示される画面を示している。この図１３（ａ）に示される画面が表示されている状態において、スタイラスＳがタッチオン座標Ｐ１においてタッチオンされ、その後、上方向にドラッグ操作が行われると、情報処理装置１００のＣＰＵ１１０は、コンテンツＣのスクロール方向とスクロール量とを特定する（図６のステップＳ１０）。そして、特定したスクロール方向とスクロール量とに基づいて、表示領域Ｒの座標値を更新する（ステップＳ１１）。本例では、スクロール方向として「上方向」を特定する。スクロール量としては「７０」を特定したと仮定する。この場合、ＣＰＵ１１０は、表示領域Ｒのｙ座標値「１８０」に「７０」を加算して、表示領域Ｒの座標値を、図１２（ｂ）に示されるように、「（０，２５０）」に更新する。
【００６６】
図１３（ｂ）は、更新されたレイアウトデータＤ８に基づいて表示される画面の一例を示している。同図に示される画面では、上方向へのドラッグ操作によりコンテンツＣが上方向にスクロールされた結果、表示要素Ｃ２と表示要素Ｃ５とが表示領域Ｒの境界をまたいで表示されている。同図に示される画面が表示されている状態において、スタイラスＳがタッチオフ座標Ｐ２においてタッチオフされると、ＣＰＵ１１０は、補間スライド処理を実行する（図７のステップＳ１８）。
【００６７】
この補間スライド処理においてＣＰＵ１１０は、まず、タッチオン座標Ｐ１からタッチオフ座標Ｐ２に向かうベクトル（縦方向成分）の方向に基づいて補間スライド方向を特定する（図１１のステップＳ７１）。本例では、補間スライド方向として「上方向」を特定する。次に、ＣＰＵ１１０は、表示領域Ｒの境界のうち、特定した補間スライド方向に対応する境界部分をまたいで表示されている表示要素を特定する（ステップＳ７２）。例えば、各表示要素について、そのｙ座標値から（ｙ座標値＋高さ）までの範囲に、境界部分のｙ座標値が含まれるか否かを判断することにより、境界部分をまたいで表示されているか否かを判断する。本例では、特定した補間スライド方向に対応する境界部分は、表示領域Ｒの下辺となり、表示領域Ｒの下辺をまたいで表示されている表示要素Ｃ５を特定する。
【００６８】
次に、ＣＰＵ１１０は、特定した表示要素Ｃ５を表示領域Ｒに収めるために必要な補間スライド量を特定する（ステップＳ７３）。具体的には、表示要素Ｃ５の（ｙ座標値＋高さ）から、表示領域Ｒの下辺のｙ座標値（換言すると、左上端のｙ座標値＋高さ）を減算することにより補間スライド量を特定する。本例では、補間スライド量として「５０（＝（６７０＋１１０）−（２５０＋４８０））」を特定する。そして、ＣＰＵ１１０は、特定した補間スライド方向と補間スライド量とに基づいて、表示領域Ｒの座標値を更新する。本例では、図１２（ｃ）に示されるように、表示領域Ｒのｙ座標値「２５０」に「５０」を加算して、表示領域Ｒの座標値を「（０，３００）」に更新する。
【００６９】
図１３（ｃ）は、更新されたレイアウトデータＤ８に基づいて表示される画面の一例を示している。同図に示される画面では、タッチオフ後、補間スライド処理が実行された結果、コンテンツＣが上方向にスクロールされ、表示要素Ｃ５の全体が表示領域Ｒ内に表示されるようになっている。
【００７０】
１−３−３．メニュー処理の第２の具体例
次に、上記のメニュー処理の第２の具体例について説明する。以下に説明する具体例は、コンテンツＣが下方向にスクロールされる点において上記の第１の具体例と異なっている。
【００７１】
図１４は、本具体例においてメインメモリ１２０に記憶されるレイアウトデータＤ８の一例を示す図である。図１５は、図１４に示されるレイアウトデータＤ８に基づいて表示される画面の一例を示す図である。図１５（ａ）〜（ｃ）は、それぞれ、図１４（ａ）〜（ｃ）と対応している。
【００７２】
図１５（ａ）は、図１４（ａ）に示されるレイアウトデータＤ８に基づいて表示される画面を示している。この図１５（ａ）に示される画面が表示されている状態において、スタイラスＳがタッチオン座標Ｐ１においてタッチオンされ、その後、下方向にドラッグ操作が行われると、情報処理装置１００のＣＰＵ１１０は、コンテンツＣのスクロール方向とスクロール量とを特定する（図６のステップＳ１０）。そして、特定したスクロール方向とスクロール量とに基づいて、表示領域Ｒの座標値を更新する（ステップＳ１１）。本例では、スクロール方向として「下方向」を特定する。スクロール量としては「７０」を特定したと仮定する。この場合、ＣＰＵ１１０は、表示領域Ｒのｙ座標値「１８０」から「７０」を減算して、表示領域Ｒの座標値を、図１４（ｂ）に示されるように、「（０，１１０）」に更新する。
【００７３】
図１５（ｂ）は、更新されたレイアウトデータＤ８に基づいて表示される画面の一例を示している。同図に示される画面では、下方向へのドラッグ操作によりコンテンツＣが下方向にスクロールされた結果、表示要素Ｃ１と表示要素Ｃ４とが表示領域Ｒの境界をまたいで表示されている。同図に示される画面が表示されている状態において、スタイラスＳがタッチオフ座標Ｐ２においてタッチオフされると、ＣＰＵ１１０は、補間スライド処理を実行する（図７のステップＳ１８）。
【００７４】
この補間スライド処理においてＣＰＵ１１０は、まず、タッチオン座標Ｐ１からタッチオフ座標Ｐ２に向かうベクトル（縦方向成分）の方向に基づいて補間スライド方向を特定する（図１１のステップＳ７１）。本例では、補間スライド方向として「下方向」を特定する。次に、ＣＰＵ１１０は、表示領域Ｒの境界のうち、特定した補間スライド方向に対応する境界部分をまたいで表示されている表示要素を特定する（ステップＳ７２）。例えば、各表示要素について、そのｙ座標値から（ｙ座標値＋高さ）までの範囲に、境界部分のｙ座標値が含まれるか否かを判断することにより、境界部分をまたいで表示されているか否かを判断する。本例では、特定した補間スライド方向に対応する境界部分は、表示領域Ｒの上辺となり、表示領域Ｒの上辺をまたいで表示されている表示要素Ｃ１を特定する。
【００７５】
次に、ＣＰＵ１１０は、特定した表示要素Ｃ１を表示領域Ｒに収めるために必要な補間スライド量を特定する（ステップＳ７２）。具体的には、表示領域Ｒの上辺のｙ座標値（換言すると、左上端のｙ座標値）から、表示要素Ｃ１のｙ座標値を減算することにより補間スライド量を特定する。本例では、補間スライド量として「４０（＝１１０−７０）」を特定する。そして、ＣＰＵ１１０は、特定した補間スライド方向と補間スライド量とに基づいて、表示領域Ｒの座標値を更新する。本例では、図１４（ｃ）に示されるように、表示領域Ｒのｙ座標値「１１０」から「４０」を減算して、表示領域Ｒの座標値を「（０，７０）」に更新する。
【００７６】
図１５（ｃ）は、更新されたレイアウトデータＤ８に基づいて表示される画面の一例を示している。同図に示される画面では、タッチオフ後、補間スライド処理が実行された結果、コンテンツＣが下方向にスクロールされ、表示要素Ｃ１の全体が表示領域Ｒ内に表示されるようになっている。
【００７７】
１−３−４．メニュー処理の第３の具体例
次に、上記のメニュー処理の第３の具体例について説明する。以下に説明する具体例は、コンテンツＣのスクロールが、ユーザによるフリック操作に応じて行われる点において上記の第１の具体例と異なっている。
【００７８】
図１６は、本具体例においてメインメモリ１２０に記憶されるレイアウトデータＤ８の一例を示す図である。図１７は、表示画面の一例を示す図である。特に、図１７（ａ）は、図１６（ａ）に示されるレイアウトデータＤ８に基づいて表示される画面を示し、図１７（ｃ）は、図１６（ｂ）に示されるレイアウトデータＤ８に基づいて表示される画面を示す。
【００７９】
図１７（ａ）に示される画面が表示されている状態において、スタイラスＳがタッチオン座標Ｐ１においてタッチオンされ、上方向にフリック操作が行われて、タッチオフ座標Ｐ２においてタッチオフされると、情報処理装置１００のＣＰＵ１１０は、慣性タッチオフ処理を実行する（図７のステップＳ１７）。
【００８０】
この慣性タッチオフ処理においてＣＰＵ１１０は、まず、コンテンツＣの基本スクロール量とスクロール方向とを特定する（図９のステップＳ３１）。本例では、スクロール方向として「上方向」を特定する。基本スクロール量として「１５８０」を特定したと仮定する。次に、ＣＰＵ１１０は、スクロール量調整処理を実行する（ステップＳ３２）。
【００８１】
このスクロール量調整処理においてＣＰＵ１１０は、コンテンツＣを慣性スクロールした後の表示領域Ｒの仮座標値を算出する（図１０のステップＳ５１）。本例では、表示領域Ｒのｙ座標値「１８０」に「１５８０」を加算して、表示領域Ｒの仮座標値として「（０，１７６０）」を特定する。次に、ＣＰＵ１１０は、タッチオン座標Ｐ１からタッチオフ座標Ｐ２に向かうベクトル（縦方向成分）の方向に基づいてスクロール調整方向を特定する（ステップＳ５２）。本例では、スクロール調整方向として「上方向」を特定する。次に、ＣＰＵ１１０は、コンテンツＣを慣性スクロールした場合に、表示領域Ｒの境界のうち、特定したスクロール調整方向に対応する境界部分をまたいで表示される表示要素を特定する（ステップＳ５３）。例えば、各表示要素について、そのｙ座標値から（ｙ座標値＋高さ）までの範囲に、境界部分のｙ座標値が含まれるか否かを判断することにより、境界部分をまたいで表示されているか否かを判断する。
【００８２】
図１７（ｂ）は、上記の表示領域Ｒの仮座標値によりレイアウトデータＤ８が更新されたと仮定した場合に、当該更新されたレイアウトデータＤ８に基づいて表示される画面の一例を示している。同図に示される画面では、上方向へのフリック操作によりコンテンツＣが上方向に慣性スクロールされた結果、表示要素Ｃ１２と表示要素Ｃ１５とが表示領域Ｒの境界をまたいで表示されている。本例では、特定したスクロール調整方向に対応する境界部分は、表示領域Ｒの下辺となり、表示領域Ｒの下辺をまたいで表示されている表示要素Ｃ１５を特定する。
【００８３】
次に、ＣＰＵ１１０は、特定した表示要素Ｃ１５の座標値と、算出した表示領域Ｒの仮座標値とに基づいて補正スクロール量を特定する（ステップＳ５４）。具体的には、表示要素Ｃ５の（ｙ座標値＋高さ）から、表示領域Ｒの下辺のｙ座標値を減算することにより補正スクロール量を特定する。本例では、補正スクロール量として「４０」を特定する。次に、ＣＰＵ１１０は、特定した基本スクロール量に、特定した補正スクロール量を加算して、実スクロール量を算出する（ステップＳ５５）。本例では、実スクロール量として「１６２０（＝１５８０＋４０）」を算出する。そして、ＣＰＵ１１０は、算出した実スクロール量と、上記の特定したスクロール方向とに基づいて、表示領域Ｒの座標値を更新する。本例では、図１６（ｂ）に示されるように、表示領域Ｒのｙ座標値「１８０」に「１６２０」を加算して、表示領域Ｒの座標値を「（０，１８００）」に更新する。
【００８４】
図１７（ｃ）は、コンテンツＣが慣性スクロールされた結果、更新されたレイアウトデータＤ８に基づいて表示される画面の一例を示している。同図に示される画面では、スクロール量調整処理が実行された結果、コンテンツＣのスクロール停止位置が上方向にスライドされ、表示要素Ｃ１５の全体が表示領域Ｒ内に表示されるようになっている。
【００８５】
１−３−５．メニュー処理の第４の具体例
次に、上記のメニュー処理の第４の具体例について説明する。以下に説明する具体例は、コンテンツが下方向に慣性スクロールされる点において上記の第３の具体例と異なっている。
【００８６】
図１８は、本具体例においてメインメモリ１２０に記憶されるレイアウトデータＤ８の一例を示す図である。図１９は、表示画面の一例を示す図である。特に、図１９（ａ）は、図１８（ａ）に示されるレイアウトデータＤ８に基づいて表示される画面を示し、図１９（ｃ）は、図１８（ｂ）に示されるレイアウトデータＤ８に基づいて表示される画面を示す。
【００８７】
図１９（ａ）に示される画面が表示されている状態において、スタイラスＳがタッチオン座標Ｐ１においてタッチオンされ、下方向にフリック操作が行われて、タッチオフ座標Ｐ２においてタッチオフされると、情報処理装置１００のＣＰＵ１１０は、慣性タッチオフ処理を実行する（図７のステップＳ１７）。
【００８８】
この慣性タッチオフ処理においてＣＰＵ１１０は、まず、コンテンツＣの基本スクロール量とスクロール方向とを特定する（図９のステップＳ３１）。本例では、スクロール方向として「下方向」を特定する。基本スクロール量として「１５７０」を特定したとする。次に、ＣＰＵ１１０は、スクロール量調整処理を実行する（ステップＳ３２）。
【００８９】
このスクロール量調整処理においてＣＰＵ１１０は、コンテンツＣを慣性スクロールした後の表示領域Ｒの仮座標値を算出する（図１０のステップＳ５１）。本例では、表示領域Ｒのｙ座標値「１６８０」から「１５７０」を減算して、表示領域Ｒの仮座標値として「（０，１１０）」特定する。次に、ＣＰＵ１１０は、タッチオン座標Ｐ１からタッチオフ座標Ｐ２に向かうベクトル（縦方向成分）の方向に基づいてスクロール調整方向を特定する（ステップＳ５２）。本例では、スクロール調整方向として「下方向」を特定する。次に、ＣＰＵ１１０は、コンテンツＣを慣性スクロールした場合に、表示領域Ｒの境界のうち、特定したスクロール調整方向に対応する境界部分をまたいで表示される表示要素を特定する（ステップＳ５３）。例えば、各表示要素について、そのｙ座標値から（ｙ座標値＋高さ）までの範囲に、境界部分のｙ座標値が含まれるか否かを判断することにより、境界部分をまたいで表示されているか否かを判断する。
【００９０】
図１９（ｂ）は、上記の表示領域Ｒの仮座標値によりレイアウトデータＤ８が更新されたと仮定した場合に、当該更新されたレイアウトデータＤ８に基づいて表示される画面の一例を示している。同図に示される画面では、下方向へのフリック操作によりコンテンツＣが下方向に慣性スクロールされた結果、表示要素Ｃ１と表示要素Ｃ４とが表示領域Ｒの境界をまたいで表示されている。本例では、特定したスクロール調整方向に対応する境界部分は、表示領域Ｒの上辺となり、表示領域Ｒの上辺をまたいで表示されている表示要素Ｃ１を特定する。
【００９１】
次に、ＣＰＵ１１０は、特定した表示要素Ｃ１の座標値と、算出した表示領域Ｒの仮座標値とに基づいて補正スクロール量を特定する（ステップＳ５４）。具体的には、表示領域Ｒの上辺のｙ座標値（換言すると、左上端のｙ座標値）から、表示要素Ｃ１のｙ座標値を減算することにより補正スクロール量を特定する。本例では、補正スクロール量として「４０」を特定する。次に、ＣＰＵ１１０は、特定した基本スクロール量に、特定した補正スクロール量を加算して、実スクロール量を算出する（ステップＳ５５）。本例では、実スクロール量として「１６１０（＝１５７０＋４０）」を算出する。そして、ＣＰＵ１１０は、算出した実スクロール量と、上記の特定したスクロール方向とに基づいて、表示領域Ｒの座標値を更新する。本例では、図１８（ｂ）に示されるように、表示領域Ｒのｙ座標値「１６８０」から「１６１０」を減算して、表示領域Ｒの座標値を「（０，７０）」に更新する。
【００９２】
図１９（ｃ）は、コンテンツＣが慣性スクロールされた結果、更新されたレイアウトデータＤ８に基づいて表示される画面の一例を示している。同図に示される画面では、スクロール量調整処理が実行された結果、コンテンツＣのスクロール停止位置が下方向にスライドされ、表示要素Ｃ１の全体が表示領域Ｒ内に表示されるようになっている。
【００９３】
２．変形例
上記の実施形態は下記のように変形してもよい。下記の変形例は互いに組み合わせて適用されてもよい。
【００９４】
２−１．変形例１
上記の実施形態では、ポインティングデバイスとしてタッチパネル１４０が採用されているが、他のポインティングデバイスにより代替されてもよい。例えば、マウスや、ペンタブレットや、タッチパッドや、トラックパッドや、トラックボールが使用されてもよい。あるいは、家庭用ゲーム機等で用いられるコントローラ（ジョイパッドや、ジョイスティックなど）が使用されてもよい。
【００９５】
２−２．変形例２
上記の実施形態では、コンテンツＣを垂直方向にスクロールする場合を主に想定しているが、スクロール方向は、例えば、水平方向や斜め方向や奥行き方向であってもよい。また、上記の実施形態では、スクロール対象として、主にリスト形式のコンテンツＣを想定しているが、スクロール対象は、例えば、ゲーム（例えば、シミュレーションゲーム）のマップや、地図アプリケーションにより表示される地図等のコンテンツであってもよい。スクロール対象をマップや地図とした場合には、上記の実施形態に係る補間スライド処理やスクロール量調整処理により調整される停止位置は、マップや地図を所定の間隔で区切る境界と表示領域の境界とに基づいて設定される。
【００９６】
２−３．変形例３
上記の実施形態では、単一の装置により上記のメニュー処理を実現することを想定しているが、上記のメニュー処理は、ネットワークを介して互いにアクセス可能な複数の装置の協働により実現されてもよい。すなわち、表示制御システムにより実現されてもよい。
【００９７】
２−４．変形例４
情報処理装置１００に記憶されるメニュー処理プログラムＰは、コンピュータ装置が読み取り可能な記録媒体を介して情報処理装置１００に提供されてもよい。ここで、記録媒体とは、例えば、磁気テープや磁気ディスクなどの磁気記録媒体や、光ディスクなどの光記録媒体や、光磁気記録媒体や、半導体メモリ等である。または、インターネット等のネットワークを介して情報処理装置１００に提供されてもよい。
【符号の説明】
【００９８】
１００…情報処理装置、１１０…ＣＰＵ、１１１…操作受付部、１１２…設定部、１１３…スクロール部、１１４…補間スライド処理部、１１５…スクロール量調整処理部、１２０…メインメモリ、１２１…プログラム記憶領域、１２２…データ記憶領域、１３０…保存用データメモリ、１４０…タッチパネル、１５０…操作ボタン、１６０…通信モジュール
【図１】
2017004377.tif 000003
【図２】
2017004377.tif 000004
【図３】
2017004377.tif 000005
【図４】
2017004377.tif 000006
【図５】
2017004377.tif 000007
【図６】
2017004377.tif 000008
【図７】
2017004377.tif 000009
【図８】
2017004377.tif 000010
【図９】
2017004377.tif 000011
【図１０】
2017004377.tif 000012
【図１１】
2017004377.tif 000013
【図１２】
2017004377.tif 000014
【図１３】
2017004377.tif 000015
【図１４】
2017004377.tif 000016
【図１５】
2017004377.tif 000017
【図１６】
2017004377.tif 000018
【図１７】
2017004377.tif 000019
【図１８】
2017004377.tif 000020
【図１９】
2017004377.tif 000021