JP2017004377A - 情報処理プログラム、表示制御装置、表示制御システム及び表示方法 - Google Patents

情報処理プログラム、表示制御装置、表示制御システム及び表示方法 Download PDF

Info

Publication number
JP2017004377A
JP2017004377A JP2015119549A JP2015119549A JP2017004377A JP 2017004377 A JP2017004377 A JP 2017004377A JP 2015119549 A JP2015119549 A JP 2015119549A JP 2015119549 A JP2015119549 A JP 2015119549A JP 2017004377 A JP2017004377 A JP 2017004377A
Authority
JP
Japan
Prior art keywords
stop position
display
content
scroll
display area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2015119549A
Other languages
English (en)
Inventor
真伊 山本
Mai Yamamoto
真伊 山本
智子 岡田
Tomoko Okada
智子 岡田
祐司 澤谷
Yuji Sawatani
祐司 澤谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2015119549A priority Critical patent/JP2017004377A/ja
Priority to EP15189874.9A priority patent/EP3104267A1/en
Priority to US14/887,493 priority patent/US20160364031A1/en
Publication of JP2017004377A publication Critical patent/JP2017004377A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03547Touch pads, in which fingers can move on a surface
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • A63F13/2145Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/533Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game for prompting the player, e.g. by displaying a game menu
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5378Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for displaying an additional top view, e.g. radar screens or maps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Optics & Photonics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

【課題】ユーザにとって見やすい位置に表示要素が表示されるように画面のスクロールを停止する。【解決手段】情報処理装置100の操作受付部111は、ポインティングデバイスを用いて表示装置の表示領域内の座標を指定するポインティング操作を受け付ける。設定部112は、操作受付部111により受け付けられたポインティング操作の開始座標と終了座標の位置関係に基づいて、表示領域にその一部が表示されるコンテンツのスクロールの停止位置を設定する。スクロール部113は、操作受付部111により受け付けられたポインティング操作に基づいて、コンテンツを、設定部112により設定された停止位置までスクロールする。【選択図】図5

Description

