(57)【特許請求の範囲】
【請求項１】
画面に表示される複数のオブジェクトの表示順を座標入力手段を用いてユーザが変更することを可能にするためのオブジェクト表示順変更プログラムであって、
前記複数のオブジェクトのうちのサブセットを所定の表示順にしたがって前記画面内のオブジェクト表示領域に表示するオブジェクト列表示ステップ、
前記座標入力手段によって指示される前記オブジェクト表示領域上の位置を指示位置として検出する指示位置検出ステップ、
前記オブジェクト表示領域に表示されている前記サブセットのうちの第１のオブジェクト上の点を起点として前記指示位置が移動したときに、当該指示位置が第１の方向に移動したときには第１の処理方法を選択し、当該指示位置が第１の方向とは異なる第２の方向に移動したときには第２の処理方法を選択する処理方法選択ステップ、
前記処理方法選択ステップで前記第１の処理方法が選択されたときに、前記オブジェクト表示領域において前記複数のオブジェクトを前記指示位置の移動に応じてスクロール表示させる第１のスクロールステップ、
前記処理方法選択ステップで前記第２の処理方法が選択されたときに、前記複数のオブジェクトのうちの前記第１のオブジェクトだけを前記指示位置に応じて移動させる第１のオブジェクト移動ステップ、および、
前記第１のオブジェクト移動ステップによって前記第１のオブジェクトを移動させている間に前記指示位置が検出されなくなったときに、最後に検出された指示位置に応じて、前記オブジェクト表示領域に表示されているオブジェクト列に前記第１のオブジェクトを挿入して表示する第１のオブジェクト挿入ステップをコンピュータに実行させるオブジェクト表示順変更プログラム。
【請求項２】
前記第１の方向と前記第２の方向が互いに直交する方向である、請求項１に記載のオブジェクト表示順変更プログラム。
【請求項３】
前記オブジェクト列表示ステップでは、前記表示順にしたがって前記サブセットを所定方向に並べて表示し、
前記第１の方向は前記所定方向である、請求項２に記載のオブジェクト表示順変更プログラム。
【請求項４】
前記第１のオブジェクト移動ステップによって前記第１のオブジェクトを移動させている間に、前記指示位置もしくは前記第１のオブジェクトが第１の特定領域に進入したことに応じて前記第１のオブジェクトを除く全てのオブジェクトをスクロール表示させる第２のスクロールステップを前記コンピュータにさらに実行させる、請求項１に記載のオブジェクト表示順変更プログラム。
【請求項５】
前記第１の特定領域は、前記オブジェクト表示領域の端部を含む領域である、請求項４に記載のオブジェクト表示順変更プログラム。
【請求項６】
前記第１のスクロールステップでは、前記処理方法選択ステップにおいて前記第１の方法が選択されたときだけでなく、前記オブジェクト表示領域に表示されているいずれか２つの互いに隣接するオブジェクトの隙間を起点として前記指示位置が前記第１の方向に移動したときにも、前記複数のオブジェクトを前記指示位置の移動に応じてスクロール表示させる、請求項１に記載のオブジェクト表示順変更プログラム。
【請求項７】
前記第１のオブジェクト移動ステップによって前記第１のオブジェクトを移動させている間に前記指示位置が検出されなくなったときに、最後に検出された指示位置もしくは前記第１のオブジェクトが所定の退避領域に位置しているかどうかを判定する退避判定ステップ、
前記退避判定ステップの判定結果が肯定であるときに、前記第１のオブジェクトを前記退避領域に退避させる退避ステップ、および、
前記第１のオブジェクトが前記退避領域に退避されている間に前記オブジェクト表示領域に表示されている他のオブジェクト上の点を起点として前記指示位置が前記第１の方向に移動したときに、前記第１のオブジェクトを除く前記複数のオブジェクトを前記指示位置の移動に応じてスクロールさせる第３のスクロールステップを前記コンピュータにさらに実行させる、請求項１に記載のオブジェクト表示順変更プログラム。
【請求項８】
前記第１のオブジェクトが前記退避領域に退避されている間に当該第１のオブジェクト上の点を起点として前記指示位置が移動したときに、前記第１のオブジェクト移動ステップにおける前記指示位置に応じた前記第１のオブジェクトの移動処理を再開するオブジェクト移動再開ステップを前記コンピュータにさらに実行させる、請求項７に記載のオブジェクト表示順変更プログラム。
【請求項９】
前記第１のオブジェクトが前記退避領域に退避されている間に前記座標入力手段を用いた所定の入力操作が行われたときに、前記オブジェクト表示領域に表示されているオブジェクト列に当該第１のオブジェクトを挿入する第２のオブジェクト挿入ステップを前記コンピュータにさらに実行させる、請求項７に記載のオブジェクト表示順変更プログラム。
【請求項１０】
前記コンピュータには、前記座標入力手段に加えて、複数の操作スイッチを含む入力手段が接続されており、
前記オブジェクト表示順変更プログラムは、
前記複数の操作スイッチのうちの第１の操作スイッチが押されたときに、前記オブジェクト表示領域に表示されているオブジェクトのうちの１つを前記退避領域に退避させるスイッチ操作退避ステップ、
前記退避領域に前記オブジェクトが退避されている間に前記複数の操作スイッチのうちの第２の操作スイッチが押されたときに、前記退避領域に退避されているオブジェクトを除く全てのオブジェクトをスクロールさせるスイッチ操作スクロールステップ、および、
前記退避領域に前記オブジェクトが退避されている間に前記複数の操作スイッチのうちの第３の操作スイッチが押されたときに、前記退避領域に退避されているオブジェクトを、前記オブジェクト表示領域に表示されているオブジェクト列に挿入するスイッチ操作オブジェクト挿入ステップを前記コンピュータにさらに実行させる、請求項７〜請求項９のいずれか１項に記載のオブジェクト表示順変更プログラム。
【請求項１１】
前記第１のオブジェクトが前記退避領域に退避されている間に前記オブジェクト表示領域に表示されている他のオブジェクトのうちの第２のオブジェクト上の点を起点として前記指示位置が前記第２の方向に移動したときに、当該第２のオブジェクトだけを前記指示位置に応じて移動させる第２のオブジェクト移動ステップ、および、
前記第２のオブジェクト移動ステップにおいて前記第２のオブジェクトの移動が開始されたときに、前記オブジェクト表示領域に表示されているオブジェクト列に前記第１のオブジェクトを挿入する第１のオブジェクト入れ替えステップを前記コンピュータにさらに実行させる、請求項７に記載のオブジェクト表示順変更プログラム。
【請求項１２】
前記第１のオブジェクトが前記退避領域に退避されている間に前記オブジェクト表示領域に表示されている他のオブジェクトのうちの第２のオブジェクト上の点を起点として前記指示位置が前記第２の方向に移動したときに、当該第２のオブジェクトだけを前記指示位置に応じて移動させる第２のオブジェクト移動ステップ、および、
前記第２のオブジェクト移動ステップにおいて前記第２のオブジェクトの移動が開始された後、最後に検出された指示位置もしくは当該第２のオブジェクトが前記退避領域に位置している状態で指示位置が検出されなくなったときに、当該第２のオブジェクトを前記退避領域に退避させるとともに、前記オブジェクト表示領域に表示されているオブジェクト列に前記第１のオブジェクトを挿入する第２のオブジェクト入れ替えステップを前記コンピュータにさらに実行させる、請求項７に記載のオブジェクト表示順変更プログラム。
【請求項１３】
前記退避領域には同時に２つ以上のオブジェクトを退避可能である、請求項７に記載のオブジェクト表示順変更プログラム。
【請求項１４】
前記退避領域に複数のオブジェクトが退避されている間に前記オブジェクト表示領域に表示されている他のオブジェクトのうちの第２のオブジェクト上の点を起点として前記指示位置が前記第２の方向に移動したときに、当該第２のオブジェクトだけを前記指示位置に応じて移動させる第２のオブジェクト移動ステップ、および、
前記第２のオブジェクト移動ステップにおいて前記第２のオブジェクトの移動が開始された後、当該第２のオブジェクトが前記退避領域内の複数のオブジェクトのうちの第３のオブジェクト上に位置している状態で前記指示位置が検出されなくなったときに、当該第２のオブジェクトを前記退避領域に退避させるとともに、前記オブジェクト表示領域に表示されているオブジェクト列に前記第３のオブジェクトを挿入する第３のオブジェクト入れ替えステップを前記コンピュータにさらに実行させる、請求項１３に記載のオブジェクト表示順変更プログラム。
【請求項１５】
画面に表示される複数のオブジェクトの表示順を座標入力手段を用いてユーザが変更することを可能にするオブジェクト表示順変更装置であって、
前記画面を有する表示手段、
前記座標入力手段、
前記複数のオブジェクトのうちのサブセットを所定の表示順にしたがって前記画面内のオブジェクト表示領域に表示するオブジェクト列表示手段、
前記座標入力手段によって指示される前記オブジェクト表示領域上の位置を指示位置として検出する指示位置検出手段、
前記オブジェクト表示領域に表示されている前記サブセットのうちの第１のオブジェクト上の点を起点として前記指示位置が移動したときに、当該指示位置が第１の方向に移動したときには第１の処理方法を選択し、当該指示位置が第１の方向とは異なる第２の方向に移動したときには第２の処理方法を選択する処理方法選択手段、
前記処理方法選択手段によって前記第１の処理方法が選択されたときに、前記オブジェクト表示領域において前記複数のオブジェクトを前記指示位置の移動に応じてスクロール表示させる第１のスクロール手段、
前記処理方法選択手段によって前記第２の処理方法が選択されたときに、前記複数のオブジェクトのうちの前記第１のオブジェクトだけを前記指示位置に応じて移動させる第１のオブジェクト移動手段、および、
前記第１のオブジェクト移動手段によって前記第１のオブジェクトを移動させている間に前記指示位置が検出されなくなったときに、最後に検出された指示位置に応じて、前記オブジェクト表示領域に表示されているオブジェクト列に前記第１のオブジェクトを挿入して表示する第１のオブジェクト挿入手段を備えるオブジェクト表示順変更装置。
【請求項１６】
画面に表示される複数のオブジェクトの表示順を座標入力手段を用いてユーザが変更することを可能にするためのオブジェクト表示順変更プログラムであって、
前記複数のオブジェクトのうちのサブセットを所定の表示順にしたがって前記画面内のオブジェクト表示領域に表示するオブジェクト列表示ステップ、
前記座標入力手段によって指示される前記オブジェクト表示領域上の位置を指示位置として検出する指示位置検出ステップ、
前記オブジェクト表示領域上の点を起点として前記指示位置が移動したときに、当該指示位置が第１の方向に移動したときには第１の処理方法を選択し、当該指示位置が第１の方向とは異なる第２の方向に移動したときには第２の処理方法を選択する処理方法選択ステップ、
前記処理方法選択ステップで前記第１の処理方法が選択されたときに、前記オブジェクト表示領域において前記複数のオブジェクトを前記指示位置の移動に応じてスクロール表示させる第１のスクロールステップ、
前記処理方法選択ステップで前記第２の処理方法が選択されたときに、前記複数のオブジェクトのうちの前記第１のオブジェクトだけを前記指示位置に応じて移動させる第１のオブジェクト移動ステップ、および、
前記第１のオブジェクト移動ステップによって前記第１のオブジェクトを移動させている間に前記指示位置が検出されなくなったときに、最後に検出された指示位置に応じて、前記オブジェクト表示領域に表示されているオブジェクト列に前記第１のオブジェクトを挿入して表示する第１のオブジェクト挿入ステップをコンピュータに実行させるオブジェクト表示順変更プログラム。
【請求項１７】
前記処理方法選択ステップでは、前記起点が前記サブセットのうちのいずれのオブジェクト上でもないときに、前記第１の処理方法を選択し、前記起点が前記サブセットのうちのいずれかのオブジェクト上であるときに、前記第２の処理方法を選択して当該オブジェクトだけを前記指示位置に応じて移動させる、請求項１６に記載のオブジェクト表示順変更プログラム。
【請求項１８】
画面に表示される複数のオブジェクトの表示順を座標入力手段を用いてユーザが変更することを可能にするオブジェクト表示順変更装置に実行されるオブジェクト表示順変更方法であって、
前記複数のオブジェクトのうちのサブセットを所定の表示順にしたがって前記画面内のオブジェクト表示領域に表示するオブジェクト列表示ステップ、
前記座標入力手段によって指示される前記オブジェクト表示領域上の位置を指示位置として検出する指示位置検出ステップ、
前記オブジェクト表示領域に表示されている前記サブセットのうちの第１のオブジェクト上の点を起点として前記指示位置が移動したときに、当該指示位置が第１の方向に移動したときには第１の処理方法を選択し、当該指示位置が第１の方向とは異なる第２の方向に移動したときには第２の処理方法を選択する処理方法選択ステップ、
前記処理方法選択ステップで前記第１の処理方法が選択されたときに、前記オブジェクト表示領域において前記複数のオブジェクトを前記指示位置の移動に応じてスクロール表示させる第１のスクロールステップ、
前記処理方法選択ステップで前記第２の処理方法が選択されたときに、前記複数のオブジェクトのうちの前記第１のオブジェクトだけを前記指示位置に応じて移動させる第１のオブジェクト移動ステップ、および、
前記第１のオブジェクト移動ステップによって前記第１のオブジェクトを移動させている間に前記指示位置が検出されなくなったときに、最後に検出された指示位置に応じて、前記オブジェクト表示領域に表示されているオブジェクト列に前記第１のオブジェクトを挿入して表示する第１のオブジェクト挿入ステップとを含むオブジェクト表示順変更方法。
【請求項１９】
画面に表示される複数のオブジェクトの表示順を座標入力手段を用いてユーザが変更することを可能にするオブジェクト表示順変更システムであって、
前記複数のオブジェクトのうちのサブセットを所定の表示順にしたがって前記画面内のオブジェクト表示領域に表示するオブジェクト列表示手段と、
前記座標入力手段によって指示される前記オブジェクト表示領域上の位置を指示位置として検出する指示位置検出手段と、
前記オブジェクト表示領域上の点を起点として前記指示位置が移動したときに、当該指示位置が第１の方向に移動したときには第１の処理方法を選択し、当該指示位置が第１の方向とは異なる第２の方向に移動したときには第２の処理方法を選択する処理方法選択手段と、
前記処理方法選択手段により前記第１の処理方法が選択されたときに、前記オブジェクト表示領域において前記複数のオブジェクトを前記指示位置の移動に応じてスクロール表示させる第１のスクロール手段と、
前記処理方法選択手段により前記第２の処理方法が選択されたときに、前記複数のオブジェクトのうちの前記第１のオブジェクトだけを前記指示位置に応じて移動させる第１のオブジェクト移動手段と、
前記第１のオブジェクト移動手段が前記第１のオブジェクトを移動させている間に前記指示位置が検出されなくなったときに、最後に検出された指示位置に応じて、前記オブジェクト表示領域に表示されているオブジェクト列に前記第１のオブジェクトを挿入して表示する第１のオブジェクト挿入手段とを含むオブジェクト表示順変更システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オブジェクト表示順変更プログラム及び装置に関し、特に、画面に表示される複数のオブジェクトの表示順を座標入力手段を用いてユーザが自由に変更することを可能にするためのオブジェクト表示順変更プログラム及び装置に関する。
【背景技術】
【０００２】
従来、複数のオブジェクト（サムネイル画像やアイコンなど）を画面に表示してユーザに提示する装置がある。このような装置において、オブジェクトが多数存在する場合には、画面には一部のオブジェクトだけを表示し、残りのオブジェクトについてはユーザによるスクロール操作（例えばスクロールバーを操作するなど）に応じて表示することも一般的に行われている。そうすることにより、オブジェクトが多数存在する場合でも視認性が悪くなることがない。
【０００３】
ところで、上記のような複数のオブジェクトの表示順をユーザが自由に変更できるようにした装置も従来ある。例えば、特許文献１に記載の画像順序づけ装置では、以下のような手順により、複数のオブジェクトの表示順をユーザが変更することができる。
【０００４】
第１のステップとして、ユーザは、表示エリアに表示されている複数のサムネイル画像（上記オブジェクトに相当）のうちの所望のサムネイル画像をマウス等のポインティングデバイスを用いて一時置き場（画面内の所定領域）にドラッグ＆ドロップすることにより、当該サムネイル画像を一時置き場に退避させる。
【０００５】
第２のステップとして、ユーザは、必要に応じてスクロールボックス（上記スクロールバーに相当）を操作して表示エリアの画面（サムネイル画像群）をスクロールさせる。
【０００６】
第３のステップとして、ユーザは、一時置き場に退避されたサムネイル画像を、表示エリアにドラッグ＆ドロップする。
【０００７】
このように、特許文献１に記載の画像順序づけ装置では、上記のような手順により、ユーザは所望のサムネイル画像を、所望の移動先（任意の隣接する２つのサムネイル画像の間）に移動させることができる。
【特許文献１】特開２００５−２２７８２６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載の画像順序づけ装置では、所望のサムネイル画像を所望の移動先に移動させるときに、上記のような第１〜第３のステップを経る必要があるため、手間がかかるという問題がある。
【０００９】
また、表示エリアのスクロールするためには、細長いスクロールボックスを操作する必要があり、スクロールボックス上の位置をポインティングデバイスで指示するために高精度の操作が要求されるという問題がある。
【００１０】
それゆえに本発明は、画面に表示される複数のオブジェクトの表示順を、ユーザが簡単に変更することを可能にするためのオブジェクト表示順変更プログラム及び装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号、図番号および補足説明は、本発明の理解を助けるために図面との対応関係の一例を示したものであって、本発明の範囲を何ら限定するものではない。
【００１２】
本発明のオブジェクト表示順変更プログラムは、画面（１２）に表示される複数のオブジェクト（アイコン４０ａ〜４０ｘ）の表示順（図４）を座標入力手段（１５）を用いてユーザが変更することを可能にするためのプログラムである。
上記オブジェクト表示順変更プログラムは、オブジェクト表示ステップ（図３）、指示位置検出ステップ（Ｓ２０）、処理方法選択ステップ（Ｓ２８、Ｓ３４）、第１のスクロールステップ（Ｓ３１）、第１のオブジェクト移動ステップ（Ｓ４２）、および第１のオブジェクト挿入ステップ（Ｓ４７）をコンピュータ（２１）に実行させる。
上記オブジェクト表示ステップは、上記複数のオブジェクトのうちのサブセットを所定の表示順にしたがって上記画面内のオブジェクト表示領域に表示するステップである。
上記指示位置検出ステップは、上記座標入力手段によって指示される上記オブジェクト表示領域上の位置を指示位置として検出するステップである。
上記処理方法選択ステップは、上記オブジェクト表示領域に表示されている上記サブセットのうちの第１のオブジェクト上の点を起点（タッチオン位置）として上記指示位置が移動したときに、予め定められた判定基準にしたがって、第１の処理方法と、第２の処理方法のいずれか一方を選択するステップである。
上記第１のスクロールステップは、上記処理方法選択ステップで上記第１の処理方法が選択されたとき（Ｓ２８でＹ）に、上記オブジェクト表示領域において上記複数のオブジェクトを上記指示位置の移動に応じてスクロール表示させるステップである。
上記第１のオブジェクト移動ステップは、上記処理方法選択ステップで上記第２の処理方法が選択されたとき（Ｓ３４でＹ）に、上記複数のオブジェクトのうちの上記第１のオブジェクトだけを上記指示位置に応じて移動させるステップである。
上記第１のオブジェクト挿入ステップは、上記第１のオブジェクト移動ステップによって上記第１のオブジェクトを移動させている間（ドラッグモード中）に上記指示位置が検出されなくなったとき（Ｓ４０でＹ）に、最後に検出された指示位置（タッチオフ位置）に応じて、いずれか２つの互いに隣接するオブジェクトの間に上記第１のオブジェクトを挿入して表示するステップである。
【００１３】
なお、上記座標入力手段としては、タッチパネルやマウスなどの任意の座標入力装置を利用することができる。
【００１４】
上記座標入力手段としてマウスを利用する場合には、マウスボタンが押されている間に画面上のポインタが指し示している位置を、上記指示位置として利用することができる。この場合、上記マウスボタンが押されなくなった時点で、上記指示位置は検出されなくなることになる。
【００１５】
なお、上記「表示順」は、上記複数のオブジェクトの画面上における見た目の並び順を意味する。
【００１６】
上記処理方法選択ステップでは、上記指示位置が第１の方向に移動したときには上記第１の処理方法を選択し、上記指示位置が上記第１の方向とは異なる第２の方向に移動したときには上記第２の処理方法を選択してもよい。これによりユーザは、座標入力手段による指示位置を変化させるだけで、簡単に所望の処理方法を選択することができる。
【００１７】
上記第１の方向と上記第２の方向が互いに直交する方向であってもよい。これによりユーザが所望の処理方法を選択し易くなる。
【００１８】
なお、上記処理方法選択ステップでは、上記のように指示位置の移動方向に限らず、他の任意の判定基準にしたがって、上記第１の処理方法と上記第２の処理方法のいずれか一方を選択してもよい。例えば、指示位置が一定時間以上ほぼ同じ位置に止まっていた場合には上記第２の処理方法を選択し、そうでない場合（すなわち指示位置が検出されてから一定時間が経過する前に指示位置が移動した場合）には上記第１の処理方法を選択するようにしてもよい。
【００１９】
上記オブジェクト表示ステップでは、上記表示順にしたがって上記サブセットを所定方向に並べて表示し、上記第１の方向は上記所定方向であってもよい。
【００２０】
上記オブジェクト表示順変更プログラムは、上記第１のオブジェクト移動ステップによって上記第１のオブジェクトを移動させている間（ドラッグモード中）に、上記指示位置もしくは上記第１のオブジェクトが第１の特定領域（５２Ｒ、５２Ｌ）に進入したことに応じて上記第１のオブジェクトを除く全てのオブジェクトをスクロール表示させる第２のスクロールステップ（Ｓ４４）を上記コンピュータにさらに実行させてもよい。
【００２１】
上記第１の特定領域は、上記オブジェクト表示領域の端部を含む領域であってもよい。  
【００２２】
上記第１のスクロールステップでは、上記処理方法選択ステップにおいて上記第１の方法が選択されたときだけでなく、上記オブジェクト表示領域に表示されているいずれか２つの互いに隣接するオブジェクトの隙間を起点として上記指示位置が上記第１の方向に移動したときにも、上記複数のオブジェクトを上記指示位置の移動に応じてスクロールさせてもよい。これにより、画面上に表示されているオブジェクトの間に隙間が存在する場合でも、ユーザは隙間を意識することなくスクロール操作を行うことが可能となり、操作性が向上する。
【００２３】
上記オブジェクト表示順変更プログラムは、上記第１のオブジェクト移動ステップによって上記第１のオブジェクトを移動させている間（ドラッグモード中）に上記指示位置が検出されなくなったときに、最後に検出された指示位置もしくは上記第１のオブジェクトが所定の退避領域（５０）に位置しているかどうかを判定する退避判定ステップ（Ｓ４６）、上記退避判定ステップの判定結果が肯定であるときに、上記第１のオブジェクトを上記退避領域に退避させる退避ステップ（Ｓ４８）、および、上記第１のオブジェクトが上記退避領域に退避されている間（退避モード中）に上記オブジェクト表示領域に表示されている他のオブジェクト上の点を起点として上記指示位置が上記第１の方向に移動したときに、上記第１のオブジェクトを除く上記複数のオブジェクトを上記指示位置の移動に応じてスクロール表示させる第３のスクロールステップ（Ｓ７０）を上記コンピュータにさらに実行させてもよい。これによりユーザは、上記第１のオブジェクトを退避領域に退避させた後に、当該第１のオブジェクトを除く複数のオブジェクトをスクロールさせて、所望の挿入位置を画面に表示させることができる。
【００２４】
上記オブジェクト表示順変更プログラムは、上記第１のオブジェクトが上記退避領域に退避されている間（退避モード中）に当該第１のオブジェクト上の点を起点として上記指示位置が移動したとき（Ｓ７６でＹ）に、上記第１のオブジェクト移動ステップにおける上記指示位置に応じた上記第１のオブジェクトの移動処理を再開するオブジェクト移動再開ステップを上記コンピュータにさらに実行させてもよい。
【００２５】
上記オブジェクト表示順変更プログラムは、上記第１のオブジェクトが上記退避領域に退避されている間（退避モード中）に上記座標入力手段を用いた所定の入力操作（タップ）が行われたときに、上記オブジェクト表示領域に表示されているいずれか２つの互いに隣接するオブジェクトの間に当該第１のオブジェクトを挿入する第２のオブジェクト挿入ステップ（Ｓ７９）を上記コンピュータにさらに実行させてもよい。
【００２６】
上記コンピュータには、上記座標入力手段に加えて、複数の操作スイッチを含む入力手段（１４）が接続されていてもよい。そして、上記オブジェクト表示順変更プログラムは、上記複数の操作スイッチのうちの第１の操作スイッチ（上ボタン）が押されたときに、上記オブジェクト表示領域に表示されているオブジェクトのうちの１つを上記退避領域に退避させるスイッチ操作退避ステップ（Ｓ１２）、上記退避領域に上記オブジェクトが退避されている間（退避モード中）に上記複数の操作スイッチのうちの第２の操作スイッチ（左右ボタン）が押されたときに、上記退避領域に退避されているオブジェクトを除く全てのオブジェクトをスクロール表示させるスイッチ操作スクロールステップ（Ｓ５４）、および、上記退避領域に上記オブジェクトが退避されている間（退避モード中）に上記複数の操作スイッチのうちの第３の操作スイッチ（下ボタン）が押されたときに、上記退避領域に退避されているオブジェクトを、上記オブジェクト表示領域に表示されているいずれか２つの互いに隣接するオブジェクトの間に挿入するスイッチ操作オブジェクト挿入ステップ（Ｓ５２）を上記コンピュータにさらに実行させてもよい。
【００２７】
上記オブジェクト表示順変更プログラムは、上記第１のオブジェクトが上記退避領域に退避されている間（退避モード中）に上記オブジェクト表示領域に表示されている他のオブジェクトのうちの第２のオブジェクト上の点を起点として上記指示位置が上記第２の方向に移動したとき（Ｓ６９でＹ）に、当該第２のオブジェクトだけを上記指示位置に応じて移動させる第２のオブジェクト移動ステップ（Ｓ４２）、および、上記第２のオブジェクト移動ステップにおいて上記第２のオブジェクトの移動が開始されたときに、上記オブジェクト表示領域に表示されているいずれか２つの互いに隣接するオブジェクトの間に上記第１のオブジェクトを挿入する第１のオブジェクト入れ替えステップ（Ｓ７３）を上記コンピュータにさらに実行させてもよい。これにより、退避領域に退避されているオブジェクトを、他の所望のオブジェクトと入れ替えで、他の所望のオブジェクトの位置に簡単に挿入することができる。
【００２８】
上記オブジェクト表示順変更プログラムは、上記第１のオブジェクトが上記退避領域に退避されている間（退避モード中）に上記オブジェクト表示領域に表示されている他のオブジェクトのうちの第２のオブジェクト上の点を起点として上記指示位置が上記第２の方向に移動したとき（Ｓ６９でＹ）に、当該第２のオブジェクトだけを上記指示位置に応じて移動させる第２のオブジェクト移動ステップ（Ｓ４２）、および、上記第２のオブジェクト移動ステップにおいて上記第２のオブジェクトの移動が開始された後、最後に検出された指示位置もしくは当該第２のオブジェクトが上記退避領域に位置している状態で上記指示位置が検出されなくなったとき（Ｓ４０でＹ）に、当該第２のオブジェクトを上記退避領域に退避させるとともに、上記オブジェクト表示領域に表示されているいずれか２つの互いに隣接するオブジェクトの間に上記第１のオブジェクトを挿入する第２のオブジェクト入れ替えステップを上記コンピュータにさらに実行させてもよい。
【００２９】
上記退避領域には同時に２つ以上のオブジェクトを退避可能であってよい。これにより、２つ以上のオブジェクトの表示順を効率良く変更することができる。
【００３０】
上記オブジェクト表示順変更プログラムは、上記退避領域に複数のオブジェクトが退避されている間（退避モード中）に上記オブジェクト表示領域に表示されている他のオブジェクトのうちの第２のオブジェクト上の点を起点として上記指示位置が上記第２の方向に移動したとき（Ｓ６９でＹ）に、当該第２のオブジェクトだけを上記指示位置に応じて移動させる第２のオブジェクト移動ステップ（Ｓ４２）、および、上記第２のオブジェクト移動ステップにおいて上記第２のオブジェクトの移動が開始された後、当該第２のオブジェクトが上記退避領域内の複数のオブジェクトのうちの第３のオブジェクト上に位置している状態で上記指示位置が検出されなくなったとき（Ｓ４０でＹ）に、当該第２のオブジェクトを上記退避領域に退避させるとともに、上記オブジェクト表示領域に表示されているいずれか２つの互いに隣接するオブジェクトの間に上記第３のオブジェクトを挿入する第３のオブジェクト入れ替えステップを上記コンピュータにさらに実行させてもよい。
【００３１】
上記第１のオブジェクト挿入ステップでは、上記第１のオブジェクト移動ステップによって上記第１のオブジェクトを移動させている間に上記指示位置が検出されなくなったときに、上記オブジェクト表示領域に表示されている、最後に検出された指示位置に最も近い２つの互いに隣接するオブジェクトの間に上記第１のオブジェクトを挿入してもよい。  
【００３２】
本発明のオブジェクト表示順変更装置は、画面（１２）に表示される複数のオブジェクト（アイコン４０ａ〜４０ｘ）の表示順（図４）を座標入力手段（１５）を用いてユーザが変更することを可能にする装置である。
オブジェクト表示順変更装置は、上記画面を有する表示手段、上記座標入力手段、オブジェクト表示手段（２１、図３）、指示位置検出手段（２１、Ｓ２０）、処理方法選択手段（２１、Ｓ２８、Ｓ３４）、第１のスクロール手段（２１、Ｓ３１）、第１のオブジェクト移動手段（２１、Ｓ４２）、および第１のオブジェクト挿入手段（２１、Ｓ４７）を備える。
上記オブジェクト表示手段は、上記複数のオブジェクトのうちのサブセットを所定の表示順にしたがって上記画面内のオブジェクト表示領域に表示する手段である。
上記指示位置検出手段は、上記座標入力手段によって指示される上記オブジェクト表示領域上の位置を指示位置として検出する手段である。
上記処理方法選択手段は、上記オブジェクト表示領域に表示されている上記サブセットのうちの第１のオブジェクト上の点を起点（タッチオン位置）として上記指示位置が移動したときに、予め定められた判定基準にしたがって、第１の処理方法と、第２の処理方法のいずれか一方を選択する手段である。
上記第１のスクロール手段は、上記処理方法選択手段によって上記第１の処理方法が選択されたとき（Ｓ２８でＹ）に、上記オブジェクト表示領域において上記複数のオブジェクトを上記指示位置の移動に応じてスクロール表示させる手段である。
上記第１のオブジェクト移動手段は、上記処理方法選択手段によって上記第２の処理方法が選択されたとき（Ｓ３４でＹ）に、上記複数のオブジェクトのうちの上記第１のオブジェクトだけを上記指示位置に応じて移動させる手段である。
上記第１のオブジェクト挿入手段は、上記第１のオブジェクト移動手段によって上記第１のオブジェクトを移動させている間に上記指示位置が検出されなくなったとき（Ｓ４０でＹ）に、最後に検出された指示位置（タッチオフ位置）に応じて、いずれか２つの互いに隣接するオブジェクトの間に上記第１のオブジェクトを挿入して表示する手段である。  
【００３３】
本発明の他のオブジェクト表示順変更プログラムは、画面（１２）に表示される複数のオブジェクト（アイコン４０ａ〜４０ｘ）の表示順（図４）を座標入力手段（１５）を用いてユーザが変更することを可能にするためのプログラムである。
上記オブジェクト表示順変更プログラムは、オブジェクト表示ステップ（図３）、指示位置検出ステップ（Ｓ２０）、処理方法選択ステップ、第１のスクロールステップ（Ｓ３１）、第１のオブジェクト移動ステップ（Ｓ４２）、および第１のオブジェクト挿入ステップ（Ｓ４７）をコンピュータ（２１）に実行させる。
上記オブジェクト表示ステップは、上記複数のオブジェクトのうちのサブセットを所定の表示順にしたがって上記画面内のオブジェクト表示領域に表示するステップである。
上記指示位置検出ステップは、上記座標入力手段によって指示される上記オブジェクト表示領域上の位置を指示位置として検出するステップである。
上記処理方法選択ステップは、上記オブジェクト表示領域上の点を起点（タッチオン位置）として上記指示位置が移動したときに、予め定められた判定基準にしたがって、第１の処理方法と、第２の処理方法のいずれか一方を選択するステップである。
上記第１のスクロールステップは、上記処理方法選択ステップで上記第１の処理方法が選択されたときに、上記オブジェクト表示領域において上記複数のオブジェクトを上記指示位置の移動に応じてスクロール表示させるステップである。
上記第１のオブジェクト移動ステップは、上記処理方法選択ステップで上記第２の処理方法が選択されたときに、上記複数のオブジェクトのうちの上記第１のオブジェクトだけを上記指示位置に応じて移動させるステップである。
上記第１のオブジェクト挿入ステップは、上記第１のオブジェクト移動ステップによって上記第１のオブジェクトを移動させている間（ドラッグモード中）に上記指示位置が検出されなくなったとき（Ｓ４０でＹ）に、最後に検出された指示位置（タッチオフ位置）に応じて、いずれか２つの互いに隣接するオブジェクトの間に上記第１のオブジェクトを挿入して表示するステップである。
【００３４】
上記処理方法選択ステップでは、上記起点が上記サブセットのうちのいずれのオブジェクト上でもないときに（図３１）、上記第１の処理方法を選択し（図３２）、上記起点が上記サブセットのうちのいずれかのオブジェクト上であるときに（図３３）、上記第２の処理方法を選択して当該オブジェクトだけを上記指示位置に応じて移動させてもよい（図３４）。
【発明の効果】
【００３５】
本発明によれば、画面に表示される複数のオブジェクトの表示順を、ユーザが簡単に変更することが可能となる。
【発明を実施するための最良の形態】
【００３６】
以下、本発明の実施形態について説明する。
【００３７】
図１は、本発明の一実施形態に係るゲーム装置の外観図である。ただし、本発明は、携帯型のゲーム装置に限らず、据置型のゲーム装置にも適用可能である。さらに、本発明はゲーム装置に限らず、映像コンテンツ表示機能を有する任意の情報処理装置（例えば、パーソナルコンピュータや携帯電話やテレビジョン受像器やＤＶＤプレイヤ等）に適用可能である。
【００３８】
図１において、ゲーム装置１０は、第１のＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１１および第２のＬＣＤ１２を含む。ハウジング１３は上側ハウジング１３ａと下側ハウジング１３ｂとによって構成されている。第１のＬＣＤ１１は上側ハウジング１３ａに収納され、第２のＬＣＤ１２は下側ハウジング１３ｂに収納される。第１のＬＣＤ１１および第２のＬＣＤ１２の解像度はいずれも２５６ｄｏｔ×１９２ｄｏｔである。なお、本実施形態では表示装置としてＬＣＤを用いているが、例えばＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ：電界発光）を利用した表示装置など、他の任意の表示装置を利用することができる。また任意の解像度のものを利用することができる。
【００３９】
上側ハウジング１３ａには、後述する１対のスピーカ（図３の３０ａおよび３０ｂ）からの音を外部に放出するための音抜き孔１８ａおよび１８ｂが形成されている。また、上側ハウジング１３ａと下側ハウジング１３ｂとを開閉可能に接続するヒンジ部にはマイクロフォン用孔３３が設けられている。
【００４０】
下側ハウジング１３ｂには、入力装置として、十字スイッチ１４ａ、スタートスイッチ１４ｂ、セレクトスイッチ１４ｃ、Ａボタン１４ｄ、Ｂボタン１４ｅ、Ｘボタン１４ｆ、およびＹボタン１４ｇが設けられている。また、下側ハウジング１３ｂの側面には、図示しないＬボタンおよびＲボタンが設けられている。また、さらなる入力装置として、第２のＬＣＤ１２の画面上にタッチパネル１５が装着されている。下側ハウジング１３ｂの側面には、電源スイッチ１９、メモリカード１７を接続するための挿入口３５（図１に示す一点鎖線）、スティック１６を収納するための挿入口３６（図１に示す点線）が設けられている。
【００４１】
タッチパネル１５としては、例えば抵抗膜方式や光学式（赤外線方式）や静電容量結合式など、任意の方式のものを利用することができる。タッチパネル１５は、スティック１６に限らず指で操作することも可能である。本実施形態では、タッチパネル１５として、第２のＬＣＤ１２の解像度と同じく２５６ｄｏｔ×１９２ｄｏｔの解像度（検出精度）のものを利用する。ただし、必ずしもタッチパネル１５の解像度と第２のＬＣＤ１２の解像度が一致している必要はない。
【００４２】
メモリカード１７は、ゲームプログラムを記憶するＲＯＭ１７ａと、バックアップデータを書き換え可能に記憶するＲＡＭ１７ｂを搭載し、下部ハウジング１３ｂに設けられた挿入口３５に着脱自在に装着される。図１では省略するが、挿入口３５の奥部には、メモリカード１７の挿入方向先端部に設けられるコネクタと接合するための第１コネクタ２３ａ（図２参照）が設けられている。メモリカード１７が挿入口３５に挿入されると、コネクタ同士が接合され、ゲーム装置１０のＣＰＵコア２１（図２参照）がメモリカード１７にアクセス可能となる。
【００４３】
次に、図２を参照してゲーム装置１０の内部構成を説明する。図２は、ゲーム装置１０の内部構成を示すブロック図である。図２において、ハウジング１３に収納される電子回路基板２０には、ＣＰＵコア２１が実装される。ＣＰＵコア２１には、バス２２を介して、コネクタ２３が接続されるとともに、入出力インターフェース回路（図面ではＩ／Ｆ回路と記す）２５、第１ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２６、第２ＧＰＵ２７、ＲＡＭ２４、およびＬＣＤコントローラ３１、およびワイヤレス通信部３４が接続される。コネクタ２３には、メモリカード１７が着脱自在に接続される。Ｉ／Ｆ回路２５には、タッチパネル１５、右スピーカ３０ａ、左スピーカ３０ｂ、図１の十字スイッチ１４ａやＡボタン１４ｄ等から成る操作スイッチ部１４、およびマイクロフォン３７が接続される。右スピーカ３０ａと左スピーカ３０ｂは、音抜き孔１８ａ、１８ｂの内側にそれぞれ配置される。マイクロフォン３７は、マイクロフォン用孔３３の内側に配置される。
【００４４】
第１ＧＰＵ２６には、第１ＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）２８が接続され、第２ＧＰＵ２７には、第２ＶＲＡＭ２９が接続される。第１ＧＰＵ２６は、ＣＰＵコア２１からの指示に応じて第１の表示画像を生成し、第１ＶＲＡＭ２８に描画する。第２ＧＰＵ２７は、同様にＣＰＵコア２１からの指示に応じて第２の表示画像を生成し、第２ＶＲＡＭ２９に描画する。第１ＶＲＡＭ２８および第２ＶＲＡＭ２９はＬＣＤコントローラ３１に接続されている。
【００４５】
ＬＣＤコントローラ３１はレジスタ３２を含む。レジスタ３２はＣＰＵコア２１からの指示に応じて０または１の値を記憶する。ＬＣＤコントローラ３１は、レジスタ３２の値が０の場合は、第１ＶＲＡＭ２８に描画された第１の表示画像を第１のＬＣＤ１１に出力し、第２ＶＲＡＭ２９に描画された第２の表示画像を第２のＬＣＤ１２に出力する。また、レジスタ３２の値が１の場合は、第１ＶＲＡＭ２８に描画された第１の表示画像を第２のＬＣＤ１２に出力し、第２ＶＲＡＭ２９に描画された第２の表示画像を第１のＬＣＤ１１に出力する。
【００４６】
ワイヤレス通信部３４は、他のゲーム装置のワイヤレス通信部との間で、データを送受信する機能を有している。また、ゲーム装置１０は、ワイヤレス通信部３４を介してインターネット等の広域ネットワークに接続することが可能であり、ネットワークを介して他のゲーム装置との間で通信を行うことも可能である。
【００４７】
本実施形態では、ゲーム装置１０のＣＰＵコア２１は、メモリカード１７のＲＯＭ１７ａ等からＲＡＭ２４にロードされたオブジェクト表示順変更プログラムを実行する。このオブジェクト表示順変更プログラムによれば、画面に表示される複数のオブジェクトの表示順を座標入力手段を用いてユーザが自由に変更することを可能になる。以下、図３〜図２０を参照して、オブジェクト表示順変更プログラムに基づくゲーム装置１０の動作の概要を説明する。
【００４８】
図３は、オブジェクト表示順変更プログラムを実行したときに第２のＬＣＤ１２の画面に表示される画像を示している。図３において、画面には５つのアイコン（アイコン４０ｈ、４０ｉ、４０ｊ、４０ｋ、４０ｌ）と、吹き出し４２と、スライドバー４４と、カーソル４６が表示されている。
【００４９】
アイコン４０は、プログラム（ＣＰＵコア２１によって実行可能なコンピュータプログラム）に関連付けられた画像である。ユーザはアイコン４０を利用して所望のプログラムを起動させることができる。本実施形態では全部で２４個のアイコン（アイコン４０ａ〜４０ｘ）が図４に示すように順序づけられており、この順序にしたがって、それらの２４個のアイコンのうちの数個が画面の所定領域（以下、アイコン列表示領域と称す）に表示される。本実施形態では、図３において点線で囲った領域を、アイコン列表示領域としている。ユーザは、アイコン列表示領域に表示されているアイコン列から所望のプログラムに対応するアイコンを選択することによって、当該所望のプログラムをＣＰＵコア２１に実行させることができる。ユーザは、アイコン列表示領域に表示されているアイコン列をスクロールさせることによって、任意のアイコンを画面に表示させて選択することができる。
【００５０】
吹き出し４２は、アイコン列表示領域の中央に表示されているアイコン（図３の例ではアイコン４０ｊ）に関する説明文（そのアイコンに対応するプログラムの説明など）をユーザに提供するための画像である。
【００５１】
スライドバー４４は、カーソル４６との組み合わせにより、種々の機能をユーザに提供する。スライドバー４４には２４個の四角形が表示されており、これらの四角形は２４個のアイコン４０ａ〜４０ｘにそれぞれ対応している。カーソル４６は、それらのアイコン４０ａ〜４０ｘのうち、どのアイコンが現在アイコン列表示領域に表示されているかを示している。ユーザは、スティック１６を使ってカーソル４６をスライドバー４４に沿って（すなわち水平方向に）ドラッグすることによって、スライドバー４４上の任意の点にカーソル４６を移動させることができる。また、ユーザは、スライドバー４４上の任意の点にタッチすることによって、その点にカーソル４６を移動させることもできる。スライドバー４４上でのカーソル４６の位置が変化すると、それに応じてアイコン列表示領域に表示させるアイコンも変化する。このように、スライドバー４４およびカーソル４６を利用することによって、ユーザはアイコン４０ａ〜４０ｘの中から所望のアイコンをアイコン列表示領域に表示させることができる。なお、本実施形態では、所望のアイコンをアイコン列表示領域に表示させるための操作方法として、スライドバー４４やカーソル４６を利用する以外にも種々の操作方法が用意されている。
【００５２】
図５〜図２０を参照して、ユーザがアイコン４０ａ〜４０ｘの並べ順を変化させるときの操作方法について具体的に説明する。
【００５３】
図５は、ユーザがスティック１６でアイコン４０ｊにタッチしたときの画面例である。ユーザがスティック１６でアイコン４０ｊにタッチすると、タッチされたアイコン４０ｊがハイライト（例えば輪郭強調など）される。
【００５４】
図５の状態（すなわちアイコン列の中のいずれかのアイコンをスティック１６でタッチした状態）からユーザがスティック１６を画面の右方向にスライド（スティック１６を画面に接触させたまま滑らせる）させた場合には、図６に示すように、アイコン列表示領域に表示されているアイコン列が、スティック１６のスライド量に応じて右方向にスクロールする。なお、ユーザがスティック１６を左方向に向かってスライドさせたときには、アイコン列表示領域に表示されているアイコン列が、スティック１６のスライド量に応じて左方向にスクロールする。このように、アイコン列表示領域に表示されているアイコンをスティック１６でタッチしてからスティック１６を水平方向にスライドさせることによって、ユーザはアイコン列をスクロールさせることができる。アイコン列がスクロールすると、それに応じてカーソル４６の位置も移動する。
【００５５】
なお、本実施形態では、図７のように、アイコン列を含むようなスクロール領域４８が設定されている。ユーザは、アイコン上に限らず、スクロール領域４８内の任意の点にタッチしてから、タッチ位置を水平方向にずらすことによって、アイコン列をスクロールさせることができる。例えば、図５におけるアイコン４０ｈとアイコン４０ｉの間の隙間をスティック１６でタッチしてからスティック１６を水平方向にスライドさせても、アイコン列をスクロールさせることができる。
【００５６】
図５の状態（すなわちアイコン列の中のいずれかのアイコンをスティック１６でタッチした状態）からユーザがスティック１６を画面の上方向に向かってスライドさせた場合には、図８に示すように、アイコン４０ｊがスティック１６に追従して上方向に移動する。なお、ユーザがスティック１６を下方向にスライドさせたときには、アイコン４０ｊがスティック１６に追従して下方向に移動する。このように、アイコン列表示領域に表示されているアイコンをスティック１６でタッチしてからスティック１６を垂直方向にスライドさせることによって、ユーザはアイコン列の中から所望のアイコンを抜き出すことができる。こうしてアイコン列から抜き出されたアイコン４０ｊは、スティック１６が画面（タッチパネル）に接触している限り、図９に示すように、スティック１６を任意の方向にスライドさせることによってユーザが自由に移動（ドラッグ）させることができる。以下の説明では必要に応じて、ユーザがドラッグしているアイコンのことを「ドラッグアイコン」と称することとする。アイコン列からアイコン４０ｊが抜き出されると、それに応じてスライドバー４４を構成している四角形の数が２３個に更新され、さらにアイコン４０ｈ、４０ｉ、４０ｋ、４０ｌの表示位置が更新される（図９参照）。
【００５７】
なお、変形例として、ユーザがスティック１６を（下方向ではなく）上方向にスライドさせた場合にのみアイコン列から所望のアイコンを抜き出せるようにしてもよい。
【００５８】
図９の状態（すなわちアイコンをスティック１６でドラッグしている状態）から、ユーザが図１０に示す位置（すなわちアイコン４０ｋとアイコンｌの間）までアイコン４０ｊをドラッグしてからドロップ（スティック１６を画面から離す）すると、図１１に示すように、アイコン４０ｋとアイコンｌの間にアイコン４０ｊが挿入され、それに応じてスライドバー４４を構成している四角形の数が２４個に更新され、さらにアイコン４０ｊのハイライトが解除される。
【００５９】
なお、本実施形態では、図１２のように、アイコン列表示領域から離れた位置に退避領域５０が設定されている。ユーザは、アイコン列に含まれる隣接する２つのアイコンの間の位置に限らず、退避領域５０外の任意の点でドラッグアイコンをドロップすることによって、ドラッグアイコンをアイコン列に挿入することができる。典型的には、ドラッグアイコンをドロップした点から最も近くにある、アイコン列内の隣接する２つのアイコンの間にドラッグアイコンが挿入される。例えば、図９の状態でアイコン４０ｊをドロップすることによって、アイコン４０ｋとアイコンｌの間にアイコン４０ｊを挿入することができる。なお、ドラッグアイコンを退避領域５０内でドロップした場合については後述する。
【００６０】
図９の状態（すなわちアイコンをスティック１６でドラッグしている状態）から、ユーザが図１３に示すようにアイコン列表示領域の右端までアイコン４０ｊをドラッグすると、図中の矢印の方向（すなわち画面の左方向）にアイコン列がスクロールを始める。本実施形態では、図１４のように、アイコン列表示領域の右端付近に右端領域５２Ｒが設定されており、アイコン列表示領域の左端付近に左端領域５２Ｌが設定されている。ユーザは、ドラッグアイコン（図１３の例ではアイコン４０ｊ）を右端領域５２Ｒ内に位置させることによって、アイコン列を左方向にスクロールさせることができる。同様に、ユーザは、ドラッグアイコンを左端領域５２Ｌ内に位置させることによって、アイコン列を右方向にスクロールさせることができる。なお、アイコン列のスクロール表示は、ドラッグアイコンが右端領域５２Ｒ内または左端領域５２Ｌ内に位置している間は継続し、それらの領域の外部に出た時点で終了する。したがって、図１３のようにしてアイコン列をスクロールさせて所望の移動先（アイコン列に含まれる任意の隣接する２つのアイコンの隙間）を表示させた後に、ドラッグアイコンをその所望の移動先までドラッグしてからドロップすることによって、ユーザはドラッグアイコンをアイコン列の所望の位置に挿入することができる。このような操作により、ユーザは、所望のアイコンをスティック１６でタッチしてから、そのアイコンをアイコン列の所望の位置に挿入するまでの間、スティック１６を画面から一切離す必要がないので、アイコンの表示順の変更を１回のスライド操作（すなわち、スティック１６を画面に接触させて、画面上をスライドさせて、画面から離すまでの一連の操作）だけで簡単に実現することができる。
【００６１】
図９の状態（すなわちアイコンをスティック１６でドラッグしている状態）から、ユーザが図１５に示すようにアイコン４０ｊを退避領域５０（図１１参照）内までドラッグしてからアイコン４０ｊをドロップすると、アイコン４０ｊはアイコン列に挿入されることなく、図１６に示すように退避領域５０に退避され、アイコン４０ｊのハイライトが解除される。以下の説明では必要に応じて、退避領域５０に退避されているアイコンのことを「退避アイコン」と称することとする。退避アイコンが存在している間、画面には図１６に示すようなマーク５４が表示される。マーク５４は、アイコン列表示領域に表示されているアイコン列の中央付近に位置する隣接する２つのアイコンの隙間を指し示しており、ユーザが退避アイコンをスティック１６でタップ（すなわち、スティック１６でタッチした後、画面上をスライドさせることなく画面から離す）すると、マーク５４が示している隙間に退避アイコンが挿入される。
【００６２】
図１７は、図１６の状態（すなわち退避アイコンが存在する状態）において、ユーザがスティック１６でアイコン４０ｌにタッチしたときの画面例である。ユーザがスティック１６でアイコン４０ｌにタッチすると、タッチされたアイコン４０ｌがハイライトされる。
【００６３】
図１７の状態（すなわち退避アイコンが存在する状態において、さらにアイコン列の中のいずれかのアイコンをスティック１６でタッチした状態）からユーザがスティック１６を画面の左方向にスライドさせた場合には、図１８に示すように、アイコン列表示領域に表示されているアイコン列が、スティック１６のスライド量に応じて左方向にスクロールする。なお、ユーザがスティック１６を画面の右方向にスライドさせた場合には、アイコン列表示領域に表示されているアイコン列が、スティック１６のスライド量に応じて右方向にスクロールする。このように、退避アイコンが存在する状態においても、退避アイコンが存在していない状態と同様に、スクロール領域４８（図７参照）内の任意の点をスティック１６でタッチしてからスティック１６を水平方向にスライドさせることによって、ユーザはアイコン列をスクロールさせることができる。
【００６４】
図１７の状態（すなわち退避アイコンが存在する状態において、さらにアイコン列の中のいずれかのアイコンをスティック１６でタッチした状態）からユーザがスティック１６を画面の上方向に向かってスライドさせた場合には、図１９に示すように、アイコン４０ｌがスティック１６に追従して上方向に移動してアイコン４０ｌがアイコン列から抜き出され、さらに図２０に示すように、退避アイコンであるアイコン４０ｊが、アイコン４０ｌと入れ替わりでアイコン列に挿入される。なお、ユーザがスティック１６を下方向にスライドさせたときにも、アイコン４０ｌがスティック１６に追従して下方向に移動してアイコン４０ｌがアイコン列から抜き出され、さらにアイコン４０ｊが、アイコン４０ｌと入れ替わりでアイコン列に挿入される。これにより、アイコン４０ｊをアイコン列に挿入する操作とアイコン４０ｌをアイコン列から抜き出す操作を、単一のスライド操作で実現することができるため、操作効率が向上する。
【００６５】
なお、本実施形態では、上述した種々のアイコン操作方法の他にも、いくつかの便利なアイコン操作方法が用意されている。例えば、図３の状態（すなわちドラッグアイコンも退避アイコンも存在しない状態）において、ユーザがアイコン列表示領域の中央のアイコン４０ｉをスティック１６でタップすると、タップされたアイコン４０ｉが起動される（すなわちアイコン４０ｉに関連付けられたプログラムが実行される）。また例えば、図３の状態（すなわちドラッグアイコンも退避アイコンも存在しない状態）において、ユーザがアイコン列表示領域の中央のアイコン４０ｉ以外のアイコン（アイコン４０ｈ、４０ｉ、４０ｋ、４０ｌ）をスティック１６でタップすると、タップされたアイコンがアイコン列表示領域の中央に向かって移動するようにアイコン列がスクロールする。
【００６６】
なお、上述したようなアイコン操作方法のうちのいくつかは、ハードウェアスイッチ（図２の操作スイッチ部１４）を代用して行うこともできる。例えば、図３の状態（すなわちドラッグアイコンも退避アイコンも存在しない状態）でユーザがＡボタン１４ｄを押下すると、アイコン列表示領域の中央のアイコン４０ｊが起動される。また、図３の状態（すなわちドラッグアイコンも退避アイコンも存在しない状態）でユーザが上ボタン（すなわち十字スイッチ１４ａの上部分）を押下すると、図１６に示すようにアイコン列表示領域の中央のアイコン４０ｊが退避領域５０に退避される。また、図３の状態（すなわちドラッグアイコンも退避アイコンも存在しない状態）または図１６の状態（すなわち退避アイコンが存在する状態）でユーザが右ボタン（すなわち十字スイッチ１４ａの右部分）を押下すると、アイコン列がアイコン１個分だけ画面の右方向にスクロールする。また、図３の状態（すなわちドラッグアイコンも退避アイコンも存在しない状態）または図１６の状態（すなわち退避アイコンが存在する状態）でユーザが左ボタン（すなわち十字スイッチ１４ａの左部分）を押下すると、アイコン列がアイコン１個分だけ画面の左方向にスクロールする。また、図１６の状態（すなわち退避アイコンが存在する状態）でユーザが下ボタン（すなわち十字スイッチ１４ａの下部分）を押下すると、マーク５４が示すアイコン列の隙間に退避アイコン４０ｊが挿入される。
【００６７】
次に、図２１〜図２６を参照して、オブジェクト表示順変更プログラムに基づくゲーム装置１０の動作について、より詳細に説明する。
【００６８】
図２１は、ＲＡＭ２４のメモリマップである。ＲＡＭ２４には、オブジェクト表示順変更プログラムと、図４に示したようなアイコンの表示順を示すアイコン表示順情報と、各アイコンに対応するアイコン画像データと、各アイコンに関連付けられた各種プログラム群が記憶される。
【００６９】
オブジェクト表示順変更プログラムによる処理は、図２２に示すように、起動モード、ドラッグモード、退避モードの３つの処理モードに大別される。起動モードは、ドラッグアイコンも退避アイコンも存在しない状態（例えば、図３、図５、図６、図１２の状態）に対応する処理モードである。ドラッグモードは、ドラッグアイコンが存在する状態（例えば、図８、図９、図１０、図１３、図１５、図１９、図２０の状態）に対応する処理モードである。退避モードは、ドラッグアイコンが存在せず、かつ退避アイコンが存在する状態（例えば、図１６、図１７、図１８の状態）に対応する処理モードである。ユーザの操作に応じて、これらの３つのモードの遷移が行われる。
【００７０】
図２３は、モードの遷移パターン毎に、遷移パターンに対応するユーザの操作内容を示している。図２３において、「タッチ操作」とは、タッチパネル１５を利用して行われる操作を指し、「キー操作」とは、図２の操作スイッチ部１４（すなわち図１の十字スイッチ１４ａやＡボタン１４ｄなど）を利用して行われる操作を指す。
【００７１】
起動モードからドラッグモードへの遷移は、画面に表示されているアイコン列内のいずれかのアイコンをユーザが垂直方向にドラッグすることによって行われる。
【００７２】
起動モードから退避モードへの遷移は、ユーザが上ボタンを押下することによって行われる。
【００７３】
ドラッグモードから起動モードへの遷移は、ユーザがドラッグアイコンを退避領域５０の外部でドロップすることによって行われる。
【００７４】
ドラッグモードから退避モードへの遷移は、ユーザがドラッグアイコンを退避領域５０の内部でドロップすることによって行われる。
【００７５】
退避モードから起動モードへの遷移は、ユーザが退避アイコンをタップする、もしくは下ボタンを押下することによって行われる。
【００７６】
退避モードからドラッグモードへの遷移は、ユーザが退避アイコンをドラッグすることによって行われる。
【００７７】
次に、図２４〜図２６のフローチャートを参照して、各処理モードにおけるＣＰＵコア２１の処理の流れを説明する。なお、これらのフローチャートでは、画像の生成及び出力に関する処理を省略しているが、画像の生成及び出力は一定の周期で行われる。
【００７８】
アイコン表示順変更プログラムの実行開始直後は起動モードで処理が開始される。図２４は、起動モードにおけるＣＰＵコア２１の処理の流れを示すフローチャートである。
【００７９】
ステップＳ１０では、ＣＰＵコア２１は、操作スイッチ部１４からの信号に基づいて、キー入力があったかどうかを判断し、キー入力があった場合には処理はステップＳ１１に進み、そうでない場合には処理はステップＳ２０に進む。
【００８０】
ステップＳ１１では、ＣＰＵコア２１は、上ボタンが押されたかどうかを判断し、上ボタンが押された場合には処理はステップＳ１２に進み、そうでない場合には処理はステップＳ１３に進む。
【００８１】
ステップＳ１２では、ＣＰＵコア２１は、吹き出し４２を消去して、アイコン列表示領域の中央のアイコンを退避領域５０に退避する。ステップＳ１２が終了すると、処理は退避モードに移行する。
【００８２】
ステップＳ１３では、ＣＰＵコア２１は、右ボタンまたは左ボタンが押されたかどうかを判断し、右ボタンまたは左ボタンが押された場合には処理はステップＳ１４に進み、そうでない場合には処理はステップＳ１６に進む。
【００８３】
ステップＳ１４では、ＣＰＵコア２１は、アイコン列をスクロール表示させる。具体的には、ＣＰＵコア２１は、右ボタンが押された場合にはアイコン列を画面の右方向にスクロール表示し、左ボタンが押された場合にはアイコン列を画面の左方向にスクロール表示する。
【００８４】
ステップＳ１５では、ＣＰＵコア２１は、キー入力（すなわち右ボタンまたは左ボタンの押下）が継続しているかどうかを判断し、キー入力が継続している場合には処理はステップＳ１４に戻り、そうでない場合には処理はステップＳ１０に戻る。
【００８５】
ステップＳ１６では、ＣＰＵコア２１は、Ａボタンが押されたかどうかを判断し、Ａボタンが押された場合には、アイコン表示順変更プログラムの実行を終了し、アイコン列表示領域の中央のアイコンを起動する（すなわち中央のアイコンに関連付けられているプログラムを起動する）。
【００８６】
ステップＳ２０では、ＣＰＵコア２１は、タッチパネル１５からの信号に基づいて、タッチ位置を検出する。本実施形態では、画面の水平方向をＸ軸方向とし、垂直方向をＹ軸方向とした２次元座標（Ｘ，Ｙ）によってタッチ位置が表されているものとする。ステップＳ２０で検出されたタッチ位置は、タッチオン位置（タッチパネル１５にスティック１６が触れていない状態から触れた状態に変化した直後に検出されるタッチ位置）としてＲＡＭ２４に記憶される。
【００８７】
ステップＳ２１では、ＣＰＵコア２１は、タッチ位置がアイコン上にあるかどうかを判断し、タッチ位置がアイコン上にある場合には処理はステップＳ２６に進み、そうでない場合には処理はステップＳ２２に進む。
【００８８】
ステップＳ２２では、ＣＰＵコア２１は、タッチ位置がスクロール領域４８の内部にあるかどうかを判断し、タッチ位置がスクロール領域４８の内部にある場合には処理はステップＳ２３に進み、そうでない場合には処理はステップＳ１０に戻る。
【００８９】
ステップＳ２３では、ＣＰＵコア２１は、タッチパネル１５からの信号に基づいて、タッチ位置を検出する。
【００９０】
ステップＳ２４では、ＣＰＵコア２１は、タッチオン位置（すなわちステップＳ２０で検出および記憶されたタッチ位置）と最新のタッチ位置（すなわちステップＳ２３で検出されたタッチ位置）とに基づいてアイコン列をスクロール表示させる。具体的には、ＣＰＵコア２１は、タッチオン位置のＸ座標値と最新のタッチ位置のＸ座標値の大小関係に応じてスクロール方向を決定し、タッチオン位置のＸ座標値と最新のタッチ位置のＸ座標値の差分の絶対値に応じてスクロール幅（画面上におけるアイコン列の移動量）を決定する。
【００９１】
ステップＳ２５では、ＣＰＵコア２１は、タッチパネル１５からの信号に基づいて、タッチオフ（すなわちスティック１６がタッチパネル１５から離れた）されたかどうかを判断し、タッチオフされた場合には処理はステップＳ１０に戻り、そうでない場合には処理はステップＳ２３に戻る。
【００９２】
ステップＳ２６では、ＣＰＵコア２１は、ユーザによってタッチされているアイコンをハイライトする。
【００９３】
ステップＳ２７では、ＣＰＵコア２１は、タッチパネル１５からの信号に基づいて、タッチ位置を検出する。
【００９４】
ステップＳ２８では、ＣＰＵコア２１は、タッチ位置のＸ軸方向の変位（すなわち、タッチオン位置のＸ座標値と最新のタッチ位置のＸ座標値の差分の絶対値）が予め定められた閾値を超えたかどうかを判断し、タッチ位置のＸ軸方向の変位が予め定められた閾値を超えた場合（これは、ユーザがアイコン列を水平方向にスクロールさせようとしていることを意味する）には処理はステップＳ２９に進み、そうでない場合には処理はステップＳ３４に進む。
【００９５】
ステップＳ２９では、ＣＰＵコア２１は、タッチパネル１５からの信号に基づいて、タッチ位置を検出する。
【００９６】
ステップＳ３０では、ＣＰＵコア２１は、タッチ位置のＹ軸方向の変位（すなわち、タッチオン位置のＹ座標値と最新のタッチ位置のＹ座標値の差分の絶対値）が予め定められた閾値を超えたかどうかを判断し、タッチ位置のＹ軸方向の変位が予め定められた閾値を超えた場合（これは、ユーザが所望のアイコンをアイコン列から抜き出そうとしていることを意味する）には処理はドラッグモードへと移行し、そうでない場合には処理はステップＳ３１に進む。このように、ユーザは、アイコン列表示領域に表示されているいずれかのアイコンを水平方向にドラッグしてアイコン列をスクロールさせた後であっても、そのアイコンを垂直方向にドラッグすることによって、そのアイコンをアイコン列から抜き出すことができる。
【００９７】
なお、ステップＳ３０で用いる閾値が小さすぎる場合には、ユーザがアイコン列をスクロールさせようとしているときに、ユーザの意図に反してアイコンがアイコン列から抜き出されてアイコン列のスクロール表示が停止してしまうという事態が発生しやすくなる。したがって、ステップＳ３０で用いる閾値は、操作性を考慮して適切な値に設定する必要がある。なお、このような誤操作を効果的に防ぐために、変形例として、ステップＳ３０で用いる閾値の大きさを、Ｘ軸方向の変位が大きくなるにしたがって増加させてもよい。また、他の変形例として、ステップＳ３０において、タッチ位置のＹ軸方向の変位が予め定められた閾値を超えたかどうかを判断する替わりに、タッチ位置のＹ軸方向の変位の変化速度（例えば、直近の所定時間におけるＹ軸座標値の変化量）が予め定められた閾値を超えたかどうかを判断するようにしてもよい。また、さらに他の変形例として、Ｙ軸方向の変位がＸ軸方向の変位を上回っている場合にのみ、ユーザがアイコンをアイコン列から抜き出そうとしていると判断するようにしてもよい。また、さらに他の変形例として、アイコン列のスクロールが一旦行われた場合には、タッチオフが行われない限りは、アイコン列からアイコンを抜き出す処理を行わない（すなわちステップＳ３０の処理をなくす）ようにしてもよい。
【００９８】
ステップＳ３１では、ＣＰＵコア２１は、タッチオン位置（すなわちステップＳ２０で検出および記憶されたタッチ位置）と最新のタッチ位置（すなわちステップＳ２９で検出されたタッチ位置）とに基づいてアイコン列をスクロール表示させる。具体的には、ＣＰＵコア２１は、タッチオン位置のＸ座標値と最新のタッチ位置のＸ座標値の大小関係に応じてスクロール方向を決定し、タッチオン位置のＸ座標値と最新のタッチ位置のＸ座標値の差分の絶対値に応じてスクロール幅を決定する。
【００９９】
ステップＳ３２では、ＣＰＵコア２１は、タッチパネル１５からの信号に基づいて、タッチオフされたかどうかを判断し、タッチオフされた場合には処理はステップＳ３３に進み、そうでない場合には処理はステップＳ２９に戻る。
【０１００】
ステップＳ３３では、ＣＰＵコア２１は、ステップＳ２６で行ったアイコンのハイライトを解除する。
【０１０１】
ステップＳ３４では、ＣＰＵコア２１は、タッチ位置のＹ軸方向の変位が予め定められた閾値を超えたかどうかを判断し、タッチ位置のＹ軸方向の変位が予め定められた閾値を超えた場合（これは、ユーザが所望のアイコンをアイコン列から抜き出そうとしていることを意味する）には処理はドラッグモードへと移行し、そうでない場合には処理はステップＳ３５に進む。
【０１０２】
ステップＳ３５では、ＣＰＵコア２１は、タッチパネル１５からの信号に基づいて、タッチオフされたかどうかを判断し、タッチオフされた場合（これは、ユーザが所望のアイコンをタップしたことを意味する）には処理はステップＳ３６に進み、そうでない場合には処理はステップＳ２７に戻る。
【０１０３】
ステップＳ３６では、ＣＰＵコア２１は、ステップＳ２６で行ったアイコンのハイライトを解除する。
【０１０４】
ステップＳ３７では、ＣＰＵコア２１は、ユーザによってタップされたアイコン（すなわちタッチオフの直前にタッチされていたアイコン）が、アイコン列表示領域の中央のアイコンかどうかを判断し、アイコン列表示領域の中央のアイコンである場合にはアイコン表示順変更プログラムの実行を終了し、画面に表示されているアイコン列における中央のアイコンを起動する。そうでない場合には処理はステップＳ３８に進む。
【０１０５】
ステップＳ３８では、ＣＰＵコア２１は、ユーザによってタップされたアイコンが画面中央に向かって移動するようにアイコン列をスクロール表示させ、処理はステップＳ１０に戻る。
【０１０６】
図２５は、ドラッグモードにおけるＣＰＵコア２１の処理の流れを示すフローチャートである。
【０１０７】
ステップＳ４０では、ＣＰＵコア２１は、タッチパネル１５からの信号に基づいて、タッチオフされたかどうかを判断し、タッチオフされた場合には処理はステップＳ４５に進み、そうでない場合には処理はステップＳ４１に進む。
【０１０８】
ステップＳ４１では、ＣＰＵコア２１は、タッチパネル１５からの信号に基づいて、タッチ位置を検出する。
【０１０９】
ステップＳ４２では、ＣＰＵコア２１は、最新のタッチ位置（すなわちステップＳ４１で検出されたタッチ位置）に追従するように、最新のタッチ位置に応じてドラッグアイコンを移動させる。
【０１１０】
ステップＳ４３では、ＣＰＵコア２１は、タッチ位置が右端領域５２Ｒの内部または左端領域５２Ｌの内部にあるかどうかを判断し、タッチ位置が右端領域５２Ｒの内部または左端領域５２Ｌの内部にある場合には処理はステップＳ４４に進み、そうでない場合には処理はステップＳ４０に戻る。
【０１１１】
ステップＳ４４では、ＣＰＵコア２１は、アイコン列をスクロール表示させる。具体的には、ＣＰＵコア２１は、タッチ位置が右端領域５２Ｒの内部にある場合にはアイコン列を画面の左方向に一定の幅だけスクロール表示させ、タッチ位置が左端領域５２Ｌの内部にある場合にはアイコン列を画面の右方向に一定の幅だけスクロール表示させる。なお、タッチ位置がアイコン列表示領域の端に近いほどスクロール幅を大きくする（すなわちスクロール速度を速くする）ようにしてもよい。ステップＳ４４が終了すると、処理はステップＳ４０に戻る。
【０１１２】
ステップＳ４５では、ＣＰＵコア２１は、ステップＳ２６または後述するステップＳ６６で行ったアイコンのハイライトを解除する。
【０１１３】
ステップＳ４６では、ＣＰＵコア２１は、タッチオフ位置（タッチオフされる直前のタッチ位置）が退避領域５０の内部にあるかどうかを判断し、タッチオフ位置が退避領域５０の内部にある場合には処理はステップＳ４８に進み、そうでない場合には処理はステップＳ４７に進む。
【０１１４】
ステップＳ４７では、ＣＰＵコア２１は、ドラッグアイコンをアイコン列に挿入する。具体的には、ＣＰＵコア２１は、タッチオフ位置から最も近くにある、アイコン列内の隣接する２つのアイコンの間にドラッグアイコンを挿入する。ステップＳ４７が終了すると、処理は起動モードへと移行する。
【０１１５】
ステップＳ４８では、ＣＰＵコア２１は、ドラッグアイコンを退避領域５０に退避する。具体的には、ＣＰＵコア２１は、ドラッグアイコンを退避領域５０の中央に移動させる。ステップＳ４８が終了すると、処理は退避モードへと移行する。
【０１１６】
図２６は、退避モードにおけるＣＰＵコア２１の処理の流れを示すフローチャートである。
【０１１７】
ステップＳ５０では、ＣＰＵコア２１は、操作スイッチ部１４からの信号に基づいて、キー入力があったかどうかを判断し、キー入力があった場合には処理はステップＳ５１に進み、そうでない場合には処理はステップＳ６０に進む。
【０１１８】
ステップＳ５１では、ＣＰＵコア２１は、下ボタンが押されたかどうかを判断し、下ボタンが押された場合には処理はステップＳ５２に進み、そうでない場合には処理はステップＳ５３に進む。
【０１１９】
ステップＳ５２では、ＣＰＵコア２１は、退避アイコンを、アイコン列表示領域に表示されているアイコン列の中央の隙間に挿入する。ステップＳ５２が終了すると、処理は起動モードに移行する。
【０１２０】
ステップＳ５３では、ＣＰＵコア２１は、右ボタンまたは左ボタンが押されたかどうかを判断し、右ボタンまたは左ボタンが押された場合には処理はステップＳ５４に進み、そうでない場合には処理はステップＳ５０に戻る。
【０１２１】
ステップＳ５４では、ＣＰＵコア２１は、アイコン列をスクロール表示させる。具体的には、ＣＰＵコア２１は、右ボタンが押された場合にはアイコン列を画面の右方向にスクロール表示し、左ボタンが押された場合にはアイコン列を画面の左方向にスクロール表示する。
【０１２２】
ステップＳ５５では、ＣＰＵコア２１は、キー入力（すなわち右ボタンまたは左ボタンの押下）が継続しているかどうかを判断し、キー入力が継続している場合には処理はステップＳ５４に戻り、そうでない場合には処理はステップＳ５０に戻る。
【０１２３】
ステップＳ６０では、ＣＰＵコア２１は、タッチパネル１５からの信号に基づいて、タッチ位置を検出する。ステップＳ６０で検出されたタッチ位置は、タッチオン位置としてＲＡＭ２４に記憶される。
【０１２４】
ステップＳ６１では、ＣＰＵコア２１は、タッチ位置がアイコン上にあるかどうかを判断し、タッチ位置がアイコン上にある場合には処理はステップＳ６６に進み、そうでない場合には処理はステップＳ６２に進む。
【０１２５】
ステップＳ６２では、ＣＰＵコア２１は、タッチ位置がスクロール領域４８の内部にあるかどうかを判断し、タッチ位置がスクロール領域４８の内部にある場合には処理はステップＳ６３に進み、そうでない場合には処理はステップＳ５０に戻る。
【０１２６】
ステップＳ６３では、ＣＰＵコア２１は、タッチパネル１５からの信号に基づいて、タッチ位置を検出する。
【０１２７】
ステップＳ６４では、ＣＰＵコア２１は、タッチオン位置（すなわちステップＳ６０で検出および記憶されたタッチ位置）と最新のタッチ位置（すなわちステップＳ６３で検出されたタッチ位置）とに基づいてアイコン列をスクロール表示させる。具体的には、ＣＰＵコア２１は、タッチオン位置のＸ座標値と最新のタッチ位置のＸ座標値の大小関係に応じてスクロール方向を決定し、タッチオン位置のＸ座標値と最新のタッチ位置のＸ座標値の差分の絶対値に応じてスクロール幅を決定する。
【０１２８】
ステップＳ６５では、ＣＰＵコア２１は、タッチパネル１５からの信号に基づいて、タッチオフされたかどうかを判断し、タッチオフされた場合には処理はステップＳ５０に戻り、そうでない場合には処理はステップＳ６３に戻る。
【０１２９】
ステップＳ６６では、ＣＰＵコア２１は、ユーザによってタッチされているアイコンをハイライトする。
【０１３０】
ステップＳ６７では、ＣＰＵコア２１は、タッチ位置が退避アイコン上にあるかどうかを判断し、タッチ位置が退避アイコン上にある場合には処理はステップＳ６７に進み、そうでない場合（これは、アイコン列表示領域内のいずれかのアイコンがタッチされていることを意味する）には処理はステップＳ６８に進む。
【０１３１】
ステップＳ６８では、ＣＰＵコア２１は、タッチパネル１５からの信号に基づいて、タッチ位置を検出する。
【０１３２】
ステップＳ６９では、ＣＰＵコア２１は、タッチ位置のＹ軸方向の変位が予め定められた閾値を超えたかどうかを判断し、タッチ位置のＹ軸方向の変位が予め定められた閾値を超えた場合（これは、ユーザが所望のアイコンをアイコン列から抜き出して退避アイコンと入れ替えようとしていることを意味する）には処理はステップＳ７３に進み、そうでない場合には処理はステップＳ７０に進む。
【０１３３】
ステップＳ７０では、ＣＰＵコア２１は、タッチオン位置（すなわちステップＳ６０で検出および記憶されたタッチ位置）と最新のタッチ位置（すなわちステップＳ６８で検出されたタッチ位置）とに基づいてアイコン列をスクロール表示させる。具体的には、ＣＰＵコア２１は、タッチオン位置のＸ座標値と最新のタッチ位置のＸ座標値の大小関係に応じてスクロール方向を決定し、タッチオン位置のＸ座標値と最新のタッチ位置のＸ座標値の差分の絶対値に応じてスクロール幅を決定する。
【０１３４】
ステップＳ７１では、ＣＰＵコア２１は、タッチパネル１５からの信号に基づいて、タッチオフされたかどうかを判断し、タッチオフされた場合には処理はステップＳ７２に進み、そうでない場合には処理はステップＳ６８に戻る。
【０１３５】
ステップＳ７２では、ＣＰＵコア２１は、ステップＳ６６で行ったアイコンのハイライトを解除する。
【０１３６】
ステップＳ７３では、ＣＰＵコア２１は、現在タッチされているアイコンと退避アイコンとを入れ替える処理を行う。具体的には、ＣＰＵコア２１は、現在タッチされているアイコンと入れ替わるように、現在タッチされているアイコンの位置に退避アイコンを移動させる。ステップＳ７３の処理が終了すると、処理はドラッグモードに移行する。
【０１３７】
ステップＳ７４では、ＣＰＵコア２１は、タッチパネル１５からの信号に基づいて、タッチ位置を検出する。
【０１３８】
ステップＳ７５では、ＣＰＵコア２１は、最新のタッチ位置（すなわちステップＳ７４で検出されたタッチ位置）に追従するように、最新のタッチ位置に応じて退避アイコンを移動させる。
【０１３９】
ステップＳ７６では、ＣＰＵコア２１は、タッチ位置の変位（Ｘ軸方向の変位とＹ軸方向の変位の両方を加味した変位であって、例えば、タッチオン位置と最新のタッチ位置の間の距離）が予め定められた閾値を超えたかどうかを判断し、タッチ位置の変位が予め定められた閾値を超えた場合（これは、ユーザが退避アイコンをドラッグしようとしていることを意味する）には処理はドラッグモードへと移行し、そうでない場合には処理はステップＳ７７に進む。
【０１４０】
ステップＳ７７では、ＣＰＵコア２１は、タッチパネル１５からの信号に基づいて、タッチオフされたかどうかを判断し、タッチオフされた場合（これは、ユーザが退避アイコンをタップしたことを意味する）には処理はステップＳ７８に進み、そうでない場合には処理はステップＳ７４に戻る。
【０１４１】
ステップＳ７８では、ＣＰＵコア２１は、ステップＳ６６で行ったアイコンのハイライトを解除する。
【０１４２】
ステップＳ７９では、ＣＰＵコア２１は、退避アイコンを、アイコン列表示領域に表示されているアイコン列の中央の隙間に挿入する。ステップＳ７９が終了すると、処理は起動モードに移行する。
【０１４３】
以上のように、本実施形態によれば、アイコン列表示領域に表示される複数のオブジェクトの表示順をユーザが簡単に変更することができる。
【０１４４】
特に、本実施形態によれば、アイコン列表示領域に表示されているアイコン列に含まれているアイコンをスティック１６でタッチした後に、スティック１６を水平方向にスライドさせた場合にはアイコン列全体をスクロールさせることができ、スティック１６を垂直方向にスライドさせた場合にはタッチしたアイコンをアイコン列から抜き出してドラッグすることができる。したがって、従来のようにアイコン列の表示エリア（本実施形態におけるアイコン列表示領域に相当）とは異なるエリアにスクロールボックスを配置する必要が無く、限られた画面サイズを有効利用することができる。また、従来では、アイコン列の表示エリアとして広いエリアを確保しようとした場合、相対的にスクロールボックスの配置エリアが狭くなり、結果としてスクロールボックスが細くなり、ポインティングデバイスでスクロールボックス上の位置を指定するのが難しくなってしまうが、本実施形態によれば、アイコン列の表示エリアとして広いエリアを確保した場合でも、アイコン列の表示エリアを含むような広いスクロール領域４８を設定することができるので、スクロール操作の操作性を損なうことなく、アイコン列の表示エリアを十分に広げることができる。  
【０１４５】
なお、変形例として、図３１に示すようにアイコン列表示領域内の点であってなおかつアイコン上ではない点をスティック１６でタッチした後に、図３２に示すようにスティック１６を水平方向にスライドさせた場合には、アイコン列全体をスクロールさせ、図３３に示すようにアイコン上の点をスティック１６でタッチした後に、図３４に示すようにスティック１６を任意の方向（水平方向でもよい）にスライドさせた場合には、タッチしたアイコンをアイコン列から抜き出してドラッグするようにしてもよい。これにより、上記実施形態と同様に、アイコン列の表示エリア（本実施形態におけるアイコン列表示領域に相当）とは異なるエリアにスクロールボックスを配置する必要が無く、限られた画面サイズを有効利用することができる。
【０１４６】
なお、本実施形態では、タッチパネルを利用する例を説明したが、本発明はこれに限らず、マウスやジョイスティックやタッチパッドなど、他の任意の座標入力手段を利用することができる。
【０１４７】
また、本実施形態では、ドラッグアイコンが退避領域５０の外部の任意の点でドロップされたときに、ドラッグアイコンがアイコン列に挿入される例を説明したが、本発明はこれに限らず、ドラッグアイコンが特定の領域（例えば、アイコン列から一定距離範囲の領域）の内部でドロップされたときに、ドラッグアイコンがアイコン列に挿入されるようにしても構わない。
【０１４８】
また、図３に示したアイコン列表示領域、図７に示したスクロール領域４８、図１１に示した退避領域５０、図１４に示した右端領域５２Ｒ、左端領域５２Ｌは、いずれも単なる一例に過ぎず、それらの位置および大きさは適宜に変更しても構わない。例えば、右端領域５２Ｒおよび左端領域５２Ｌが、それぞれ、画面の上端から下端まで延びていてもよい。
【０１４９】
また、図２５のステップＳ４３およびステップＳ４４では、タッチ位置が右端領域５２Ｒの内部または左端領域５２Ｌの内部にあるときにアイコン列をスクロール表示させているが、本発明はこれに限らず、ドラッグアイコンの一部（例えば、４つの頂点のうちの１つ）が右端領域５２Ｒの内部または左端領域５２Ｌの内部に進入しているときにアイコン列をスクロール表示させるようにしてもよい。図２５のステップＳ４６における判断についても同様である。
【０１５０】
なお、図２４のステップＳ２８、ステップＳ３０、ステップＳ３４、図２６のステップＳ６９のそれぞれのステップで用いる閾値は、適切な値を個別に設定すればよい。
【０１５１】
また、本実施形態では、アイコン列が水平方向に並んで表示される例を説明したが、本発明はこれに限らず、垂直方向にアイコン列が並んで表示されても構わない。
【０１５２】
また、本実施形態では、アイコン列表示領域に表示されるアイコン列が１列である例を説明したが、本発明はこれに限らず、アイコン列表示領域に表示されるアイコン列が複数であっても構わない。
【０１５３】
また、本実施形態では、複数のアイコンの表示順を変更する例を説明したが、本発明はこれに限らず、アイコンに限らず、画像や文字や記号や３Ｄオブジェクトなど、他の任意のオブジェクトの表示順の変更に有効である。
【０１５４】
なお、本実施形態では、退避領域５０には同時に１つのアイコンしか退避できないが、本発明はこれに限らず、退避領域５０に同時に複数のアイコンを退避できるようにしても構わない。例えば、図２７は、アイコン４０ａ、アイコン４０ｆ、アイコン４０ｊを、この順番で退避領域５０に順次退避させたときの画面例である。なお、退避領域５０に同時に複数のアイコンを退避できるようにする場合、退避領域５０に退避可能な上限数が予め設定されていてもよい。この場合、退避領域５０に退避されているアイコン（退避アイコン）の数がすでに上限数に達している場合には、いずれかの退避アイコンをアイコン列に戻さない限り、新たなアイコンを退避領域に退避させることはできない。
【０１５５】
さらに、上記のように退避領域５０に同時に複数のアイコンを退避できるようにした場合においても、図２０を参照して説明したようなアイコンの入れ替えが可能である。例えば、図２７の状態において、ユーザがアイコン４０ｌをスティック１６でタッチして、スティック１６を画面の上方向に向かってスライドさせた場合には、図２８に示すように、アイコン４０ｌがスティック１６に追従して上方向に移動してアイコン４０ｌがアイコン列から抜き出され、さらに、退避領域５０に最も早く退避されたアイコン４０ａが、アイコン４０ｌと入れ替わりでアイコン列に挿入されるようにしてもよい。また、他の例として、図２７の状態において、ユーザがアイコン４０ｌをスティック１６でタッチして、スティック１６を画面の上方向に向かってスライドさせた後、図２９に示すように、退避領域５０に退避されている複数の退避アイコンのうちの所望の退避アイコン（図２９の例ではアイコン４０ｆ）上にアイコン４０ｌをドラッグしてドロップした場合に、図３０に示すように、アイコン４０ｌが退避領域５０に退避されるとともに、アイコン４０ｆが、アイコン４０ｌと入れ替わりでアイコン列に挿入されるようにしてもよい。これにより、複数のアイコンの表示順を変えたい場合に、ユーザは効率良く表示順の変更を行うことができる。
【図面の簡単な説明】
【０１５６】
【図１】本発明の一実施形態に係るゲーム装置１０の外観図
【図２】ゲーム装置１０の内部構成図
【図３】第２のＬＣＤ１２の画面に表示される画像を示す図
【図４】アイコン４０の表示順を示す図
【図５】第２のＬＣＤ１２の画面に表示される画像を示す図
【図６】第２のＬＣＤ１２の画面に表示される画像を示す図
【図７】スクロール領域４８を示す図
【図８】第２のＬＣＤ１２の画面に表示される画像を示す図
【図９】第２のＬＣＤ１２の画面に表示される画像を示す図
【図１０】第２のＬＣＤ１２の画面に表示される画像を示す図
【図１１】第２のＬＣＤ１２の画面に表示される画像を示す図
【図１２】退避領域５０を示す図
【図１３】第２のＬＣＤ１２の画面に表示される画像を示す図
【図１４】右端領域５２Ｒおよび左端領域５２Ｌを示す図
【図１５】第２のＬＣＤ１２の画面に表示される画像を示す図
【図１６】第２のＬＣＤ１２の画面に表示される画像を示す図
【図１７】第２のＬＣＤ１２の画面に表示される画像を示す図
【図１８】第２のＬＣＤ１２の画面に表示される画像を示す図
【図１９】第２のＬＣＤ１２の画面に表示される画像を示す図
【図２０】第２のＬＣＤ１２の画面に表示される画像を示す図
【図２１】ＲＡＭ２４のメモリマップ
【図２２】起動モードとドラッグモードと退避モードの関係を示す図
【図２３】モードが変化するための操作の条件を示す図
【図２４】起動モードにおけるゲーム装置１０の動作を示すフローチャート
【図２５】ドラッグモードにおけるゲーム装置１０の動作を示すフローチャート
【図２６】退避モードにおけるゲーム装置１０の動作を示すフローチャート
【図２７】第２のＬＣＤ１２の画面に表示される画像を示す図
【図２８】第２のＬＣＤ１２の画面に表示される画像を示す図
【図２９】第２のＬＣＤ１２の画面に表示される画像を示す図
【図３０】第２のＬＣＤ１２の画面に表示される画像を示す図
【図３１】第２のＬＣＤ１２の画面に表示される画像を示す図
【図３２】第２のＬＣＤ１２の画面に表示される画像を示す図
【図３３】第２のＬＣＤ１２の画面に表示される画像を示す図
【図３４】第２のＬＣＤ１２の画面に表示される画像を示す図
【符号の説明】
【０１５７】
１０  ゲーム装置
１１  第１のＬＣＤ
１２  第２のＬＣＤ
１３  ハウジング
１３ａ  上側ハウジング
１３ｂ  下側ハウジング
１４  操作スイッチ部
１４ａ  十字スイッチ
１４ｂ  スタートスイッチ
１４ｃ  セレクトスイッチ
１４ｄ  Ａボタン
１４ｅ  Ｂボタン
１４ｆ  Ｘボタン
１４ｇ  Ｙボタン
１５  タッチパネル
１６  スティック
１７  メモリカード
１７ａ  ＲＯＭ
１７ｂ  フラッシュ
１８ａ，１８ｂ  音抜き孔
１９  電源スイッチ
２０  電子回路基板
２１  ＣＰＵコア
２２  バス
２３  コネクタ
２４  ＲＡＭ
２５  Ｉ／Ｆ回路
２６  第１ＧＰＵ
２７  第２ＧＰＵ
２８  第１ＶＲＡＭ
２９  第２ＶＲＡＭ
３０ａ  右スピーカ
３０ｂ  左スピーカ
３１  ＬＣＤコントローラ
３２  レジスタ
３３  マイクロフォン用孔
３４  ワイヤレス通信部
３５  挿入口
３６  挿入口
３７  マイクロフォン
４０  アイコン
４２  吹き出し
４４  スライドバー
４６  カーソル
４８  スクロール領域
５０  退避領域
５２Ｒ  右端領域
５２Ｌ  左端領域
５４  マーク
【図１】
0005384877.tif 000002
【図２】
0005384877.tif 000003
【図３】
0005384877.tif 000004
【図４】
0005384877.tif 000005
【図５】
0005384877.tif 000006
【図６】
0005384877.tif 000007
【図７】
0005384877.tif 000008
【図８】
0005384877.tif 000009
【図９】
0005384877.tif 000010
【図１０】
0005384877.tif 000011
【図１１】
0005384877.tif 000012
【図１２】
0005384877.tif 000013
【図１３】
0005384877.tif 000014
【図１４】
0005384877.tif 000015
【図１５】
0005384877.tif 000016
【図１６】
0005384877.tif 000017
【図１７】
0005384877.tif 000018
【図１８】
0005384877.tif 000019
【図１９】
0005384877.tif 000020
【図２０】
0005384877.tif 000021
【図２１】
0005384877.tif 000022
【図２２】
0005384877.tif 000023
【図２３】
0005384877.tif 000024
【図２４】
0005384877.tif 000025
【図２５】
0005384877.tif 000026
【図２６】
0005384877.tif 000027
【図２７】
0005384877.tif 000028
【図２８】
0005384877.tif 000029
【図２９】
0005384877.tif 000030
【図３０】
0005384877.tif 000031
【図３１】
0005384877.tif 000032
【図３２】
0005384877.tif 000033
【図３３】
0005384877.tif 000034
【図３４】
0005384877.tif 000035