説明

情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法

【課題】ユーザが複数のオブジェクトのスクロールとオブジェクトの入れ替えとを簡単に選択することができ、且つ各オブジェクトの位置関係を大きく崩すことなく任意のオブジェクトを所望の位置に配置することができる情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法を提供すること。
【解決手段】画面には、アイコン51が行列表示される。ユーザが任意のアイコン51上の点を起点として指示位置を水平方向へ移動させた場合、アイコン行列がスクロール表示される。一方、ユーザが任意のアイコン51上の点を起点として指示位置を垂直方向へ移動させた場合、任意のアイコン51と他のアイコン51とが入れ替えられる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法に関し、より特定的には、ユーザが座標入力手段を用いて行った操作に応じた情報処理を行う情報処理装置に実行させる情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法に関する。
【背景技術】
【0002】
従来、サムネイル画像やアイコン等の複数のオブジェクトを画面に表示し、それらの表示順をユーザが自由に変更できるようにしたものがある。例えば特許文献1には、複数のアイコンのいずれかをユーザがドラッグ操作によって別のアイコンに重ね合わせるように移動させたときに、移動したアイコンとそのアイコンが重ね合わされたアイコンとを入替表示することが開示されている。
【0003】
また、オブジェクトが多数存在して画面に収まらないような場合に、一部のオブジェクトを画面に表示し、残りのオブジェクトについてはユーザによるスクロール操作に応じて画面に表示させることも一般的に行われている。そして、このようなスクロール操作とアイコンの表示順の変更とを両立可能なものもある。例えば特許文献2に記載の装置では、画面に複数のアイコンが水平方向に一列に並べて表示されており、ユーザがスティックを画面にタッチさせたまま水平方向にスライドさせることで、アイコン列を水平方向にスクロールさせることが可能である。また、ユーザがスティックを画面にタッチしたまま垂直方向にスライドさせることで、そのスティックによって指示されたアイコンのみを移動させたり、そのアイコンを他の2つのアイコンの間に挿入させたりすることも可能である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2009−146334号公報
【特許文献2】特開2009−265929号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、特許文献1に記載の端末では、ドラッグ操作によって2つのアイコンを入れ替えることは可能であるが、ドラッグ操作によってアイコンの入れ替えと複数のアイコンのスクロールとを選択することはできなかった。また、特許文献2に記載の装置では、ドラッグ操作によって複数のアイコンのスクロールと特定のアイコンを別の2つのアイコンの間に挿入する処理とを選択することは可能であるが、ドラッグ操作によって複数のアイコンのスクロールとアイコンの入れ替えとを選択することはできなかった。
【0006】
ところで、特許文献2に記載の装置では、画面に表示されるアイコンの表示順が予め決められている。このため、図26(A)に例示されるようにアイコンを行列表示(ここでは2行4列表示)することを考えた場合、以下のような問題が生じるおそれがある。すなわち、「2」の番号が付されたアイコンを、「7」の番号が付されたアイコンと「8」の番号が付されたアイコンとの間に挿入した場合、図26(A)及び(B)に示されるように、1行目の左から2番目に配置されていた「3」の番号が付されたアイコンが「2」の番号が付されたアイコンが元々配置されていた2行目の左から1番目の位置へ移動し、2行目の左から2番目に配置されていた「4」の番号が付されたアイコンが「3」の番号が付されたアイコンが元々配置されていた1行目の左から2番目の位置へ移動する。そして、1行目の左から3番目に配置されていた「5」の番号が付されたアイコンが2行目の左から2番目の位置へ移動する。このように、予め表示順が定められている複数のアイコンを行列表示することを考えた場合、任意のアイコンを他の2つのアイコン間に挿入すると、各オブジェクトの位置関係を大きく崩してしまうおそれがある。
【0007】
それ故に、本発明の目的は、ユーザが複数のオブジェクトのスクロールとオブジェクトの入れ替えとを簡単に選択することができ、且つ各オブジェクトの位置関係を大きく崩すことなく任意のオブジェクトを所望の位置に配置することができる情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法を提供することである。
【課題を解決するための手段】
【0008】
本発明に係る情報処理プログラムは、画面に表示される複数のオブジェクトの表示順を座標入力手段を用いてユーザが変更することを可能にする情報処理装置のコンピュータを、オブジェクト表示手段、指示位置検出手段、処理方法選択手段、スクロール手段、オブジェクト移動手段、及びオブジェクト入替手段として機能させる。オブジェクト表示手段は、複数のオブジェクトのうちのサブセットを構成するオブジェクトを、予め設定された表示順で並ぶように画面内に行列表示する。指示位置検出手段は、座標入力手段によって指示された画面上の位置を指示位置として検出する。処理方法選択手段は、画面内に表示されているサブセットのうちの任意のオブジェクト上の点を起点として指示位置が移動したときに、予め定められた判定基準に従って、第1の処理方法又は第2の処理方法を選択する。スクロール手段は、処理方法選択手段によって第1の処理方法が選択されたときに、複数のオブジェクトを指示位置の移動に応じてスクロール表示させる。オブジェクト移動手段は、処理方法選択手段によって第2の処理方法が選択されたときに、任意のオブジェクトだけを指示位置に応じて移動させる。オブジェクト入替手段は、オブジェクト移動手段による任意のオブジェクトの移動中に指示位置が検出されなくなったときに、最後に検出された指示位置に応じて、任意のオブジェクトと他のオブジェクトとを入れ替える。
【0009】
上記構成によれば、ユーザが座標入力手段(タッチパネルやマウス等)による画面上の指示位置を移動させることにより、第1の処理方法又は第2の処理方法が選択される。このため、ユーザが複数のオブジェクト(アイコンやサムネイル画像等)のスクロールとオブジェクトの入れ替えとを簡単に選択することが可能になる。なお、第1の処理方法又は第2の処理方法を選択するための判定基準は特に限定されるものではない。例えば、指示位置の移動方向に応じて処理方法を選択する方法、指示位置が最初に検出されてから移動し始めるまでの経過時間に応じて処理方法を選択する方法、指示位置が最初に検出されてから最後に検出されるまでの経過時間に応じて処理方法を選択する方法等が挙げられる。
【0010】
ところで、画面には、サブセットを構成するオブジェクトが行列表示される。ここで、行列表示とは、行数及び列数がいずれも2以上となるようにオブジェクトをマトリクス状に表示することを意味する。行列表示の一例としては、横に4つ並んだオブジェクトの組を縦に2つ並べた2行4列表示や、横に5つ並んだオブジェクトの組を縦に3つ並べた3行5列表示が挙げられる。このように行列表示されるオブジェクトは、予め設定された表示順で並ぶように画面に表示される。このため、あるオブジェクトを別の2つのオブジェクトの間に挿入するといった処理を行った場合、オブジェクトが移動してできた領域を埋めるように各オブジェクトの表示位置が変化し、その結果、サブセットを構成する各オブジェクトの位置関係が大きく崩れてしまうことになる。このため、予め表示順が設定されたオブジェクトを行列表示する場合には、オブジェクトを別の2つのオブジェクトの間に挿入するといった処理は好ましくない。これに対して、上記構成によれば、第2の処理方法が選択された場合には任意のオブジェクトと他のオブジェクトとが入れ替えられるので、ユーザは、任意のオブジェクトと他のオブジェクトを除く各オブジェクトの位置関係を大きく崩すことなく、任意のオブジェクトを所望の位置に配置することが可能になる。
【0011】
オブジェクト表示手段は、サブセットを構成するオブジェクトが配置されたオブジェクト配置領域と、オブジェクトが配置されていないオブジェクト非配置領域とを画面内に表示し、オブジェクト入替手段は、判別手段及び入替処理手段を含んでいてもよい。判別手段は、最後に検出された指示位置に応じて、オブジェクト配置領域及びオブジェクト非配置領域のいずれが指定されたかを判別する。オブジェクト配置領域が指定されたと判別手段によって判別された場合、入替処理手段は、任意のオブジェクトとオブジェクト配置領域内に配置されている他のオブジェクトとを入れ替える。一方、オブジェクト非配置領域が指定されたと判別手段によって判別された場合、入替処理手段は、オブジェクト移動手段によって移動された任意のオブジェクトをオブジェクト非配置領域に配置すると共に、任意のオブジェクトが移動前に配置されていたオブジェクト配置領域をオブジェクト非配置領域に変更する。
【0012】
この構成によれば、ユーザは、座標入力手段による指示位置を第2の方向へ移動させた際に、指示位置検出手段によって最後に検出される指示位置を変化させることにより、オブジェクトの入れ替えと、オブジェクト非配置領域へのオブジェクトの移動とを簡単に選択することが可能になる。
【0013】
判別手段による判別は、以下のように行われてもよい。すなわち、判別手段は、最後に検出された指示位置がオブジェクト配置領域内である場合は、オブジェクト配置領域が指定されたと判別する。また、判別手段は、最後に検出された指示位置がオブジェクト非配置領域内である場合は、オブジェクト非配置領域が指定されたと判別する。また、判別手段は、最後に検出された指示位置がオブジェクト配置領域内でもオブジェクト非配置領域内でもない場合は、オブジェクト配置領域及びオブジェクト非配置領域のうち最後に検出された指示位置により近い領域が指定されたと判別する。
【0014】
この構成によれば、最後に検出された指示位置がオブジェクト配置領域とオブジェクト非配置領域とのどちらでもない場合であっても、これら2つの領域のいずれかが指定されたと判別手段によって判別される。したがって、指示位置検出手段によって最後に検出された指示位置がどのような位置であっても、オブジェクトの入れ替え、又はオブジェクト非配置領域へのオブジェクトの移動を確実に行うことが可能になる。
【0015】
コンピュータを、行列数変更手段及びオブジェクト表示変更手段として更に機能させてもよい。行列数変更手段は、サブセットを構成するオブジェクトの行数又は列数を変更する。オブジェクト表示変更手段は、行列数変更手段によって変更された行数又は列数に応じて、オブジェクト表示手段により画面内に表示される各オブジェクトの表示位置を変更する。
【0016】
この構成によれば、サブセットを構成するオブジェクトとして画面内に表示されるオブジェクトの行数又は列数が変更されて、画面内に表示されるオブジェクトの表示位置が変更される。
【0017】
コンピュータを、行列数変更手段によって変更された行数又は列数を記憶する行列数記憶手段として更に機能させてもよい。この場合、オブジェクト表示手段は、情報処理プログラムの起動時に、サブセットを構成するオブジェクトを行列数記憶手段に記憶されている行数又は列数で画面内に行列表示する。
【0018】
この構成によれば、情報処理プログラムの終了前に行列数変更手段によって変更された行数又は列数と同じ行列数で、情報処理プログラムの起動時に各オブジェクトを行列表示することが可能になる。すなわち、例えばユーザの選択に基づいてオブジェクトの行数又は列数が変更された場合に、その変更を情報処理プログラムの次回起動時におけるオブジェクトの表示にも反映させることが可能になる。
【0019】
コンピュータを、第1ボタン及び第2ボタンを画面内に表示するボタン表示手段として更に機能させてもよい。この場合、行列数変更手段は、指示位置検出手段によって検出された指示位置が第1ボタン上であった場合には行数又は列数を増加させ、指示位置検出手段によって検出された指示位置が第2ボタン上であった場合には行数又は列数を減少させる。
【0020】
ここで、第1ボタン及び第2ボタンは、機能的に互いに対をなすボタンである。このため、第1ボタンが行数を増加させるボタンとして機能する場合には第2ボタンは行数を減少させるボタンとして機能し、第1ボタンが列数を増加させるボタンとして機能する場合には第2ボタンは列数を減少させるボタンとして機能する。
【0021】
この構成によれば、ユーザは、複数のオブジェクトのスクロールとオブジェクトの入れ替えとを簡単に選択することができるだけでなく、サブセットを構成するオブジェクトのレイアウト(すなわち行数又は列数)を簡単に変更することが可能になる。
【0022】
コンピュータを、オブジェクト入替手段によってオブジェクトの入れ替えが行われた場合に、入れ替え後のオブジェクトの表示順を記憶する表示順記憶手段として更に機能させてもよい。この場合、オブジェクト表示手段は、情報処理プログラムの起動時に、表示順記憶手段に記憶されている表示順で、サブセットを構成する各オブジェクトを画面内に行列表示する。
【0023】
この構成によれば、情報処理プログラムの終了前にオブジェクト入替手段によってオブジェクトの入れ替えが行われた後の表示順で、情報処理プログラムの起動時にサブセットを構成する各オブジェクトを表示することが可能になる。すなわち、例えばユーザの選択に基づいてオブジェクトの表示順が変更された場合に、その変更を情報処理プログラムの次回起動時におけるオブジェクトの表示にも反映させることが可能になる。
【0024】
オブジェクト表示手段は、サブセットを構成する各オブジェクトが予め設定された表示順に従って行方向に並ぶように、1列目から順に、各オブジェクトを並べて表示してもよい。
【0025】
サブセットを構成するオブジェクトは、1列目から順に、予め設定された表示順に従って行方向に並ぶように行列表示される。このため、任意のオブジェクトを別のオブジェクト間に挿入した場合には、その任意のオブジェクトを挿入するための領域を確保するために、各オブジェクトの表示位置を変化させる必要が生じる。本発明は、このような場合に適用されると好適である。
【0026】
オブジェクト表示手段は、サブセットを構成するオブジェクトを一行表示又は一列表示可能なものであって、コンピュータを、画面内に表示されているオブジェクトの行数及び列数が共に2以上であるか否かを判定する行列数判定手段として更に機能させてもよい。この場合、オブジェクト入替手段は、行列数判定手段によって行数及び列数が共に2以上であると判定された場合に、最後に検出された指示位置が他のオブジェクト上であるか否かに拘わらず、任意のオブジェクトと他のオブジェクトとを入れ替える。
【0027】
ユーザによる座標入力手段の操作によっては、指示位置検出手段によって最後に検出される指示位置が、他のオブジェクトと別のオブジェクトとの間となる場合も起こり得る。上記構成によれば、画面内に表示されているオブジェクトの行数及び列数が共に2以上である場合に、最後に検出された指示位置が他のオブジェクト上であるか否かに拘わらず任意のオブジェクトと他のオブジェクトとが入れ替えられるので、プレイヤにオブジェクトの入れ替えをより簡単に選択させることが可能になるだけでなく、オブジェクトを行列表示する場合には好ましくないオブジェクトの挿入ではなくオブジェクトの入れ替えを確実に行うことが可能になる。
【0028】
オブジェクト表示手段は、サブセットを構成するオブジェクトを一行表示又は一列表示可能なものであって、コンピュータを、画面内に表示されているオブジェクトの行数及び列数が共に2以上であるか否かを判定する行列数判定手段として更に機能させてもよい。この場合、オブジェクト入替手段は、位置判別手段及び入替処理手段を含む。位置判別手段は、行列数判定手段によって行数及び列数が一方でも2以上ではないと判定された場合に、最後に検出された指示位置が、他のオブジェクト上であるか、又は他の2つのオブジェクトの間であるかを判別する。入替処理手段は、位置判別手段によって他のオブジェクト上であると判別された場合には任意のオブジェクトと他のオブジェクトとを入れ替え、位置判別手段によって他の2つのオブジェクトの間であると判別された場合には2つのオブジェクト間に任意のオブジェクトを挿入する。
【0029】
画面内に表示されているオブジェクトが横一列又は縦一列に並んでいる場合、任意のオブジェクトが他の2つのオブジェクトの間に挿入されたとしても、各オブジェクトの表示位置が横方向又は縦方向にずれるだけでそれらの位置関係が大きく崩れることはない。上記構成によれば、オブジェクトが一行表示又は一列表示される場合には、最後に検出された指示位置が他のオブジェクト上であるか否かに応じて、任意のオブジェクトと他のオブジェクトとの入れ替えと、任意のオブジェクトの挿入とが切り替えられる。したがって、ユーザは、オブジェクトが一行表示又は一列表示される場合でも、各オブジェクトの位置関係を大きく崩すことなく任意のオブジェクトを所望の位置に配置することが可能である。
【0030】
コンピュータを、任意のオブジェクトを含む2以上のオブジェクトを選択するオブジェクト選択手段として更に機能させてもよい。この場合、オブジェクト移動手段は、処理方法選択手段によって第2の処理方法が選択されたときに、オブジェクト選択手段によって選択された2以上のオブジェクトを指示位置に応じて移動させる。オブジェクト入替手段は、オブジェクト移動手段による2以上のオブジェクトの移動中に指示位置が検出されなくなったときに、最後に検出された指示位置に応じて、2以上のオブジェクトと他の2以上のオブジェクトとを入れ替える。
【0031】
画面内に多数のオブジェクトが表示されており、各オブジェクトのレイアウトを大幅に変更する場合、指示位置を第2の方向へ移動させる操作をユーザが何度も繰り返す必要がある。これに対して、上記構成がこのような場合に適用されることで、オブジェクトの大幅なレイアウト変更を容易に行うことが可能となる。
【0032】
処理方法選択手段は、指示位置が第1の方向へ移動した場合には第1の処理方法を選択し、指示位置が第1の方向とは異なる第2の方向へ移動した場合には第2の処理方法を選択してもよい。
【0033】
この構成によれば、ユーザが座標入力手段を用いて指示位置の移動方向を変化させるだけで、複数のオブジェクトのスクロールとオブジェクトの入れ替えとを簡単に選択することが可能になる。
【0034】
処理方法選択手段は、指示位置が最初に検出されてから所定時間を経過する前に指示位置が移動した場合には第1の処理方法を選択し、所定時間を経過した後に指示位置が移動した場合には第2の処理方法を選択してもよい。
【0035】
この構成によれば、ユーザが座標入力手段を用いて指示位置を移動させるまでの時間を変化させるだけで、複数のオブジェクトのスクロールとオブジェクトの入れ替えとを簡単に選択することが可能になる。
【0036】
ところで、例えば指示位置が第1の方向へ移動した場合には複数のオブジェクトを第1の方向へスクロールさせ、指示位置が第1の方向とは異なる第2の方向へ移動した場合には任意のオブジェクトを他のオブジェクトと入れ替えるようにすると、指示位置を第2の方向へ移動させた場合にはオブジェクトの入れ替えが選択されるので、複数のオブジェクトを第2の方向へスクロール表示させることはできない。これに対して、上記構成によれば、指示位置が最初に検出されてから所定時間が経過する前に指示位置を移動させれば、その移動方向に関わらず第1の処理方法が選択される。このため、例えば、所定時間が経過する前に指示位置が第1の方向へ移動した場合には複数のオブジェクトを第1の方向へスクロール表示させ、所定時間が経過する前に指示位置が第2の方向へ移動した場合には複数のオブジェクトを第2の方向へスクロール表示させるというように、複数のオブジェクトを2以上の方向へスクロール可能な構成を採用することが可能になる。
【0037】
本発明は、画面に表示される複数のオブジェクトの表示順を座標入力手段を用いてユーザが変更することを可能にする情報処理装置として捉えることもできる。この情報処理装置は、オブジェクト表示手段、指示位置検出手段、処理方法選択手段、スクロール手段、オブジェクト移動手段、及びオブジェクト入替手段を備える。オブジェクト表示手段は、複数のオブジェクトのうちのサブセットを構成するオブジェクトを、予め設定された表示順で並ぶように画面内に行列表示する。指示位置検出手段は、座標入力手段によって指示された画面上の位置を指示位置として検出する。処理方法選択手段は、画面内に表示されているサブセットのうちの任意のオブジェクト上の点を起点として指示位置が移動したときに、予め定められた判定基準に従って、第1の処理方法又は第2の処理方法を選択する。スクロール手段は、処理方法選択手段によって第1の処理方法が選択されたときに、複数のオブジェクトを指示位置の移動に応じてスクロール表示させる。オブジェクト移動手段は、処理方法選択手段によって第2の処理方法が選択されたときに、任意のオブジェクトだけを指示位置に応じて移動させる。オブジェクト入替手段は、オブジェクト移動手段による任意のオブジェクトの移動中に指示位置が検出されなくなったときに、最後に検出された指示位置に応じて、任意のオブジェクトと他のオブジェクトとを入れ替える。
【0038】
また、本発明は、画面に表示される複数のオブジェクトの表示順を座標入力手段を用いてユーザが変更することを可能にする情報処理システムとして捉えることもできる。この情報処理システムは、オブジェクト表示手段、指示位置検出手段、処理方法選択手段、スクロール手段、オブジェクト移動手段、及びオブジェクト入替手段を備える。オブジェクト表示手段は、複数のオブジェクトのうちのサブセットを構成するオブジェクトを、予め設定された表示順で並ぶように画面内に行列表示する。指示位置検出手段は、座標入力手段によって指示された画面上の位置を指示位置として検出する。処理方法選択手段は、画面内に表示されているサブセットのうちの任意のオブジェクト上の点を起点として指示位置が移動したときに、予め定められた判定基準に従って、第1の処理方法又は第2の処理方法を選択する。スクロール手段は、処理方法選択手段によって第1の処理方法が選択されたときに、複数のオブジェクトを指示位置の移動に応じてスクロール表示させる。オブジェクト移動手段は、処理方法選択手段によって第2の処理方法が選択されたときに、任意のオブジェクトだけを指示位置に応じて移動させる。オブジェクト入替手段は、オブジェクト移動手段による任意のオブジェクトの移動中に指示位置が検出されなくなったときに、最後に検出された指示位置に応じて、任意のオブジェクトと他のオブジェクトとを入れ替える。
【0039】
また、本発明は、画面に表示される複数のオブジェクトの表示順を座標入力手段を用いてユーザが変更することを可能にする情報処理方法として捉えることもできる。この情報処理方法では、以下の処理が実行される。まず、複数のオブジェクトのうちのサブセットを構成するオブジェクトが、予め設定された表示順で並ぶように画面内に行列表示される。次に、座標入力手段によって指示された画面上の位置が指示位置として検出される。そして、画面内に表示されているサブセットのうちの任意のオブジェクト上の点を起点として指示位置が移動したときに、予め定められた判定基準に従って、第1の処理方法又は第2の処理方法が選択される。この処理の結果、第1の処理方法が選択されたときには、複数のオブジェクトが指示位置の移動に応じてスクロール表示される。一方、第2の処理方法が選択されたときには、任意のオブジェクトだけが指示位置に応じて移動される。そして、任意のオブジェクトの移動中に指示位置が検出されなくなったときに、最後に検出された指示位置に応じて、任意のオブジェクトと他のオブジェクトとが入れ替えられる。
【発明の効果】
【0040】
本発明によれば、ユーザが複数のオブジェクトのスクロールとオブジェクトの入れ替えとを簡単に選択することができる。また、第2の処理方法が選択された場合には任意のオブジェクトと他のオブジェクトとが入れ替えられるので、ユーザは、各オブジェクトの位置関係を大きく崩すことなく任意のオブジェクトを所望の位置に配置することができる。
【図面の簡単な説明】
【0041】
【図1】開いた状態のゲーム装置10の正面図
【図2】開いた状態のゲーム装置10の右側面図
【図3A】閉じた状態のゲーム装置10の左側面図
【図3B】閉じた状態のゲーム装置10の正面図
【図3C】閉じた状態のゲーム装置10の右側面図
【図3D】閉じた状態のゲーム装置10の背面図
【図4】ゲーム装置10の内部構成の一例を示すブロック図
【図5】下側LCD12の画面に表示される画像の一例を示す図
【図6】アイコン51の表示順を示す図
【図7】下側LCD12の画面に表示される画像の一例を示す図
【図8】下側LCD12の画面に表示される画像の一例を示す図
【図9】下側LCD12の画面に表示される画像の一例を示す図
【図10】下側LCD12の画面に表示される画像の一例を示す図
【図11】下側LCD12の画面に表示される画像の一例を示す図
【図12】下側LCD12の画面に表示される画像の一例を示す図
【図13】アイコン51の表示順を示す図
【図14】下側LCD12の画面に表示される画像の一例を示す図
【図15】下側LCD12の画面に表示される画像の一例を示す図
【図16】下側LCD12の画面に表示される画像の一例を示す図
【図17】アイコン51の表示順を示す図
【図18】下側LCD12の画面に表示される画像の一例を示す図
【図19】下側LCD12の画面に表示される画像の一例を示す図
【図20】下側LCD12の画面に表示される画像の一例を示す図
【図21】メインメモリ32のメモリマップ
【図22】起動モード時にCPU311によって実行される処理の一例を示すフローチャート
【図23】表示変更モード時にCPU311によって実行される処理の一例を示すフローチャート
【図24】ドラッグモード時にCPU311によって実行される処理の一例を示すフローチャート
【図25】起動モード時にCPU311によって実行される処理の変形例を示すフローチャート
【図26】アイコンを行列表示した場合の問題点について説明するための図
【発明を実施するための形態】
【0042】
以下、適宜図面を参照しつつ、本発明の一実施形態に係る情報処理プログラムを実行する情報処理装置について説明する。なお、本発明の情報処理プログラム及び情報処理装置は任意のコンピュータシステムに適用可能であるが、本実施形態では、情報処理装置の一例としての携帯型のゲーム装置10において、外部メモリ45に記録されている情報処理プログラムが実行される場合を例に説明する。
【0043】
[ゲーム装置10の構成]
図1は、開いた状態のゲーム装置10の正面図である。図2は、開いた状態のゲーム装置10の右側面図である。図3Aは、閉じた状態のゲーム装置10の左側面図である。図3Bは、閉じた状態のゲーム装置10の正面図である。図3Cは、閉じた状態のゲーム装置10の右側面図である。図3Dは、閉じた状態のゲーム装置10の背面図である。
【0044】
ゲーム装置10は、画像を撮像する撮像部を有しており、撮像された画像を画面に表示したり、撮像された画像のデータを保存したりすることが可能である。また、ゲーム装置10は、交換可能なメモリカード(外部メモリ45)内に記憶されたプログラム、又はサーバや他のゲーム装置から受信したプログラムを実行可能である。ゲーム装置10は、これらのプログラムを実行することにより、仮想空間に設定された仮想カメラで撮像した画像をコンピュータグラフィックス処理して生成した画像を画面に表示することもできる。
【0045】
ゲーム装置10は、下側ハウジング11及び上側ハウジング21を備える。上側ハウジング21は、下側ハウジング11に対して開閉可能に連結されている。このため、ゲーム装置10は、折り畳みが可能である。このゲーム装置10は、図1に例示されるように開いた状態で使用され、未使用時には閉じた状態(図3A〜図3D参照)で保管される。
【0046】
[下側ハウジング11の構成]
下側ハウジング11には、下側LCD(Liquid Crystal Display:液晶表示装置)12、タッチパネル13、各操作ボタン14A〜14L(図1、図3A〜図3D)、アナログスティック15、LED16A,16B、挿入口17、及びマイクロフォン用孔18が設けられている。
【0047】
下側LCD12は、縦方向よりも横方向に長い表示画面を有しており、下側ハウジング11の内側面11Bにおける中央に設けられている。下側LCD12の画素数は、特に限定されるものではないが、一例として、256dot×192dot(横×縦)である。下側LCD12は、後述する上側LCD22とは異なり、画像を(立体視可能ではなく)平面的に表示する表示装置である。
【0048】
なお、本実施形態では表示装置としてLCDを用いているが、例えばEL(Electro Luminescence:電界発光)を利用した表示装置など、他の任意の表示装置を利用してもよい。
【0049】
図1に示されるように、ゲーム装置10は、座標入力手段として機能するタッチパネル13を備えている。タッチパネル13は、下側LCD12の画面上を覆うように装着されている。本実施形態では、タッチパネル13は、例えば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル13は、抵抗膜方式に限らず、例えば静電容量方式等、任意の押圧式のタッチパネルを用いることができる。本実施形態では、タッチパネル13として、下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度とが一致している必要はない。
【0050】
下側ハウジング11の上側面には挿入口17(図1及び図3Dに示す破線)が設けられている。挿入口17は、タッチパネル13に対する操作を行うために用いられるタッチペン28を収納することができる。なお、タッチパネル13に対する入力は通常タッチペン28を用いて行われるが、タッチペン28に限らず、ユーザの指でタッチパネル13に対する入力を行うことも可能である。
【0051】
各操作ボタン14A〜14Lは、所定の入力を行うための入力装置である。図1に示されるように、下側ハウジング11の内側面11Bには、各操作ボタン14A〜14Lのうち、十字ボタン14A、ボタン14B、ボタン14C、ボタン14D、ボタン14E、電源ボタン14F、セレクトボタン14J、HOMEボタン14K、及びスタートボタン14Lが設けられている。ボタン14A〜14E、セレクトボタン14J、HOMEボタン14K、及びスタートボタン14Lには、ゲーム装置10が実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン14Aは選択操作等に用いられ、各操作ボタン14B〜14Eは例えば決定操作やキャンセル操作等に用いられる。また、電源ボタン14Fは、ゲーム装置10の電源をオン/オフするために用いられる。
【0052】
アナログスティック15は、方向を指示するデバイスであり、下側ハウジング11の内側面11Bにおける下側LCD12の左側に設けられている。このアナログスティック15及び十字ボタン14Aは、下側ハウジング11を把持したユーザの左手の親指で操作可能な位置に設けられている。アナログスティック15は、そのキートップが、下側ハウジング11の内側面11Bに平行にスライドするように構成されており、ゲーム装置10が実行するプログラムに応じて機能する。
【0053】
下側ハウジング11の内側面11Bには、マイクロフォン用孔18が設けられている。後述するが、下側ハウジング11の内部には、マイクロフォン用孔18と対応する位置に音声入力装置としてのマイク43(図4参照)が設けられている。マイクロフォン用孔18を介して入力された音がマイク43によって検出される。
【0054】
図3B及び図3Dに示されるように、下側ハウジング11の上面には、Lボタン14G及びRボタン14Hが設けられている。Lボタン14Gは、下側ハウジング11の上面の左端部に設けられ、Rボタン14Hは、下側ハウジング11の上面の右端部に設けられている。Lボタン14G及びRボタン14Hは、例えば撮像部のシャッターボタン(撮影指示ボタン)として機能する。また、図3Aに示されるように、下側ハウジング11の左側面には、音量ボタン14Iが設けられている。音量ボタン14Iは、ゲーム装置10が備えるスピーカ44(図4参照)の音量を調整するために用いられる。
【0055】
図3Aに示されるように、下側ハウジング11の左側面には開閉可能なカバー部11Cが設けられている。このカバー部11Cの内側には、ゲーム装置10とデータ保存用外部メモリ46(図1参照)とを電気的に接続するためのコネクタ(図示せず)が設けられている。データ保存用外部メモリ46は、上記コネクタに着脱可能に装着される。データ保存用外部メモリ46は、例えば、ゲーム装置10によって撮像された画像のデータを記憶(保存)するために用いられる。なお、上記コネクタおよびそのカバー部11Cは、下側ハウジング11の右側面に設けられてもよい。
【0056】
図3Dに示されるように、下側ハウジング11の上面には、挿入口11Dが設けられている。挿入口11Dには、情報処理プログラムを記録した記録媒体としての外部メモリ45(図1参照)が挿入される。挿入口11Dの内部には、外部メモリ45が着脱可能に装着されるコネクタ(図示せず)が設けられている。外部メモリ45がこのコネクタに装着されることによって外部メモリ45とゲーム装置10とが電気的に接続され、情報処理プログラムが実行される。なお、上記コネクタ及び挿入口11Dは、下側ハウジング11の他の面(例えば、右側面等)に設けられてもよい。
【0057】
図1に示されるように、下側ハウジング11の下面には、第1LED16Aが設けられている。この第1LED16Aは、ゲーム装置10の電源のON/OFF状況をユーザに通知する。図3Cに示されるように、下側ハウジング11の右側面には、第2LED16Bが設けられている。ゲーム装置10は、他の機器との間で無線通信を行うことが可能に構成されている。第2LED16Bは、ゲーム装置10の無線通信の確立状況をユーザに通知するものであり、他の機器との無線通信が確立している場合に点灯する。ゲーム装置10は、例えば、IEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。下側ハウジング11の右側面には、この無線通信の機能を有効/無効にする無線スイッチ19が設けられている(図3C参照)。
【0058】
[上側ハウジング21の構成]
上側ハウジング21には、上側LCD22、2つの外側撮像部23(外側左撮像部23A及び外側右撮像部23B)、内側撮像部24、3D調整スイッチ25、及び3Dインジケータ26が設けられている。
【0059】
図1に示されるように、上側ハウジング21の内側面(主面)21Bに上側LCD22が設けられている。上側LCD22は、縦方向よりも横方向に長い表示画面を有しており、上側ハウジング21の中央に設けられている。上側LCD22の画素数は、特に限定されるものではないが、一例として640dot×200dot(横×縦)である。なお、本実施形態では、上側LCD22が液晶表示装置であるが、例えばELを利用した表示装置などが利用されてもよい。
【0060】
上側LCD22は、立体視可能な画像を表示することが可能な表示装置である。上側LCD22は、実質的に同一の表示領域を用いて左目用画像と右目用画像とを表示することが可能である。具体的には、上側LCD22は、左目用画像と右目用画像とが所定単位で(例えば、1列ずつ)横方向に交互に表示される方式の表示装置である。なお、上側LCD22は、左目用画像と右目用画像とが交互に表示される方式の表示装置であってもよい。また、上側LCD22は、裸眼立体視可能な表示装置である。この場合、上側LCD22は、横方向に交互に表示される左目用画像と右目用画像とを左目および右目のそれぞれに分解して見えるようにレンチキュラー方式やパララックスバリア方式(視差バリア方式)のものが用いられる。本実施形態では、上側LCD22は、パララックスバリア方式のものとする。上側LCD22は、右目用画像と左目用画像とを用いて、裸眼で立体視可能な画像(立体画像)を表示する。すなわち、上側LCD22は、視差バリアを用いてユーザの左目に左目用画像をユーザの右目に右目用画像をそれぞれ視認させることにより、ユーザにとって立体感のある立体画像(立体視可能な画像)を表示することができる。また、上側LCD22は、上記視差バリアを無効にすることが可能であり、視差バリアを無効にした場合は、画像を平面的に表示することができる(上述した立体視とは反対の意味で平面視の画像を表示することができる。
【0061】
外側撮像部23は、図3Bに示されるように、上側ハウジング21の外側面(上側LCD22が設けられた主面と反対側の面)21Dに設けられている。この外部撮像部23は、外側左撮像部23A及び外側右撮像部23Bから構成されている。外側左撮像部23A及び外側右撮像部23Bは、それぞれ所定の共通の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【0062】
外側左撮像部23A及び外側右撮像部23Bの撮像方向は、いずれも外側面21Dの外向きの法線方向である。また、外側左撮像部23Aの撮像方向及び外側右撮像部23Bの撮像方向は、互いに平行である。外側左撮像部23Aと外側右撮像部23Bとは、ゲーム装置10が実行するプログラムによって、ステレオカメラとして使用することが可能である。また、プログラムによっては、2つの外側撮像部(外側左撮像部23A及び外側右撮像部23B)のいずれか一方を単独で用いて、外側撮像部23を非ステレオカメラとして使用することも可能である。また、プログラムによっては、2つの外側撮像部(外側左撮像部23A及び外側右撮像部23B)で撮像した画像を合成して又は補完的に使用することにより撮像範囲を広げた撮像を行うことも可能である。
【0063】
外側左撮像部23A及び外側右撮像部23Bは、図1に示されるように、ユーザが上側LCD22の画面を正面から視認した場合に、外側左撮像部23Aが左側に位置すると共に外側右撮像部23Bが右側に位置するように設けられている。外側撮像部23をステレオカメラとして使用する場合、外側左撮像部23Aは、ユーザの左目で視認される左目用画像を撮像し、外側右撮像部23Bは、ユーザの右目で視認される右目用画像を撮像する。なお、外側左撮像部23A及び外側右撮像部23Bの間隔は、人間の両目の間隔程度に設定されている。
【0064】
内側撮像部24は、上側ハウジング21の内側面(主面)21Bに設けられており、外部撮像部23とは反対方向を撮像する撮像部である。このため、ユーザが上側LCD22を静止した状態で、内側撮像部24によりユーザの顔を正面から撮像することができる。内側撮像部24は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。レンズは、ズーム機構を有するものでもよい。
【0065】
図1,図2,図3Cに示されるように、上側ハウジング21の内側面及び右側面の端部に3D調整スイッチ25が設けられている。3D調整スイッチ25は、上側LCD22に表示された立体視可能な画像(立体画像)の立体感を調整するために用いられる。この3D調整スイッチ25は、所定方向(例えば、上下方向)へスライド可能なスライダを有している。例えば、3D調整スイッチ25のスライダが最下点位置に配置されている場合、上側LCD22が平面表示モードに設定され、上側LCD22の画面には平面画像が表示される。一方、上記最下点位置より上側にスライダが配置されている場合、上側LCD22は立体表示モードに設定される。この場合、上側LCD22の画面には立体視可能な画像が表示される。ここで、スライダが上記最下点位置より上側に配置されている場合、スライダの位置に応じて、立体画像の見え方が調整される。具体的には、スライダの位置に応じて、右目用画像及び左目用画像における横方向の位置のずれ量が調整される。
【0066】
図1に示されるように、上側ハウジング21の内側面21Bに3Dインジケータ26が設けられている。3Dインジケータ26は、上側LCD22が立体表示モードか否かを示す。例えば、3Dインジケータ26は、LEDであり、上側LCD22の立体表示モードが有効である場合に点灯する。
【0067】
また、上側ハウジング21の内側面21Bには、スピーカ孔21Eが形成されており、後述するスピーカ44(図4参照)からの音声がこのスピーカ孔21Eを介して出力される。
【0068】
[ゲーム装置10の内部構成]
次に、図4を参照しつつ、ゲーム装置10の内部構成について説明する。ここで、図4は、ゲーム装置10の内部構成の一例を示すブロック図である。
【0069】
図4に示されるように、ゲーム装置10は、情報処理部31、メインメモリ32、外部メモリインターフェース(外部メモリI/F)33、データ保存用外部メモリI/F34、データ保存用内部メモリ35、無線通信モジュール36、ローカル通信モジュール37、リアルタイムクロック(RTC)38、加速度センサ39、角速度センサ40、電源回路41、及びインターフェース回路(I/F回路)42等の電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて下側ハウジング11(又は上側ハウジング21)内に収納されている。
【0070】
情報処理部31は、所定のプログラムを実行するためのCPU(Central Processing Unit)311、画像処理を行うGPU(Graphics Processing Unit)312等を含む情報処理手段である。本実施形態では、情報処理プログラムがゲーム装置10内のメモリ(例えば外部メモリI/F33に接続された外部メモリ45やデータ保存用内部メモリ35)に記憶されている。CPU311は、この情報処理プログラムを実行することによって、オブジェクトの表示順を変更するといった情報処理を実行する。なお、CPU311によって実行される情報処理プログラムは、他の機器との通信によって他の機器から取得されてもよい。
【0071】
情報処理部31は、VRAM(Video RAM)313を含む。GPU312は、CPU311からの命令に応じて画像をVRAM313に描画する。そして、GPU312は、VRAM313に描画された画像を上側LCD22及び/又は下側LCD12に出力し、上側LCD22及び/又は下側LCD12に当該画像が表示される。
【0072】
情報処理部31には、メインメモリ32、外部メモリI/F33、データ保存用外部メモリI/F34、及びデータ保存用内部メモリ35が接続される。外部メモリI/F33は、外部メモリ45を着脱自在に接続するためのインターフェースである。データ保存用外部メモリI/F34は、データ保存用外部メモリ46を着脱自在に接続するためのインターフェースである。
【0073】
メインメモリ32は、CPU311のワーク領域やバッファ領域として用いられる揮発性の記憶手段である。すなわち、メインメモリ32は、画像処理やゲーム処理で用いられる各種データを一時的に記憶したり、外部(外部メモリ45や他の機器等)から取得されるプログラムを一時的に記憶したりする。本実施形態では、メインメモリ32として例えばPSRAM(Pseudo−SRAM)が用いられる。
【0074】
外部メモリ45は、情報処理部31によって実行されるプログラムを記憶する不揮発性の記憶手段である。外部メモリ45は、例えば読み取り専用の半導体メモリで構成される。外部メモリ45が外部メモリI/F33に接続されると、情報処理部31は外部メモリ45に記憶されたプログラムを読み込むことができる。情報処理部31が読み込んだプログラムを実行することにより、所定の処理が行われる。
【0075】
データ保存用外部メモリ46は、不揮発性の読み書き可能なメモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用外部メモリ46には、外側撮像部23で撮像された画像や他の機器で撮像された画像が記憶される。データ保存用外部メモリ46がデータ保存用外部メモリI/F34に接続されると、情報処理部31はデータ保存用外部メモリ46に記憶された画像を読み込み、上側LCD22及び/又は下側LCD12に当該画像を表示することができる。
【0076】
データ保存用内部メモリ35は、読み書き可能な不揮発性メモリ(例えばNAND型フラッシュメモリ)で構成され、所定のデータを格納するために用いられる。例えば、データ保存用内部メモリ35には、無線通信モジュール36を介した無線通信によってダウンロードされたデータやプログラムが格納される。
【0077】
無線通信モジュール36は、例えばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。ローカル通信モジュール37は、所定の通信方式(例えば赤外線通信)により同種のゲーム装置との間で無線通信を行う機能を有する。情報処理部31は、無線通信モジュール36を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール37を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
【0078】
加速度センサ39は、3軸(本実施形態では、xyz軸)方向に沿った直線方向の加速度(直線加速度)の大きさを検出する。加速度センサ39は、例えば下側ハウジング11の内部に設けられる。加速度センサ39は、図1に示されるように、下側ハウジング11の長手方向をx軸、下側ハウジング11の短手方向をy軸、下側ハウジング11の内側面(主面)11Bに対して垂直な方向をz軸として、ゲーム装置10の各軸方向へ生じる直線加速度の大きさをそれぞれ検出する。なお、加速度センサ39は、例えば静電容量式の加速度センサとするが、他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ39は1軸または2軸方向を検出する加速度センサであってもよい。情報処理部31は、加速度センサ39が検出した加速度を示すデータ(加速度データ)を受信して、ゲーム装置10の姿勢や動きを算出する。
【0079】
角速度センサ40は、ゲーム装置10の3軸(本実施形態では、xyz軸)周りに生じる角速度をそれぞれ検出し、検出した角速度を示すデータ(角速度データ)を情報処理部31へ出力する。角速度センサ40は、例えば下側ハウジング11の内部に設けられる。情報処理部31は、角速度センサ40から出力された角速度データを受信して、ゲーム装置10の姿勢や動きを算出する。
【0080】
情報処理部31には、RTC38及び電源回路41が接続される。RTC38は、時間をカウントして情報処理部31に出力する。情報処理部31は、RTC38によって計時された時間に基づき現在時刻(日付)を計算する。電源回路41は、ゲーム装置10が有する電源(下側ハウジング11に収納される充電式電池)からの電力を制御し、ゲーム装置10の各部品に電力を供給する。
【0081】
I/F回路42には、マイク43、スピーカ44、及びタッチパネル13が接続される。具体的には、I/F回路42には、図示しないアンプを介してスピーカ44が接続される。マイク43は、ユーザの音声を検知して音声信号をI/F回路42に出力する。アンプは、I/F回路42からの音声信号を増幅し、音声をスピーカ44から出力させる。I/F回路42は、マイク43及びスピーカ44(アンプ)の制御を行う音声制御回路と、タッチパネル13の制御を行うタッチパネル制御回路とを含む。音声制御回路は、音声信号に対するA/D変換及びD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチ位置データを生成して情報処理部31に出力する。タッチ位置データは、タッチパネル13の入力面において入力が行われた位置(タッチ位置)の座標を示すデータである。なお、タッチパネル制御回路は、タッチパネル13からの信号の読み込み、及びタッチ位置データの生成を所定時間に1回の割合で行う。情報処理部31は、タッチ位置データを取得することにより、タッチパネル13に対して入力が行われたタッチ位置を取得することができる。
【0082】
操作ボタン14は、上記各操作ボタン14A〜14Lからなり、情報処理部31に接続される。操作ボタン14から情報処理部31へは、各操作ボタン14A〜14Iに対する入力状況(押下されたか否か)を示す操作データが出力される。情報処理部31は、操作ボタン14から操作データを取得することによって、操作ボタン14に対する入力に応じた処理を実行する。
【0083】
ユーザがタッチパネル13や操作ボタン14を用いた所定の操作を行うことにより、使用する撮像部が選択される。情報処理部31は、この選択結果に応じて、外側撮像部23及び内側撮像部24のいずれか一方に対して撮像を指示する。これに対して、外側撮像部23及び内側撮像部24は、情報処理部31からの指示に従って画像を撮像し、撮像した画像データを情報処理部31に出力する。
【0084】
下側LCD12及び上側LCD22は、情報処理部31(GPU312)の指示に従って画像を表示する。情報処理部31は、例えば、外部撮像部23によって撮像された右目用画像と左目用画像とを用いた立体画像(立体視可能な画像)を上側LCD22に表示させる。また、情報処理部31は、所定のプログラムを起動させるための各種アイコンを含むメニュー画面を下側LCD12に表示させる。このメニュー画面については、後に詳述する。
【0085】
3D調整スイッチ25は、スライダの位置に応じた電気信号を情報処理部31に出力する。これに対して、情報処理部31(CPU311)は、3D調整スイッチ25からの電気信号に基づいて上側LCD22の表示モードを設定する。情報処理部31は、3Dインジケータ26の点灯を制御する。例えば、情報処理部31は、上側LCD22が立体表示モードである場合、3Dインジケータ26を点灯させる。
【0086】
なお、上述したハードウェア構成は単なる一例に過ぎず、ゲーム装置10の構成は適宜変更可能である。
【0087】
[情報処理プログラムに基づく画面表示の概要]
ゲーム装置10では、外部メモリ45からメインメモリ32にロードされた情報処理プログラムが情報処理部31のCPU311によって実行される。これにより、下側LCD12に表示される複数のアイコン51のレイアウトをユーザがタッチパネル13を用いて自由に変更することが可能になる。以下、図5〜図20を参照しつつ、情報処理プログラムに基づくゲーム装置10の動作の概要を説明する。なお、本実施形態では、本発明におけるオブジェクトがアイコン51である場合を例に説明するが、本発明におけるオブジェクトはアイコンに限定されるものではなく、サムネイル画像やボタン等であってもよい。
【0088】
図5は、アイコン51が一行表示されたメニュー画面の一例を示す下側LCD12の画面図である。図6は、アイコン51の表示順を示す図である。
【0089】
図5に示されるメニュー画面には、選択可能な3つのアイコン51(アイコン51a,51b,51c)、吹き出し52、右スライドタブ53、左スライドタブ54、行増加ボタン55(第1ボタンの一例)、及び行減少ボタン56(第2ボタンの一例)が表示されている。
【0090】
アイコン51は、CPU311によって実行されるプログラムに関連付けられた画像である。ユーザは、下側LCD12の画面に表示されるアイコン51a〜51vの中からアイコンを任意に選択することによって、所望のプログラムをCPU311に実行させることができる。タッチパネル13がタッチペン28でタッチされると、そのタッチ位置に位置するアイコン51(図5ではアイコン51b)がハイライト(例えば輪郭強調)される。そして、アイコン51上に位置するタッチペン28がタッチパネル13から離されると、そのアイコン51のハイライトが解除されると共にアイコン51に対応するプログラムが実行される。なお、以下の説明では、タッチパネル13がタッチペン28でタッチされることを「タッチオン」と言い、タッチペン28がタッチパネル13から離されることを「タッチオフ」と言う。また、タッチペン28がタッチオンされた位置を「タッチオン位置」と言い、タッチペン28がタッチオフされる際にタッチペン28が最後にタッチされていたタッチパネル13上の位置を「タッチオフ位置」と言う。
【0091】
本実施形態では、全部で22個のアイコン51(アイコン51a〜51v)の表示順が設定されており、この表示順に従って、これら22個のアイコン51の一部(サブセット)が下側LCD12の画面に表示される。下側LCD12の表示画面には、アイコン表示領域(オブジェクト配置領域)及びアイコン空領域58(オブジェクト非配置領域)が含まれている。
【0092】
アイコン表示領域は、下側LCD12の表示画面全域のうち、アイコン51a〜51vのうちのいずれかのアイコンが配置されている領域である。図5に例示されたメニュー画面では、3つのアイコン表示領域にそれぞれアイコン51a、アイコン51b、及びアイコン51cが配置されている。このように、アイコン表示領域は各アイコン51が配置されている領域であるため、図には表れていない。
【0093】
アイコン空領域58は、アイコン51が配置されていない領域である。図6に示される例では、2つのアイコン空領域58が設定されている。具体的には、アイコン51jの次にアイコン空領域58aが設定されると共に、アイコン51sの次にアイコン空領域58bが設定されている。このため、アイコン51j及びアイコン51kが共に下側LCD12の画面に表示される際には、アイコン51jとアイコン51kとの間にアイコン51が配置されていない空き領域(アイコン空領域58a)が表示されることになる(図8参照)。これは、アイコン空領域58bについても同様である。
【0094】
このように、ゲーム装置10では、22個のアイコン51a〜51vだけでなく、2個のアイコン空領域58を含めた表示順が設定されている。なお、この設定は、ユーザが任意のアイコン51と他のアイコン51とを入れ替えたり、或いは任意のアイコン51をアイコン空領域58に移動させたりすることによって適宜変更される。
【0095】
吹き出し52は、下側LCD12の画面中央に表示されているアイコン(図5に示される例ではアイコン51b)に関する説明文(そのアイコンに対応するプログラムの説明など)をユーザに報知する画像である。また、下側LCD12の画面中央に表示されているアイコン以外のアイコンがタッチペン28でタッチされると、吹き出し52は、タッチされたアイコンに関する説明文を表示する。
【0096】
右スライドタブ53は、下側LCD12の画面の左端に表示され、左スライドタブ54は、下側LCD12の画面の右端に表示されている。右スライドタブ53及び左スライドタブ54は、アイコン空領域58を含むアイコン51a〜51vを、1つのアイコン行列として左右(水平方向)にスクロールさせるためのものである。右スライドタブ53及び左スライドタブ54を用いたアイコン行列のスクロールについては、後に詳述する。
【0097】
図7は、アイコン51が2行表示されたメニュー画面の一例を示す下側LCD12の画面図である。図8は、アイコン51が3行表示されたメニュー画面の一例を示す下側LCD12の画面図である。
【0098】
図5、図7、及び図8に示されるように、下側LCD12の画面内の上部には、行増加ボタン55、及び行減少ボタン56が表示されている。行増加ボタン55は、下側LCD12の画面内に表示されるアイコン51の行数を増加させるためのボタンである。ユーザは、タッチペン28を用いて行増加ボタン55を選択することにより、下側LCD12の画面内に表示されるアイコン51の行数を、例えば6行を上限として増加させることができる。なお、アイコン51が6行表示されると、行増加ボタン55がグレー色で表示されて、それ以上の行増加が禁止される。
【0099】
図5に例示されるメニュー画面が下側LCD12に表示されている状態でタッチペン28により行増加ボタン55が選択された場合、図7に示されるように、画面上でアイコン行列を構成するアイコン51の行数が増加すると共に、各アイコンの表示位置が変更される。具体的には、アイコン51aの右隣に配置されていたアイコン51bがアイコン51aの下に配置され、アイコン51bの右隣に配置されていたアイコン51cがアイコン51aの右隣に配置される。そして、画面の端部で一部が表示されていたアイコン51dが、アイコン51cの下に配置され、更に、画面に表示されていなかったアイコン51e〜51jが画面に表示される。このように、行増加ボタン55が選択された場合、予め設定された表示順に従って、各アイコン51が行方向に並ぶように、1列目から順に、並べて表示される。
【0100】
一方の行減少ボタン56は、下側LCD12の画面内に表示されるアイコン51の行数を減少させるためのボタンである。ユーザは、タッチペン28を用いて行減少ボタン56を選択することにより、下側LCD12の画面内に表示されるアイコン51の行数を、1行を下限として減少させることができる。なお、図5に例示されるようにアイコン51が一行表示されると、行減少ボタン56がグレー色で表示されて、それ以上の行減少が禁止される。
【0101】
次に、図8〜図10を参照しつつ、アイコン51のドラッグ操作によるアイコン行列のスクロールについて説明する。ここで、図9は、下側LCD12の画面に表示される画像の一例を示す図であり、アイコン51hが左方向にドラッグされる様子を示す。図10は、下側LCD12の画面に表示される画像の一例を示す図であり、アイコン51hが左方向にドラッグされた後の状態を示す。
【0102】
図8に示される状態において、ユーザがアイコン行列の中のいずれかのアイコン51をタッチペン28でタッチしたままタッチペン28を左方向にスライド(タッチペン28を画面に接触したまま滑らせる)させた場合には、図8〜図10に示されるように、アイコン行列がタッチペン28のスライド量に応じた距離だけ左方向にスクロールする。逆に、ユーザがアイコン行列の中のいずれかのアイコン51をタッチペンでタッチしたままタッチペン28を右方向にスライドさせた場合には、アイコン行列がタッチペン28のスライド量に応じた距離だけ右方向にスクロールする。このように下側LCD12の画面に表示されているアイコン51(図9に示される例ではアイコン51h)をタッチペン28でタッチしてからタッチペン28を水平方向(本発明の第1方向に相当)にスライドさせることによって、ユーザは、アイコン行列を左右にスクロールさせることができる。なお、アイコン行列の中のアイコン51に配置されていない領域(複数のアイコン51の間の領域)をタッチペン28でタッチしたままタッチペン28を水平方向にスライドさせた場合も同様に、アイコン行列を左右にスクロールさせることができる。
【0103】
続いて、図11〜図13を参照しつつ、ドラッグ操作によるアイコン51の移動について説明する。ここで、図11は、下側LCD12の画面に表示される画像の一例を示す図であり、アイコン51dがアイコン空領域58a上へドラッグされる様子を示す。図12は、下側LCD12の画面に表示される画像の一例を示す図であり、アイコン51dとアイコン空領域58aの表示位置が入れ替わった状態を示す。言い換えれば、アイコン51dがアイコン空領域58aに移動し、移動前のアイコン51dのあった領域がアイコン空領域58aに変化した状態でもある。図13は、アイコン51dとアイコン空領域58aとが入れ替わった後のアイコン51の表示順を示す図である。
【0104】
図8に示される状態でユーザが例えばアイコン51dをタッチペン28でタッチしたままタッチペン28を所望の方向(図11に示される例では右斜め下方向)に移動させた場合、図11に示されるように、アイコン51dがハイライトされた状態でタッチペン28に追従して移動する。すなわち、ドラッグ操作によって元々配置されていたアイコン表示領域から抜き出されたアイコン51dは、タッチペン28が下側LCD12の画面(タッチパネル13)に接触している限り、図8及び図11に示されるように、タッチペン28を任意の方向にスライドさせることによってユーザが自由に移動させることができる。
【0105】
ユーザがアイコン51dをアイコン空領域58a上までドラッグしてからドロップ(タッチペン28をタッチパネル13から離す)すると、アイコン空領域58aがアイコン表示領域に変更されて、そのアイコン表示領域にアイコン51dが配置される。その際、アイコン51dのハイライトが解除される。そして、これに伴い、アイコン51dのドラッグ前にアイコン51dが配置されていたアイコン表示領域が、アイコン空領域58aに変更される(図8、図11、及び図12参照)。その結果、各アイコン51の表示順も変更されることになる。具体的には、図6及び図13に示されるように、アイコン51cの次であったアイコン51dの表示順がアイコン51jの次に変更されると共に、アイコン51jの次であったアイコン空領域58aの表示順がアイコン51cの次に変更される。
【0106】
続いて、図14〜図17を参照しつつ、ドラッグ操作によるアイコン51の入れ替えについて説明する。ここで、図14は、下側LCD12の画面に表示される画像の一例を示す図であり、アイコン51dがアイコン51n上へドラッグされる様子を示す。図15は、下側LCD12の画面に表示される画像の一例を示す図であり、ドラッグされたアイコン51dがアイコン51n上でドロップされる様子を示す。図16は、下側LCD12の画面に表示される画像の一例を示す図であり、アイコン51dとアイコン51nとが入れ替わった状態を示す。図17は、アイコン51dとアイコン51nとが入れ替わった後のアイコン51の表示順を示す図である。
【0107】
図8に示される状態でユーザが例えばアイコン51dをタッチペン28でタッチしたままタッチペン28を所望の方向(図14に示される例では右斜め下方向)に移動させた場合、図14に示されるように、アイコン51dがタッチペン28に追従して移動する。すなわち、ドラッグ操作によって元々配置されていたアイコン表示領域から抜き出されたアイコン51dは、タッチペン28が下側LCD12の画面(タッチパネル13)に接触している間はユーザが自由に移動させることができる。
【0108】
ユーザがアイコン51dをアイコン51n上までドラッグしてからドロップすると、アイコン51dとアイコン51nとが入れ替えられる(図8、図14〜図16参照)。具体的には、アイコン51dが元々配置されていた位置にアイコン51nが配置され、アイコン51nが元々配置されていた位置にアイコン51dが配置される。その結果、図16及び図17に示されるように、アイコン51cの次であったアイコン51dの表示順がアイコン51mの次に変更されると共に、アイコン51mの次であったアイコン51nの表示順がアイコン51cの次に変更される。このように、ユーザは、下側LCD12の画面に表示されるアイコン51の表示順を、タッチパネル13を用いて変更することができる。
【0109】
続いて、図18〜図20を参照しつつ、右スライドタブ53又は左スライドタブ54を用いたアイコン行列のスクロールについて説明する。ここで、図18は、アイコン51bが左スライドタブ54上へドラッグされる様子を示す。図19は、下側LCD12の画面に表示される画像の一例を示す図であり、アイコン51bが左スライドタブ54上へドラッグされた直後の状態を示す。図20は、下側LCD12の画面に表示される画像の一例を示す図であり、アイコン行列のスクロール後にアイコン51bがアイコン51q上へドラッグされる様子を示す。
【0110】
ユーザがタッチペン28を用いて例えばアイコン51bを左スライドタブ54上までドラッグすると、アイコン行列が左方向へのスクロールを開始する。このようにして開始されたアイコン行列の左方向へのスクロールは、ユーザによってドラッグされたアイコン(以下「ドラッグアイコン」とも言う。)が左スライドタブ54上に位置している間は継続され、ドラッグアイコンが左スライドタブ54上を外れた時点で終了される。これは、ドラッグアイコンを右スライドタブ53上までドラッグした場合も同様である。
【0111】
したがって、アイコン行列をスクロールさせて所望の移動先を画面に表示させた後に、ドラッグアイコンをその所望の移動先までドラッグしてからドロップすることによって、ユーザはドラッグアイコンをドラッグ開始時には画面に表示されていなかったアイコンと入れ替えたり、或いは、ドラッグアイコンを、ドラッグ開始時には画面に表示されていなかったアイコン空領域58へ移動させたりすることが可能である。図18〜図20に示される例では、ドラッグアイコン51bを左スライドタブ54上までドラッグしてから、ドラッグアイコン51bをアイコン51qまで更にドラッグする様子が示されている。
【0112】
このような操作により、ユーザは、任意のアイコン51をタッチペン28でタッチしてから、そのアイコン51をアイコン行列の所望の位置へ移動させるまでの間、タッチペン28を下側LCD12の画面から一切離す必要がないので、タッチペン28を画面に接触させて画面上をスライドさせて、画面から離すまでの一連の操作を行うだけで、アイコン51の表示順の変更を簡単に実現することができる。
【0113】
[メモリマップ]
以下、図21を参照しつつ、情報処理の際にメインメモリ32に記憶されるデータについて説明する。ここで、図21は、メインメモリ32のメモリマップである。図21に例示されるように、メインメモリ32は、プログラム記憶領域321及びデータ記憶領域323を有している。プログラム記憶領域321には、CPU311によって実行されるプログラムが記憶される。データ記憶領域323には、情報処理に必要な各種データが記憶される。プログラム記憶領域321内のプログラム、及びデータ記憶領域323内のデータの一部は、外部メモリ45に予め記憶されたデータが、情報処理に際して外部メモリ45から読み出されたものである。
【0114】
プログラム記憶領域321には、情報処理プログラム322等が記憶されている。情報処理プログラム322は、図22〜図24に示されている一連の処理をCPU311に実行させるためのプログラムである。
【0115】
データ記憶領域323には、アイコン画像データ324、ボタン画像データ325、行数データ326、表示順データ327、位置データ328、閾値データ329等が記憶される。
【0116】
アイコン画像データ324は、各アイコン51a〜51vに対応する画像データである。ボタン画像データ325は、行増加ボタン55及び行減少ボタン56に対応する画像データである。
【0117】
行数データ326は、アイコン行列の行数を示すデータである。この行数データ326は、行増加ボタン55又は行減少ボタン56がタッチペン28によって操作されると、その操作に応じて適宜更新される。なお、この行数データ326はゲーム装置10の電源オフ後も保持される。
【0118】
表示順データ327は、各アイコン51a〜51v、及びアイコン空領域58a、58bの表示順と表示位置を示すデータである。各アイコン51a〜51v、及びアイコン空領域58a、58bは、この表示順データ327によって予め設定された表示順で行方向に並ぶように、1列目から順に並べて表示される(図6及び図8参照)。なお、この表示順データ327は、任意のアイコン51がアイコン空領域58に移動されたり、或いは任意のアイコン51と他のアイコン51とが入れ替えられた際に適宜更新される。また、この表示順データ327はゲーム装置10の電源オフ後も保持される。
【0119】
位置データ328は、タッチペン28によるタッチパネル13上の指示位置を示すデータである。情報処理が行われる間、この位置データ328が示す指示位置に基づいて、例えばタッチペン28が任意のアイコン51にタッチされているか否かを判定する処理等が行われる。
【0120】
閾値データ329は、任意のアイコン51上の点を起点として位置データ328が示すタッチペン28の指示位置(タッチ位置)が移動したときに、指示位置が水平方向(第1の方向)に移動したか、或いは指示位置が垂直方向(第2の方向)に移動したかを判別する際に使用される閾値のデータである。
【0121】
なお、図には示されていないが、データ記憶領域323には、情報処理中に用いられる音声データや、仮想ゲーム空間の様子を画面表示するための仮想カメラの制御に関するデータ等が記憶されるが、これらのデータは本発明とは直接関係しないので、ここでの詳細な説明は省略する。
【0122】
次に、図22〜図24のフローチャートを参照しつつ、CPU311によって実行される処理について説明する。なお、以下に説明する一連の処理は、メインメモリ32に記憶されている情報処理プログラム322に基づいてCPU311が発行する命令に従って行われる。また、これらのフローチャートでは、画像の生成及び出力に関する処理を省略しているが、画像の生成及び出力は一定の周期で行われる。
【0123】
情報処理プログラム322の起動時には、起動モードで処理が開始される。まず、オブジェクト表示手段及びボタン表示手段として機能するCPU311は、アイコン51のメニュー画面を初期表示するのに必要な設定情報をメインメモリ32のデータ記憶領域323から読み出す(ステップS1)。具体的には、CPU311は、行数データ326、表示順データ327、アイコン画像データ324、及びボタン画像データ325をデータ記憶領域323から読み出す。そして、CPU311は、アイコン行列のメニュー画面を下側LCD12の画面に表示させる(ステップS2)。具体的には、CPU311は、下側LCD12の画面に表示するアイコン51の行数を行数データ326に基づいて決定し、アイコン51a〜51vのうちのサブセットとして画面内に表示すべきアイコン51とそれらの表示位置を表示順データ327に基づいて決定する。そして、CPU311は、アイコン画像データ324を用いて、行数データ326及び表示順データ327に基づいて決定した並びでアイコン51を下側LCD12の画面に行列表示させる。これに伴い、CPU311は、ボタン画像データ325を用いて、行減少ボタン56及び行増加ボタン55をアイコン行列の上方に表示させる。
【0124】
このように、CPU311は、複数のアイコン51のうちのサブセットを構成するアイコン51を、予め設定された表示順で並ぶように下側LCD12の画面に行列表示させると共に、行減少ボタン56及び行増加ボタン55を下側LCD12の画面内に表示する。なお、行数データ326が示す行数が「1」である場合には、図5に例示されるように、アイコン51が一行表示される。また、アイコン空領域58の表示順が上位である場合には、下側LCD12の画面には、各アイコン51が配置されるアイコン表示領域に加えて、アイコン51が配置されていないアイコン空領域58が表示される(例えば図8参照)。また、行数データ326が示すアイコン行列の行数が最小である場合(本実施形態では「1」である場合)、それ以上行数を減らすことができないので、行減少ボタン56がグレー色で表示される。逆に、行数データ326が示すアイコン行列の行数が最大である場合(本実施形態では「6」である場合)、それ以上行数を増やすことができないので、行増加ボタン55がグレー色で表示される。
【0125】
アイコン51のメニュー画面を下側LCD12に表示させた後、CPU311は、I/F回路42からのタッチ位置データに基づいて、タッチパネル13がタッチペン28によりタッチオンされたか否かを判定する(ステップS3)。タッチオンされていないとCPU311によって判定された場合(ステップS3:NO)、処理がステップS3に戻される。
【0126】
タッチパネル13がタッチペン28によってタッチオンされたと判定した場合(ステップS3:YES)、CPU311は、タッチ位置データに基づいて、タッチパネル13上においてタッチペン28によってタッチされているタッチ位置を検出する(ステップS4)。本実施形態では、下側LCD12の画面の水平方向をX軸方向とし、垂直方向をY軸方向とした2次元座標(X,Y)によってタッチ位置が表される。ステップS4で検出されたタッチ位置は、タッチオン位置(タッチパネル13にタッチペン28が触れていない状態から触れた状態に変化した直後に検出されるタッチ位置)としてデータ記憶領域323に記憶される。ここで記憶されるデータが、位置データ328である。このように、CPU311は、タッチパネル13に対してタッチペン28によって指示された下側LCD12の画面上の位置を指示位置として検出し、その検出結果を位置データ328として一時的に保存する。
【0127】
タッチ位置を検出すると、CPU311は、位置データ328が示すタッチ位置がいずれかのアイコン51上であるか否かを判定する(ステップS5)。このステップS5の判定処理には、位置データ328や表示順データ327等が使用される。
【0128】
CPU311は、タッチ位置がアイコン51上ではないと判定した場合(ステップS5:NO)、タッチ位置が表示変更ボタン上であるか否かを判定する(ステップS6)。具体的には、ステップS4の処理の結果データ記憶領域323に格納された位置データ328が示すタッチ位置(ここではタッチオン位置)が行増加ボタン55又は行減少ボタン56上であるか否かを判定する。ここで、タッチ位置が表示変更ボタン上ではないとCPU311によって判定された場合(ステップS6:NO)、処理がステップS4に戻されて、改めてタッチ位置が検出される。逆に、タッチ位置が表示変更ボタン上であるとCPU311によって判定された場合(ステップS6:YES)、処理が表示変更モードへと移行する。なお、ここでは、ステップS6でNOの場合、ステップS4に戻るようにしたが、タッチ位置に応じて他の処理を行ってもよい。例えば、タッチ位置がアイコン行列の間(アイコンとアイコンの間)の領域である場合は、ドラッグ操作に応じてスクロール処理が行われる。また、タッチ位置が表示変更ボタン以外のボタン上である場合は、当該ボタンに応じた機能が実行される。
【0129】
タッチ位置が表示変更ボタン上であると判定した場合(ステップS6:YES)、CPU311は、図23に示されるように、I/F回路42からのタッチ位置データに基づいて、タッチパネル13からタッチペン28がタッチオフされたか否かを判定する(ステップS11)。タッチオフされていないとCPU311によって判定された場合(ステップS11:NO)、処理がステップS6へ戻される。
【0130】
タッチパネル13からタッチペン28がタッチオフされたと判定した場合(ステップS11:YES)、CPU311は、タッチパネル13によって最後に検出されたタッチ位置を示すI/F回路42からのタッチ位置データに基づいて、行増加ボタン55上でタッチペン28がタッチオフされたか否かを判定する(ステップS12)。
【0131】
CPU311は、行増加ボタン55上でタッチペン28がタッチオフされたと判定した場合(ステップS12:YES)、現在のアイコン行列の行数が最大であるか否かを判定する(ステップS13)。具体的には、CPU311は、行数データ326が示すアイコン51の行数が、予め設定された最大値の「6」であるか否かを判定する。ここで、現在のアイコン行列の行数が最大であるとCPU311によって判定された場合(ステップS13:YES)、それ以上行数を増やすことはできないので、行増加ボタン55上でタッチペン28がタッチオフされたとしても行増加ボタン55の操作が受け付けられることなく、処理が上記ステップS3へ戻される。
【0132】
一方、CPU311は、タッチオフ位置が行増加ボタン55上ではなかったと判定した場合(ステップS12:NO)、すなわち、行減少ボタン56上でタッチペン28がタッチオフされた場合、現在のアイコン行列の行数が最小であるか否かを判定する(ステップS15)。具体的には、CPU311は、行数データ326が示すアイコン51の行数が、予め設定された最小値の「1」であるか否かを判定する。ここで、現在のアイコン行列の行数が最小であるとCPU311によって判定された場合(ステップS15:YES)、行減少ボタン56上でタッチペン28がタッチオフされたとしても行減少ボタン56の操作が受け付けられることなく、処理がステップS3へ戻される。
【0133】
CPU311は、現在のアイコン行列の行数が最大ではない(本実施形態では「5」以下である)と判定した場合(ステップS13:NO)、下側LCD12の表示モードを、行数を1増加した表示モードに変更する(ステップS14)
【0134】
一方、CPU311は、現在のアイコン行列の行数が最小ではない(本実施形態では「2」以上である)と判定した場合(ステップS15:NO)、下側LCD12の表示モードを、行数を1減少した表示モードに変更する(ステップS16)。
【0135】
そして、行列数変更手段及びオブジェクト表示変更手段として機能するCPU311は、ステップS14又はステップS16の処理によって変更された表示モードに応じて、図5〜図8に基づいて上述したように、各アイコン51の表示位置を変更する(ステップS17)。
【0136】
このように、CPU311は、タッチパネル13を用いて検出したタッチペン28の指示位置が行増加ボタン55上であった場合には行数を増加させ、指示位置が行減少ボタン56上であった場合には行数を減少させる。そして、CPU311は、増減させた行数に応じて、下側LCD12の画面内に表示される各アイコン51の表示位置を変更する。
【0137】
そして、表示変更モードの最後に、行列数変更手段として機能するCPU311は、ステップS14又はステップS16の処理の結果に応じて、データ記憶領域323内の行数データ326を更新する(ステップS18)。このように、CPU311は、変更後の行数を行数データ326としてメインメモリ32に記憶させる。これにより、次にステップS1,S2の処理が行われて情報処理プログラムが起動されるときには、行数データ326として記憶されている行数でアイコン行列が下側LCD12の画面内に行列表示されることになる。
【0138】
ステップS18の処理が行われた場合、現在の行数が最大であるとCPU311によって判定された場合(ステップS13:YES)、又は現在の行数が最小であるとCPU311によって判定された場合(ステップS15:YES)、処理が表示変更モードから起動モードへと移行する。
【0139】
上記ステップS5において、CPU311は、タッチ位置(ここではタッチオン位置)がアイコン51上であると判定した場合(ステップS5:YES)、例えば図5に例示されるように、タッチされたアイコン51をハイライトする(ステップS21)。
【0140】
タッチされたアイコン51をハイライトした後、CPU311は、ステップS4の処理と同様に、I/F回路42からのタッチ位置データに基づいて、タッチペン28によるタッチパネル13上のタッチ位置を検出する(ステップS22)。
【0141】
タッチ位置を検出すると、処理方法選択手段として機能するCPU311は、タッチ位置のX軸方向(水平方向)の変位が予め設定された閾値を超えたか否かを判定する(ステップS23)。具体的には、CPU311は、ステップS22の処理で検出したタッチ位置のX座標値と、ステップS4の処理で検出したタッチ位置のX座標値との差分の絶対値で示されるX軸方向の変位が、閾値データ329が示すX軸方向用の閾値を超えたか否かを判定する。
【0142】
CPU311は、タッチ位置のX軸方向の変位が予め設定された閾値を超えたと判定した場合(ステップS23:YES)、ユーザによってアイコン行列の水平方向へのスクロールが指示されたと判断して、以下の処理を実行する。すなわち、CPU311は、ステップS22の処理と同様に、タッチペン28によるタッチパネル13上のタッチ位置を検出する(ステップS24)。
【0143】
ステップS24の処理に続いて、処理方法選択手段として機能するCPU311は、タッチ位置のY軸方向(垂直方向)の変位が予め設定された閾値を超えたか否かを判定する(ステップS25)。具体的には、CPU311は、ステップS22の処理で検出したタッチ位置のY座標値と、ステップS4の処理で検出したタッチ位置のY座標値との差分の絶対値で示されるY軸方向の変位が、閾値データ329が示すY軸方向用の閾値を超えたか否かを判定する。ここで、ユーザが任意のアイコン51を他のアイコン51と入れ替えようとした場合等には、Y軸方向の変位が予め設定された閾値を超えることになる。したがって、Y軸方向の変位が予め設定された閾値を超えるとCPU311によって判定された場合(ステップS25:YES)、処理が後述するドラッグモードへ移行する。このため、ユーザは、任意のアイコン51を水平方向にドラッグしてアイコン行列を水平方向にスクロールさせる途中であっても、その任意のアイコン51を垂直方向にドラッグすることによって、そのアイコン51を他のアイコン51と入れ替えたりすることができる。なお、ステップS25の処理はなくてもよい。その場合、ステップS23でYESと判断(スクロールを指示)されたら、ドラッグモードへ移行することはない。
【0144】
一方、Y軸方向の変位が予め設定された閾値を超えていないと判定した場合(ステップS25:YES)、CPU311は、アイコン行列を水平方向にスクロール表示させる(ステップS26)。具体的には、CPU311は、ステップS4の処理で取得されたタッチオン位置のX座標値とステップS24の処理で取得されたタッチ位置のX座標値との大小関係に基づいてスクロール方向を決定し、これら2つのX座標値の差分の絶対値に応じてスクロール幅(下側LCD12の画面上におけるアイコン行列の水平方向への移動量)を決定する。そして、CPU311は、決定したスクロール方向及びスクロール幅にて、図8〜図10に基づいて上述したように、アイコン行列を下側LCD12の画面上でスクロール表示させる。
【0145】
このように、ユーザによるドラッグ操作によって任意のアイコン51上の点を起点として指示位置が移動したときに、CPU311は、指示位置が水平方向(第1の方向)へ移動した場合には第1の処理方法を選択して、指示位置の移動に応じてアイコン行列をスクロール表示させる。
【0146】
ステップS26の処理に続いて、CPU311は、I/F回路42からのタッチ位置データの有無に基づいて、タッチパネル13からタッチペン28がタッチオフされたか否かを判定する(ステップS27)。ここで、タッチペン28がタッチオフされていないとCPU311によって判定された場合(ステップS27:NO)、処理がステップS24へ戻される。その結果、上記ステップS25においてY軸方向の変位が予め設定された閾値を超えるとCPU311によって判定されなければ、ステップS26におけるアイコン行列のスクロール表示が継続される。一方、タッチペン28がタッチオフされたとCPU311によって判定された場合(ステップS27:YES)、処理がステップS3へ戻される。
【0147】
上記ステップS23においてX軸方向の変位が予め設定された閾値を超えていないと判定した場合(ステップS23:NO)、処理方法選択手段として機能するCPU311は、上記ステップS25の処理と同様に、タッチ位置のY軸方向(垂直方向)の変位が予め設定された閾値を超えたか否かを判定する(ステップS30)。ここで、Y軸方向の変位が予め設定された閾値を超えたとCPU311によって判定された場合(ステップS30:YES)、処理が後述するドラッグモードへ移行する。
【0148】
一方、CPU311は、Y軸方向の変位が予め設定された閾値を超えていないと判定した場合(ステップS30:NO)、ステップS27の処理と同様に、タッチペン28がタッチパネル13からタッチオフされたか否かを判定する(ステップS31)。タッチペン28がタッチオフされていないとCPU311によって判定された場合(ステップS31:NO)、処理がステップS22へ戻される。
【0149】
CPU311は、タッチペン28がタッチパネル13からタッチオフされたと判定した場合(ステップS31:YES)、タッチペン28によってタッチされているアイコン51に対するハイライトを解除し(ステップS32)、そのアイコン51に関連付けられているプログラムを起動させる。
【0150】
処理方法選択手段として機能するCPU311は、ステップS25又はステップS30の処理でY軸方向の変位が予め設定された閾値を超えたと判定した場合(ステップS25:YES、又はステップS30:YES)、すなわち、指示位置が垂直方向(第2の方向)へ移動した場合、第2の処理方法を選択して、以下に説明するドラッグモードの処理を実行する。すなわち、CPU311は、図24に示されるように、タッチペン28がタッチパネル13からタッチオフされたか否かを判定する(ステップS41)。
【0151】
CPU311は、タッチペン28がタッチオフされていないと判定した場合(ステップS41:NO)、I/F回路42からのタッチ位置データに基づいて、タッチペン28によるタッチパネル13上のタッチ位置を検出する(ステップS42)。そして、CPU311は、ステップS42の処理で検出したタッチ位置に応じた位置へドラッグアイコンを移動させる(ステップS43)。このように、オブジェクト移動手段として機能するCPU311は、第2の処理方法を選択したときには、任意のアイコン51だけをタッチペン28による指示位置に応じて画面上を移動させる。
【0152】
ステップS43の処理に続いて、CPU311は、タッチペン28によるタッチ位置が左右端領域内に位置しているか否かを判定する(ステップS44)。具体的には、CPU311は、ステップS42の処理で検出したタッチ位置と、右スライドタブ53及び左スライドタブ54の位置座標とを比較して、タッチ位置が右スライドタブ53上又は左スライドタブ54上に位置しているか否かを判定する。なお、右スライドタブ53上又は左スライドタブ54上か否かにかかわらず、単純にタッチ位置が左右端領域内に位置しているか否かを判定してもよい。ここで、タッチ位置が左右端領域内に位置していないとCPU311によって判定された場合(ステップS44:NO)、処理がステップS41へ戻される。逆に、CPU311は、タッチ位置が左右端領域内に位置していると判定した場合(ステップS44:YES)、図19〜図20に基づいて上述したように、アイコン行列をスクロール表示させる(ステップS45)。ここで、タッチ位置が右スライドタブ53上に位置している場合には、CPU311はアイコン行列を右方向にスクロール表示させ、タッチ位置が左スライドタブ54上に位置している場合には、CPU311はアイコン行列を左方向にスクロール表示させる。このステップS45の処理が行われると、処理がステップS41に戻されて、タッチ位置が左右端領域から外れるまで、或いは、タッチペン28がタッチオフされるまでステップS45のアイコン行列のスクロール表示が継続される。
【0153】
CPU311は、タッチペン28がタッチオフされたと判定した場合(ステップS41:YES)、タッチオフされるまでドラッグされていたドラッグアイコンに対するハイライトを解除する(ステップS47)。そして、判別手段として機能するCPU311は、ステップS42の処理によって最後に検出された指示位置(タッチオフ位置)に基づいて、ドラッグアイコン51が他のアイコン51上でタッチオフされたか否かを判定する(ステップS48)。
【0154】
ところで、各アイコン51は、アイコン表示領域上に配置されている。このため、上記ステップS48では、タッチペン28がタッチオフされた際に最後に検出された指示位置に応じて、アイコン表示領域及びアイコン空領域58のいずれか指定されたかが判別されることになる。
【0155】
オブジェクト入替手段として機能するCPU311は、ドラッグアイコンのドラッグ中にタッチペン28が他のアイコン51上でタッチオフされたと判定した場合(ステップS48:YES)、図14〜図17に基づいて上述したように、ドラッグアイコン51(例えばアイコン51d)と他のアイコン51(例えばアイコン51n)の配置を入れ替える(ステップS49)。
【0156】
このように、入替処理手段として機能するCPU311は、任意のアイコン51の移動中に指示位置が検出されなくなったときに、最後に検出された指示位置(最後のステップS42の処理で検出されたタッチ位置)がアイコン表示領域内である場合はそのアイコン表示領域が指定されたと判別して、任意のアイコン51とそのアイコン表示領域内に配置されている他のアイコン51とを入れ替える。
【0157】
一方、CPU311は、タッチペン28のタッチオフ位置が他のアイコン51上ではないと判定した場合(ステップS48:NO)、タッチペン28がアイコン空領域58上でタッチオフされたか否かを判定する(ステップS50)。この判定処理は、ステップS42の処理によって最後に検出されたタッチ位置と、表示順データ327が示すアイコン空領域58(58a又は58b)の位置座標とを比較することによって行われる。
【0158】
CPU311は、タッチペン28がアイコン空領域58上でタッチオフされたと判定した場合(ステップS50:YES)、図11〜図13に基づいて上述したように、例えばアイコン空領域58aをアイコン表示領域に変更してそこにドラッグアイコン51dを配置し(ステップS51)、ドラッグアイコン51dが元々配置されていたアイコン表示領域をアイコン空領域58aに設定する(ステップS52)。
【0159】
このように、入替処理手段として機能するCPU311は、任意のアイコン51の移動中に指示位置が検出されなくなったときに、最後に検出された指示位置(最後のステップS42の処理で検出されたタッチ位置)がアイコン空領域58内である場合はそのアイコン空領域58が指定されたと判別して、任意のアイコン51をアイコン空領域58に配置すると共に、任意のアイコン51が移動前に配置されていたアイコン表示領域をアイコン空領域58に変更する。
【0160】
また、CPU311は、タッチペン28のタッチオフ位置がアイコン空領域58上でもないと判定した場合(ステップS50:NO)、すなわち、ドラッグアイコン以外のアイコン51とアイコン空領域58との間でタッチペン28がタッチオフされた場合、タッチオフ位置に最も近い他のアイコン51又はアイコン空領域58を特定する(ステップS53)。具体的には、タッチオフ位置と、他のアイコン51の2次元座標と、アイコン空領域58の2次元座標とを比較して、タッチオフ位置により近いのが、他のアイコン51であるか或いはアイコン空領域58であるかを特定する。
【0161】
このように、CPU311は、最後に検出された指示位置がアイコン表示領域内でもアイコン空領域58内でもない場合は、アイコン表示領域及びアイコン空領域58のうち最後に検出された指示位置(タッチオフ位置)により近い領域が指定されたと判別する。
【0162】
ステップS53の処理に続いて、CPU311は、ステップS53の処理の結果として特定されたのが他のアイコン51(アイコン表示領域)であるか否かを判定する(ステップS54)。ここで、特定されたのが他のアイコン51であるとCPU311によって判定された場合(ステップS54:YES)、処理がステップS49へ進められる。逆に、特定されたのがアイコン空領域58であるとCPU311によって判定された場合(ステップS54:NO)、処理がステップS51へ進められる。
【0163】
ところで、ステップS49の処理が行われた場合、任意のアイコン51と他のアイコン51の表示順が変更されることになる。また、ステップS51,S52の処理が行われた場合には、任意のアイコン51とアイコン空領域58の表示順が変更されることになる。このような表示順の変更は、情報処理プログラム322の終了後も保持されて、情報処理プログラム322が改めて起動されたときにも反映されることが好ましい。
【0164】
このため、表示順記憶手段として機能するCPU311は、ステップS49の処理を行った場合、又はステップS51,S52の処理を行った場合、データ記憶領域323に記憶されている表示順データ327を更新する(ステップS55)。例えばアイコン51dとアイコン51nとの入れ替えが行われた場合(図14〜図16参照)、図6及び図17に例示されるように、アイコン51dとアイコン51nの表示順を入れ替える。また、例えばアイコン51dとアイコン空領域58aとの入れ替えが行われた場合(図11及び図12参照)、図6及び図13に例示されるように、アイコン51dとアイコン空領域58aの表示順を入れ替える。
【0165】
このように、オブジェクトの入れ替えが行われた場合、表示順データ327が更新されて、入れ替え後の表示順が記憶されることになる。そして、情報処理プログラム322が改めて起動される時には、データ記憶領域323に記憶されている表示順データ327が示す表示順で、サブセットを構成する各アイコン51が画面内に行列表示されることになる。
【0166】
以上説明したように、本実施形態によれば、ユーザが複数のアイコン51のスクロールとアイコン51の入れ替えとを簡単に選択することができる。また、第2の処理方法が選択された場合には任意のアイコン51と他のアイコン51とが入れ替えられるので、ユーザは、各アイコン51の位置関係を大きく崩すことなく、任意のアイコン51を所望の位置に配置することができる。
【0167】
[起動モードの変形例]
以下、図25を参照しつつ、上記実施形態で説明した起動モードの変形例について説明する。ここで、図25は、起動モード時にCPU311によって実行される処理の変形例を示すフローチャートである。なお、図25において図22に基づいて上述した処理と共通する処理については同一ステップ番号を付してその説明を省略し、異なる点について主に説明する。
【0168】
図25に示されるように、タッチパネル13がタッチペン28によってタッチオンされたと判定した場合(ステップS3:YES)、CPU311は、タッチオンからの経過時間の計測を開始する(ステップS61)。言い換えれば、タッチパネル13によってタッチ位置が最初に検出されてからの経過時間の計測を開始する。このステップS61の処理が行われた後、処理が上述したステップS4へと進められる。
【0169】
CPU311は、上述したステップS22の処理でタッチ位置を検出した後、タッチパネル13がタッチペン28によってタッチオンされてから所定時間が経過したか否かを判定する(ステップS62)。具体的には、CPU311は、ステップS61の処理で計測を開始した経過時間が、メインメモリ32に予め格納されている所定時間以上になったか否かを判定する。
【0170】
ここで、所定時間が経過していないとCPU311によって判定された場合(ステップS62:NO)、処理が上述したステップS23へと進められる。そして、タッチ位置のX軸方向の変位が閾値を超えればアイコン行列がスクロール表示され、Y軸方向の変位が閾値を超えれば処理がドラッグモードへと移行する。これに対して、タッチ位置のX軸方向の変位とY軸方向の変位がいずれも閾値を超えることなく所定時間が経過したとCPU311によって判定された場合(ステップS62:YES)、処理がドラッグモードへと移行する。そして、ドラッグモードへ移行すると、タッチオフ位置に応じて、アイコンの入れ替えが行われる。
【0171】
このように、タッチ位置がタッチパネル13によって最初に検出されてから所定時間を経過する前にタッチ位置がX軸方向へ閾値を超えて移動した場合、CPU311は、第1の処理方法を選択して、タッチ位置の移動に応じてアイコン行列をスクロール表示させる。一方、タッチ位置がタッチパネル13によって最初に検出されてから所定時間を経過した後にタッチ位置が移動した場合、CPU311は、第2の処理方法を選択して、タッチオフ位置に応じてアイコンの入れ替えを行う。
【0172】
したがって、この起動モードの変形例によれば、ユーザがタッチペン28を用いてタッチ位置を移動させるまでの時間を変化させるだけで、アイコン行列のスクロール表示とアイコンの入れ替えとを簡単に選択することができる。すなわち、タッチオンから所定時間が経過する前に、タッチ位置のX軸方向の変位が閾値を超えないようにタッチペン28を保持するか否かによって、アイコン行列のスクロールとアイコンの入れ替えとを簡単に選択することができる。
【0173】
また、タッチ位置が閾値を超えて移動することなくタッチオンから所定時間が経過した場合と、タッチオンから所定時間を経過する前にタッチ位置のY軸方向の変位が閾値を超えた場合は、いずれの場合もドラッグモードに移行してアイコンの入れ替えが行われる。このため、ユーザは、タッチオンから所定時間が経過する前にタッチ位置がY軸方向へ閾値を超えて変位するようなドラッグ操作と、タッチオンから所定時間が経過してからタッチ位置を移動させるドラッグ操作の2通りの操作でアイコンの入れ替えを選択することができる。なお、タッチ位置のY軸方向の変位が閾値を超える移動をした場合には何もせず(ドラッグモードに移行せず)、タッチ位置が閾値を超えて移動することなくタッチオンから所定時間が経過した場合にのみドラッグモードに移行するようにしてもよい。
【0174】
ところで、上記実施形態及びこの変形例における起動モードでは、タッチ位置がY軸方向に閾値を超える移動をするとドラッグモードに移行してアイコンの入れ替えが行われるので、アイコン行列をY軸方向へスクロール表示させることはできない。そこで、タッチ位置のX軸方向の変位とY軸方向の変位がいずれも閾値を超えることなくタッチオンから所定時間が経過した場合には処理をドラッグモードへ移行させ、所定時間が経過する前にタッチ位置のX軸方向の変位又はY軸方向の変位が閾値を超えた場合には、処理をドラッグモードには移行させずにタッチ位置が変位した方向へアイコン行列をスクロール表示させる構成を採用してもよい。これにより、所定時間が経過する前にタッチ位置がX軸方向へ移動した場合にはアイコン行列をX軸方向へスクロール表示させ、所定時間が経過する前にタッチ位置がY軸方向へ移動した場合にはアイコン行列をY軸方向へスクロール表示させるというように、アイコン行列を複数の方向へスクロール表示させることが可能になる。
【0175】
[その他の変形例]
なお、本発明は上記実施形態に限定されるものではなく、以下の形態であってもよい。
すなわち、上記実施形態では、ドラッグモード時に、タッチ位置が左右端領域内であればアイコン行列をスクロール表示させる場合について説明した。これに代えて、ステップS44,S45の処理を省略して、アイコン行列のスクロール表示を行わないようにしてもよい。
【0176】
また、上記実施形態では、ドラッグモード時に、ステップS50においてタッチペン28のタッチオフ位置がアイコン空領域58上でもないと判定した場合に、タッチオフ位置からの距離に基づいて他のアイコン51又はアイコン空領域58を特定して、アイコン51の入れ替えを行う場合について説明した。これに代えて、ステップS50においてタッチペン28のタッチオフ位置がアイコン空領域58上でもないと判定した場合には、ドラッグアイコンをドラッグ前の元の位置に戻すようにしてもよい。
【0177】
また、下側LCD12の画面に表示されているアイコン51の行数及び列数が共に2以上であるか否かを判定し、行数及び列数が共に2以上であると判定した場合に、最後に検出された指示位置(タッチオフ位置)が他のアイコン51上であるか否かに拘わらず、任意のアイコン51と他のアイコン51との入れ替えるようにしてもよい。これは、アイコン51を行列表示した場合には、アイコン51の挿入等の入れ替え以外の処理が好ましくないからである。
【0178】
また、下側LCD12の画面に表示されているアイコン51の行数及び列数が共に2以上であるか否かを判定し、行数及び列数が一方でも2以上ではないと判定した場合(アイコン51が一行表示或いは一列表示される場合)に、ユーザがアイコン51の入れ替えと挿入とを選択できるようにしてもよい。具体的には、最後に検出された指示位置が他のアイコン51上であるか、又は他の2つのアイコン51の間であるかを判別し、他のアイコン51上であると判別した場合にはドラッグアイコンと他のアイコン51とを入れ替え、他の2つのアイコン51の間であると判別した場合には、その2つのアイコン51の間にドラッグアイコンを挿入するようにしてもよい。これは、アイコン51が一行表示或いは一列表示される場合には、ドラッグアイコンを他の2つのアイコン51間に挿入する処理を行っても、各アイコン51の表示位置が大きく崩れることがないので、ユーザがアイコン51の入れ替えと挿入とを簡単に選択できるようにすることが好ましいからである。
【0179】
また、上記実施形態では、1個のドラッグアイコンのみを他のアイコン51と入れ替える場合について説明した。これに代えて、任意のアイコン51を含む2以上のアイコン51を選択して、これら複数のアイコン51をまとめて指示位置に応じて移動させると共に、指示位置が検出されなくなったときに、最後に検出された指示位置に応じて、他の2以上のアイコン51と入れ替えるようにしてもよい。なお、2以上のアイコン51を選択する方法としては、例えば、水平方向及び垂直方向にユーザが自由に拡大/縮小可能な選択枠を下側LCD12の画面に表示し、選択枠によって指示されたアイコン51を選択アイコンとして選択する方法が挙げられる。また、別の選択方法としては、ユーザがまとめて移動させたいアイコン51をタッチペン28で囲むような操作を行った場合に、そのタッチペン28の移動軌跡の内側に含まれているアイコン51を選択アイコンとして選択する方法が挙げられる。
【0180】
また、上記実施形態では、座標入力手段としてタッチパネル13を利用する場合を例に説明したが、座標入力手段はタッチパネル13に限定されるものではなく、例えばマウスやジョイスティックやタッチパッド等であってもよい。
【0181】
また、上記実施形態では、本発明のオブジェクトがアイコンである場合を例に説明したが、本発明のオブジェクトは、画像、文字、記号、サムネイル画像等であってもよい。
【0182】
また、上記実施形態では、アイコン行列が水平方向にスクロール表示される場合を例に説明したが、アイコン行列は、垂直方向にスクロール表示されてもよい。
【0183】
また、上記実施形態では、オブジェクト非配置領域としてのアイコン空領域58が設けられている場合を例に説明したが、必ずしもオブジェクト非配置領域が設けられている必要はない。
【0184】
また、上記実施形態では、行増加ボタン55が行数を増加させる第1ボタンとして機能すると共に行減少ボタン56が行数を減少させる第2ボタンとして機能する場合を例に説明した。これに代えて、列数を増加させる第1ボタン、及び列数を減少させる第2ボタンを画面内に表示するようにしてもよい。すなわち、ユーザがアイコン行列の列数を変更できるようにしても構わない。また、ユーザがアイコン行列の行数及び列数を変更できるようにしてもよい。
【0185】
また、上記実施形態では、アイコン行列の行数が可変である場合を例に説明したが、アイコン行列の行数が固定されていても構わない。
【0186】
また、図22のステップS23,S25,S30の処理で用いる閾値は、適切な値を個別に設定すればよい。
【0187】
また、上記実施形態では、ゲーム装置10にタッチパネル13が一体的に設けられている場合を例に説明したが、ゲーム装置10とタッチパネルとを別体に構成しても、本発明を実現できることは言うまでもない。また、上側LCD22の上面にタッチパネル13を設けて上側LCD22に上述した下側LCD12に表示していた表示画像を表示してもよい。
【0188】
また、上記実施例では、携帯型のゲーム装置10を用いて説明したが、一般的なパーソナルコンピュータ等の情報処理装置で本発明の情報処理プログラムを実行して、本発明を実現しても構わない。また、他の実施形態では、ゲーム装置に限らず任意の携帯型電子機器、例えば、PDA(Personal Digital Assistant)や携帯電話、パーソナルコンピュータ等であってもよい。
【0189】
また、上述した説明では全ての情報処理をゲーム装置10で行う場合を例に説明したが、情報処理の各処理ステップの少なくとも一部を他の装置で行っても構わない。例えば、ゲーム装置10が他の装置(例えば、サーバや他のゲーム装置)と通信可能に接続されている場合、上記情報処理における処理ステップは、ゲーム装置10及び他の装置が協働することによって実行されてもよい。また、上記実施形態においては、ゲーム装置10の情報処理部31が所定のプログラムを実行することによって、上述したフローチャートによる処理が行われたが、ゲーム装置10が備える専用回路によって上記処理の一部又は全部が行われてもよい。
【0190】
また、上述したゲーム装置10の形状や、それに設けられている各種操作ボタン14、アナログスティック15、タッチパネル13の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる値等は、単なる一例に過ぎず他の順序や値であっても、本発明を実現できることは言うまで
もない。
【0191】
また、上記情報処理プログラムは、外部メモリ45やデータ保存用外部メモリ46等の外部記憶媒体を通じてゲーム装置10に供給されるだけでなく、有線又は無線の通信回線を通じてゲーム装置10に供給されてもよい。また、上記プログラムは、ゲーム装置10内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD−ROM、DVD、或いはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ等であってもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを一時的に記憶する揮発性メモリでもよい。
【0192】
以上、本発明を詳細に説明してきたが、上述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。
【産業上の利用可能性】
【0193】
本発明は、ユーザが座標入力手段を用いて行った操作に応じた情報処理を行う情報処理装置に実行させる情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法等に適用可能である。
【符号の説明】
【0194】
10 ゲーム装置
12 下側LCD
13 タッチパネル
28 タッチペン
31 情報処理部
32 メインメモリ
42 I/F回路
45 外部メモリ
51 アイコン
53 右スライドタブ
54 左スライドタブ
55 行増加ボタン
56 行減少ボタン
311 CPU
322 情報処理プログラム
326 行数データ
327 表示順データ
328 位置データ
329 閾値データ

【特許請求の範囲】
【請求項1】
画面に表示される複数のオブジェクトの表示順を座標入力手段を用いてユーザが変更することを可能にする情報処理装置のコンピュータを、
前記複数のオブジェクトのうちのサブセットを構成するオブジェクトを、予め設定された表示順で並ぶように前記画面内に行列表示するオブジェクト表示手段と、
前記座標入力手段によって指示された前記画面上の位置を指示位置として検出する指示位置検出手段と、
前記画面内に表示されている前記サブセットのうちの任意のオブジェクト上の点を起点として前記指示位置が移動したときに、予め定められた判定基準に従って、第1の処理方法又は第2の処理方法を選択する処理方法選択手段と、
前記処理方法選択手段によって前記第1の処理方法が選択されたときに、前記複数のオブジェクトを前記指示位置の移動に応じてスクロール表示させるスクロール手段と、
前記処理方法選択手段によって前記第2の処理方法が選択されたときに、前記任意のオブジェクトだけを前記指示位置に応じて移動させるオブジェクト移動手段と、
前記オブジェクト移動手段による前記任意のオブジェクトの移動中に前記指示位置が検出されなくなったときに、最後に検出された指示位置に応じて、前記任意のオブジェクトと他のオブジェクトとを入れ替えるオブジェクト入替手段として機能させる、情報処理プログラム。
【請求項2】
前記オブジェクト表示手段は、前記サブセットを構成するオブジェクトが配置されたオブジェクト配置領域と、オブジェクトが配置されていないオブジェクト非配置領域とを前記画面内に表示し、
前記オブジェクト入替手段は、
前記最後に検出された指示位置に応じて、前記オブジェクト配置領域及び前記オブジェクト非配置領域のいずれが指定されたかを判別する判別手段と、
前記オブジェクト配置領域が指定されたと前記判別手段によって判別された場合に、前記任意のオブジェクトと当該オブジェクト配置領域内に配置されている他のオブジェクトとを入れ替え、前記オブジェクト非配置領域が指定されたと前記判別手段によって判別された場合に、前記オブジェクト移動手段によって移動された前記任意のオブジェクトを前記オブジェクト非配置領域に配置すると共に、前記任意のオブジェクトが移動前に配置されていたオブジェクト配置領域をオブジェクト非配置領域に変更する入替処理手段とを含む、請求項1に記載の情報処理プログラム。
【請求項3】
前記判別手段は、前記最後に検出された指示位置が前記オブジェクト配置領域内である場合は当該オブジェクト配置領域が指定されたと判別し、前記最後に検出された指示位置が前記オブジェクト非配置領域内である場合は当該オブジェクト非配置領域が指定されたと判別し、前記最後に検出された指示位置が前記オブジェクト配置領域内でも前記オブジェクト非配置領域内でもない場合は、前記オブジェクト配置領域及び前記オブジェクト非配置領域のうち前記最後に検出された指示位置により近い領域が指定されたと判別する、請求項2に記載の情報処理プログラム。
【請求項4】
前記コンピュータを、
前記サブセットを構成するオブジェクトの行数又は列数を変更する行列数変更手段と、
前記行列数変更手段によって変更された行数又は列数に応じて、前記オブジェクト表示手段により前記画面内に表示される各オブジェクトの表示位置を変更するオブジェクト表示変更手段として更に機能させる、請求項1に記載の情報処理プログラム。
【請求項5】
前記コンピュータを、前記行列数変更手段によって変更された行数又は列数を記憶する行列数記憶手段として更に機能させ、
前記オブジェクト表示手段は、当該情報処理プログラムの起動時に、前記サブセットを構成するオブジェクトを前記行列数記憶手段に記憶されている行数又は列数で前記画面内に行列表示する、請求項4に記載の情報処理プログラム。
【請求項6】
前記コンピュータを、第1ボタン及び第2ボタンを前記画面内に表示するボタン表示手段として更に機能させ、
前記行列数変更手段は、前記指示位置検出手段によって検出された指示位置が前記第1ボタン上であった場合には前記行数又は列数を増加させ、前記指示位置検出手段によって検出された指示位置が前記第2ボタン上であった場合には前記行数又は列数を減少させる、請求項4に記載の情報処理プログラム。
【請求項7】
前記コンピュータを、前記オブジェクト入替手段によってオブジェクトの入れ替えが行われた場合に、入れ替え後のオブジェクトの表示順を記憶する表示順記憶手段として更に機能させ、
前記オブジェクト表示手段は、当該情報処理プログラムの起動時に、前記表示順記憶手段に記憶されている表示順で、前記サブセットを構成する各オブジェクトを前記画面内に行列表示する、請求項1に記載の情報処理プログラム。
【請求項8】
前記オブジェクト表示手段は、前記サブセットを構成する各オブジェクトが予め設定された表示順に従って行方向に並ぶように、1列目から順に、各オブジェクトを並べて表示する、請求項1に記載の情報処理プログラム。
【請求項9】
前記オブジェクト表示手段は、前記サブセットを構成するオブジェクトを一行表示又は一列表示可能なものであって、
前記コンピュータを、前記画面内に表示されているオブジェクトの行数及び列数が共に2以上であるか否かを判定する行列数判定手段として更に機能させ、
前記オブジェクト入替手段は、前記行列数判定手段によって前記行数及び列数が共に2以上であると判定された場合に、前記最後に検出された指示位置が他のオブジェクト上であるか否かに拘わらず、前記任意のオブジェクトと当該他のオブジェクトとを入れ替える、請求項4に記載の情報処理プログラム。
【請求項10】
前記オブジェクト表示手段は、前記サブセットを構成するオブジェクトを一行表示又は一列表示可能なものであって、
前記コンピュータを、前記画面内に表示されているオブジェクトの行数及び列数が共に2以上であるか否かを判定する行列数判定手段として更に機能させ、
前記オブジェクト入替手段は、
前記行列数判定手段によって前記行数及び列数が一方でも2以上ではないと判定された場合に、前記最後に検出された指示位置が他のオブジェクト上であるか、又は他の2つのオブジェクトの間であるかを判別する位置判別手段と、
前記位置判別手段によって前記他のオブジェクト上であると判別された場合には前記任意のオブジェクトと当該他のオブジェクトとを入れ替え、前記位置判別手段によって前記他の2つのオブジェクトの間であると判別された場合には当該2つのオブジェクト間に前記任意のオブジェクトを挿入する入替処理手段とを含む、請求項4に記載の情報処理プログラム。
【請求項11】
前記コンピュータを、前記任意のオブジェクトを含む2以上のオブジェクトを選択するオブジェクト選択手段として更に機能させ、
前記オブジェクト移動手段は、前記処理方法選択手段によって前記第2の処理方法が選択されたときに、前記オブジェクト選択手段によって選択された2以上のオブジェクトを前記指示位置に応じて移動させ、
前記オブジェクト入替手段は、前記オブジェクト移動手段による2以上のオブジェクトの移動中に前記指示位置が検出されなくなったときに、最後に検出された指示位置に応じて、前記2以上のオブジェクトと他の2以上のオブジェクトとを入れ替える、請求項1に記載の情報処理プログラム。
【請求項12】
前記処理方法選択手段は、前記指示位置が第1の方向へ移動した場合には前記第1の処理方法を選択し、前記指示位置が前記第1の方向とは異なる第2の方向へ移動した場合には前記第2の処理方法を選択する、請求項1に記載の情報処理プログラム。
【請求項13】
前記処理方法選択手段は、前記指示位置が最初に検出されてから所定時間を経過する前に当該指示位置が移動した場合には前記第1の処理方法を選択し、前記所定時間を経過した後に前記指示位置が移動した場合には前記第2の処理方法を選択する、請求項1に記載の情報処理プログラム。
【請求項14】
画面に表示される複数のオブジェクトの表示順を座標入力手段を用いてユーザが変更することを可能にする情報処理装置であって、
前記複数のオブジェクトのうちのサブセットを構成するオブジェクトを、予め設定された表示順で並ぶように前記画面内に行列表示するオブジェクト表示手段と、
前記座標入力手段によって指示された前記画面上の位置を指示位置として検出する指示位置検出手段と、
前記画面内に表示されている前記サブセットのうちの任意のオブジェクト上の点を起点として前記指示位置が移動したときに、予め定められた判定基準に従って、第1の処理方法又は第2の処理方法を選択する処理方法選択手段と、
前記処理方法選択手段によって前記第1の処理方法が選択されたときに、前記複数のオブジェクトを前記指示位置の移動に応じてスクロール表示させるスクロール手段と、
前記処理方法選択手段によって前記第2の処理方法が選択されたときに、前記任意のオブジェクトだけを前記指示位置に応じて移動させるオブジェクト移動手段と、
前記オブジェクト移動手段による前記任意のオブジェクトの移動中に前記指示位置が検出されなくなったときに、最後に検出された指示位置に応じて、前記任意のオブジェクトと他のオブジェクトとを入れ替えるオブジェクト入替手段とを備える、情報処理装置。
【請求項15】
画面に表示される複数のオブジェクトの表示順を座標入力手段を用いてユーザが変更することを可能にする情報処理システムであって、
前記複数のオブジェクトのうちのサブセットを構成するオブジェクトを、予め設定された表示順で並ぶように前記画面内に行列表示するオブジェクト表示手段と、
前記座標入力手段によって指示された前記画面上の位置を指示位置として検出する指示位置検出手段と、
前記画面内に表示されている前記サブセットのうちの任意のオブジェクト上の点を起点として前記指示位置が移動したときに、予め定められた判定基準に従って、第1の処理方法又は第2の処理方法を選択する処理方法選択手段と、
前記処理方法選択手段によって前記第1の処理方法が選択されたときに、前記複数のオブジェクトを前記指示位置の移動に応じてスクロール表示させるスクロール手段と、
前記処理方法選択手段によって前記第2の処理方法が選択されたときに、前記任意のオブジェクトだけを前記指示位置に応じて移動させるオブジェクト移動手段と、
前記オブジェクト移動手段による前記任意のオブジェクトの移動中に前記指示位置が検出されなくなったときに、最後に検出された指示位置に応じて、前記任意のオブジェクトと他のオブジェクトとを入れ替えるオブジェクト入替手段とを備える、情報処理システム。
【請求項16】
画面に表示される複数のオブジェクトの表示順を座標入力手段を用いてユーザが変更することを可能にする情報処理方法であって、
前記複数のオブジェクトのうちのサブセットを構成するオブジェクトを、予め設定された表示順で並ぶように前記画面内に行列表示するステップと、
前記座標入力手段によって指示された前記画面上の位置を指示位置として検出するステップと、
前記画面内に表示されている前記サブセットのうちの任意のオブジェクト上の点を起点として前記指示位置が移動したときに、予め定められた判定基準に従って、第1の処理方法又は第2の処理方法を選択するステップと、
前記第1の処理方法が選択されたときに、前記複数のオブジェクトを前記指示位置の移動に応じてスクロール表示させるステップと、
前記第2の処理方法が選択されたときに、前記任意のオブジェクトだけを前記指示位置に応じて移動させるステップと、
前記任意のオブジェクトの移動中に前記指示位置が検出されなくなったときに、最後に検出された指示位置に応じて、前記任意のオブジェクトと他のオブジェクトとを入れ替えるステップとを含む、情報処理方法。

【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図3C】
image rotate

【図3D】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate


【公開番号】特開2012−58979(P2012−58979A)
【公開日】平成24年3月22日(2012.3.22)
【国際特許分類】
【出願番号】特願2010−201115(P2010−201115)
【出願日】平成22年9月8日(2010.9.8)
【出願人】(000233778)任天堂株式会社 (1,115)
【Fターム(参考)】