(57)【要約】【課題】より自然な操作感をユーザに提供する。【解決手段】受け付け手段１１は、所定領域の一部である領域５３を移動させるための、ユーザによる操作入力を受け付ける。表示制御手段１２は、領域５３の画像を表示手段２０に表示させる。表示手段２０は、この例では、情報処理装置１とは別の外部装置により提供される機能であり、文字および画像の少なくとも一方を表示する。移動制御手段１３は、操作入力に基づいて領域５３を移動させる。移動制御手段１３は、領域５３が仮想空間５０と所定の位置関係にある場合、所定方向への移動を抑制して、表示領域を移動させる。【選択図】図４
2014085817.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
所定領域の一部である表示領域を移動させるための操作入力を受け付ける受け付け手段と、
前記表示領域の画像を表示手段に表示させる表示制御手段と、
前記操作入力に基づいて前記表示領域を移動させる移動制御手段と
して機能させ、
前記移動制御手段は、前記表示領域が前記所定領域と所定の位置関係にある場合、所定方向への移動を抑制して前記表示領域を移動させる
プログラム。
【請求項２】
前記所定の位置関係は、前記表示領域が前記所定領域から出ようとする位置関係である
請求項１に記載のプログラム。
【請求項３】
前記移動制御手段は、前記表示領域が前記所定領域から出ようとする方向と交わる方向の移動を抑制する
請求項２に記載のプログラム。
【請求項４】
前記移動制御手段は、前記表示領域と前記所定領域との距離に応じて前記移動を抑制する
請求項１ないし３のいずれか一項に記載のプログラム。
【請求項５】
前記移動制御手段は、前記表示領域と前記所定領域との距離が大きくなるほど、前記移動をより抑制する
請求項１ないし４のいずれか一項に記載のプログラム。
【請求項６】
前記移動制御手段は、前記表示領域と前記所定領域とが所定の位置関係にない場合の前記所定方向への移動距離よりも、前記表示領域と前記所定領域とが所定の位置関係にある場合の前記所定方向への移動距離の方が小さくなるように、前記所定方向への移動を抑制する
請求項１ないし５のいずれか一項に記載のプログラム。
【請求項７】
前記移動制御手段は、前記表示領域の端部が、前記所定領域の端部と前記所定の位置関係にある場合、前記所定方向への移動を抑制して、前記表示領域を移動させる
請求項１ないし６のいずれか一項に記載のプログラム。
【請求項８】
前記移動制御手段は、前記表示領域の端部と前記所定範囲の端部との距離がしきい値を超えない範囲で、前記所定範囲の外側に前記表示領域を移動させた後、前記所定範囲内まで前記表示領域を移動させる
請求項１ないし７のいずれか一項に記載のプログラム。
【請求項９】
所定領域の一部である表示領域を移動させるための操作入力を受け付ける受け付け手段と、
前記表示領域の画像を表示手段に表示させる表示制御手段と、
前記操作入力に基づいて前記表示領域を移動させる移動制御手段と
を有し、
前記移動制御手段は、前記表示領域が前記所定領域と所定の位置関係にある場合、所定方向への移動を抑制して前記表示領域を移動させる
情報処理装置。
【請求項１０】
所定領域の一部である表示領域を移動させるための操作入力を受け付けるステップと、
前記表示領域の画像を表示手段に表示させるステップと、
前記操作入力に基づいて前記表示領域を移動させ、前記表示領域が前記所定領域と所定の位置関係にある場合、所定方向への移動を抑制して前記表示領域を移動させるステップと
を有する情報処理方法。
【請求項１１】
所定領域の一部である表示領域を移動させるための操作入力を受け付ける受け付け手段と、
前記表示領域の画像を表示手段に表示させる表示制御手段と、
前記操作入力に基づいて前記表示領域を移動させる移動制御手段と
を有し、
前記移動制御手段は、前記表示領域が前記所定領域と所定の位置関係にある場合、所定方向への移動を抑制して前記表示領域を移動させる
情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザインターフェースに関する。
【背景技術】
【０００２】
オブジェクトをスクロールさせる画像を表示する技術が知られている。特許文献１は、複数のオブジェクトがスクロールされている場合において、区切りとなる特定位置が表示されているときには、特定位置が表示されていない場合と比べて移動量が少なくなるように移動量を決定する技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−１５０５５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、より自然な操作感をユーザに提供する。
【課題を解決するための手段】
【０００５】
本発明は、コンピュータを、所定領域の一部である表示領域を移動させるための操作入力を受け付ける受け付け手段と、前記表示領域の画像を表示手段に表示させる表示制御手段と、前記操作入力に基づいて前記表示領域を移動させる移動制御手段として機能させ、前記移動制御手段は、前記表示領域が前記所定領域と所定の位置関係にある場合、所定方向への移動を抑制して前記表示領域を移動させる、プログラムを提供する。
【０００６】
前記所定の位置関係は、前記表示領域が前記所定領域から出ようとする位置関係であってもよい。
【０００７】
前記移動制御手段は、前記表示領域が前記所定領域から出ようとする方向と交わる方向の移動を抑制してもよい。
【０００８】
前記移動制御手段は、前記表示領域と前記所定領域との距離に応じて前記移動を抑制すしてもよい。
【０００９】
前記移動制御手段は、前記表示領域と前記所定領域との距離が大きくなるほど、前記移動をより抑制してもよい。
【００１０】
前記移動制御手段は、前記表示領域と前記所定領域とが所定の位置関係にない場合の前記所定方向への移動距離よりも、前記表示領域と前記所定領域とが所定の位置関係にある場合の前記所定方向への移動距離の方が小さくなるように、前記所定方向への移動を抑制してもよい。
【００１１】
前記移動制御手段は、前記表示領域の端部が、前記所定領域の端部と前記所定の位置関係にある場合、前記所定方向への移動を抑制して、前記表示領域を移動させてもよい。
【００１２】
前記移動制御手段は、前記表示領域の端部と前記所定範囲の端部との距離がしきい値を超えない範囲で、前記所定範囲の外側に前記表示領域を移動させた後、前記所定範囲内まで前記表示領域を移動させてもよい。
【００１３】
また、本発明は、所定領域の一部である表示領域を移動させるための操作入力を受け付ける受け付け手段と、前記表示領域の画像を表示手段に表示させる表示制御手段と、前記操作入力に基づいて前記表示領域を移動させる移動制御手段とを有し、前記移動制御手段は、前記表示領域が前記所定領域と所定の位置関係にある場合、所定方向への移動を抑制して前記表示領域を移動させる、情報処理装置を提供する。
【００１４】
さらに、本発明は、所定領域の一部である表示領域を移動させるための操作入力を受け付けるステップと、前記表示領域の画像を表示手段に表示させるステップと、前記操作入力に基づいて前記表示領域を移動させ、前記表示領域が前記所定領域と所定の位置関係にある場合、所定方向への移動を抑制して前記表示領域を移動させるステップとを有する情報処理方法を提供する。
【００１５】
さらに、本発明は、所定領域の一部である表示領域を移動させるための操作入力を受け付ける受け付け手段と、前記表示領域の画像を表示手段に表示させる表示制御手段と、前記操作入力に基づいて前記表示領域を移動させる移動制御手段とを有し、前記移動制御手段は、前記表示領域が前記所定領域と所定の位置関係にある場合、所定方向への移動を抑制して前記表示領域を移動させる、情報処理システムを提供する。
【発明の効果】
【００１６】
本発明によれば、より自然な操作感がユーザに提供される。
【図面の簡単な説明】
【００１７】
【図１】本実施形態における仮想空間５０を例示する図。
【図２】比較例において領域５３が自由移動範囲５４内を移動する様子を例示する図。
【図３】本実施形態において領域５３が自由移動範囲５４内を移動する様子を例示する図。
【図４】一実施形態に係る情報処理装置１の機能構成を示す図。
【図５】情報処理装置１のハードウェア構成を示す図。
【図６】情報処理装置１の動作を示すフローチャート。
【図７】領域５３と自由移動範囲５４との距離を例示する図。
【図８】図８は、抑制係数の進入量依存性を例示する図。
【発明を実施するための形態】
【００１８】
１．概要
図１は、本実施形態における仮想空間５０を例示する図である。この例で、仮想空間５０は、２次元仮想空間である。仮想空間５０は、オブジェクト５２を有する。オブジェクト５２は、仮想空間内に配置された仮想オブジェクトであり、例えば、アイコン、キャラクター（人、動物、モンスター等）、建造物（家、塔、城等）、自然物（山、川、樹木、岩等）、およびフィールドに定着しない工作物（車、ブロック等）等を表すもののうち少なくとも一つを含む。図１の例では、それぞれアイコンを表す複数のオブジェクト５２が配置されている。
【００１９】
仮想空間５０には仮想カメラ（図示略）が設けられており、この仮想カメラで仮想的に撮影された画像が表示装置に表示される。なおこの仮想カメラ自体は仮想空間５０内にあってもよいし、仮想空間５０外にあってもよい。領域５３は、この仮想カメラにより撮影される領域、すなわち表示装置に表示される領域を表している。領域５３は、ユーザの操作入力に応じて移動する。すなわち、表示装置に表示される画像は、操作入力に応じてスクロールする。領域５３に対しては、自由移動範囲５４が設定されている。領域５３は、自由移動範囲５４の内部であれば操作入力に応じて自由に移動するが、自由移動範囲５４の外部においては、領域５３の移動は、自由移動範囲５４の内部にある場合と比較して制限される。なおこの例では、領域５３は自由移動範囲５４を超えることが一切できないわけではない。決められた制限のもと、領域５３の少なくとも一部が自由移動範囲５４の外に出る場合がある。
【００２０】
図２は、比較例において領域５３が自由移動範囲５４内を移動する様子を例示する図である。比較例においては、領域５３は、自由移動範囲５４の外にはみ出さない範囲で移動する。いま、領域５３に対して図２（ａ）に示される位置から右下方向（斜め方向）に速度Ｖが与えられ、領域５３が移動する例を考える。右下方向に移動した領域５３の右端が自由移動範囲５４の右端と接する位置まで移動すると（図２（ｂ））、領域５３はこれ以上右に移動できない。この状態でさらに右下方向への（計算上の、または仮想的な）移動速度がゼロでない場合（例えば領域５３を右下に移動させる操作入力が与えられた場合）、すなわち、移動速度の右方向成分および下方向成分がともにゼロでない場合、領域５３は右には移動できないので、下にのみ移動する（図２（ｃ））。この場合、領域５３は、ユーザが意図しない方向に移動している場合がある。
【００２１】
図３は、本実施形態において領域５３が自由移動範囲５４内を移動する様子を例示する図である。図３（ａ）および（ｂ）は、図２（ａ）および（ｂ）と同じである。図３（ｂ）の状態、すなわち、領域５３が自由移動範囲５４の右端まで移動したときに、領域５３が右下向きの移動速度を有する場合、領域５３は下に移動する。このとき、下への移動量は、図２（ｃ）の場合よりも抑制されている。さらに、このとき、決められた制限の下、領域５３は右にも移動する（図３（ｃ））。領域５３は、自由移動範囲５４の外にはみ出た後、自由移動範囲５４の内まで戻る（図３（ｄ））。すなわち、移動速度Ｖがゼロになると、領域５３は、最終的には、自由移動範囲５４内に収まる位置まで移動する。この例によれば、ユーザが意図しない方向への領域５３の移動を抑制することができる。以下、このようなユーザインターフェースを提供する装置の構成および動作について説明する。
【００２２】
２．構成
図４は、一実施形態に係る情報処理装置１の機能構成を示す図である。情報処理装置１は、受け付け手段１１と、表示制御手段１２と、移動制御手段１３とを有する。受け付け手段１１は、所定領域（この例では仮想空間５０）の一部である領域５３を移動させるための、ユーザによる操作入力を受け付ける。表示制御手段１２は、領域５３の画像を表示手段２０に表示させる。表示手段２０は、この例では、情報処理装置１とは別の外部装置により提供される機能であり、文字および画像の少なくとも一方を表示する。移動制御手段１３は、操作入力に基づいて領域５３を移動させる。移動制御手段１３は、領域５３が仮想空間５０と所定の位置関係にある場合、所定方向への移動を抑制して、表示領域を移動させる。この例で、所定の位置関係は、領域５３が自由移動範囲５４から出ようとする位置関係である。また、所定方向は、領域５３が自由移動範囲５４から出ようとする方向と交わる方向である。
【００２３】
図５は、情報処理装置１のハードウェア構成を示す図である。この例で、情報処理装置１は、ビデオゲームを実行するためのゲーム装置である。情報処理装置１は、ＣＰＵ１０１と、メモリ１０２と、外部メモリＩＦ１０３と、入出力ＩＦ１０４と、通信部１０５とを有するコンピュータ装置である。情報処理装置１の操作には、コントローラ２が用いられる。また、情報処理装置１は、表示装置４に接続されている。表示装置４は、画像および文字の少なくとも一方を含む情報を表示する装置であり、ディスプレイ（液晶パネル、有機ＥＬ（Electro-Luminescence）パネル等）、および駆動回路を有する。この例で、情報処理装置１はいわゆる据え置き型のゲーム装置であり、表示装置４を内蔵していない。表示装置４は、外付け装置、例えばテレビ受像機である。なお、情報処理装置１は、表示装置４を内蔵していてもよい。
【００２４】
ＣＰＵ１０１は、情報処理装置１の各部を制御する装置であり、各種の演算を行う。メモリ１０２は、プログラムおよびデータを記憶する記憶装置であり、例えばＲＡＭ（Random Access Memory）およびＲＯＭ（Read Only Memory）を有する。外部メモリＩＦ１０３は、プログラム（例えばゲームプログラム）およびデータを記憶した外部メモリ３（例えば光ディスク、磁気ディスク、または半導体メモリ）との間でプログラムおよびデータの読み書きをするインターフェースである。入出力ＩＦ１０４は、入出力装置（この例では表示装置４）との間で信号を仲介するインターフェースである。通信部１０５は、コントローラ２と通信する装置であり、例えばアンテナおよび増幅器を有する。外部メモリ３またはメモリ１０２に記憶されているプログラム（例えばゲームプログラム）を実行することにより、そのプログラムに係る機能（例えばビデオゲーム）が情報処理装置１において実現される。
【００２５】
コントローラ２は、情報処理装置１に対し指示を入力する装置であるが、この例ではさらに、情報処理装置１から送信される信号に従って画像を表示する機能を有する。コントローラ２は、ＣＰＵ２０１と、タッチスクリーン２０２と、通信部２０３とを有する。ＣＰＵ２０１は、コントローラ２の各部を制御する装置であり、メモリ（図示略）を使用して各種の演算を行う。タッチスクリーン２０２は、情報を表示する機能と指示を入力する機能とを兼ね備えた装置であり、例えば、ディスプレイおよび駆動回路、並びにディスプレイの表面に設けられたタッチセンサを有する。通信部２０３は、情報処理装置１と通信する装置であり、例えばアンテナおよび増幅器を有する。
【００２６】
この例では、外部メモリ３またはメモリ１０２に記憶されているプログラム（ゲームプログラム、システムソフトウェア、またはこれらの組み合わせ）によって、仮想空間５０における領域５３の画像を、表示装置４およびタッチスクリーン２０２の少なくとも一方に表示する機能が提供される。また、領域５３は、コントローラ２を介した操作入力に応じて、仮想空間５０内を移動する。このプログラムを実行しているＣＰＵ１０１は、受け付け手段１１、表示制御手段１２、および移動制御手段１３の一例である。表示装置４およびタッチスクリーン２０２の少なくとも一方は、表示手段２０の一例である。
【００２７】
３．動作
図６は情報処理装置１の動作を示すフローチャートである。図６のフローの開始前において、仮想空間５０における領域５３の画像を表示させるためのプログラムが実行されている。ここでは、領域５３の画像がタッチスクリーン２０２に表示され、タッチスクリーン２０２におけるユーザによる操作入力に応じた指示が情報処理装置１に入力される例を説明する。また、この例で図６の処理は、所定の周期（例えば６０Ｈｚに相当する１６．７ミリ秒）で繰り返し実行される。この処理の単位期間を「フレーム」という。
【００２８】
タッチスクリーン２０２における操作には、「ドラッグ」と「フリック」とがある。ドラッグは、指でタッチスクリーン２０２をなぞる操作、すなわちタッチした状態を継続したままタッチ位置を動かす操作である。フリックは、指でタッチスクリーン２０２を素早くはらう操作、すなわち所定の基準値より速い速度でドラッグした後で指をタッチスクリーン２０２から離す操作である。これらの操作に応じて領域５３の移動速度が決定され、決定された移動速度に応じて移動した領域５３の画像が表示される。
【００２９】
ステップＳ１０１において、ＣＰＵ１０１は、操作入力を受け付ける。詳細には以下のとおりである。コントローラ２から送信される、ユーザの操作入力を示す信号（以下「操作入力信号」という）は、タッチスクリーン２０２においてタッチされた位置の座標（以下「実座標」という）を含む。現フレームにおいてタッチスクリーン２０２がタッチされていない場合、操作入力信号はヌル値を含む。ＣＰＵ１０１は、実座標を、仮想空間５０における位置を示す座標（以下「仮想座標」という。また、仮想座標により示される点を「仮想点」という）に変換する。
【００３０】
メモリ１０２は、過去の所定期間（例えば、継続中のドラッグまたは継続中のフリックが開始されたフレームから直近のフレームまで）の各フレームにおける仮想座標を順に記憶している。ＣＰＵ１０１は、このフレームにおける仮想座標を、メモリ１０２に書き込む。
【００３１】
ステップＳ１０２において、ＣＰＵ１０１は、領域５３の移動速度を算出する。この例で、ＣＰＵ１０１は、メモリ１０２に記憶されている複数の仮想座標の少なくとも一部を用いて、領域５３の移動速度を算出する。移動速度は、具体的にはどのような方法で算出されてもよい。例えば、移動速度は、操作入力の累積に係数を乗算することにより算出される。あるいは、移動速度は、ドラッグの始点から目標点に向かうベクトルおよび前フレームにおける移動速度のそれぞれに係数を乗算したもののベクトル和を用いて算出されてもよい。さらにあるいは、移動速度は、これらとは別の方法により算出されてもよい。
【００３２】
ステップＳ１０３において、ＣＰＵ１０１は、領域５３の移動後の位置（正確には移動後の位置の候補）を算出する。移動後の位置の算出には、領域５３の現在位置と、移動速度と、フレーム周期が用いられる。領域５３の位置は、代表点（例えば、左上頂点）の位置により表される。
【００３３】
ステップＳ１０４において、ＣＰＵ１０１は、移動後の領域５３と自由移動範囲５４とが所定の位置関係を満たしているか判断する。この例で、所定の位置関係は、移動後の領域５３の端部が自由移動範囲５４からはみ出るという関係である。ＣＰＵ１０１は、例えば、
ｘ１＜ｘｍｉｎ    …（１）
ｘ２＞ｘｍａｘ    …（２）
ｙ１＜ｙｍｉｎ    …（３）
ｙ２＞ｙｍａｘ    …（４）
のうち少なくとも一つの条件が満たされているか判断する。なお、ｘ１およびｘ２は、移動後の領域５３の左端および右端のｘ座標をそれぞれ示す。ｙ１およびｙ２は、移動後の領域５３の下端および上端のｙ座標を示す。ｘｍｉｎおよびｘｍａｘは、それぞれ自由移動範囲５４の左端および右端のｘ座標を示す。ｙｍｉｎおよびｙｍａｘは、それぞれ自由移動範囲５４の下端および上端のｙ座標を示す。なお、この例では右向きがｘ軸の正方向であり、上向きがｙ軸の正方向である。領域５３と自由移動範囲５４とが上記（１）から（４）の所定の位置関係のいずれかを満たしていると判断された場合（Ｓ１０４：ＹＥＳ）、ＣＰＵ１０１は、処理をステップＳ１０６に移行する。領域５３と自由移動範囲５４とが所定の位置関係を満たしていないと判断された場合（Ｓ１０４：ＮＯ）、ＣＰＵ１０１は、処理をステップＳ１０５に移行する。
【００３４】
ステップＳ１０５において、ＣＰＵ１０１は、ステップＳ１０３において算出された位置に領域５３を移動させる。ステップＳ１０５の処理が完了すると、ＣＰＵ１０１は、処理をステップＳ１０８に移行する。
【００３５】
ステップＳ１０６およびステップＳ１０７においては、特定方向および特定方向以外の方向（以下「非特定方向」という）の座標がそれぞれ決定される。すなわち、ステップＳ１０６においては特定方向の座標のみが、ステップＳ１０７においては非特定方向の座標のみが決定される。ステップＳ１０６において、ＣＰＵ１０１は、ステップＳ１０４で満たされた位置関係に応じた方向（以下「特定方向」という。所定方向の一例）の移動を抑制する。位置関係に応じた方向は、移動後の領域５３の端部がはみ出る方向とは別の方向、この例では、はみ出る方向と直交する方向である。例えば、式（１）または（２）の条件が満たされた場合はｙ方向が特定方向であり、式（３）または（４）の条件が満たされた場合はｘ方向が特定方向である。式（１）または（２）と、式（３）または（４）とがともに満たされた場合は、特定方向は存在しない（ｘ方向およびｙ方向のいずれも特定方向ではない）。
【００３６】
ＣＰＵ１０１は、例えば次式（５）に従って、特定方向の移動を抑制する。
ｐｒ（ｊ）−ｐ（ｊ−１）＝ｋ｛ｐｃ（ｊ）−ｐ（ｊ−１）｝    …（５）
式（５）をｐｒ（ｊ）について解くと次式（６）が得られる。
ｐｒ（ｊ）＝ｋ・ｐｃ（ｊ）＋（１−ｋ）・ｐ（ｊ−１）    …（６）
ＣＰＵ１０１は、式（６）で算出された座標を、領域５３の特定方向の座標として決定する。ここで、ｐｒ（ｊ）は第ｊフレーム（現フレーム）の抑制された移動後の位置を示す。ｐｃ（ｊ）は第ｊフレームのステップＳ１０３において算出された移動後の位置を示す。ｐ（ｊ−１）は、第（ｊ−１）フレーム（直前のフレーム）における位置を示す。ｋは、移動の抑制の度合いを示す係数（以下「抑制係数」という）である。この例で、係数ｋは、非特定方向における領域５３と自由移動範囲５４との距離に応じて決められる。なお、特定方向以外の方向については、この補正は行われない。
【００３７】
図７は、領域５３と自由移動範囲５４との距離を例示する図である。この例で、領域５３と自由移動範囲５４との距離は、端部と端部との距離、より詳細には、領域５３のうち、自由移動範囲５４からはみ出ている部分についての、はみ出ている座標軸方向の座標の最大値（または最小値）と、自由移動範囲５４についての、その座標軸方向の座標の最大値（または最小値）との差である。図７（ａ）の例では、領域５３が自由移動範囲５４のｘ軸正方向側にはみ出しており、領域５３のｘ座標の最大値と自由移動範囲５４のｘ座標の最大値との差が、領域５３と自由移動範囲５４との距離ｄである。図７（ｂ）は自由移動範囲５４の形状が矩形でない例を示している。この例では、領域５３が自由移動範囲５４のｙ軸負方向側にはみ出しており、領域５３のｙ座標の最小値と自由移動範囲５４のｙ座標の最小値との差が、領域５３と自由移動範囲５４との距離ｄである。以下の例では、領域５３と自由移動範囲５４との距離を、領域５３が自由移動範囲５４の外部に進入しているという観点から「進入量」という。
【００３８】
図８は、抑制係数の進入量依存性を例示する図である。縦軸は抑制係数ｋを、横軸は非特定方向における進入量ｄを、それぞれ示している。この例で、係数ｋは、０＜ｋ＜１の範囲の値を有し、値が小さいほど移動が抑制されていることを示す。この例では、非特定方向（例えばｘ方向）への進入量が大きいほど、特定方向（例えばｙ方向）への移動が抑制される。この例で係数ｋは１未満であるので、領域５３と自由移動範囲５４とが所定の位置関係にない場合の特定方向への移動距離よりも、領域５３と自由移動範囲５４とが所定の位置関係にある場合の特定方向への移動距離の方が小さくなるように、特定方向への移動が抑制される。また、この例で係数ｋは０よりも大きいので、抑制された後も、領域５３は特定方向に移動する（すなわち移動量はゼロではない）。
【００３９】
再び図６を参照する。ステップＳ１０７において、ＣＰＵ１０１は、非特定方向の移動後の位置を決定する（すなわち、移動量を決定する）。非特定方向における移動後の位置は、原則的には、ステップＳ１０３で算出された位置が用いられる。しかし、進入量ｄがしきい値（上限値）ｔｈｄを超えてしまう場合、ＣＰＵ１０１は、進入量ｄがしきい値ｔｈｄを超えないように、移動後の位置を決定する。例えば、ＣＰＵ１０１は、進入量ｄがしきい値ｔｈｄを超えてしまう場合、ｄ＝ｔｈｄとなるように、ステップＳ１０３で算出された位置を修正する。この例で、進入量のしきい値ｔｈｄ（すなわち許容進入量）は、ステップＳ１０２において算出される移動速度（より詳細には、移動速度の非特定方向成分）に応じて決められる。より具体的には、ＣＰＵ１０１は、移動速度が大きくなるほど、しきい値ｔｈｄの値を大きくする。
【００４０】
なお、領域５３の端部が自由移動範囲５４からはみ出ている場合、ＣＰＵ１０１は、領域５３が自由移動範囲５４内にある場合と比較して移動速度を減じる効果を生じさせる処理を行う。移動速度を減じる効果を生じさせる処理は、例えば、移動速度の算出式で用いられる係数を、移動速度が減少する方向に変化させる処理、移動速度を減じさせる仮想的な操作入力を与える処理、またはこれらの組み合わせを含む。
【００４１】
ステップＳ１０８において、ＣＰＵ１０１は、メモリ１０２に記憶されている座標に対応する位置における領域５３の画像を、タッチスクリーン２０２に描画するための信号を出力する。タッチスクリーン２０２は、通信部１０５および通信部２０３を介して受信したこの信号に従って画像を描画する。次のフレームになると、ＣＰＵ１０１は、ステップＳ１０１〜Ｓ１０８の処理を再び実行する。
【００４２】
以上で説明したように本実施形態によれば、自由移動範囲５４の境界付近で領域５３を移動させる場合に、ユーザの意図しない方向への領域５３が抑制される。
【００４３】
４．変形例
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下の変形例のうち２つ以上のものが組み合わせて用いられてもよい。
【００４４】
４−１．変形例１
所定方向への移動が抑制される条件である所定の位置関係は、領域５３が自由移動範囲５４から出ようとするものに限定されない。所定の位置関係は、例えば、領域５３が自由移動範囲５４の内部にあるという位置関係であってもよい。この場合において、特定方向および非特定方向はあらかじめ決められていてもよいし、操作入力等に応じて動的に決められてもよい。さらにこの場合において、移動制御手段１３は、領域５３の移動速度または移動量に応じて、特定方向における移動の抑制を行うか否か判断し、抑制を行うと判断された場合にこの移動を抑制してもよい。具体的には、移動制御手段１３は、領域５３の移動速度が所定のしきい値よりも速い場合に、特定方向における移動を抑制すると判断してもよい。あるいは、移動制御手段１３は、領域５３の移動量が所定のしきい値よりも多い場合に、特定方向における移動を抑制すると判断してもよい。
【００４５】
４−２．変形例２
領域５３と自由移動範囲５４とが所定の位置関係を満たした場合における非特定方向への移動は、実施形態で説明したものに限定されない。すなわち実施形態においては、ある制限の下、領域５３が自由移動範囲５４からはみ出ることが許容されたが、領域５３が自由移動範囲５４からはみ出ないように、非特定方向への移動が制限されてもよい。
【００４６】
４−３．変形例３
抑制係数ｋの具体例は、図８で説明したものに限定されない。抑制係数ｋは進入量に対して線形に変化してもよいし、不連続に変化してもよい。また、抑制係数ｋは、進入量に加え（または進入量に代えて）移動速度の大きさまたは移動量の関数であってもよい。
【００４７】
４−４．変形例４
特定方向は、非特定方向に直交する方向に限定されない。特定方向は非特定方向と交わる（第１方向と平行でない）ものであれば、非特定方向に直交していなくてもよい。例えば、仮想空間５０における位置を表す座標系は直交座標系でなくてもよい。
【００４８】
４−５．変形例５
領域５３と自由移動範囲５４との距離は、実施形態で説明したものに限定されない。例えば、領域５３の特定点と自由移動範囲５４の特定点との距離が用いられてもよい。領域５３および自由移動範囲５４の特定点は、例えば、重心、頂点、または決められた辺上の点などが用いられる。
【００４９】
４−６．変形例６
操作入力と領域５３の移動方向との関係は、実施形態で説明したものに限定されない。ＣＰＵ１０１は、ドラッグまたはフリックの方向と同じ方向の移動速度を発生させてもよい。
【００５０】
４−７．変形例５
情報処理装置１またはその他の装置のハードウェア構成は実施形態で説明したものに限定されない。例えば、コントローラ２はタッチスクリーン２０２を有していなくてもよい。この場合、コントローラ２は、キーパッドおよび／またはボタンを有し、押下されたキーまたはボタンに応じた操作入力信号を、情報処理装置１に供給してもよい。あるいは、コントローラ２は、加速度センサを有し、与えられた加速度に応じた（すなわちユーザがコントローラ２を振り回すアクションに応じた）操作入力信号を、情報処理装置１に供給してもよい。
【００５１】
４−８．変形例８
情報処理装置１のフローや、各種の処理に用いられるパラメータおよび数式はあくまで例示であり、実施形態で説明したものに限定されない。例えば、図６のフローの一部のステップは、省略されたり、他のステップと順番が入れ替えられたりしてもよい。
【００５２】
４−９．その他の変形例
仮想空間５０は２次元空間に限定されない。仮想空間５０は、３次元以上の空間であってもよい。また、領域５３は、仮想空間の一部であるものに限定されない。領域５３は実空間の一部であってもよい。
【００５３】
情報処理装置１は、据え置き型のゲーム装置に限定されない。情報処理装置１０は、携帯型ゲーム装置、パーソナルコンピュータ、携帯電話機、ＰＤＡ（Personal Digital Assistants）、タブレット端末など、ゲーム装置以外の情報処理装置であってもよい。また、情報処理装置１において実行されるアプリケーションプログラムは、ゲームアプリケーションに限定されない。文書編集アプリケーション、学習アプリケーション、その他の実用ソフトなど、ゲーム以外の機能を実現させるためのアプリケーションプログラムが情報処理装置１において実行されてもよい。また、実施形態で説明した情報処理装置１の機能の一部を、ネットワーク上のサーバ装置が有していてもよい。この場合、サーバ装置と情報処置装置１とを有する情報処理システムが、実施形態で説明した機能を有する。
【００５４】
情報処理装置１により実行されるアプリケーションプログラムは、記憶媒体により提供されるものに限定されない。アプリケーションプログラムは、インターネット等のネットワークを介したダウンロードにより提供されてもよい。また、情報処理装置１のシステムソフトウェアが、記憶媒体またはダウンロードにより提供されてもよい。
【符号の説明】
【００５５】
１…情報処理装置
１１…受け付け手段
１２…表示制御手段
１３…移動制御手段
１０１…ＣＰＵ
１０２…メモリ
１０３…外部メモリＩＦ
１０４…入出力ＩＦ
１０５…通信部
２…コントローラ
２０１…ＣＰＵ
２０２…タッチスクリーン
２０３…通信部
３…外部メモリ
４…表示装置
２０…表示手段
５０…仮想空間
５２…オブジェクト
５３…領域
５４…自由移動範囲
【図１】
2014085817.tif 000003
【図２】
2014085817.tif 000004
【図３】
2014085817.tif 000005
【図４】
2014085817.tif 000006
【図５】
2014085817.tif 000007
【図６】
2014085817.tif 000008
【図７】
2014085817.tif 000009
【図８】
2014085817.tif 000010