本発明は、表示装置に表示されるコンテンツをスクロールするための技術に関する。
従来、表示装置の表示領域内に収まりきらないコンテンツを閲覧するための技術として、スクロールが知られている。例えば、特許文献1には、テンキーの操作によりディスプレイに表示される文章をスクロールできる携帯電話機が記載されている。この携帯電話機では、テンキーを押し続ける時間に応じてスクロール量が増加するようになっている。
特開2000−66801号公報
しかし、特許文献1に記載の技術では、テンキーを押し続ける時間によっては、文章を構成する単語が表示領域の境界にまたがって表示されてしまい、ユーザにとって読みづらい状況となる場合があった。
本発明は、このような事情に鑑みてなされたものであり、ユーザにとって見やすい位置に表示要素が表示されるように画面のスクロールを停止することを目的とする。
本発明は、コンピュータを、ポインティングデバイスを用いて表示装置の表示領域内の座標を指定するポインティング操作を受け付ける操作受付部と、前記ポインティング操作の開始座標と終了座標の位置関係に基づいて、前記表示領域にその一部が表示されるコンテンツのスクロールの第1停止位置を設定する設定部と、前記ポインティング操作に基づいて、前記コンテンツを前記第1停止位置までスクロールするスクロール部として機能させるための情報処理プログラムを提供する。
前記ポインティングデバイスは、タッチパネルであってもよい。
前記設定部は、前記ポインティング操作に基づいて前記コンテンツのスクロールの第2停止位置をさらに設定し、当該第2停止位置を、前記開始座標から前記終了座標に向かうベクトルに基づいて定まる方向に移動させることにより、前記第1停止位置を設定してもよい。
前記設定部は、前記ポインティング操作により指示されるスクロールの量が所定量未満である場合に、前記第2停止位置を、前記ベクトルに基づいて定まる方向に移動させることにより、前記第1停止位置を設定してもよい。
前記設定部は、前記ポインティング操作により指示されるスクロールの量が前記所定量以上である場合には、前記第2停止位置を、前記ポインティング操作に基づいて定まる方向に移動させることにより、前記第1停止位置を設定してもよい。
前記スクロール部は、前記コンテンツを前記第2停止位置までスクロールした後に、前記第1停止位置までスクロールしてもよい。
前記設定部は、前記スクロール部により前記コンテンツが前記第2停止位置までスクロールされた結果、前記コンテンツを構成する一の表示要素が前記表示領域の境界をまたいで表示される場合に、当該一の表示要素が前記表示領域に含まれる領域が増加するように、前記第1停止位置を設定してもよい。
前記設定部は、前記一の表示要素の外周の一部が、前記表示領域の境界と接するように、前記第1停止位置を設定してもよい。
前記設定部は、前記境界のうち、前記ベクトルに基づいて定まる部分を前記一の表示要素がまたいで表示される場合に、前記一の表示要素が前記表示領域に含まれる領域が増加するように、前記第1停止位置を設定してもよい。
前記コンテンツは、複数の表示要素が並べられることにより構成され、前記スクロール部は、前記複数の表示要素が並べられる方向に前記コンテンツをスクロールしてもよい。
また、本発明は、ポインティングデバイスを用いて表示装置の表示領域内の座標を指定するポインティング操作を受け付ける操作受付部と、前記ポインティング操作の開始座標と終了座標の位置関係に基づいて、前記表示領域にその一部が表示されるコンテンツのスクロールの停止位置を設定する設定部と、前記ポインティング操作に基づいて、前記コンテンツを前記停止位置までスクロールするスクロール部とを備える表示制御装置を提供する。
また、本発明は、ポインティングデバイスを用いて表示装置の表示領域内の座標を指定するポインティング操作を受け付ける操作受付部と、前記ポインティング操作の開始座標と終了座標の位置関係に基づいて、前記表示領域にその一部が表示されるコンテンツのスクロールの停止位置を設定する設定部と、前記ポインティング操作に基づいて、前記コンテンツを前記停止位置までスクロールするスクロール部とを備える表示制御システムを提供する。
また、本発明は、表示制御装置により実行される表示方法であって、ポインティングデバイスを用いて表示装置の表示領域内の座標を指定するポインティング操作を受け付けるステップと、前記ポインティング操作の開始座標と終了座標の位置関係に基づいて、前記表示領域にその一部が表示されるコンテンツのスクロールの停止位置を設定するステップと、前記ポインティング操作に基づいて、前記コンテンツを前記停止位置までスクロールするステップとを有する表示方法を提供する。
本発明によれば、ユーザにとって見やすい位置に表示要素が表示されるように画面のスクロールを停止することができる。
情報処理装置100のハードウェア構成の一例を示すブロック図である。 メインメモリ120のメモリマップの一例を示す図である。 レイアウトデータD8の一例を示す図である。 表示画面の一例を示す図である。 スクロール動作を実現するための機能の構成の一例を示すブロック図である。 メニュー処理の一例を示すフローチャートである。 メニュー処理の一例を示すフローチャートである。 コンテンツCが配置される仮想空間Vの一例を示す図である。 慣性タッチオフ処理の一例を示すフローチャートである。 スクロール量調整処理の一例を示すフローチャートである。 補間スライド処理の一例を示すフローチャートである。 レイアウトデータD8の一例を示す図である。 表示画面の一例を示す図である。 レイアウトデータD8の一例を示す図である。 表示画面の一例を示す図である。 レイアウトデータD8の一例を示す図である。 表示画面の一例を示す図である。 レイアウトデータD8の一例を示す図である。 表示画面の一例を示す図である。
1.実施形態
1−1.ハードウェア構成
図1は、情報処理装置100のハードウェア構成の一例を示すブロック図である。情報処理装置100は、例えば、スマートフォンやタブレット端末や携帯型のゲーム機等のコンピュータ装置である。あるいは、据え置き型のコンピュータ装置である。情報処理装置100は、本発明に係る「表示制御装置」の一例である。情報処理装置100は、CPU(Central Processing Unit)110と、メインメモリ120と、保存用データメモリ130と、タッチパネル140と、操作ボタン150と、通信モジュール160とを備える。
CPU110は、メインメモリ120や保存用データメモリ130に記憶されるプログラムを実行するための演算処理装置である。メインメモリ120は、CPU110によりワーク領域やバッファ領域として利用される記憶装置である。例えば、PSRAM(Pseudo-SRAM)である。
図2は、メインメモリ120のメモリマップの一例を示す図である。メインメモリ120は、プログラム記憶領域121と、データ記憶領域122とを備える。プログラム記憶領域121には、後述するメニュー処理を実行するためのメニュー処理プログラムP等が、保存用データメモリ130から読み込まれる。データ記憶領域122には、後述するメニュー処理で利用される、慣性演出用データD1と、慣性演出フラグD2と、操作データD3と、前回入力座標データD4と、前々回入力座標データD5と、タッチオン座標データD6と、タッチオフ座標データD7と、レイアウトデータD8等が記憶される。
慣性演出用データD1は、後述する慣性スクロールにかかる処理(以下、「慣性演出」と呼ぶ)で用いられるデータである。慣性演出フラグD2は、慣性演出の実行中であるか否かを示すためのフラグである。本フラグがオンに設定されているときは、慣性演出が実行されている最中であることを示す。
操作データD3は、タッチパネル140に対する入力状態を示すデータである。操作データD3には、入力座標を示すデータも含まれる。前回入力座標データD4は、直前のフレームにおいて検出されたタッチパネル140への入力座標を示すデータである。直前のフレームにおいて入力が検出されなかったときは、当該データは空となる。一方、入力が検出されたときは、その入力座標が格納される。このデータを参照することで、ドラッグ操作等におけるタッチ位置(入力座標)の変化や、ひいては指示体(例えば、指やスタイラス)の移動量等を算出することができる。前々回入力座標データD5は、上記の前回入力座標データの1つ前に検出された入力座標を示すデータである。すなわち、現在のフレームから2つ前のフレームにおいて検出された入力座標を示すデータである。
タッチオン座標データD6は、タッチパネル140から離れていた指示体がタッチパネル140にタッチ(接触)した位置の座標を示すデータである。タッチオフ座標データD7は、タッチパネル140にタッチ(接触)していた指示体がタッチパネル140から離れた位置の座標を示すデータである。
レイアウトデータD8は、タッチパネル140に表示される画面のレイアウトを示すデータである。タッチパネル140には、このデータに基づいて画面が表示される。
図3は、レイアウトデータD8の一例を示す図である。図4は、図3に示されるレイアウトデータD8に基づいて表示される画面の一例を示す図である。レイアウトデータD8は、タッチパネル140の表示領域Rに関するデータと、タッチパネル140に表示されるコンテンツCに関するデータとにより構成される。表示領域Rに関するデータは、表示領域Rの左上端のxy座標(画素位置)と、幅と、高さのデータにより構成される。図3及び図4に示される例では、それぞれ、「(0,0)」、「850(画素)」、「480(画素)」となっている。コンテンツCに関するデータは、コンテンツCを構成する各表示要素の要素IDと、左上端のxy座標(画素位置)と、幅と、高さのデータにより構成される。図3及び図4に示される例では、例えば、表示要素C1については、それぞれ「(30,70)」、「820(画素)」、「110(画素)」となっている。
ここで、コンテンツCは、例えば、ゲーム等のアプリケーションのメニュー画面である。具体的には、ゲームのステージの選択画面や、ゲーム内の所持アイテムの一覧画面や、ネットワークゲームにおける他のユーザの一覧画面等である。あるいは、コンテンツCは、Webページや、電子書籍コンテンツである。コンテンツCを構成する表示要素は、例えば、テキストや画像(静止画又は動画)である。
以上が、メインメモリ120についての説明である。
次に、保存用データメモリ130は、CPU110により実行されるプログラムや各種データを記憶する不揮発性の記憶装置である。例えば、フラッシュメモリやハードディスクである。保存用データメモリ130は、メニュー処理プログラムPを記憶する。保存用データメモリ130は、情報処理装置100から着脱可能であってもよい。
タッチパネル140は、表示パネルと、当該表示パネル上に重ねられたタッチセンサとにより構成される。表示パネルは、例えば、液晶ディスプレイや、有機EL(Electro-luminescence)ディスプレイ等の表示装置である。タッチセンサは、例えば、静電容量方式や抵抗膜方式のタッチセンサである。タッチパネル140は、所定のフレームレートでタッチ対象の検出を試行し、タッチ位置データを生成して操作データD3としてCPU110に出力する。タッチ位置データは、例えば、タッチパネル140の入力面に対して入力が行われた位置の座標を示すデータである。タッチパネル140は、本発明に係る「ポインティングデバイス」の一例である。ここでポインティングデバイスとは、コンピュータの画面上で任意の位置(または座標)を指定するために用いる装置である。
操作ボタン150は、十字キーやプッシュボタン等の操作子である。操作ボタン150は、入力状況(押下されたか否か)を示す操作データをCPU110に出力する。
通信モジュール160は、データ通信カード等の通信インタフェースである。通信モジュール160は、他の装置とのデータ通信を制御する。
1−2.機能構成
情報処理装置100の機能構成について説明する。具体的には、後述するメニュー処理において実行するスクロール動作を実現するための機能の構成について説明する。
図5は、スクロール動作を実現するための機能の構成の一例を示すブロック図である。CPU110は、保存用データメモリ130に記憶されるメニュー処理プログラムPをメインメモリ120に読み出して実行することにより、大略、操作受付部111と、設定部112と、スクロール部113とを提供する。
操作受付部111は、タッチパネル140を用いた、当該パネルの表示領域Rの座標を指定するポインティング操作を受け付ける。このポインティング操作は、表示領域Rにその一部が表示されるコンテンツCをスクロールさせるための操作である。具体的には、ドラッグ操作やフリック操作等の操作である。ここでドラッグ操作とは、本実施形態においては、指示体をタッチパネル140にタッチオンして一定の方向にスライド移動させる操作である。一方、フリック操作は、指示体をタッチパネル140にタッチオンして表示面を軽く払うようにしてタッチオフする操作である。フリック操作を行った場合、タッチオフした後も、フリック操作の強さに応じた慣性力によって短時間スクロールが継続する。この慣性力によるスクロールを「慣性スクロール」と呼ぶ。操作受付部111は、メインメモリ120に記憶される各種データを参照して、ドラッグ操作とフリック操作を判別する。
設定部112は、コンテンツCのスクロールの第1停止位置を設定する。この際、設定部112は、操作受付部111により受け付けられたポインティング操作の開始座標と終了座標の位置関係に基づいて、第1停止位置を設定する。より具体的には、設定部112は、まず、当該ポインティング操作に基づいてコンテンツCのスクロールの第2停止位置を設定し、この第2停止位置を、当該ポインティング操作の開始座標から終了座標に向かうベクトルに基づいて定まる方向に移動させることにより、第1停止位置を設定する。
第2停止位置を設定する際、設定部112は、例えば、ドラッグ操作又はフリック操作に基づいて当該停止位置を設定する。フリック操作に基づいて設定する場合には、そのタッチオフ直前の所定時間内のフレームにおいて検出された入力座標を参照する。第1停止位置を設定する際は、設定部112は、例えば、第2停止位置を、操作受付部111により受け付けられたポインティング操作の開始座標から終了座標に向かうベクトルの方向に移動させる。または、コンテンツCを垂直方向にスクロールさせる場合には、当該ベクトルの縦方向成分と同じ方向に移動させる。または、コンテンツCを水平方向にスクロールさせる場合には、当該ベクトルの横方向成分と同じ方向に移動させる。設定部112は、メインメモリ120に記憶される各種データを参照して、第1及び第2停止位置を設定し、それぞれをメインメモリ120に格納する。ただし、フリック操作に基づいて設定された第2停止位置を示すデータについては、メインメモリ120に格納しなくてもよい。
設定部112は、補間スライド処理部114と、スクロール量調整処理部115とを備える。補間スライド処理部114は、操作受付部111により受け付けられたポインティング操作により指示されるスクロールの量が所定量未満である場合に、上記の第2停止位置を、上記のベクトルに基づいて定まる方向に移動させることにより、上記の第1停止位置を設定する。具体的には、補間スライド処理部114は、操作受付部111によりドラッグ操作が受け付けられた場合に、このように第1停止位置を設定する。この際、補間スライド処理部114は、ドラッグ操作のタッチオフ直前の所定時間内のフレームにおいて検出された入力座標を無視してもよい。
補間スライド処理部114は、上記の第1停止位置を設定する際、コンテンツCが上記の第2停止位置までスクロールされた結果、コンテンツCを構成する表示要素が表示領域Rの境界をまたいで表示される場合には、この表示要素が表示領域Rに含まれる領域が増加するように設定する。例えば、補間スライド処理部114は、当該表示要素の全体が表示領域Rに含まれるように第1停止位置を設定する。この際、補間スライド処理部114は、当該表示要素の外周の一部が、表示領域Rの境界と接するように、第1停止位置を設定してもよい。すなわち、当該表示要素を表示領域Rの境界に対してスナップ、接着又は吸着させてもよい。または、補間スライド処理部114は、表示領域Rのうち、上記のベクトルに基づいて定まる部分を当該表示要素がまたいで表示される場合に、この表示要素が表示領域Rに含まれる領域が増加するように第1停止位置を設定するようにしてもよい。
ここで、上記のベクトルに基づいて定まる部分とは、例えば、表示領域Rが矩形形状を有する場合であって、コンテンツCを垂直方向にスクロールする場合であり、さらに、上記ベクトルの縦方向成分が上向きである場合には、表示領域Rの下辺に相当する。上記ベクトルの縦方向成分が下向きである場合には、表示領域Rの上辺に相当する。一方、コンテンツCを水平方向にスクロールする場合であり、さらに、上記ベクトルの横方向成分が右向きである場合には、表示領域Rの左辺に相当する。上記ベクトルの横方向成分が左向きである場合には、表示領域Rの右辺に相当する。
なお、他の実施形態として、補間スライド処理部114は、表示領域Rのうち、固定的に設定された部分を当該表示要素がまたいで表示される場合に、この表示要素が表示領域Rに含まれる領域が増加するように第1停止位置を設定するようにしてもよい。ここで、固定的に設定された部分は、例えば、表示領域Rが矩形形状を有する場合であって、コンテンツCを垂直方向にスクロールする場合には、表示領域Rの上辺又は下辺となる。一方、コンテンツCを水平方向にスクロールする場合には、表示領域Rの右辺又は左辺となる。
次に、スクロール量調整処理部115は、操作受付部111により受け付けられたポインティング操作により指示されるスクロールの量が所定量以上である場合に、上記の第2停止位置を、当該ポインティング操作に基づいて定まる方向に移動させることにより、上記の第1停止位置を設定する。具体的には、スクロール量調整処理部115は、操作受付部111によりフリック操作が受け付けられた場合に、このように第1停止位置を設定する。
次に、スクロール部113は、操作受付部111により受け付けられたポインティング操作に基づいて、コンテンツCを、設定部112により設定された第1停止位置までスクロールする。この際、スクロール部113は、具体的には、メインメモリ120に格納される表示領域Rの座標値を参照してコンテンツCをスクロールする。スクロール部113は、操作受付部111によりドラッグ操作が受け付けられた場合には、コンテンツCを上記の第2停止位置までスクロールした後に、上記の第1停止位置までスクロールする。また、スクロール部113は、コンテンツCが複数の表示要素が並べられることにより構成されている場合に、これら複数の表示要素が並べられる方向にコンテンツCをスクロールするようにしてもよい。
1−3.動作
1−3−1.メニュー処理
情報処理装置100において実行されるメニュー処理について説明する。
図6および図7は、メニュー処理の一例を示すフローチャートである。情報処理装置100の電源が投入されると、情報処理装置100のCPU110は、図示せぬブートROMに記憶されている起動プログラムを実行し、メインメモリ120等の各ユニットを初期化する。そして、保存用データメモリ130に格納されたメニュー処理プログラムPをメインメモリ120に読み込み、当該プログラムの実行を開始する。
まず、ステップS1において、CPU110は、以降の処理において用いられるデータの初期化処理を実行する。具体的には、コンテンツCを生成して仮想空間Vに配置する。
図8は、コンテンツCが配置される仮想空間Vの一例を示す図である。仮想空間Vには図示せぬ仮想カメラが配置され、仮想空間内に配置されるコンテンツCのうち、この仮想カメラにより撮影された領域がタッチパネル140に表示される。この仮想カメラで撮影される範囲を表示領域Rと呼ぶ。コンテンツCは、仮想カメラ(表示領域R)に対して垂直方向にスライド可能に配置されており、コンテンツCを仮想カメラ(表示領域R)に対してスライドさせることにより、コンテンツCのスクロールが実現される。以下の説明では、コンテンツCを表示領域Rに対して上方向にスライドさせることを、「コンテンツCを上方向にスクロールする」と言う。一方、コンテンツCを表示領域Rに対して下方向にスライドさせることを、「コンテンツCを下方向にスクロールする」と言う。
なお、コンテンツCの方を固定して、仮想カメラ(表示領域R)の方を垂直方向にスライドさせることによりコンテンツCのスクロールを実現するという方法も考えられる。本動作の説明で採用しているスクロール処理の手法はあくまで一例であり、他の手法を採用してもよい。仮想カメラを用いない手法でもよい。
ステップS1の実行後、CPU110は、ステップS2〜S23の処理ループを1フレーム毎に繰り返すことにより、メニュー処理を進行していく。
ステップS2においてCPU110は、メインメモリ120から操作データD3を取得する。次に、CPU110は、取得した操作データD3を参照して、タッチパネル140に対するタッチ入力が行われているか否かを判定する(ステップS3)。この結果、タッチ入力が行われていると判定したときは(ステップS3:YES)、CPU110は、その入力座標値を取得する。そして次に、継続的なタッチ入力が行われているか否かを判定する(ステップS4)。具体的には、メインメモリ120において前回入力座標データD4に何らかのデータが設定されているか否かを判定する。この結果、継続的なタッチ入力が行われていないと判定したときは(ステップS4:NO)、検出されたタッチ入力はタッチオンに該当するため、CPU110は、取得した入力座標値のデータをタッチオン座標データD6としてメインメモリ120に格納する(ステップS5)。
次に、CPU110は、慣性演出中か否かを判定する(ステップS6)。具体的には、メインメモリ120に格納される慣性演出フラグD2を参照して、フリック操作による慣性スクロールがまだ継続している状態であるか否かを判定する。この結果、慣性演出中であると判定したときは(ステップS6:YES)、CPU110は、慣性演出をキャンセルする処理を実行する(ステップS7)。一方、慣性演出中ではないと判定したときは(ステップS6:NO)、CPU110は、ステップS7の処理をスキップする。次に、CPU110は、タッチオン時処理を実行する(ステップS8)。この処理では、上記の入力座標に応じて適宜所定の処理を実行する。例えば、タッチオンされた表示要素の説明を表示するための処理を実行する。より具体的には、タッチオンされた表示要素の説明をポップアップ表示するための処理を実行する。その後、CPU110は、ステップS13の処理に進む。
上記のステップS4の判定の結果、継続的タッチ入力が行われていると判定したときは(ステップS4:YES)、CPU110は、操作内容がドラッグ操作(すなわち、スクロール操作)であるか否かを判定する(ステップS9)。具体的には、操作データD3と前回入力座標データD4とで示される入力座標の変化量が所定値以上であるか否かを判定する。当該変化量が所定値以上であれば、ドラッグ操作が行われたと判定する。この判定の結果、操作内容がドラッグ操作であると判定した場合には(ステップS9:YES)、CPU110は、コンテンツCのスクロールを行うための各種パラメータを特定する(ステップS10)。具体的には、操作データD3と前回入力座標データD4とで示される入力座標の変化量および変化方向に応じて、コンテンツCのスクロール量とスクロール方向とを特定する。そして、特定したスクロール量とスクロール方向とに基づいてレイアウトデータD8を更新する(ステップS11)。具体的には、表示領域Rの座標値を更新する。
上記のステップS9の判定の結果、操作内容がドラッグ操作でない(すなわち、操作内容が、同じ位置に対する継続的なタッチである)と判定した場合には(ステップS9:NO)、CPU110は、ステップS10およびS11をスキップする。
次に、CPU110は、前回入力座標データD4の設定を行う(ステップS12)。具体的には、前回入力座標データD4を前々回入力座標データD5としてメインメモリ120に格納する。また、上記のステップS2で取得した操作データD3に含まれるタッチ位置の入力座標を示すデータを前回入力座標データD4としてメインメモリ120に格納する。次に、CPU110は、表示処理を実行する(ステップS13)。具体的には、レイアウトデータD8を参照して画像を生成し、タッチパネル140に表示させる。その後、CPU110は、ステップS2に戻る。
上記のステップS3の判定の結果、タッチ入力がなされていないと判定したときは(ステップS3:NO)、CPU110は、現在の操作状態がタッチオフに該当するか否かを判定する(ステップS14)。具体的には、前回入力座標データD4を参照して、何らかのデータが記憶されている場合にはタッチオフと判定し、前回入力座標データD4が空の場合には、タッチオフではない(つまり、タッチしていない状態が継続している)と判定する。この判定の結果、タッチオフに該当すると判定したときは(ステップS14:YES)、CPU110は、取得した入力座標値のデータをタッチオフ座標データD7としてメインメモリ120に格納する(ステップS15)。
次に、CPU110は、現在の操作状態がフリック操作による慣性のついたタッチオフであるか否かを判定する(ステップS16)。具体的には、前回入力座標データD4と前々回入力座標データD5とで示される入力座標の変化量が所定値以上であるか否かを判定する。当該変化量が所定値以上であれば、フリック操作が行われ慣性のついたタッチオフが発生したと判定する。この判定の結果、慣性のついたタッチオフが行われたと判定したときは(ステップS16:YES)、CPU110は、慣性タッチオフ処理を実行する(ステップS17)。この処理は、慣性演出を行うための処理である。
図9は、慣性タッチオフ処理の一例を示すフローチャートである。この処理においてCPU110は、まずステップS31において、慣性スクロールを行うための各種パラメータを算出する。具体的には、前回入力座標データD4と前々回入力座標データD5とで示される入力座標の変化量および変化方向に応じて、スクロール量(以下、「基本スクロール量」と呼ぶ)とスクロール方向とを特定する。次に、CPU110は、スクロール量調整処理を実行する(ステップS32)。この処理は、画面に表示される表示要素がユーザにとって見やすい位置に表示されるようにコンテンツCを慣性スクロールするための処理である。
図10は、スクロール量調整処理の一例を示すフローチャートである。この処理のステップS51においてCPU110は、コンテンツCを慣性スクロールした後の表示領域Rの仮座標値を算出する。具体的には、特定した基本スクロール量およびスクロール方向と、レイアウトデータD8とに基づいて、表示領域Rの仮座標値を算出する。次に、CPU110は、スクロール調整方向を特定する(ステップS52)。具体的には、タッチオン座標データD6とタッチオフ座標データD7とを参照し、タッチオン座標からタッチオフ座標に向かうベクトルの方向に基づいてスクロール調整方向を特定する。
次に、CPU110は、コンテンツCを慣性スクロールした場合に、表示領域Rの境界をまたいで表示される表示要素が存在するか否かを判定する(ステップS53)。具体的には、表示領域Rの境界のうち、特定したスクロール調整方向に対応する境界部分をまたいで表示されている表示要素が存在するか否かを、レイアウトデータD8を参照して判定する。この結果、境界部分をまたいで表示される表示要素が存在すると判定した場合には(ステップS53:YES)、CPU110は、その表示要素を特定する。
次に、CPU110は、特定した表示要素全体を表示領域R内に表示するために必要な補正スクロール量を特定する(ステップS54)。具体的には、レイアウトデータD8を参照して、特定した表示要素の座標値と、算出した表示領域の仮座標値とに基づいて、補正スクロール量を特定する。次に、CPU110は、特定した基本スクロール量に、特定した補正スクロール量を加算して、実スクロール量を算出する(ステップS55)。次に、CPU110は、算出した実スクロール量と、上記の特定したスクロール方向とに基づいて、レイアウトデータD8を更新する(ステップS56)。具体的には、表示領域Rの座標値を更新する。また、CPU110は、算出した実スクロール量と、上記の特定したスクロール方向とを慣性演出用データD1としてメインメモリ120に格納する(ステップS57)。
上記のステップS53の判定の結果、境界部分をまたいで表示される表示要素が存在しないと判定した場合には(ステップS53:NO)、CPU110は、補正スクロール量として零を特定し、ステップS55の処理に進む。以上で、スクロール量調整処理は終了する。
図9に戻り、ステップS32のスクロール量調整処理が完了すると、CPU110は、メインメモリ120において慣性演出フラグD2をオンに設定する(ステップS33)。そして、慣性演出を開始する(ステップS34)。この結果、コンテンツCが慣性スクロールされる。以上で、慣性タッチオフ処理は終了する。
図7に戻り、ステップS17の慣性タッチオフ処理が完了すると、CPU110は、後述するステップS19の処理に進む。
上記のステップS16の判定の結果、CPU110が、慣性のついたタッチオフが行われていない(つまり、フリック操作によらない通常のタッチオフが行われた)と判定したときは(ステップS16:NO)、CPU110は、補間スライド処理を実行する(ステップS18)。この処理は、画面に表示されている表示要素がユーザにとって見やすい位置に表示されるようにコンテンツCをスクロールするための処理である。
図11は、補間スライド処理の一例を示すフローチャートである。この処理のステップS71においてCPU110は、補間スライド方向を特定する。具体的には、タッチオン座標データD6とタッチオフ座標データD7とを参照し、タッチオン座標からタッチオフ座標に向かうベクトルの方向に基づいて補間スライド方向を特定する。次に、CPU110は、表示領域Rの境界をまたいで表示されている表示要素が存在するか否かを判定する(ステップS72)。具体的には、表示領域Rの境界のうち、特定した補間スライド方向に対応する境界部分をまたいで表示されている表示要素が存在するか否かを、レイアウトデータD8を参照して判定する。この結果、境界部分をまたいで表示されている表示要素が存在すると判定した場合には(ステップS72:YES)、CPU110は、その表示要素を特定する。
次に、CPU110は、補間スライド量を特定する(ステップS73)。具体的には、レイアウトデータD8を参照して、特定した表示要素の座標値と、表示領域Rの座標値とに基づいて補間スライド量を特定する。次に、CPU110は、特定した補間スライド方向と補間スライド量とに基づいて、レイアウトデータD8を更新する(ステップS74)。具体的には、表示領域Rの座標値を更新する。
上記のステップS72の判定の結果、境界部分をまたいで表示されている表示要素が存在しないと判定した場合には(ステップS72:NO)、CPU110は、ステップS73およびS74をスキップする。以上で、補間スライド処理は終了する。
図7に戻り、ステップS18の補間スライド処理が完了すると、CPU110は、タッチオフ操作に伴って前回入力座標データD4と前々回入力座標データD5とをクリアする(ステップS19)。また、タッチオン座標データD6とタッチオフ座標データD7とをクリアする。その後、CPU110は、ステップS13の処理に進む。
上記のステップS14の判定の結果、タッチオフに該当しない(すなわち、ユーザがタッチパネル140に触れていない状態が継続している)と判定した場合には(ステップS14:NO)、CPU110は、慣性演出フラグD2を参照して、慣性演出中であるか否かを判定する(ステップS20)。この結果、慣性演出中ではないと判定したときは(ステップS20:NO)、CPU110は、後述するステップS21〜S23の処理をスキップする。一方、慣性演出中と判定したときは(ステップS20:YES)、CPU110は、慣性演出用データD1に基づく慣性演出の処理を継続する(ステップS21)。
次に、CPU110は、慣性演出の終了条件が満たされたか否かを判定する(ステップS22)。例えば、慣性演出用データD1で示される慣性スクロール量(実スクロール量)に達したか否かで、慣性演出を終了するべきか否かを判定する。その他、慣性スクロール中にコンテンツCの端に到達した場合も、慣性演出の終了条件が満たされたと判定する。このステップS22の判定の結果、慣性演出の終了条件を満たしていないと判定したときは(ステップS22:NO)、CPU110は、後述するステップS23の処理をスキップする。一方、慣性演出の終了条件を満たしたと判定したときは(ステップS22:YES)、CPU110は、慣性演出フラグD2をオフに設定する(ステップS23)。その後、CPU110は、上記のステップS13の処理に進む。
以上で、本実施形態にかかるメニュー処理の説明を終了する。
1−3−2.メニュー処理の第1の具体例
次に、以上説明したメニュー処理の第1の具体例について説明する。この具体例では、ユーザによるドラッグ操作に応じて行われる、コンテンツCのスクロール動作について説明する。特に、コンテンツCが垂直方向にスクロール可能な画面において、コンテンツCを上方向にスクロールする場合について説明する。
図12は、本具体例においてメインメモリ120に記憶されるレイアウトデータD8の一例を示す図である。図13は、図12に示されるレイアウトデータD8に基づいて表示される画面の一例を示す図である。図13(a)〜(c)は、それぞれ、図12(a)〜(c)と対応している。
図13(a)は、図12(a)に示されるレイアウトデータD8に基づいて表示される画面を示している。この図13(a)に示される画面が表示されている状態において、スタイラスSがタッチオン座標P1においてタッチオンされ、その後、上方向にドラッグ操作が行われると、情報処理装置100のCPU110は、コンテンツCのスクロール方向とスクロール量とを特定する(図6のステップS10)。そして、特定したスクロール方向とスクロール量とに基づいて、表示領域Rの座標値を更新する(ステップS11)。本例では、スクロール方向として「上方向」を特定する。スクロール量としては「70」を特定したと仮定する。この場合、CPU110は、表示領域Rのy座標値「180」に「70」を加算して、表示領域Rの座標値を、図12(b)に示されるように、「(0,250)」に更新する。
図13(b)は、更新されたレイアウトデータD8に基づいて表示される画面の一例を示している。同図に示される画面では、上方向へのドラッグ操作によりコンテンツCが上方向にスクロールされた結果、表示要素C2と表示要素C5とが表示領域Rの境界をまたいで表示されている。同図に示される画面が表示されている状態において、スタイラスSがタッチオフ座標P2においてタッチオフされると、CPU110は、補間スライド処理を実行する(図7のステップS18)。
この補間スライド処理においてCPU110は、まず、タッチオン座標P1からタッチオフ座標P2に向かうベクトル(縦方向成分)の方向に基づいて補間スライド方向を特定する(図11のステップS71)。本例では、補間スライド方向として「上方向」を特定する。次に、CPU110は、表示領域Rの境界のうち、特定した補間スライド方向に対応する境界部分をまたいで表示されている表示要素を特定する(ステップS72)。例えば、各表示要素について、そのy座標値から(y座標値+高さ)までの範囲に、境界部分のy座標値が含まれるか否かを判断することにより、境界部分をまたいで表示されているか否かを判断する。本例では、特定した補間スライド方向に対応する境界部分は、表示領域Rの下辺となり、表示領域Rの下辺をまたいで表示されている表示要素C5を特定する。
次に、CPU110は、特定した表示要素C5を表示領域Rに収めるために必要な補間スライド量を特定する(ステップS73)。具体的には、表示要素C5の(y座標値+高さ)から、表示領域Rの下辺のy座標値(換言すると、左上端のy座標値+高さ)を減算することにより補間スライド量を特定する。本例では、補間スライド量として「50(=(670+110)−(250+480))」を特定する。そして、CPU110は、特定した補間スライド方向と補間スライド量とに基づいて、表示領域Rの座標値を更新する。本例では、図12(c)に示されるように、表示領域Rのy座標値「250」に「50」を加算して、表示領域Rの座標値を「(0,300)」に更新する。
図13(c)は、更新されたレイアウトデータD8に基づいて表示される画面の一例を示している。同図に示される画面では、タッチオフ後、補間スライド処理が実行された結果、コンテンツCが上方向にスクロールされ、表示要素C5の全体が表示領域R内に表示されるようになっている。
1−3−3.メニュー処理の第2の具体例
次に、上記のメニュー処理の第2の具体例について説明する。以下に説明する具体例は、コンテンツCが下方向にスクロールされる点において上記の第1の具体例と異なっている。
図14は、本具体例においてメインメモリ120に記憶されるレイアウトデータD8の一例を示す図である。図15は、図14に示されるレイアウトデータD8に基づいて表示される画面の一例を示す図である。図15(a)〜(c)は、それぞれ、図14(a)〜(c)と対応している。
図15(a)は、図14(a)に示されるレイアウトデータD8に基づいて表示される画面を示している。この図15(a)に示される画面が表示されている状態において、スタイラスSがタッチオン座標P1においてタッチオンされ、その後、下方向にドラッグ操作が行われると、情報処理装置100のCPU110は、コンテンツCのスクロール方向とスクロール量とを特定する(図6のステップS10)。そして、特定したスクロール方向とスクロール量とに基づいて、表示領域Rの座標値を更新する(ステップS11)。本例では、スクロール方向として「下方向」を特定する。スクロール量としては「70」を特定したと仮定する。この場合、CPU110は、表示領域Rのy座標値「180」から「70」を減算して、表示領域Rの座標値を、図14(b)に示されるように、「(0,110)」に更新する。
図15(b)は、更新されたレイアウトデータD8に基づいて表示される画面の一例を示している。同図に示される画面では、下方向へのドラッグ操作によりコンテンツCが下方向にスクロールされた結果、表示要素C1と表示要素C4とが表示領域Rの境界をまたいで表示されている。同図に示される画面が表示されている状態において、スタイラスSがタッチオフ座標P2においてタッチオフされると、CPU110は、補間スライド処理を実行する(図7のステップS18)。
この補間スライド処理においてCPU110は、まず、タッチオン座標P1からタッチオフ座標P2に向かうベクトル(縦方向成分)の方向に基づいて補間スライド方向を特定する(図11のステップS71)。本例では、補間スライド方向として「下方向」を特定する。次に、CPU110は、表示領域Rの境界のうち、特定した補間スライド方向に対応する境界部分をまたいで表示されている表示要素を特定する(ステップS72)。例えば、各表示要素について、そのy座標値から(y座標値+高さ)までの範囲に、境界部分のy座標値が含まれるか否かを判断することにより、境界部分をまたいで表示されているか否かを判断する。本例では、特定した補間スライド方向に対応する境界部分は、表示領域Rの上辺となり、表示領域Rの上辺をまたいで表示されている表示要素C1を特定する。
次に、CPU110は、特定した表示要素C1を表示領域Rに収めるために必要な補間スライド量を特定する(ステップS72)。具体的には、表示領域Rの上辺のy座標値(換言すると、左上端のy座標値)から、表示要素C1のy座標値を減算することにより補間スライド量を特定する。本例では、補間スライド量として「40(=110−70)」を特定する。そして、CPU110は、特定した補間スライド方向と補間スライド量とに基づいて、表示領域Rの座標値を更新する。本例では、図14(c)に示されるように、表示領域Rのy座標値「110」から「40」を減算して、表示領域Rの座標値を「(0,70)」に更新する。
図15(c)は、更新されたレイアウトデータD8に基づいて表示される画面の一例を示している。同図に示される画面では、タッチオフ後、補間スライド処理が実行された結果、コンテンツCが下方向にスクロールされ、表示要素C1の全体が表示領域R内に表示されるようになっている。
1−3−4.メニュー処理の第3の具体例
次に、上記のメニュー処理の第3の具体例について説明する。以下に説明する具体例は、コンテンツCのスクロールが、ユーザによるフリック操作に応じて行われる点において上記の第1の具体例と異なっている。
図16は、本具体例においてメインメモリ120に記憶されるレイアウトデータD8の一例を示す図である。図17は、表示画面の一例を示す図である。特に、図17(a)は、図16(a)に示されるレイアウトデータD8に基づいて表示される画面を示し、図17(c)は、図16(b)に示されるレイアウトデータD8に基づいて表示される画面を示す。
図17(a)に示される画面が表示されている状態において、スタイラスSがタッチオン座標P1においてタッチオンされ、上方向にフリック操作が行われて、タッチオフ座標P2においてタッチオフされると、情報処理装置100のCPU110は、慣性タッチオフ処理を実行する(図7のステップS17)。
この慣性タッチオフ処理においてCPU110は、まず、コンテンツCの基本スクロール量とスクロール方向とを特定する(図9のステップS31)。本例では、スクロール方向として「上方向」を特定する。基本スクロール量として「1580」を特定したと仮定する。次に、CPU110は、スクロール量調整処理を実行する(ステップS32)。
このスクロール量調整処理においてCPU110は、コンテンツCを慣性スクロールした後の表示領域Rの仮座標値を算出する(図10のステップS51)。本例では、表示領域Rのy座標値「180」に「1580」を加算して、表示領域Rの仮座標値として「(0,1760)」を特定する。次に、CPU110は、タッチオン座標P1からタッチオフ座標P2に向かうベクトル(縦方向成分)の方向に基づいてスクロール調整方向を特定する(ステップS52)。本例では、スクロール調整方向として「上方向」を特定する。次に、CPU110は、コンテンツCを慣性スクロールした場合に、表示領域Rの境界のうち、特定したスクロール調整方向に対応する境界部分をまたいで表示される表示要素を特定する(ステップS53)。例えば、各表示要素について、そのy座標値から(y座標値+高さ)までの範囲に、境界部分のy座標値が含まれるか否かを判断することにより、境界部分をまたいで表示されているか否かを判断する。
図17(b)は、上記の表示領域Rの仮座標値によりレイアウトデータD8が更新されたと仮定した場合に、当該更新されたレイアウトデータD8に基づいて表示される画面の一例を示している。同図に示される画面では、上方向へのフリック操作によりコンテンツCが上方向に慣性スクロールされた結果、表示要素C12と表示要素C15とが表示領域Rの境界をまたいで表示されている。本例では、特定したスクロール調整方向に対応する境界部分は、表示領域Rの下辺となり、表示領域Rの下辺をまたいで表示されている表示要素C15を特定する。
次に、CPU110は、特定した表示要素C15の座標値と、算出した表示領域Rの仮座標値とに基づいて補正スクロール量を特定する(ステップS54)。具体的には、表示要素C5の(y座標値+高さ)から、表示領域Rの下辺のy座標値を減算することにより補正スクロール量を特定する。本例では、補正スクロール量として「40」を特定する。次に、CPU110は、特定した基本スクロール量に、特定した補正スクロール量を加算して、実スクロール量を算出する(ステップS55)。本例では、実スクロール量として「1620(=1580+40)」を算出する。そして、CPU110は、算出した実スクロール量と、上記の特定したスクロール方向とに基づいて、表示領域Rの座標値を更新する。本例では、図16(b)に示されるように、表示領域Rのy座標値「180」に「1620」を加算して、表示領域Rの座標値を「(0,1800)」に更新する。
図17(c)は、コンテンツCが慣性スクロールされた結果、更新されたレイアウトデータD8に基づいて表示される画面の一例を示している。同図に示される画面では、スクロール量調整処理が実行された結果、コンテンツCのスクロール停止位置が上方向にスライドされ、表示要素C15の全体が表示領域R内に表示されるようになっている。
1−3−5.メニュー処理の第4の具体例
次に、上記のメニュー処理の第4の具体例について説明する。以下に説明する具体例は、コンテンツが下方向に慣性スクロールされる点において上記の第3の具体例と異なっている。
図18は、本具体例においてメインメモリ120に記憶されるレイアウトデータD8の一例を示す図である。図19は、表示画面の一例を示す図である。特に、図19(a)は、図18(a)に示されるレイアウトデータD8に基づいて表示される画面を示し、図19(c)は、図18(b)に示されるレイアウトデータD8に基づいて表示される画面を示す。
図19(a)に示される画面が表示されている状態において、スタイラスSがタッチオン座標P1においてタッチオンされ、下方向にフリック操作が行われて、タッチオフ座標P2においてタッチオフされると、情報処理装置100のCPU110は、慣性タッチオフ処理を実行する(図7のステップS17)。
この慣性タッチオフ処理においてCPU110は、まず、コンテンツCの基本スクロール量とスクロール方向とを特定する(図9のステップS31)。本例では、スクロール方向として「下方向」を特定する。基本スクロール量として「1570」を特定したとする。次に、CPU110は、スクロール量調整処理を実行する(ステップS32)。
このスクロール量調整処理においてCPU110は、コンテンツCを慣性スクロールした後の表示領域Rの仮座標値を算出する(図10のステップS51)。本例では、表示領域Rのy座標値「1680」から「1570」を減算して、表示領域Rの仮座標値として「(0,110)」特定する。次に、CPU110は、タッチオン座標P1からタッチオフ座標P2に向かうベクトル(縦方向成分)の方向に基づいてスクロール調整方向を特定する(ステップS52)。本例では、スクロール調整方向として「下方向」を特定する。次に、CPU110は、コンテンツCを慣性スクロールした場合に、表示領域Rの境界のうち、特定したスクロール調整方向に対応する境界部分をまたいで表示される表示要素を特定する(ステップS53)。例えば、各表示要素について、そのy座標値から(y座標値+高さ)までの範囲に、境界部分のy座標値が含まれるか否かを判断することにより、境界部分をまたいで表示されているか否かを判断する。
図19(b)は、上記の表示領域Rの仮座標値によりレイアウトデータD8が更新されたと仮定した場合に、当該更新されたレイアウトデータD8に基づいて表示される画面の一例を示している。同図に示される画面では、下方向へのフリック操作によりコンテンツCが下方向に慣性スクロールされた結果、表示要素C1と表示要素C4とが表示領域Rの境界をまたいで表示されている。本例では、特定したスクロール調整方向に対応する境界部分は、表示領域Rの上辺となり、表示領域Rの上辺をまたいで表示されている表示要素C1を特定する。
次に、CPU110は、特定した表示要素C1の座標値と、算出した表示領域Rの仮座標値とに基づいて補正スクロール量を特定する(ステップS54)。具体的には、表示領域Rの上辺のy座標値(換言すると、左上端のy座標値)から、表示要素C1のy座標値を減算することにより補正スクロール量を特定する。本例では、補正スクロール量として「40」を特定する。次に、CPU110は、特定した基本スクロール量に、特定した補正スクロール量を加算して、実スクロール量を算出する(ステップS55)。本例では、実スクロール量として「1610(=1570+40)」を算出する。そして、CPU110は、算出した実スクロール量と、上記の特定したスクロール方向とに基づいて、表示領域Rの座標値を更新する。本例では、図18(b)に示されるように、表示領域Rのy座標値「1680」から「1610」を減算して、表示領域Rの座標値を「(0,70)」に更新する。
図19(c)は、コンテンツCが慣性スクロールされた結果、更新されたレイアウトデータD8に基づいて表示される画面の一例を示している。同図に示される画面では、スクロール量調整処理が実行された結果、コンテンツCのスクロール停止位置が下方向にスライドされ、表示要素C1の全体が表示領域R内に表示されるようになっている。
2.変形例
上記の実施形態は下記のように変形してもよい。下記の変形例は互いに組み合わせて適用されてもよい。
2−1.変形例1
上記の実施形態では、ポインティングデバイスとしてタッチパネル140が採用されているが、他のポインティングデバイスにより代替されてもよい。例えば、マウスや、ペンタブレットや、タッチパッドや、トラックパッドや、トラックボールが使用されてもよい。あるいは、家庭用ゲーム機等で用いられるコントローラ(ジョイパッドや、ジョイスティックなど)が使用されてもよい。
2−2.変形例2
上記の実施形態では、コンテンツCを垂直方向にスクロールする場合を主に想定しているが、スクロール方向は、例えば、水平方向や斜め方向や奥行き方向であってもよい。また、上記の実施形態では、スクロール対象として、主にリスト形式のコンテンツCを想定しているが、スクロール対象は、例えば、ゲーム(例えば、シミュレーションゲーム)のマップや、地図アプリケーションにより表示される地図等のコンテンツであってもよい。スクロール対象をマップや地図とした場合には、上記の実施形態に係る補間スライド処理やスクロール量調整処理により調整される停止位置は、マップや地図を所定の間隔で区切る境界と表示領域の境界とに基づいて設定される。
2−3.変形例3
上記の実施形態では、単一の装置により上記のメニュー処理を実現することを想定しているが、上記のメニュー処理は、ネットワークを介して互いにアクセス可能な複数の装置の協働により実現されてもよい。すなわち、表示制御システムにより実現されてもよい。
2−4.変形例4
情報処理装置100に記憶されるメニュー処理プログラムPは、コンピュータ装置が読み取り可能な記録媒体を介して情報処理装置100に提供されてもよい。ここで、記録媒体とは、例えば、磁気テープや磁気ディスクなどの磁気記録媒体や、光ディスクなどの光記録媒体や、光磁気記録媒体や、半導体メモリ等である。または、インターネット等のネットワークを介して情報処理装置100に提供されてもよい。
100…情報処理装置、110…CPU、111…操作受付部、112…設定部、113…スクロール部、114…補間スライド処理部、115…スクロール量調整処理部、120…メインメモリ、121…プログラム記憶領域、122…データ記憶領域、130…保存用データメモリ、140…タッチパネル、150…操作ボタン、160…通信モジュール

Claims (13)

  1. コンピュータを、
    ポインティングデバイスを用いて表示装置の表示領域内の座標を指定するポインティング操作を受け付ける操作受付部と、
    前記ポインティング操作の開始座標と終了座標の位置関係に基づいて、前記表示領域にその一部が表示されるコンテンツのスクロールの第1停止位置を設定する設定部と、
    前記ポインティング操作に基づいて、前記コンテンツを前記第1停止位置までスクロールするスクロール部
    として機能させるための情報処理プログラム。
  2. 前記ポインティングデバイスは、タッチパネルである
    請求項1に記載の情報処理プログラム。
  3. 前記設定部は、
    前記ポインティング操作に基づいて前記コンテンツのスクロールの第2停止位置をさらに設定し、
    当該第2停止位置を、前記開始座標から前記終了座標に向かうベクトルに基づいて定まる方向に移動させることにより、前記第1停止位置を設定する
    請求項1又は2に記載の情報処理プログラム。
  4. 前記設定部は、前記ポインティング操作により指示されるスクロールの量が所定量未満である場合に、前記第2停止位置を、前記ベクトルに基づいて定まる方向に移動させることにより、前記第1停止位置を設定する
    請求項3に記載の情報処理プログラム。
  5. 前記設定部は、前記ポインティング操作により指示されるスクロールの量が前記所定量以上である場合には、前記第2停止位置を、前記ポインティング操作に基づいて定まる方向に移動させることにより、前記第1停止位置を設定する
    請求項4に記載の情報処理プログラム。
  6. 前記スクロール部は、前記コンテンツを前記第2停止位置までスクロールした後に、前記第1停止位置までスクロールする
    請求項3又は4に記載の情報処理プログラム。
  7. 前記設定部は、前記スクロール部により前記コンテンツが前記第2停止位置までスクロールされた結果、前記コンテンツを構成する一の表示要素が前記表示領域の境界をまたいで表示される場合に、当該一の表示要素が前記表示領域に含まれる領域が増加するように、前記第1停止位置を設定する
    請求項6に記載の情報処理プログラム。
  8. 前記設定部は、前記一の表示要素の外周の一部が、前記表示領域の境界と接するように、前記第1停止位置を設定する
    請求項7に記載の情報処理プログラム。
  9. 前記設定部は、前記境界のうち、前記ベクトルに基づいて定まる部分を前記一の表示要素がまたいで表示される場合に、前記一の表示要素が前記表示領域に含まれる領域が増加するように、前記第1停止位置を設定する
    請求項7又は8に記載の情報処理プログラム。
  10. 前記コンテンツは、複数の表示要素が並べられることにより構成され、
    前記スクロール部は、前記複数の表示要素が並べられる方向に前記コンテンツをスクロールする
    請求項1乃至9のいずれか1項に記載の情報処理プログラム。
  11. ポインティングデバイスを用いて表示装置の表示領域内の座標を指定するポインティング操作を受け付ける操作受付部と、
    前記ポインティング操作の開始座標と終了座標の位置関係に基づいて、前記表示領域にその一部が表示されるコンテンツのスクロールの停止位置を設定する設定部と、
    前記ポインティング操作に基づいて、前記コンテンツを前記停止位置までスクロールするスクロール部と
    を備える表示制御装置。
  12. ポインティングデバイスを用いて表示装置の表示領域内の座標を指定するポインティング操作を受け付ける操作受付部と、
    前記ポインティング操作の開始座標と終了座標の位置関係に基づいて、前記表示領域にその一部が表示されるコンテンツのスクロールの停止位置を設定する設定部と、
    前記ポインティング操作に基づいて、前記コンテンツを前記停止位置までスクロールするスクロール部と
    を備える表示制御システム。
  13. 表示制御装置により実行される表示方法であって、
    ポインティングデバイスを用いて表示装置の表示領域内の座標を指定するポインティング操作を受け付けるステップと、
    前記ポインティング操作の開始座標と終了座標の位置関係に基づいて、前記表示領域にその一部が表示されるコンテンツのスクロールの停止位置を設定するステップと、
    前記ポインティング操作に基づいて、前記コンテンツを前記停止位置までスクロールするステップと
    を有する表示方法。
JP2015119549A 2015-06-12 2015-06-12 情報処理プログラム、表示制御装置、表示制御システム及び表示方法 Pending JP2017004377A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015119549A JP2017004377A (ja) 2015-06-12 2015-06-12 情報処理プログラム、表示制御装置、表示制御システム及び表示方法
EP15189874.9A EP3104267A1 (en) 2015-06-12 2015-10-15 Information-processing program, display control device, display control system, and display method
US14/887,493 US20160364031A1 (en) 2015-06-12 2015-10-20 Storage medium, display control device, display control system, and display method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015119549A JP2017004377A (ja) 2015-06-12 2015-06-12 情報処理プログラム、表示制御装置、表示制御システム及び表示方法

Publications (1)

Publication Number Publication Date
JP2017004377A true JP2017004377A (ja) 2017-01-05

Family

ID=54330633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015119549A Pending JP2017004377A (ja) 2015-06-12 2015-06-12 情報処理プログラム、表示制御装置、表示制御システム及び表示方法

Country Status (3)

Country Link
US (1) US20160364031A1 (ja)
EP (1) EP3104267A1 (ja)
JP (1) JP2017004377A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022506929A (ja) * 2019-01-24 2022-01-17 北京字節跳動網絡技術有限公司 ディスプレイページのインタラクション制御方法及び装置

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3249511A1 (en) * 2016-05-26 2017-11-29 Kyocera Document Solutions Inc. Display device and display control program
US10466887B2 (en) * 2017-05-02 2019-11-05 Facebook, Inc. Feed ad scrolling
WO2019087942A1 (ja) * 2017-10-31 2019-05-09 富士フイルム株式会社 操作装置、その作動方法および作動プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066801A (ja) 1998-08-24 2000-03-03 Sanyo Electric Co Ltd 携帯型情報表示装置
EP1055993B1 (en) * 1999-05-13 2004-03-24 Matsushita Electric Industrial Co., Ltd. Mobile communication terminal for viewing HTML documents with smart scrolling
JP5478438B2 (ja) * 2010-09-14 2014-04-23 任天堂株式会社 表示制御プログラム、表示制御システム、表示制御装置、表示制御方法
KR102060962B1 (ko) * 2011-08-19 2020-01-02 삼성전자 주식회사 포인팅 장치를 이용한 컨텐츠 이동 방법 및 장치
WO2013044450A1 (en) * 2011-09-27 2013-04-04 Motorola Mobility, Inc. Gesture text selection

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022506929A (ja) * 2019-01-24 2022-01-17 北京字節跳動網絡技術有限公司 ディスプレイページのインタラクション制御方法及び装置
JP7195426B2 (ja) 2019-01-24 2022-12-23 北京字節跳動網絡技術有限公司 ディスプレイページのインタラクション制御方法及び装置
US11586345B2 (en) 2019-01-24 2023-02-21 Beijing Bytedance Network Technology Co., Ltd. Method and apparatus for interaction control of display page

Also Published As

Publication number Publication date
US20160364031A1 (en) 2016-12-15
EP3104267A1 (en) 2016-12-14

Similar Documents

Publication Publication Date Title
US9898180B2 (en) Flexible touch-based scrolling
US10423290B2 (en) Information processing apparatus
EP2560086B1 (en) Method and apparatus for navigating content on screen using pointing device
JP6081769B2 (ja) プログラム、情報処理装置、情報処理方法および情報処理システム
JP5871937B2 (ja) 情報処理装置、表示制御方法、プログラム及び情報記憶媒体
WO2013190989A1 (ja) 表示装置、表示方法及びプログラム
JP2017004377A (ja) 情報処理プログラム、表示制御装置、表示制御システム及び表示方法
JP2015035092A (ja) 表示制御装置及び表示制御装置の制御方法
JP2013235450A (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP6758922B2 (ja) 電子機器及びその制御方法
JP6248678B2 (ja) 情報処理装置、手書き入力プログラム及び手書き入力方法
JP2012174247A (ja) 携帯電子機器、接触操作制御方法および接触操作制御プログラム
US20140111551A1 (en) Information-processing device, storage medium, information-processing method, and information-processing system
US9105136B2 (en) Display controller, display control method and computer-readable medium
JP5907270B2 (ja) 電子機器、表示制御方法及びプログラム
WO2014034549A1 (ja) 情報処理装置、情報処理方法、プログラム及び情報記憶媒体
JP6907368B2 (ja) 電子機器及びその制御方法
US20140075391A1 (en) Display control device, display control system, storing medium, and display method
CN107423016B (zh) 一种锁屏图片的显示方法及移动终端
US20140019897A1 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
JP2015076068A (ja) 表示装置とその表示制御方法及びプログラム
CN106951162B (zh) 一种信息处理方法及电子设备
JP6552277B2 (ja) 情報端末、情報端末による処理実行方法、及び、プログラム
JP6368263B2 (ja) 情報処理システム、情報処理装置および遠隔操作支援方法
JP2014164355A (ja) 入力装置および入力装置の制御方法