JP4176741B2 - 移動先情報設定装置及び方法、プログラム、並びに記録媒体 - Google Patents

移動先情報設定装置及び方法、プログラム、並びに記録媒体 Download PDF

Info

Publication number
JP4176741B2
JP4176741B2 JP2005153123A JP2005153123A JP4176741B2 JP 4176741 B2 JP4176741 B2 JP 4176741B2 JP 2005153123 A JP2005153123 A JP 2005153123A JP 2005153123 A JP2005153123 A JP 2005153123A JP 4176741 B2 JP4176741 B2 JP 4176741B2
Authority
JP
Japan
Prior art keywords
information
display
destination information
destination
score
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005153123A
Other languages
English (en)
Other versions
JP2006331034A (ja
Inventor
公士 青山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Square Enix Co Ltd
Original Assignee
Square Enix Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Square Enix Co Ltd filed Critical Square Enix Co Ltd
Priority to JP2005153123A priority Critical patent/JP4176741B2/ja
Priority to US11/420,080 priority patent/US7554525B2/en
Priority to EP06010758.8A priority patent/EP1727030A3/en
Publication of JP2006331034A publication Critical patent/JP2006331034A/ja
Application granted granted Critical
Publication of JP4176741B2 publication Critical patent/JP4176741B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04892Arrangements for controlling cursor position based on codes indicative of cursor displacements from one discrete location to another, e.g. using cursor control keys associated to different directions or using the tab key

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Input From Keyboards Or The Like (AREA)

Description

本発明は、選択ポインタを移動表示して複数の表示オブジェクトからユーザが所望のオブジェクトを選択可能とする場合における選択ポインタの移動先の設定に関するものである。
情報処理装置を内蔵したデジタル家電では、ユーザが所望の処理を選択するためのメニュー画面が用いられる。このようなメニュー画面は、各々の処理に対応付けられた複数のオブジェクトからユーザが何れかのオブジェクトを選択することで、所望の処理が行われるようにするものである。ゲーム装置でも、特にロールプレイングゲームなどではユーザがゲームを行おうとする街を選択するワールドマップが用いられる。ワールドマップの街は、ユーザにより選択されるオブジェクトということになるので、一種のメニュー画面ということができる。
メニュー画面に含まれる複数のオブジェクトからユーザが所望のオブジェクトを選択するための方法として、マウスやタッチパネルなどにより表示装置上において所望のオブジェクトに対応した座標位置を入力する方法がある。もっとも、マウスやタッチパネルなどの座標位置を直接入力できる入力装置を適用できない装置もあり、また、オブジェクトとは関係ない位置の座標も入力できる入力装置は、必ずしも便利なものとは言えないという面もある。
これに対して、メニュー画面に表示された複数のオブジェクトに選択ポインタ(カーソル)を付していき、入力装置から確定入力を行うことで選択ポインタの付されたオブジェクトを選択するものとした方法もある。この場合、選択ポインタは、例えば、入力装置が備える上下左右の方向キーの操作によって、複数のオブジェクト間で移動させるものとすることができる。この場合、入力された方向データに対してどのように選択ポインタを移動していくかが問題となる。
特許文献1では、現時点で選択ポインタ(カーソル)の表示されているオブジェクト(機能ボタン)に対して、入力装置(ジョイスティック16)から入力された方向データに対応する上下左右の方向に他のオブジェクトがあれば、選択ポインタの位置を移動するものとしている。特許文献2では、現時点での選択ポインタ(カーソル)の位置に対して、入力装置から入力された方向データに対して所定の角度の範囲内にあるオブジェクト(リンク場所)から選択されるオブジェクトに、選択ポインタを移動するものとしている。
特許文献1及び2では、入力装置から方向データの入力があったときに選択ポインタの移動先を求めるのに対して、特許文献3では、オブジェクト毎に選択ポインタ(カーソル)の移動先となる位置データ(オブジェクト番号)を予め記憶しておき、現時点で選択ポインタの位置するオブジェクトについて記憶された位置データに従って選択ポインタの位置を移動するものとしている。
特開平6−131119号公報 特開平10−301717号公報 特開平9−81322号公報
特許文献1では、表示画面における複数のボタンは、上下左右に規則的に配置されていることを前提としている(図4参照)。このため、現時点で選択ポインタの表示されているオブジェクトに対して、入力装置から入力された方向データに対応する上下左右の方向に他のオブジェクトがあるかどうかを容易に判定できる。
しかしながら、例えば、ゲームにおいてプレイヤがゲームを行う街を選択するワールドマップのように、ユーザにとって視覚的に分かりやすいオブジェクトの配置は、必ずしも特許文献1のように上下左右に規則的な配置であるとは限らない。すると、表示画面上の任意の位置に上下左右に不規則な関係で配置されたオブジェクトについて、入力装置からの方向の入力に対して選択ポインタを表示すべきオブジェクトをどのように選択するかが問題となる。
これに対して、特許文献2では、現時点での選択ポインタの位置に対して、入力装置から入力された方向データに対して所定の角度の範囲内にあるオブジェクトを選ぶため、上下左右に不規則な位置関係でオブジェクトが配置されている場合にも適用することができる。
しかしながら、当該角度で最短距離にあるオブジェクトを選ぶだけであるので、入力された方向に完全に合致するオブジェクトがあっても角度的にかなり外れたオブジェクトの方に選択ポインタが移動してしまうこともある。さらに同じ方向の入力を複数行った場合、最初に選択ポインタが表示されていた位置を基準とすると、完全に方向の外れたオブジェクトに選択ポインタの位置が移動してしまう場合もある。このように特許文献2では、ユーザの意図するように選択ポインタが移動されない場合も多かった。
また、上下左右に不規則な位置関係で複数のオブジェクトを配置した場合には、その配置された位置関係によっては、入力装置からどのような順序で方向データの入力を行っても、全く選択ポインタが移動してくることがないオブジェクトも発生し得る。しかしながら、特許文献2では、このような場合の対策を全く考えていなかった。特許文献1のように上下左右に規則的な位置関係で複数のオブジェクトを配置した場合には、全く選択ポインタが移動してくることのないオブジェクトは発生し得ないので、このような場合の対策は、そもそも考えられていなかった。
一方、特許文献3では、予め記憶された移動先の位置データに従って選択ポインタの位置を移動するものとしているため、上下左右に不規則な位置関係で複数のオブジェクトを配置したものにも適用することができる。また、特許文献3では、オブジェクト毎に予め記憶させておく位置データを適切に選んでおけば、特許文献2のような問題が発生することを回避することができる。
もっとも、特許文献3では、予め記憶しておく位置データをどのように設定するかを考慮していない。全てを手動で設定するものとすれば、非常に煩わしい作業が必要となる。仮に特許文献2の技術を組み合わせれば、ある程度までは煩わしい作業から解放される。しかし、上記した特許文献2の問題が生じた場合には、これを回避するための位置データの設定に対して非常に煩わしい作業が必要となってしまう。
本発明は、選択ポインタを移動表示して複数の表示オブジェクトからユーザが所望のオブジェクトを選択可能とする場合において、選択ポインタの移動先の設定を容易且つ適切に行えるようにした移動先情報設定装置及び方法、並びにそのためのプログラム等を提供することを目的とする。
上記目的を達成するため、本発明の第1の観点にかかる移動先情報設定装置は、直行するxy座標系の座標(x,y)によって位置が規定される2次元の表示空間において表示装置に表示され、該表示空間を移動する選択ポインタの表示により何れかがユーザから選択される複数の表示オブジェクトについて、x正方向、x負方向、y正方向、y負方向に応じた方向情報を入力可能な入力装置から何れかの方向情報が入力された場合に選択ポインタを移動すべき表示オブジェクトを示す移動先情報を設定する移動先情報設定装置であって、前記複数の表示オブジェクトのそれぞれについて、前記表示空間における座標を示す位置情報を予め記憶した位置情報記憶手段と、前記複数の表示オブジェクトのそれぞれについて、前記選択ポインタが位置する状態で前記入力装置から方向情報が入力された際の選択ポインタの移動先を示す移動先情報を、x正方向、x負方向、y正方向、y負方向の別に記憶する移動先情報記憶手段と、前記複数の表示オブジェクトのそれぞれについて、前記位置情報記憶手段に記憶された位置情報に従って、他の表示オブジェクトに対する位置関係のスコアの算出対象となっている表示オブジェクトと他の表示オブジェクトのx座標、y座標の差分をそれぞれdx,dyとするときに、dxに応じた演算に係数αを乗じた値とdyに応じた演算に係数βを乗じた値とを加算して、x正方向、x負方向、y正方向、y負方向の別に位置関係のスコアを算出する位置スコア算出手段と、前記複数の表示オブジェクトのそれぞれについて、前記位置スコア算出手段が前記算出した位置関係のスコアに応じて、x正方向、x負方向、y正方向、y負方向の別に、算出された位置関係のスコアが最も小さくなる他の表示オブジェクトを移動先とする移動先情報を設定して、前記移動先情報記憶手段に記憶させる移動先情報設定手段とを備え、αとβの大小関係は、x正方向またはx負方向を算出対象となる方向として位置スコアを算出するときと、y正方向またはy負方向を算出対象となる方向として位置スコアを算出するときとで反対にななり、前記移動先情報設定装置は、前記複数の表示オブジェクトのそれぞれについて、前記移動先情報の示す選択ポインタの移動先となっているかどうかを示す情報を記憶するものであって、該移動先情報の示す選択ポインタの移動先となっていることを示す情報として前記移動先情報の示す選択ポインタの移動先となっている数を記憶する被移動先情報記憶手段と、前記移動先情報記憶手段に全ての表示オブジェクト、全ての方向についての移動先情報が記憶されたときに、前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されているかどうかを判定する移動不可表示オブジェクト判定手段と、前記移動不可表示オブジェクト判定手段により前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されていると判定された場合に、当該移動先となっていない表示オブジェクト以外の他の何れかの表示オブジェクトからの選択ポイントの移動先として当該移動先となっていない表示オブジェクトを設定させるための処理を実行する移動先情報変更処理手段とをさらに備え、前記移動先情報変更処理手段は、前記移動不可表示オブジェクト判定手段により前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されていると判定されたときに、前記被移動先情報記憶手段に記憶されている移動先となっている数が2以上である表示オブジェクトが選択ポインタの移動先となる表示オブジェクトの移動先情報を、前記移動先情報記憶手段に記憶された移動先情報のうちから変更可能な移動先情報として抽出する変更可能情報抽出手段と、前記移動不可表示オブジェクト判定手段により前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されていると判定された場合に、当該選択ポインタの移動先となっていない情報の記憶されている表示オブジェクトについて、当該表示オブジェクトと他の全ての表示オブジェクトとの位置関係のスコアを前記位置情報記憶手段に記憶された位置情報に従ってx正方向、x負方向、y正方向、y負方向の別に算出する第2の位置スコア算出手段と、前記第2の位置スコア算出手段により算出された位置関係のスコアに応じて、前記変更可能情報抽出手段の抽出した移動先情報の何れかを前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されていると判定された表示オブジェクトを選択ポインタの移動先とする移動先情報に変更して、前記移動先情報記憶手段に記憶させる移動先情報変更手段とを備えることを特徴とする。
なお、前記位置情報記憶手段に記憶される位置情報により示される各表示オブジェクトの多次元座標は、当該表示オブジェクトについて予め定められた特定の位置(例えば、重心位置、左上の位置など)の座標とすることができる。
上記の移動先情報設定装置では、入力装置から方向情報が入力されたときにおける選択ポインタの移動先となる表示オブジェクトを示す移動先情報が、移動先情報設定手段により設定されて移動先情報記憶手段に記憶されるものとなる。つまり、何れかの表示オブジェクトに選択ポインタが位置する状態で方向情報が入力されると、当該表示オブジェクトの当該方向情報が示す方向について移動先情報記憶手段に記憶された移動先情報に従って、選択ポインタの位置が移動されるものとなる。このため、x方向及びy方向に規則的に配置されていない複数の表示オブジェクト間での選択ポインタを移動させることができる。
ここで、移動先情報記憶手段に記憶される移動先情報は、手作業で設定しなくても、位置スコア算出手段により算出された位置関係のスコアに応じて移動先情報設定手段が設定することができる。位置スコア算出手段は、位置関係のスコアの算出対象となっている表示オブジェクトと他の表示オブジェクトのx座標、y座標の差分をdx,dyに応じた演算で位置関係のスコアを算出するものとなっているが、正方向またはx負方向を算出対象となる方向として位置スコアを算出するか、x正方向またはx負方向を算出対象となる方向として位置スコアを算出するかに応じて、x座標の差分dxとy座標の差分dyとに重み付がされることとなる。
また、位置関係のスコアにおいてx座標の差分dxとy座標の差分dyとに重み付がされていることで、ある程度は遠くてもなるべく入力された方向情報に近い方向にある表示オブジェクトに選択ポインタが移動されるが、方向が近くても遠すぎる表示オブジェクトには選択ポインタが移動されないというように、可能な限りユーザの意図するように選択ポインタの移動先となる移動先情報を設定することができる。しかも、移動先情報の設定を手動で行う必要がないため、煩わしい作業が必要ない。
このように被移動先情報記憶手段を備え、選択ポインタの移動先情報となっていない情報が記憶されているかどうかを判定することにより、移動先情報設定手段による移動先情報の設定では入力装置からの方向情報の入力によっては選択ポインタが移動してこなくなる表示オブジェクトが発生してしまったことが容易に分かるようになり、移動先情報設定変更処理手段により移動先情報の修正を容易に行うことができるようになる。
また、被移動先情報記憶手段が移動先情報の示す選択ポインタの移動先となっている数を記憶し、この数が2以上である表示オブジェクトを選択ポインタの移動先としている移動先情報を変更可能な移動先情報として抽出することで、選択ポインタが移動してこなくなる表示オブジェクトが発生してしまった場合に、このような表示オブジェクトを新たに発生させることなく、容易に移動先情報の変更を行うことができるようになる。
そして、選択ポインタが移動してこなくなる表示オブジェクトが発生してしまった場合に、当該表示オブジェクトに選択ポインタを移動させることとする移動先情報の変更も手動で行う必要がなくなり、移動先情報の設定がさらに容易なものとなる。
上記移動先情報設定装置において、前記位置スコア算出手段は、例えば、x正方向、x負方向、y正方向、y負方向の別に数式1の演算により前記位置関係のスコアを算出することができる。
(数1)
α×dx×dx+β×dy×dy
但し、α、βは、0より大きい定数であって、x正方向またはx負方向を算出対象となる方向として位置スコアを算出するときは、α>βであり、y正方向またはy負方向を算出対象となる方向として位置スコアを算出するときは、α<βである。
ここで、例えば、x正方向またはx負方向を算出対象となる方向として位置スコアを算出するときは、α:β=3:1とすることができ、y正方向またはy負方向を算出対象となる方向として位置スコアを算出するときは、α:β=1:3とすることができる。dx×dx+dy×dyは、表示オブジェクト間の距離の2乗を求める式であるが、この式におけるx成分とy成分について重み付けを行うだけのものとすることで、適切な位置関係のスコアを簡単な演算で算出することができる。
上記移動先情報設定装置は、前記複数の表示オブジェクトのそれぞれについて、前記位置情報記憶手段に記憶された位置情報とともに前記表示空間において占める形状を特定可能な形状情報を予め記憶した形状情報記憶手段をさらに備えるものとしてもよい。この場合において、前記位置スコア算出手段は、前記複数の表示オブジェクトのそれぞれについて、前記位置情報記憶手段に記憶された位置情報と前記形状情報記憶手段に記憶された形状情報に応じて特定される表示オブジェクト間の最短距離に従って、当該表示オブジェクトと他の全ての表示オブジェクトとの位置関係のスコアをx正方向、x負方向、y正方向、y負方向の別に算出することができる。
この場合には、表示オブジェクト間の最短距離によって位置関係のスコアを算出するので、複数の表示オブジェクトの形状や大きさが区々であったとしても、適切な位置関係のスコアを算出することができるようになる。
上記移動先情報設定装置において、前記位置スコア算出手段は、前記複数の表示オブジェクトのそれぞれについて、当該表示オブジェクトに選択ポインタが位置する際における当該選択ポインタの座標と、他の表示オブジェクトについて前記位置情報記憶手段に記憶された位置情報とに従って、当該表示オブジェクトと他の全ての表示オブジェクトとの位置関係のスコアをx正方向、x負方向、y正方向、y負方向の別に算出することができる。
ここで、前記複数の表示オブジェクトのそれぞれについて、前記位置情報記憶手段に記憶された位置情報とともに前記表示空間において占める形状を特定可能な形状情報を予め記憶した形状情報記憶手段をさらに備える場合には、前記位置スコア算出手段は、前記複数の表示オブジェクトのそれぞれについて、当該表示オブジェクトに選択ポインタが位置する際における当該選択ポインタの座標、並びに他の表示オブジェクトの位置情報及び形状情報に応じて特定される選択ポインタと表示オブジェクトとの間の最短距離に従って、当該表示オブジェクトと他の全ての表示オブジェクトとの位置関係のスコアをx正方向、x負方向、y正方向、y負方向の別に算出することができる。
ここでは、位置関係のスコアを算出する際に、その算出対象となっている表示オブジェクトについては選択ポインタの座標を基準としているので、選択ポインタの位置から考えて最も適切な位置にある他の表示オブジェクトに、入力された方向情報に応じて選択ポインタを移動できるようになる。
上記移動先情報設定装置は、前記位置情報記憶手段に記憶された前記複数の表示オブジェクトの位置情報を変更する位置情報変更手段をさらに備えるものとすることができる。この場合において、前記位置スコア算出手段は、前記位置情報変更手段により少なくとも1の表示オブジェクトの位置情報が変更されたときに、該変更された位置情報に応じて前記複数の表示オブジェクトのそれぞれについて、当該表示オブジェクトと他の全ての表示オブジェクトとの位置関係のスコアを前記表示空間のx正方向、x負方向、y正方向、y負方向の別に算出することができる。
複数の表示オブジェクトのうちの何れか1つでも位置情報が変更されれば、選択ポインタの移動先として適切な表示オブジェクトも変わることとなる。ここでは、少なくとも1の表示オブジェクトの位置情報が変更されれば、新たに位置関係のスコアを算出し、これによって移動先情報も新たに設定することができるので、表示オブジェクトの位置が変更される度に最も適切な移動先情報を設定することができる。
上記移動先情報設定装置は、前記位置スコア算出手段により位置スコアが算出されるよりも前に、前記複数の表示オブジェクトのそれぞれについて、前記入力装置から方向情報が入力された際の選択ポインタの移動先を示す移動先情報をx正方向、x負方向、y正方向、y負方向の別に外部から入力して、前記移動先情報記憶手段に予め記憶させる外部情報入力手段をさらに備えものとすることができる。この場合において、前記位置スコア算出手段は、前記外部情報入力手段により前記移動先情報記憶手段に移動先情報の記憶されていない表示オブジェクト及び方向について、他の表示オブジェクトとの位置関係のスコアを算出することができる。
ここでは、位置関係のスコアを算出して移動先情報を設定する前に、予め特定の表示オブジェクトの間での移動先情報を設定することができるので、例えば、位置関係としてはより適切な他の表示オブジェクトがあったとしても、関連性の高いオブジェクト間で選択ポインタが移動されるような移動先情報の設定ができ、処理の関連性に応じて表示オブジェクト間で選択ポインタが移動されるようにすることができる。
上記移動先情報設定装置は、前記移動先情報設定手段により設定された各表示オブジェクトの方向毎の移動先情報が前記移動先情報記憶手段に記憶された後に、前記入力装置から方向情報が入力された際の選択ポインタの移動先を示す移動先情報をx正方向、x負方向、y正方向、y負方向の別に外部から入力して、前記移動先情報記憶手段に記憶されている移動先情報を該入力された移動先情報に更新する移動先情報更新手段をさらに備えるものとすることができる。
ここでは、位置関係のスコアを算出して移動先情報を設定した後に、特定の表示オブジェクトの間での移動先情報を変更することができるので、例えば、位置関係としてはより適切な他の表示オブジェクトを示すように移動先情報が設定されていても、関連性の高いオブジェクトを示すように移動先情報の設定を変更することができ、処理の関連性に応じて表示オブジェクト間で選択ポインタが移動されるようにすることができる。また、移動先情報設定手段による移動先情報の設定では入力装置からの方向情報の入力によっては選択ポインタが移動してこなくなる表示オブジェクトが発生したとしても、これを修正することができる。
上記移動先情報設定装置は、前記位置情報記憶手段に記憶された位置情報に従って、前記複数の表示オブジェクトをそれぞれ前記表示装置に表示させる表示オブジェクト表示手段をさらに備えるものとしてもよい。この場合において、前記位置スコア算出手段は、前記表示オブジェクト表示手段により前記複数のオブジェクトが前記表示装置に表示されるときに、前記複数の表示オブジェクトのそれぞれについて他の全ての表示オブジェクトとの位置関係のスコアをx正方向、x負方向、y正方向、y負方向の別に算出することができる。
ここでは、複数の表示オブジェクトを表示装置に表示させる際に位置関係のスコアを算出し、各表示オブジェクトについて方向別に移動先情報を設定することができるので、表示装置に表示される表示オブジェクトやその位置が予め定まっていない場合であっても、本発明を適用することが可能となる。
ここで、上記移動先情報設定装置は、前記位置情報記憶手段に位置情報の記憶された複数の表示オブジェクトから、前記選択ポインタを移動させてユーザによる選択を可能とする表示オブジェクトを設定する選択可能オブジェクト設定手段をさらに備え、前記表示オブジェクト表示手段は、前記選択可能オブジェクト設定手段によりユーザによる選択を可能に設定されているか否かを識別可能に前記複数の表示オブジェクトを表示させ、前記位置スコア算出手段は、前記選択可能オブジェクト設定手段によりユーザによる選択を可能に設定されている表示オブジェクトについて、他のユーザによる選択を可能に設定されている表示オブジェクトとの位置関係のスコアを算出することができる。
ここでは、ユーザによる選択を可能とする表示オブジェクトが選択可能オブジェクト設定手段により設定されるが、選択可能な表示オブジェクトであるか否かは識別可能に表示装置に表示されるので、ユーザは、どの表示オブジェクトが選択可能となっているのかを容易に識別することができる。また、選択可能に設定されている表示オブジェクトを対象として位置関係のスコアが算出され、移動先情報が設定されることとなるので、ユーザにより選択可能な表示オブジェクトの間でのみ選択ポインタを移動させることができ、ユーザが表示オブジェクトの選択を容易に行えるようになる。
なお、前記表示オブジェクト表示手段は、前記選択可能オブジェクト設定手段によりユーザによる選択を可能に設定されている表示オブジェクトと、ユーザによる選択を不能に設定されている表示オブジェクトとを、異なる態様で前記表示装置に表示させるものであってもよい。また、前記表示オブジェクト表示手段は、前記選択可能オブジェクト設定手段によりユーザによる選択を可能に設定されている表示オブジェクトを前記表示装置に表示するが、ユーザによる選択を不能に設定されている表示オブジェクトを前記表示装置に表示しないものとしてもよい。
また、ここでは、前記位置情報記憶手段に記憶された前記複数の表示オブジェクトの位置情報を変更する位置情報変更手段をさらに備えるものとし、前記表示オブジェクト表示手段は、前記位置情報変更手段により少なくとも1の表示オブジェクトの位置情報が変更されたときに、該変更された位置情報に応じて前記複数の表示オブジェクトを前記表示装置に新たに表示させるのとすることができる。
ここで、少なくとも1の表示オブジェクトの位置情報が変更されると、複数の表示オブジェクトを新たに表示装置に表示させ、新たに表示オブジェクトが表示されることで移動先情報の設定も新たに行われるので、表示オブジェクトの位置に応じて常に適切な移動先情報を設定することができる。
上記目的を達成するため、本発明の第2の観点にかかる移動先情報設定方法は、直行するxy座標系の座標(x,y)によって位置が規定される2次元の表示空間において表示装置に表示され、該表示空間を移動する選択ポインタの表示により何れかがユーザから選択される複数の表示オブジェクトについて、前記表示空間における座標を示す位置情報を予め記憶した記憶装置を備えるコンピュータ装置において実行され、前記表示装置に表示された複数の表示オブジェクトのそれぞれに対してx正方向、x負方向、y正方向、y負方向に応じた方向情報を入力可能な入力装置から何れかの方向情報が入力された場合に選択ポインタを移動すべき表示オブジェクトを示す移動先情報を設定する移動先情報設定方法であって、前記複数の表示オブジェクトのそれぞれについて、前記記憶装置に記憶された位置情報に従って、他の表示オブジェクトに対する位置関係のスコアの算出対象となっている表示オブジェクトと他の表示オブジェクトのx座標、y座標の差分をそれぞれdx,dyとするときに、dxに応じた演算に係数αを乗じた値とdyに応じた演算に係数βを乗じた値とを加算して、x正方向、x負方向、y正方向、y負方向の別に位置関係のスコアを算出するステップと、前記複数の表示オブジェクトのそれぞれについて、前記算出した位置関係のスコアに応じて、x正方向、x負方向、y正方向、y負方向の別に、算出された位置関係のスコアが最も小さくなる他の表示オブジェクトを移動先とする移動先情報を選定するステップと、前記複数の表示オブジェクトのそれぞれについて、x正方向、x負方向、y正方向、y負方向の別に選定された移動先情報を前記記憶装置の移動先情報記憶領域に記憶させるステップとを含み、αとβの大小関係は、x正方向またはx負方向を算出対象となる方向として位置スコアを算出するときと、y正方向またはy負方向を算出対象となる方向として位置スコアを算出するときとで反対になり、前記移動先情報設定方法は、前記複数の表示オブジェクトのそれぞれについて、前記移動先情報の示す選択ポインタの移動先となっているかどうかを示す情報であって、該移動先情報の示す選択ポインタの移動先となっていることを示す情報としては前記移動先情報の示す選択ポインタの移動先となっている数を前記記憶装置の被移動先情報記憶領域に記憶させるステップと、前記移動先情報記憶領域に全ての表示オブジェクト、全ての方向についての移動先情報が記憶されたときに、前記被移動先情報記憶領域に選択ポインタの移動先となっていない情報が記憶されているかどうかを判定するステップと、前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されていると判定された場合に、当該移動先となっていない表示オブジェクト以外の他の何れかの表示オブジェクトからの選択ポイントの移動先として当該移動先となっていない表示オブジェクトを設定させるための処理を実行する変更処理ステップとをさらに含み、前記変更処理ステップは、前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されていると判定されたときに、前記被移動先情報記憶領域に記憶されている移動先となっている数が2以上である表示オブジェクトが選択ポインタの移動先となる表示オブジェクトの移動先情報を、前記移動先情報記憶領域に記憶された移動先情報のうちから変更可能な移動先情報として抽出する抽出ステップと、前記被移動先情報記憶領域に選択ポインタの移動先となっていない情報が記憶されていると判定された場合に、当該選択ポインタの移動先となっていない情報の記憶されている表示オブジェクトについて、当該表示オブジェクトと他の全ての表示オブジェクトとの位置関係のスコアを前記位置情報記憶領域に記憶された位置情報に従ってx正方向、x負方向、y正方向、y負方向の別に算出する第2の位置スコア算出ステップと、前記第2の位置スコア算出ステップにおいて算出された位置関係のスコアに応じて、前記抽出ステップで抽出した移動先情報の何れかを前記被移動先情報記憶領域に選択ポインタの移動先となっていない情報が記憶されていると判定された表示オブジェクトを選択ポインタの移動先とする移動先情報に変更して、前記移動先情報記憶領域に記憶させる移動先情報変更ステップとを含むことを特徴とする。
上記目的を達成するため、本発明の第3の観点にかかるプログラムは、直行するxy座標系の座標(x,y)によって位置が規定される2次元の表示空間において表示装置に表示され、該表示空間を移動する選択ポインタの表示により何れかがユーザから選択される複数の表示オブジェクトについて、前記表示空間における座標を示す位置情報を予め記憶した記憶装置を備えるコンピュータ装置の処理装置により実行され、前記表示装置に表示された複数の表示オブジェクトのそれぞれに対してx正方向、x負方向、y正方向、y負方向に応じた方向情報を入力可能な入力装置から何れかの方向情報が入力された場合に選択ポインタを移動すべき表示オブジェクトを示す移動先情報を設定するためのプログラムであって、前記複数の表示オブジェクトのそれぞれについて、前記記憶装置に記憶された位置情報に従って、他の表示オブジェクトに対する位置関係のスコアの算出対象となっている表示オブジェクトと他の表示オブジェクトのx座標、y座標の差分をそれぞれdx,dyとするときに、dxに応じた演算に係数αを乗じた値とdyに応じた演算に係数βを乗じた値とを加算して、x正方向、x負方向、y正方向、y負方向の別に位置関係のスコアを算出するステップと、前記複数の表示オブジェクトのそれぞれについて、前記算出した位置関係のスコアに応じて、x正方向、x負方向、y正方向、y負方向の別に、算出された位置関係のスコアが最も小さくなる他の表示オブジェクトを移動先とする移動先情報を選定するステップと、前記複数の表示オブジェクトのそれぞれについて、x正方向、x負方向、y正方向、y負方向の別に選定された移動先情報を前記記憶装置の移動先情報記憶領域に記憶させるステップとを含み、αとβの大小関係は、x正方向またはx負方向を算出対象となる方向として位置スコアを算出するときと、y正方向またはy負方向を算出対象となる方向として位置スコアを算出するときとで反対になり、前記プログラムは、前記複数の表示オブジェクトのそれぞれについて、前記移動先情報の示す選択ポインタの移動先となっているかどうかを示す情報であって、該移動先情報の示す選択ポインタの移動先となっていることを示す情報としては前記移動先情報の示す選択ポインタの移動先となっている数を前記記憶装置の被移動先情報記憶領域に記憶させるステップと、前記移動先情報記憶領域に全ての表示オブジェクト、全ての方向についての移動先情報が記憶されたときに、前記被移動先情報記憶領域に選択ポインタの移動先となっていない情報が記憶されているかどうかを判定するステップと、前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されていると判定された場合に、当該移動先となっていない表示オブジェクト以外の他の何れかの表示オブジェクトからの選択ポイントの移動先として当該移動先となっていない表示オブジェクトを設定させるための処理を実行する変更処理ステップとをさらに含み、前記変更処理ステップは、前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されていると判定されたときに、前記被移動先情報記憶領域に記憶されている移動先となっている数が2以上である表示オブジェクトが選択ポインタの移動先となる表示オブジェクトの移動先情報を、前記移動先情報記憶領域に記憶された移動先情報のうちから変更可能な移動先情報として抽出する抽出ステップと、前記被移動先情報記憶領域に選択ポインタの移動先となっていない情報が記憶されていると判定された場合に、当該選択ポインタの移動先となっていない情報の記憶されている表示オブジェクトについて、当該表示オブジェクトと他の全ての表示オブジェクトとの位置関係のスコアを前記位置情報記憶領域に記憶された位置情報に従ってx正方向、x負方向、y正方向、y負方向の別に算出する第2の位置スコア算出ステップと、前記第2の位置スコア算出ステップにおいて算出された位置関係のスコアに応じて、前記抽出ステップで抽出した移動先情報の何れかを前記被移動先情報記憶領域に選択ポインタの移動先となっていない情報が記憶されていると判定された表示オブジェクトを選択ポインタの移動先とする移動先情報に変更して、前記移動先情報記憶領域に記憶させる移動先情報変更ステップとを含むことを特徴とする。
上記目的を達成するため、本発明の第4の観点にかかるコンピュータ読み取り可能な記録媒体は、直行するxy座標系の座標(x,y)によって位置が規定される2次元の表示空間において表示装置に表示され、該表示空間を移動する選択ポインタの表示により何れかがユーザから選択される複数の表示オブジェクトについて、前記表示空間における座標を示す位置情報を予め記憶した記憶装置を備えるコンピュータ装置の処理装置により実行され、前記表示装置に表示された複数の表示オブジェクトのそれぞれに対してx正方向、x負方向、y正方向、y負方向に応じた方向情報を入力可能な入力装置から何れかの方向情報が入力された場合に選択ポインタを移動すべき表示オブジェクトを示す移動先情報を設定するためのプログラムを記録した記録媒体であって、前記プログラムは、前記複数の表示オブジェクトのそれぞれについて、前記記憶装置に記憶された位置情報に従って、他の表示オブジェクトに対する位置関係のスコアの算出対象となっている表示オブジェクトと他の表示オブジェクトのx座標、y座標の差分をそれぞれdx,dyとするときに、dxに応じた演算に係数αを乗じた値とdyに応じた演算に係数βを乗じた値とを加算して、x正方向、x負方向、y正方向、y負方向の別に位置関係のスコアを算出するステップと、前記複数の表示オブジェクトのそれぞれについて、前記算出した位置関係のスコアに応じて、x正方向、x負方向、y正方向、y負方向の別に、算出された位置関係のスコアが最も小さくなる他の表示オブジェクトを移動先とする移動先情報を選定するステップと、前記複数の表示オブジェクトのそれぞれについて、x正方向、x負方向、y正方向、y負方向の別に選定された移動先情報を前記記憶装置の移動先情報記憶領域に記憶させるステップとを含み、αとβの大小関係は、x正方向またはx負方向を算出対象となる方向として位置スコアを算出するときと、y正方向またはy負方向を算出対象となる方向として位置スコアを算出するときとで反対になり、前記プログラムは、前記複数の表示オブジェクトのそれぞれについて、前記移動先情報の示す選択ポインタの移動先となっているかどうかを示す情報であって、該移動先情報の示す選択ポインタの移動先となっていることを示す情報としては前記移動先情報の示す選択ポインタの移動先となっている数を前記記憶装置の被移動先情報記憶領域に記憶させるステップと、前記移動先情報記憶領域に全ての表示オブジェクト、全ての方向についての移動先情報が記憶されたときに、前記被移動先情報記憶領域に選択ポインタの移動先となっていない情報が記憶されているかどうかを判定するステップと、前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されていると判定された場合に、当該移動先となっていない表示オブジェクト以外の他の何れかの表示オブジェクトからの選択ポイントの移動先として当該移動先となっていない表示オブジェクトを設定させるための処理を実行する変更処理ステップとをさらに含み、前記変更処理ステップは、前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されていると判定されたときに、前記被移動先情報記憶領域に記憶されている移動先となっている数が2以上である表示オブジェクトが選択ポインタの移動先となる表示オブジェクトの移動先情報を、前記移動先情報記憶領域に記憶された移動先情報のうちから変更可能な移動先情報として抽出する抽出ステップと、前記被移動先情報記憶領域に選択ポインタの移動先となっていない情報が記憶されていると判定された場合に、当該選択ポインタの移動先となっていない情報の記憶されている表示オブジェクトについて、当該表示オブジェクトと他の全ての表示オブジェクトとの位置関係のスコアを前記位置情報記憶領域に記憶された位置情報に従ってx正方向、x負方向、y正方向、y負方向の別に算出する第2の位置スコア算出ステップと、前記第2の位置スコア算出ステップにおいて算出された位置関係のスコアに応じて、前記抽出ステップで抽出した移動先情報の何れかを前記被移動先情報記憶領域に選択ポインタの移動先となっていない情報が記憶されていると判定された表示オブジェクトを選択ポインタの移動先とする移動先情報に変更して、前記移動先情報記憶領域に記憶させる移動先情報変更ステップとを含むことを特徴とする。
以下、添付図面を参照して、本発明の実施の形態について説明する。
[第1の実施の形態]
図1は、この実施の形態で適用されるコンピュータ装置のブロック図である。この実施の形態では、実行用の機種において開発支援ツール112により実行用プログラム111を作成し、これを実行用の機種にインストールして実行させるものである。すなわち、この実施の形態で適用されるコンピュータ装置としては、開発用の機種と実行用の機種とが存在するが、両者の差は僅かなものであり、特にハードウェア的な構成にはほとんど差がない。
この実施の形態で適用されるコンピュータ装置は、開発用の機種であっても実行用の機種であっても、CPU101と、メインメモリ102と、入力装置103と、表示装置104と、ハードディスクドライブ(HDD)105と、CD−ROM/DVDドライブ106とを備えている。実行用の機種においては、HDD105に作成を終了した実行用プログラム111だけが格納されているが、開発用の機種においては、HDD105に開発支援ツール112も格納されている。開発用の機種におけるCD−ROM/DVDドライブ106は、CD−ROMやDVD−ROM等の記録媒体121に対してデータの読み書きが可能であるが、実行用の機種においては、読み取り専用であってもよい。
CPU101は、HDD105に記憶された実行用プログラム111または開発支援ツール112を処理プログラムとしてメインメモリ102に転送させ、メインメモリ102に転送されたプログラムを実行する。メインメモリ102は、HDD105から転送された処理プログラムの記憶領域として用いられる他、CPU101が処理プログラムを実行する際のデータの一時記憶領域(ワークエリア)として用いられる。
入力装置103は、実行用プログラム111の開発者または使用者からの指示をCPU101に入力する。入力装置103は、開発用の機種においても実行用の機種においても、上下左右の方向を入力するするための4つの方向キーと、確定入力するための確定キーと、順送りキー及び逆送りキーとを備えている。通常のキーボードを入力装置103として適用する場合、確定キーとしてはリターンキーを、順送りキーとしてはTABキーを、逆送りキーとしてはSHIFT+TABキーを割り当てることができる。開発用の機種においては、入力装置103としてマウスも備えている。
表示装置104は、CPU101の制御に応じて、実行用プログラム111におけるメニュー画面200などを表示する。開発用の機種における表示装置104は、開発途上のメニュー画面200を表示することもできる。HDD105は、実行用プログラム111及び開発支援ツール112の記憶領域である。開発用の機種では、CD−ROM/DVDドライブ106により記録媒体121から開発支援ツール112が読み取られて、HDD105に格納される。実行用プログラム111は、CPU101が開発支援ツール112を実行することにより作成されて、HDD105に記憶される。
開発用の機種において作成されてHDD105に記憶されている実行用プログラム111は、CD−ROM/DVDドライブ106により記録媒体121に書き込まれ、実行用の機種で実行可能な実行用プログラム111として提供される。実行用の機種では、CD−ROM/DVDドライブ106により記録媒体121から実行用プログラム111が読み取られて、HDD105に格納される。
図2は、実行用プログラム111の実行時に表示装置104に表示されるメニュー画面を示す図である。メニュー画面200の表示であるかどうかに関わらず、表示装置104上における位置は、2次元直交座標系のX座標及びY座標で示される。表示装置104の左上の画素の座標が(0,0)であり、他の画素についても1画素分が1つの座標に対応する。また、左右方向がX軸方向であり、右方向がXの正方向、左方向がXの負方向である。上下方向がY軸方向であり、下方向がYの正方向、上方向がYの負方向である。
また、図2に示すように、メニュー画面200においては、互いに異なる処理が割り付けられた複数のボタン201〜209が表示され、ボタン201〜209の位置は、任意の位置に設定することができ、図2に示すように不規則な状態で並べられたものとすることができる。ボタン201〜209のサイズも任意である。また、ボタン201〜209の何れかに、三角形形状の選択ポインタとしてのアンカー(カーソル)210が付加されるものとなる。ボタン201〜209に対してアンカー210の付加される位置は、三角形の右側の頂点を基準とし、これがボタン201〜209の左側の辺の中央に位置するように定めるものとする。
アンカー210の位置は、入力装置103の上下左右の方向キー、順送りキーまたは逆送りキーの操作によりボタン201〜209の間で移動させることができる。順送りキーの操作では、左から右、上から下の順でアンカー210が移動され、逆送りキーの操作では、右から左、下から上の順でアンカー210が移動される。つまり、ボタン201〜209の順番は、その表示位置に応じて定められることとなる。
上下左右の方向キーの操作では、現時点アンカー210の位置するボタンについて定められている上下左右のリンク(後述)に従って、アンカー210の位置が移動する。確定キーが操作されると、メニュー画面200からアンカー210の位置するボタンに割り付けられた処理にジャンプするものとなる。なお、メニュー画面200は、ユーザの所望する処理を選択して実行するための入口の画面であり、例えば、実行用プログラム111がゲームのプログラムであれば、ワールドマップに対応させることができ、ここではワールドマップから選択される街が、各ボタンに対応する。
図3は、図2のメニュー画面200に表示される各ボタンについてのボタンデータを示す図である。このボタンデータ300は、メニュー画面200に表示されるボタン201〜209のそれぞれについて用意されて実行用プログラム111に含まれるデータとなる。図示するように、ボタンデータ300は、ボタンID301と、ボタン名302と、処理リンク303と、左上位置304と、ボタンサイズ305と、右リンク306と、左リンク307と、上リンク308と、下リンク309と、アンカー表示フラグ310とを含んでいる。
ボタンID301は、ボタン201〜209を一意に識別するための識別情報である。ボタン名302は、ボタン201〜209のそれぞれの名前であり、ここに記された名前が表示装置104においてボタン内の領域に表示される。処理リンク303は、当該ボタンにアンカー210が付加されているときに入力装置103の確定キーの入力があった場合に、メニュー画面200から移行される処理へのリンクを、当該処理の処理名で示すものである。メニュー画面200に新たなボタンを付加するときには、ボタン名302及び処理リンク303の入力は必須となり、その入力があると、新たなボタンに対してボタンID301が自動的に付与される。つまり、ボタンデータ300においてボタンID301、ボタン名302及び処理リンク303が設定されていないボタンは存在しない。
左上位置304は、当該ボタンが表示装置104に表示される際の左上位置のX座標及びY座標である。ボタンサイズ305は、当該ボタンのX方向の長さとY方向の長さとを示す。ボタン201〜209のいずれも同じ大きさであると予め定められているのであれば、ボタン201〜209に共通したボタンサイズを実行用プログラム111に含まれるデータとして登録しておくことで、ボタン毎のボタンデータ300にボタンサイズ305を含まないものとすることができる。
各ボタンは、左上位置304を左上の頂点として、ボタンサイズ305で定められる長方形の領域を表示装置104上において占めるものとなる。ボタン201〜209のそれぞれに対応したアンカー210の位置は、左上位置304及びY方向のボタンサイズ305により定めることができる。また、ボタンの順序は、左上位置304の座標に応じて定められるものであり、Y座標が小さいほど順序が小さく、Y座標が同じであればX座標が小さいほど順序が小さい。
右リンク306は、当該ボタンにアンカーが付加されているときに入力装置103の右方向キーの入力があった場合に、アンカーが移動される他のボタンへのリンクを、移動先のボタンのボタンIDで示すものである。同様に、左リンク307、上リンク308、下リンク309は、それぞれ左方向キー、上方向キー、下方向キーの入力があった場合に、アンカーが移動される他のボタンへのリンクを、移動先のボタンのボタンIDで示す。アンカー表示フラグ310は、当該ボタンにアンカー210が付加されているときにセットされるフラグである。
図3のボタンデータ300に示す右リンク306、左リンク307、上リンク308及び下リンク309は、実行用の機種で実行される実行用プログラム111においては既に設定済みとなっているが、開発途上の実行用プログラム111において最初から設定されている訳ではない。開発途上の実行用プログラム111においてボタン201〜209の左上位置304とボタンサイズ305とが定められると、開発支援ツール112により、各ボタンの右リンク306、左リンク307、上リンク308及び下リンク309が自動的に定められて、実行用プログラム111が生成されることとなる。各ボタンの右リンク306、左リンク307、上リンク308及び下リンク309の自動設定については後述する。
もっとも、ボタン201〜209の位置と大きさの関係によっては、実行用プログラム111においても、右リンク306、左リンク307、上リンク308及び下リンク309のいずれか3つまでが設定されていないボタンもあり得る。右リンク306、左リンク307、上リンク308及び下リンク309の全てが設定されていないボタンはあり得ない。右リンク306、左リンク307、上リンク308及び下リンク309の自動設定によっては、入力装置103の方向キーの操作によってはアンカーが移動してこないボタンも発生し得るが、その場合の対策については後述する。
また、全部または一部のボタンについての右リンク306、左リンク307、上リンク308及び下リンク309を、自動設定に先だって入力装置103の操作により手動で設定することもできる。先に手動設定されている場合には、改めて右リンク306、左リンク307、上リンク308及び下リンク309が自動設定されることはない。また、各ボタンの右リンク306、左リンク307、上リンク308及び下リンク309が自動設定された後に、入力装置103の操作により手動で設定をやり直すこともできる。
次に、入力装置103の方向キーの操作によってはアンカーが移動してこないボタンの発生に対する対策について説明する。方向キーの操作によってアンカーが移動してこないボタンというのは、他のボタンの右リンク306、左リンク307、上リンク308及び下リンク309のいずれでも、リンク先として定められていないボタンである。従って、全てのボタンが他のボタンの右リンク306、左リンク307、上リンク308及び下リンク309のいずれかでリンク先として定められれば、方向キーの操作によってアンカーが移動してこないボタンがなくなることとなる。
このため、開発支援ツール112では、各ボタンの右リンク306、左リンク307、上リンク308及び下リンク309を自動設定する際に、図4に示す被リンク数テーブルをメインメモリ102に用意するものとなる。図示するように、被リンク数テーブル400は、全てのボタンについてのボタンID401と、被リンク数402とを対応付けて登録するものとなる。被リンク数402は、自動設定に先立つ手動設定の際、或いは自動設定において各ボタンの右リンク306、左リンク307、上リンク308或いは下リンク309が設定されると、設定されたリンク先のボタンIDに対応するものが1ずつ加算されることとなる。
全てのボタンについての右リンク306、左リンク307、上リンク308及び下リンク309の自動設定が終了した後に、被リンク数402が0となっているボタンがあれば、当該ボタンが他の何れかのボタンの右リンク306、左リンク307、上リンク308または下リンク309でリンクされるように、リンク先の再設定がされることとなる。もっとも、自動設定終了時にリンクされていないボタンをリンク先として設定することができるのは、リンク先のボタンの被リンク数402が2以上となっているボタンに限られる。なお、リンク先の再設定についても詳細を後述する。
次に、各ボタンの右リンク306、左リンク307、上リンク308及び下リンク309の自動設定について詳細に説明する。図5は、各ボタンの右リンク306、左リンク307、上リンク308及び下リンク309を自動設定する手法を模式的に示す図である。ここでは、説明を簡単にするため、図5に示すようにメニュー画面200においてボタンA501、ボタンB502、ボタンC503、ボタンD504の4つだけが存在し、ここでボタンA501の下リンク309を設定する場合を例として説明する。
この場合、まず、ボタンA501の基準位置として、ボタンA501に対してアンカー500が付加されることとなる位置、すなわち左側の辺の中央位置が定められる。このボタンA501の基準位置における座標を(Xa,Ya)とする。ボタンA501の基準位置(Xa,Ya)に対して、ボタンD504は下側に位置する範囲がない、すなわちいずれの範囲においてもY座標がYaよりも大きくならないので、ボタンA501の下リンク309として設定される対象から除かれる。
ボタンB502及びボタンC503は、ボタンA501の基準位置(Xa,Ya)よりも下側に位置する範囲があるので、ボタンA501の下リンク309として設定され得ることとなる。ここで、ボタンB502については、ボタンA501の基準位置(Xa,Ya)から最短距離にある点の位置(Xb,Yb)が求められ、ボタンC503についても、ボタンA501の基準位置(Xa,Ya)から最短距離にある点の位置(Xc,Yc)が求められる(ここでは、Xc=Xa)。
次に、ボタンB502、ボタンC503のそれぞれについて、ボタンA501からの位置関係のスコアが算出される。ここで、ボタンB502の位置関係のスコアは、ボタンA501の基準位置(Xa,Ya)とボタンBの最短距離にある点の位置(Xb,Yb)とにより、3(Xb−Xa)^2+(Yb−Ya)^2と求められる(^は、べき乗を表す)。ボタンC503の位置関係のスコアは、ボタンA501の基準位置(Xa,Ya)とボタンBの最短距離にある点の位置(Xc,Yc)とにより、3(Xc−Xa)^2+(Yc−Ya)^2と求められる。
ここで、ボタンB502の最短距離にある点の位置(Xb,Yb)の方が、ボタンA501の基準位置(Xa,Ya)からのY座標の差も、 ボタンA501の基準位置(Xa,Ya)からの距離も小さい。しかし、位置関係のスコアは、ボタンC503の方がボタンB502よりも小さいこととなる。そこで、ボタンA501の下リンク309は、ボタンC503に設定されることとなる。
なお、右リンク306、左リンク307または上リンク308も、上記と同様に位置関係のスコアによって定められることとなるが、下リンク309を設定する場合とは次のような違いがある。ここで、右リンク306、左リンク307または上リンク308を設定しようとするボタンの基準位置を(Xs,Ys)、この基準位置(Xs,Ys)から最短距離にある他のボタンの点の位置を(Xo,Yo)とすると、位置関係のスコアの一般式は、右リンク306または左リンク307を設定する場合は数式2に、上リンク308及び下リンク309を設定する場合には数式3となる。
(数2)
(Xo−Xs)^2+3(Yo−Ys)^2
(数3)
3(Xo−Xs)^2+(Yo−Ys)^2
また、基準位置(Xs,Ys)よりもX座標の大きな位置を範囲として含まない他のボタンは、右リンク306として設定される対象から除かれ、基準位置(Xs,Ys)よりもX座標の小さな位置を範囲として含まない他のボタンは、左リンク307として設定される対象から除かれ、基準位置(Xs,Ys)よりもY座標の小さな位置を範囲として含まない他のボタンは、上リンク308として設定される対象から除かれる。
このように右リンク306、左リンク307、上リンク308及び下リンク309は、リンク元のボタンについてアンカーの付される基準位置と、リンク先の候補としたボタンで該基準位置から最短距離にある点の位置に従って求められる。従って、図2に示したボタンG207をリンク元として上リンク308を設定しようとする場合、リンク先についてもアンカーの付される位置に基づいてスコアを算出すればボタンC203やボタンD204の方がボタンF206よりもスコアが小さくなるが、最短距離にある点の位置に基づいてスコアを算出すると、ボタンF206の方がボタンC203やボタンD204よりもスコアが小さくなる。このため、ボタンG207の上リンク308は、ボタンF206に設定されることとなる。
次に、何れのボタンの何れの方向からもリンクされていないボタンが生じた場合のリンク先の再設定について説明する。被リンク数テーブル400において被リンク数402が0となっているボタンがあった場合、そのボタンを参照元のボタンと、他のボタンを参照先のボタンとして処理を行う。参照先のボタンについて、右リンク306、左リンク307、上リンク308及び下リンク309の何れかにおいてリンク先としているボタンの被リンク数402が2以上であれば、そのような参照先のボタンの当該方向のリンクがリンク先を変更可能なものとして抽出される(この方向のリンクを変更可能リンクという)。
次に、参照先のボタンのアンカー位置により定められる基準位置に応じて参照先のボタンへの変更可能リンクとなっている方向に対しての位置関係のスコアが、右リンク306、左リンク307、上リンク308及び下リンク309を自動設定した場合と同じようにして求められる。変更可能リンクが複数あった場合には、それぞれについて位置関係のスコアが求められ、その位置関係のスコアが最低の変更可能リンクが、実際にリンク先を変更されるものとして選ばれる。そして、選ばれた変更可能リンクにおけるリンク先を参照元のボタンを示すものに書き換えるものとなる。
以下、この実施の形態にかかるコンピュータ装置において実行される処理について説明する。この実施の形態における処理としては、開発用の機種において開発支援ツール112の実行により実行用の機種で実行可能な実行用プログラム111を作成するための処理と、実行用の機種において作成の完了した実行用プログラム111を実行する処理とがある(但し、実行用プログラム111の実行は、開発用の機種においても可能である)。
まず、開発用の機種における処理について説明する。開発用の機種においては、最初、HDD105に開発支援ツール112が格納されている。この開発支援ツール112を実行して、実行用プログラム111を作成していく。作成中及び作成を完了した実行用プログラム111がHDD105に格納されていくこととなる。実行用プログラムの作成で本発明に関わるのは、メニュー画面200に表示される各ボタンについての右リンク306、左リンク307、上リンク308及び下リンク309の設定なので、それまでに必要なボタンの指定とボタンに対応付けられた処理の指定(すなわち、ボタンデータ300へのボタンID301、ボタン名302及び処理リンク303の設定)は、完了しているものとする。以下では、この状態で、メニュー画面の設定を行う場合について説明する。
図6は、メニュー設定処理を示すフローチャートである。メニュー設定処理が開始すると、CPU101は、HDD105に格納されている開発途上の実行用プログラム111に含まれるボタンデータ300に、左上位置304及びボタンサイズ305が設定されていないボタンが含まれているかどうかを判定する(ステップS101)。左上位置304及びボタンサイズ305が設定されていないボタンがなければ、そのままステップS103の処理に進む。
左上位置304及びボタンサイズ305が設定されていないボタンがあれば、CPU101は、他のボタンの左上位置304及びボタンサイズ305を参照して、メニュー画面200において他のボタンと重なって表示されないように、当該ボタンの左上位置304及びボタンサイズ305を設定する。ボタンサイズ305は、通常デフォルトのサイズに設定され、デフォルトのサイズではメニュー画面200に空いている領域がないときには、これより小さいサイズに設定される(ステップS102)。そして、ステップS103の処理に進む。ステップS103では、CPU101は、各ボタンのボタンデータ300におけるボタン名302、左上位置304及びボタンサイズ305に従って、全てのボタンを表示装置104に表示させる。
次に、CPU101は、全てのボタンについて右リンク306、左リンク307、上リンク308及び下リンク309が設定されているかどうかを判定する(ステップS104)。右リンク306、左リンク307、上リンク308及び下リンク309の設定されていないボタンがあれば、ステップS109の処理に進む。
右リンク306、左リンク307、上リンク308及び下リンク309の設定されていないボタンがなければ、CPU101は、入力装置103からメニュー設定を終了する旨の入力があったかどうかを判定する(ステップS105)。メニュー設定を終了する旨の入力がなければ、CPU101は、入力装置103から何れかのボタンの位置を移動する旨の入力があったかどうかを判定する(ステップS106)。ボタンの位置を移動する旨の入力もなければ、ステップS105の処理に戻る。
ボタンの位置を移動する旨の入力があれば、CPU101は、当該入力に従ってボタンの位置を移動させ、表示装置104に表示させる(ステップS107)。そして、ボタンの位置を移動する旨の入力が終了したかどうかを判定する(ステップS108)。ボタンの位置を移動する旨の入力が終了していなければ、ステップS106の処理に戻る。ボタンの位置を移動する旨の入力が終了していれば、ステップS109の処理に進む。
ステップS109では、CPU101は、詳細を後述するリンク先設定処理を行い、各ボタンに対して右リンク306、左リンク307、上リンク308及び下リンク309を設定する。リンク先設定処理を終了すると、ステップS105の処理に戻る。ステップS105において、メニュー設定を終了する旨の入力があった場合には、メニュー設定処理を終了する。
図7は、ステップS109のリンク先設定処理を詳細に示すフローチャートである。リンク先設定処理では、CPU101は、全てのボタンのボタンデータ300についての右リンク306、左リンク307、上リンク308及び下リンク309をクリアする。ここで、右リンク306、左リンク307、上リンク308及び下リンク309をクリアするとは、リンク先とすべき他のボタンがない旨を示す所定のデータを登録することである。CPU101は、また、被リンク数テーブル400における全てのボタンについての被リンク数を0にクリアする(ステップS201)。
次に、CPU101は、何れかのボタンについて右リンク306、左リンク307、上リンク308または下リンク309を手動で設定する旨の指示が入力装置103から入力されたかどうかを判定する(ステップS202)。右リンク306、左リンク307、上リンク308または下リンク309を手動で入力する旨の指示が入力されなければ、ステップS205の処理に進む。
右リンク306、左リンク307、上リンク308または下リンク309を手動で入力する旨の指示が入力されていれば、CPU101は、入力装置103からの入力に従って指定されたボタンの指定された方向についてリンク先となる他のボタンを設定して、指定されたボタンのボタンデータ300に登録する(ステップS203)。その後、CPU101は、リンク先の手動設定を終了する旨の入力があったかどうかを判定する(ステップS204)。リンク先の手動設定を終了する旨の入力がなければ、ステップS203の処理に戻る。リンク先の手動設定を終了する旨の入力があれば、ステップS205の処理に進む。
ステップS205に進むと、CPU101は、処理対象となるリンク元のボタンを1つずつ変えながらループ1処理を行う(ステップS205−S205’)。ループ1処理においては、CPU101は、処理対象となるリンク元を設定する方向を右リンク306、左リンク307、上リンク308及び下リンク309で順次変更しながらループ2処理を行う(ステップS206−S206’)。
ループ2処理においては、CPU101は、処理対象となっているリンク元のボタンの処理対象となっている方向について、リンク先が既に手動で設定されているかどうかを判定する(ステップS207)。リンク先が既に手動で設定されていれば、ステップS217の処理に進む。さらに、CPU101は、メインメモリ102に記憶される記録スコアを最大値に初期化する(ステップS208)。そして、ステップS209の処理に進む。
ステップS209に進むと、CPU101は、処理対象となるリンク先のボタンを1つずつ変えながらループ3処理を行う(ステップS209−S209’)。ループ3処理においては、CPU101は、処理対象となっているリンク元のボタンと処理対象となっているリンク先のボタンとが同一のボタンであるかどうかを判定する(ステップS210)。同一のボタンであれば、ステップS209’の処理に進み、ループ3を抜けるかどうかの判定を行うものとなる。
同一のボタンでなければ、CPU101は、処理対象となっているリンク先のボタンが処理対象となっているリンク元のボタンに対して処理対象となっている方向にあるかどうかを判定する。ここでの判定は、リンク元のボタンについてはアンカーの付される基準位置を、リンク先のボタンについてはボタンの全範囲を基準として行う(ステップS211)。処理対象となっているリンク先のボタンが処理対象となっているリンク元のボタンに対して処理対象となっている方向になければ、ステップS209’の処理に進み、ループ3を抜けるかどうかの判定を行うものとなる。
処理対象となっているリンク先のボタンが処理対象となっているリンク先のボタンが処理対象となっているリンク元のボタンに対して処理対象となっている方向にあれば、CPU101は、所定対象となっているリンク元のボタンにアンカーの付される基準位置から最短距離にある処理対象となっているリンク先のボタン上の点を求める(ステップS212)。
CPU101は、処理対象となっている方向が上下または左右の何れかにより数式2または数式3の演算を行って、所定対象となっているリンク元のボタンに対する所定対象となっているリンク先のボタンの位置関係のスコアを算出する(ステップS213)。CPU101は、算出した位置関係のスコアがメインメモリ102に記憶されている記録スコアよりも小さいかどうかを判定する(ステップS214)。算出した位置関係のスコアが記録スコア以上であれば、ステップS209’の処理に進み、ループ3を抜けるかどうかの判定を行うものとなる。
算出した位置関係のスコアが記録スコアよりも小さければ、CPU101は、算出した位置関係のスコアを新たな記録スコアとしてメインメモリ102に記憶させる(ステップS215)。CPU101は、処理対象となっているリンク元のボタンの処理対象となっている方向についてのリンクに、処理対象となっているリンク先のボタンのボタンIDを設定する。例えば、処理対象となっているリンク元のボタンがボタン201、処理対象となっている方向が右、処理対象となっているリンク先のボタンがボタン202である場合には、ボタン201についてのボタンデータ300に含まれる右リンク306に、ボタン202のボタンIDを登録する(ステップS216)。そして、ステップS209’の処理に進み、ループ3を抜けるかどうかの判定を行うものとなる。
全てのボタンをリンク先のボタンとして処理を終了するとループ3を抜け、CPU101は、処理対象となっているリンク元のボタンの処理対象となっている方向についてのリンクが他のボタンを示していれば、被リンク数テーブル400における当該他のボタンの被リンク数402を1加算する(ステップS217)。そして、ステップS206’の処理に進み、ループ2を抜けるかどうかの判定を行うものとなる。
全ての方向についての処理を終了するとループ2を抜け、ステップS205’でループ1を抜けるかどうかの判定を行うものとなる。全てのボタンをリンク元のボタンとして処理を終了すると、ループ1を抜け、CPU101は、詳細を後述するリンク先再設定処理を行い、被リンク数が0であったボタンに対して何れかのボタンからアンカーが移動してくるようにリンクの再設定を行うリンク先再設定処理を行う(ステップS218)。なお、リンク先再設定処理の詳細については後述する。
リンク先再設定処理を終了すると、CPU101は、何れかのボタンについて右リンク306、左リンク307、上リンク308または下リンク309を手動で設定変更する旨の指示が入力装置103から入力されたかどうかを判定する(ステップS219)。右リンク306、左リンク307、上リンク308または下リンク309を手動で設定変更する旨の指示が入力されなければ、そのままリンク先設定処理を終了して、図6のフローチャートに復帰する。
右リンク306、左リンク307、上リンク308または下リンク309を手動で設定変更する旨の指示が入力されていれば、CPU101は、入力装置103からの入力に従って指定されたボタンの指定された方向についてリンク先となる他のボタンを設定して、指定されたボタンのボタンデータ300に登録する(ステップS220)。その後、CPU101は、リンク先の設定変更を終了する旨の入力があったかどうかを判定する(ステップS221)。リンク先の手動設定を終了する旨の入力がなければ、ステップS220の処理に戻る。リンク先の手動設定を終了する旨の入力があれば、リンク先設定処理を終了して、図6のフローチャートに復帰する。
図8は、ステップS218のリンク先再設定処理を詳細に示すフローチャートである。リンク先再設定処理では、CPU101は、処理対象となる参照元のボタンを1つずつ変えながらループ4処理を行う(ステップS301−S301’)。ループ4処理においては、処理対象となる参照元のボタンについて被リンク数テーブル400に登録されている被リンク数が0であるかどうかを判定する(ステップS302)。被リンク数が0でなければ、ステップS301’の処理に進み、ループ4を抜けるかどうかの判定を行うものとなる。
被リンク数が0であれば、CPU101は、メインメモリ102に記憶される記録スコアを最大値に初期化し(ステップS303)、ステップS304の処理に進む。ステップS304に進むと、CPU101は、参照先のボタンを1つずつ変えながらループ5処理を行う(ステップS304−S304’)。ループ5処理においては、CPU101は、処理対象となっている参照元のボタンと処理対象となっている参照先のボタンとが同一のボタンであるかどうかを判定する(ステップS305)。同一のボタンであれば、ステップS304’の処理に進み、ループ5を抜けるかどうかの判定を行うものとなる。
同一のボタンでなければ、CPU101は、処理対象となる参照先のボタンについてのリンクの方向を右リンク306、左リンク307、上リンク308及び下リンク309で順次変更しながらループ6処理を行う(ステップS306−S306’)。ループ6処理においては、参照先のボタンの処理対象となるリンクが示す他のボタンについて被リンク数テーブル400に登録されている被リンク数が2以上となっているかどうかを判定する(ステップS307)。被リンク数が1以下であれば、ステップS306’の処理に進み、ループ6を抜けるかどうかの判定を行うものとなる。
被リンク数が2以上であれば、CPU101は、処理対象となっている参照元のボタンが処理対象となっている参照先のボタンに対して処理対象となっている方向にあるかどうかを判定する。ここでの判定は、参照先のボタンについてはアンカーの付される基準位置を、参照元のボタンについてはボタンの全範囲を基準として行う(ステップS308)。処理対象となっている参照元のボタンが処理対象となっている参照先のボタンに対して処理対象となっている方向になければ、ステップS306’の処理に進み、ループ3を抜けるかどうかの判定を行うものとなる。
処理対象となっている参照元のボタンが処理対象となっている参照先のボタンに対して処理対象となっている方向にあれば、所定対象となっている参照先のボタンにアンカーの付される基準位置から最短距離にある処理対象となっている参照元のボタン上の点を求める(ステップS309)。
CPU101は、処理対象となっている方向が上下または左右の何れかにより数式2または数式3の演算を行って、所定対象となっている参照先のボタンに対する所定対象となっている参照元のボタンの位置関係のスコアを算出する(ステップS310)。CPU101は、算出した位置関係のスコアがメインメモリ102に記憶されている記録スコアよりも小さいかどうかを判定する(ステップS311)。算出した位置関係のスコアが記録スコア以上であれば、ステップS306’の処理に進み、ループ6を抜けるかどうかの判定を行うものとなる。
算出した位置関係のスコアが記録スコアよりも小さければ、CPU101は、算出した位置関係のスコアを新たな記録スコアとしてメインメモリ102に記憶させる(ステップS312)。CPU101は、処理対象となっている参照先のボタンの処理対象となっている方向をリンク元候補としてメインメモリ102に記憶する。既にリンク元候補が記憶されていた場合には、リンク元候補を更新して記憶する(ステップS313)。そして、ステップS306’の処理に進み、ループ6を抜けるかどうかの判定を行うものとなる。ループ6を抜けると、ステップS304’の処理に進み、さらにループ5を抜けるかどうかの判定を行うものとなる。
ループ5を抜けると、CPU101は、リンク元候補としてメインメモリ102に記憶されているボタンの当該方向のリンクに登録されている他のボタンについて、被リンク数テーブル400に登録されているリンク数を1減少させる(ステップS314)。CPU101は、さらに、リンク元候補としてメインメモリ102に記憶されているボタンの当該方向のリンクに参照元のボタンのボタンIDを登録する。例えば、被リンク数が0であった参照元のボタンがボタン206、リンク候補としてボタン205の左リンクが記憶されていた場合には、ボタン205についてのボタンデータ300の左リンク307にボタン206のボタンIDを登録する(ステップS315)。そして、ステップS301’の処理に進み、ループ4を抜けるかどうかの判定を行うものとなる。ループ4を抜けると、リンク先再設定処理を終了し、図7のフローチャートに復帰する。
以上のようにして、各ボタンの右リンク306、左リンク307、上リンク308及び下リンク309が設定されると、全てのボタンのボタンデータ300が整えられていることとなる。プログラムの他の部分の作成も完了していれば、実行用プログラム111の完成となり、開発用の機種のHDD105に格納された実行用プログラム111をCD−ROM/DVDドライブ106により記録媒体121に書き出すことができる。
記録媒体121に書き込まれた実行用プログラムを実行用の機種のCD−ROM/DVDドライブ106により読み取り、HDD105に格納させると、実行用の機種で当該実行用プログラム111を実行することができる。なお、開発用の機種では、記録媒体121に書き出さなくても、そのまま実行用プログラム111を実行できることとなる。以下、実行用プログラム111の実行による実行用の機種における処理(開発用の機種でも可能な処理)について説明する。ここでは、本発明に関連する処理として、メニュー画面200が表示されているときの処理を説明する。
図9は、実行用の機種においてメニュー画面200が表示装置104に表示される際に行われる処理を示すフローチャートである。メニュー画面200を表示装置104に表示させる際には、CPU101は、ボタン201〜209のうちの先頭位置(すなわち、左上の位置)にあるボタン(図2の例ではボタン201)についてのアンカー表示フラグ310をセットする(ステップS401)。CPU101は、アンカー表示フラグ310のセットされている先頭位置のボタンにアンカー210を付して、ボタン201〜209を表示装置104に表示させる(ステップS402)。
次に、CPU101は、入力装置103から順送りキーの入力があったかどうかを判定する(ステップS403)。順送りキーの入力があった場合には、ボタン201〜209のうちの最終位置(すなわち、右下の位置)にあるボタン(図2の例ではボタン209)のアンカー表示フラグ310がセットされ、当該最終位置のボタンにアンカー210が付されているかどうかを判定する(ステップS404)。
最終位置のボタンにアンカー210が付されているのでなければ、CPU101は、現在アンカー210の付されているボタンの次の位置にあるボタン(図2の例でボタン201にアンカーが付されていればボタン202)のアンカー表示フラグ310をセットし、これまでアンカー210の付されていたボタンのアンカー表示フラグ310をリセットする(ステップS405)。そして、ステップS407の処理に進む。
最終位置のボタンにアンカー210が付されていれば、CPU101は、先頭位置のボタンのアンカー表示フラグ310をセットし、これまでアンカー210の付されていた最終位置のボタンのアンカー表示フラグ310をリセットする(ステップS406)。そして、ステップS407の処理に進む。ステップS407では、CPU101は、新たにアンカー表示フラグ310のセットされたボタンにアンカー210を移動させて、ボタン201〜209を表示装置104に表示させる。そして、ステップS403の処理に戻る。
ステップS403で順送りキーの入力がなければ、CPU101は、入力装置103から逆送りキーの入力があったかどうかを判定する(ステップS408)。逆送りキーの入力があった場合には、ボタン201〜209のうちの先頭位置にあるボタンのアンカー表示フラグ310がセットされ、当該先頭位置のボタンにアンカー210が付されているかどうかを判定する(ステップS409)。
先頭位置のボタンにアンカー210が付されているのでなければ、CPU101は、現在アンカー210の付されているボタンの前の位置にあるボタン(図2の例でボタン202にアンカーが付されていればボタン201)のアンカー表示フラグ310をセットし、これまでアンカー210の付されていたボタンのアンカー表示フラグ310をリセットする(ステップS410)。そして、ステップS412の処理に進む。
先頭位置のボタンにアンカー210が付されていれば、CPU101は、最終位置のボタンのアンカー表示フラグ310をセットし、これまでアンカー210の付されていた先頭位置のボタンのアンカー表示フラグ310をリセットする(ステップS411)。そして、ステップS412の処理に進む。ステップS412では、CPU101は、新たにアンカー表示フラグ310のセットされたボタンにアンカー210を移動させて、ボタン201〜209を表示装置104に表示させる。そして、ステップS403の処理に戻る。
ステップS408で逆送りキーの入力もなければ、CPU101は、入力装置103から上下左右の何れかの方向キーの入力があったかどうかを判定する(ステップS413)。何れかの方向キーの入力があった場合には、CPU101は、アンカー表示フラグ310がセット、すなわち現時点でアンカー210の付されているボタンの入力された方向のリンクを参照する。例えば、現時点でボタン201にアンカー210が付されており、下方向キーが入力されたのであれば、ボタン201についてのボタンデータ300の下方向リンク309を参照する(ステップS414)。
CPU101は、ここでリンクを参照した結果として、当該ボタンの当該方向のリンクに他のボタンのボタンIDが登録されているかどうかを判定する(ステップS415)。当該ボタンの当該方向のリンクに他のボタンのボタンIDが登録されていなければ、そのままステップS403の処理に戻る。すなわち、アンカー210の位置を移動させることなく、メニュー画面200の表示をそのまま継続することとなる。
当該ボタンの当該方向のリンクに他のボタンのボタンIDが登録されていれば、CPU101は、登録されてるボタンID301に対応するアンカー表示フラグ310をセットし、これまでアンカー210の付されていたボタンのアンカー表示フラグ310をリセットする(ステップS416)。CPU101は、新たにアンカー表示フラグ310のセットされたボタンにアンカー210を移動させて、ボタン201〜209を表示装置104に表示させる(ステップS417)。そして、ステップS403の処理に戻る。
ステップS413で何れの方向キーの入力もなかった場合には、CPU101は、入力装置103から確定キーの入力があったかどうかを判定する(ステップS418)。確定キーの入力もなければ、そのままステップS403の処理に戻る。確定キーの入力があった場合には、CPU101は、図9のフローチャートの処理から、アンカー210の付されているボタン、すなわちアンカー表示フラグ310のセットされているボタンについての処理リンク303で示されている処理に制御を移すものとなる。
以上説明したように、この実施の形態では、実行用の機種においてメニュー画面200を表示した状態で入力装置103の上下左右の方向キーを入力した場合のアンカー210の移動先は、ボタン毎にボタンデータ300の右リンク306、左リンク307、上リンク308及び下リンク309として記憶されている。そして、例えば、ボタン201にアンカー210が位置する状態で右方向キーの入力があった場合には、ボタン201の右リンク306に他のボタンのボタンIDが登録されていれば、当該他のボタンにアンカー210が移動するものとなる。このため、メニュー画面200におけるボタンの配置が規則的なものでなかったとしても、ボタン間でアンカー210の位置を移動させることができる。
ここで、各ボタンのボタンデータ300に登録されている右リンク306、左リンク307、上リンク308及び下リンク309は、開発用の機種において実行用プログラム111を作成する際において、ボタン毎、方向毎に他のボタンに対する位置関係のスコアを算出して、この位置関係のスコアに応じて自動的に設定されるものとなっている。このため、各ボタンについての右リンク306、左リンク307、上リンク308及び下リンク309の設定について、開発者は、手作業での煩わしい検証を行わなくても済む。
また、位置関係のスコアは、これが小さい他のボタンほど右リンク306、左リンク307、上リンク308及び下リンク309として設定されやすいものとなっているが、右リンク306及び左リンク307を求める際はY方向の成分がX方向の成分の3倍に評価され、上リンク308及び下リンク309を求める際はX方向の成分がY方向の成分の3倍に評価される。このように位置関係のスコアを求める際に重み付けを行うことで、ある程度は遠くてもなるべく入力された方向に近い方向にあるボタンにアンカー210が移動されるが、方向が近くても遠すぎるボタンにはアンカー210が移動されないというように、可能な限りユーザの意図を反映してアンカー210が移動されるようにすることができる。
また、位置関係のスコアを求める式は、数式2、数式3に示したように、リンク元のボタンについてアンカー210の付される基準位置と、リンク先の他のボタンでこの基準位置から最短距離となる点の距離を求める式に重みを付けただけのものであるので、比較的簡単な計算で位置関係のスコアを算出することができる。また、リンク先の他のボタンについて最短距離となる点で位置関係のスコアを算出するので、複数のボタンの形状(ここでは、縦横比)や大きさが区々であったとしても、適切な位置関係のスコアを算出することができる。リンク元のボタンについてはアンカー210の付される位置を基準位置としているので、アンカー210の位置から考えて最も適切な位置にあるボタンにアンカー210が移動されるようにすることができる。
また、各ボタンの右リンク306、左リンク307、上リンク308及び下リンク309は、位置関係のスコアに応じて自動的に設定することが可能であるが、予め特定のボタンの特定の方向についてのリンク先を手動で設定することができるようになっている。各ボタンの右リンク306、左リンク307、上リンク308及び下リンク309のうちで自動設定されるのは、予め手動設定のされなかったものである。このため、例えば、特定のボタンについて位置関係としてはより適切な他のボタンがあったとしても、当該ボタンの処理の関連性としてリンク先に設定するのに適切なボタンがあれば、優先的に右リンク306、左リンク307、上リンク308及び下リンク309の設定を行うことで、ユーザが処理を選択しやすいメニュー画面200を生成することができるようになる。
ところで、各ボタンの右リンク306、左リンク307、上リンク308及び下リンク309を位置関係のスコアに応じて自動設定する場合には、入力装置103の方向キーの入力によっては何れのボタンからもアンカー210が移動してこないこととなるボタンが発生し得る。ここで、開発支援ツール112においては、被リンク数テーブル400が用意され、被リンク数402が0となっているボタンがあれば、何れかのボタンの何れかの方向でアンカー210が移動してくるようにリンク先再設定処理を行っている。このため、アンカー210の移動してこないボタンがなくなるように、容易にリンク先の修正を行うことができる。
しかも、リンク先再設定処理においては、被リンク数402が0であったボタンを参照元、他のボタンの各方向を参照先として位置関係のスコアを算出し、この位置関係のスコアに応じて被リンク数が0であったボタンをリンク先とする修正を行うようにしている。このため、最初の自動設定で被リンク数が0であったボタンに対しても、適切な方向性でアンカー210が移動してくるようにすることができる。また、被リンク数が0であったボタンをリンク先とするように修正できるのは、最初の自動設定でリンク先としたボタンの被リンク数402が2以上であったものに限られている。このため、リンク先の修正を行うことで、新たに被リンク数が0となるボタンを発生させるといった問題を生じさせることがない。
さらに、リンク先再設定処理を終了した後には、特定のボタンの特定の方向についてのリンク先を手動で設定変更することができるようになっている。このため、例えば、特定のボタンについて位置関係としてはより適切な他のボタンがリンク先として設定されたとしても、当該ボタンの処理の関連性としてリンク先に設定するのに適切な他のボタンがあれば、右リンク306、左リンク307、上リンク308及び下リンク309の設定を変更することで、ユーザが処理を選択しやすいメニュー画面200を生成することができるようになる。
また、実行用プログラム111の開発途上においては、メニュー画面200における各ボタンの位置を任意に変更することが可能であるが、ボタンの位置が変更されれば、新たなボタンの位置で各ボタンについての位置関係のスコアが算出され、各ボタンの右リンク306、左リンク307、上リンク308及び下リンク309を設定するものとしている。このため、ボタンの位置に応じて常に適切な状態で各ボタンの右リンク306、左リンク307、上リンク308及び下リンク309が設定されるものとなる。
[第2の実施の形態]
上記の第1の実施の形態では、プログラムの開発時においてメニュー画面200に表示される各ボタンの右リンク306、左リンク307、上リンク308及び下リンク309を設定する場合について説明した。これは、メニュー画面200に表示される各ボタンに対応付けられた処理が、実行用の機種のユーザによっていつでも選択可能であることを前提としたものである。
もっとも、プログラムによっては処理の進行状況に応じて必ずしも全てのボタンに対応付けられた処理をユーザが選択できるとは限らないものがある。ユーザが選択できない処理に対応したボタンにアンカーが移動されると、ユーザが当該処理を選択できるかどうかを迷ってしまう場合がある。そこで、この実施の形態では、メニュー画面200が表示されるときに、ユーザが有効に選択できるボタンの間でのみアンカーが移動できるようにしたものを説明する。
この実施の形態では、メニュー画面200に表示される各ボタンの右リンク306、左リンク307、上リンク308及び下リンク309は、開発時に予めなされるのではなく、実行時に実行用プログラム111によりなされるものとなる。但し、各ボタンについてのメニュー画面200上における表示位置やサイズは、記録媒体121に格納されて実行用プログラム111として提供されるまでに開発時において予め設定されているものとする。図4に示した被リンク数テーブル400は、ここでは実行用プログラム111により生成されて、メインメモリ102に記憶される。
図10は、この実施の形態においてメニュー画面200に表示される各ボタンのボタンデータを示す図である。このボタンデータ300’には、ボタンID301、ボタン名302、処理リンク303、左上位置304、ボタンサイズ305、右リンク306、左リンク307、上リンク308、下リンク309、及びアンカー表示フラグ310に加えて、ボタン有効フラグ320が含まれている。
ボタンID301、ボタン名302、処理リンク303、左上位置304、及びボタンサイズ305は、第1の実施の形態におけるものと同じで、開発時において予め設定されて、ボタンデータ300として設定されている。右リンク306、左リンク307、上リンク308、下リンク309、及びアンカー表示フラグ310は、メニュー画面200の表示の際に設定される。ボタン有効フラグ320は、当該ボタンに対応付けられた処理が選択可能な状態でセットされ、当該ボタンに対応付けられた処理が選択不能な状態でリセットされるフラグである。
以下、この実施の形態における処理について説明する。この実施の形態においても、本発明に関わるのは、メニュー画面200を表示装置104に表示させる際の処理と、メニュー画面200に表示される各ボタンを有効(対応する処理を選択可能)としたり、無効(対応する処理を選択不能)とする処理である。以下では、これらの処理のみを説明するものとする。
図11は、この実施の形態においてメニュー画面200が表示装置104に表示される際に行われる処理を示すフローチャートである。CPU101は、ボタン有効フラグ320がセットされてるボタンの中で先頭位置にあるボタンについて、そのアンカー表示フラグ310をセットする(ステップS501)。次に、CPU101は、リンク先設定処理を行って、有効なボタンのみを対象として、右リンク306、左リンク307、上リンク308及び下リンク309を設定するリンク先設定処理を行う(ステップS502)。
ステップS502のリンク先設定処理は、図7に示したリンク設定処理とほぼ同じであるが、リンク先の手動設定(ステップS202〜S204、及びS219〜S221)がない点で、図7に示したリンク先設定処理と異なる。また、ループ1で順次処理対象とされるリンク元のボタンは、ボタン有効フラグ320がセットされているボタンに限られ、ループ3で順次処理対象とされるリンク先のボタンも、ボタン有効フラグ320がセットされているボタンに限られる。さらに、リンク先設定処理においてリンク先再設定処理を行う場合にも、ループ4で順次処理対象とされる参照元のボタンも、ボタン有効フラグ320がセットされているボタンに限られ、ループ5で順次処理対象となる参照先のボタンも、ボタン有効フラグ320がセットされているボタンに限られる。
リンク先設定処理が終了し、ボタン有効フラグ320がセットされている各ボタンについて右リンク306、左リンク307、上リンク308及び下リンク309が設定されると、CPU101は、アンカー表示フラグ310のセットされているボタンにアンカー210を付して、ボタン201〜209を表示装置104に表示させる。但し、ここでは、ボタン有効フラグ320がセットされているボタンは明表示、ボタン有効フラグ320のリセットされているボタンは暗表示して、各ボタンを表示させる(ステップS503)。
表示装置104にメニュー画面200が表示されると、CPU101は、図9のステップS403〜S418と同様の処理を行うものとなる(ステップS504)。但し、順送りキーの入力があった場合には、ボタン有効フラグ320がセットされているボタンのみを対象として表示位置に応じた順番でアンカー表示フラグ310をセットし、アンカー210を移動させる。また、逆送りキーの入力があった場合も、ボタン有効フラグ320がセットされているボタンのみを対象として表示位置に応じて逆順でアンカー表示フラグ310をセットし、アンカー210を移動させる。
図12は、この実施の形態において、メニュー画面のボタンから選択されて実行される処理の例を示すフローチャートである。ここでは、処理Bに対応したボタンを有効なものとする処理を含む処理Aを例として説明する。CPU101は、処理Aの実行状態に応じた処理を順次行う(ステップS601)。ここで行った処理により、処理Bに対応したボタンを有効なものとする特定のイベントが発生したかどうかを、CPU101が判定する(ステップS602)。特定のイベントが発生していなければ、ステップS601の処理に戻る。
特定のイベントが発生した場合には、CPU101は、処理Bに対応するボタンのボタン有効フラグ320をセットする(ステップS603)。その後、CPU101は、処理Bに対応するボタンのボタン有効フラグ320をセットした後の処理として定められた所定の事後処理を行う。この事後処理は、処理Aを終了させるものであってもよい(ステップS604)。
なお、ボタン有効フラグ320をリセットする場合の処理も、図12と同様の処理により行うことができる。例えば、処理Dに対応したボタンを無効なものとする処理を含む処理Cでは、特定のイベントが発生すると、処理Dに対応するボタンのボタン有効フラグ320をリセットするものとすることができる。同一の処理に対応するボタン有効フラグ320が、他の処理においてセットされ、さらに他の処理においてリセットされるものとしてもよい。
以上説明したように、この実施の形態では、各ボタンの右リンク306、左リンク307、上リンク308及び下リンク309は、開発時において予め設定されてボタンテーブル300に登録されているものではなく、実行用プログラム111によりメニュー画面200を表示装置104に表示させるときに、ボタン間の位置関係のスコアに応じて設定されるようになっている。各ボタンは、ボタン有効フラグ320のセット/リセットにより対応する処理を選択できたりできなかったりするものである。
ここでは、メニュー画面200を表示させる度に各ボタンの右リンク306、左リンク307、上リンク308及び下リンク309を設定するので、処理を選択できるボタンが変化しても、適切なリンクを設定することができる。また、右リンク306、左リンク307、上リンク308及び下リンク309の設定対象となるボタンは、リンク元についてもリンク先についてもボタン有効フラグ320がセットされているものだけである。このため、ユーザは、メニュー画面200において処理を選択できるボタンの間でアンカー210を移動させて、所望のボタンに応じた処理を選択できるようになる。さらに、メニュー画面200において、ボタン有効フラグ320がセットされているか否かに応じてボタンの表示態様が異なっている。このため、ユーザは、どのボタンに対応した処理が選択可能となっているのかが容易に分かるようになる。
また、この実施の形態では、実行用プログラム111により被リンク数テーブル400を生成するものとなり、図8に示したリンク先再設定処理と同様の処理も行うことができるので、メニュー画面200を生成する際に各ボタンの右リンク306、左リンク307、上リンク308及び下リンク309を設定しても、方向キーの入力によってアンカー210が移動してこなくなるボタンが発生するのを防ぐことができる。
[第1、第2の実施の形態の変形例]
本発明は、上記の第1、第2の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形態様について説明する。
上記の第1、第2の実施の形態では、メニュー画面200に表示されるボタンの形状は、長方形形状に統一されているものとしていた。しかしながら、ボタンの形状は、これに限るものではなく、円形、楕円形や長方形以外の多角形など、任意の形状とすることができる。例えば、円形状のボタンを適用する場合には、左上位置304に代えてボタンの中心位置を、ボタンサイズに代えてボタンの大きさの半径を、ボタンデータ300として記憶させておけばよい。また、ボタン毎に異なる形状であってもよい。
上記の第1、第2の実施の形態では、リンク元であるアンカー210の位置するボタンからリンク先となる他のボタンへの位置関係のスコアは、リンク元のボタンではアンカー210の位置に応じた基準位置を、リンク先のボタンでは当該基準位置から最短距離にある点の位置を対象として、求められるものとしていた。しかしながら、ボタンとボタンとの位置関係のスコアを求める際の対象となる互いのボタンの位置はこれに限るものではない。
例えば、互いのボタンの特定位置(例えば、左上位置304、重心位置)を対象として、位置関係のスコアを求めるものとしてもよい。リンク元のボタンだけではなく、リンク先のボタンについてもアンカーの付されることとなる位置を対象として、位置関係のスコアを求めるものとしてもよい。或いは、互いのボタンの範囲内で距離が最小となる点を双方のボタンについて求め、これらの点の位置を対象として位置関係のスコアを求めるものとしてもよい。
上記の第1、第2の実施の形態では、右リンク306または左リンク307を設定する場合には数式2に従って、上リンク308または下リンク309を設定する場合には数式3に従って、位置関係のスコアを算出するものとしていた。しかしながら、位置関係のスコアを算出するための指揮はこれに限るものではなく、右リンク306、左リンク307、上リンク308または下リンクを設定しようとするボタンの基準位置を(Xs,Ys)、この基準位置(Xs,Ys)から最短距離にある他のボタンの点の位置を(Xo,Yo)とした場合に、数式4に従って位置関係のスコアを求めることができる。
(数4)
α(Xo−Xs)^2+β(Yo−Ys)^2
但し、α、βは、0より大きい定数であって、右リンク306または左リンク307を算出する場合には、α<βであり、上リンク308または下リンク309を算出する場合には、α>βである。
また、位置関係のスコアを求める式としては、例えば、数式5や数式6のようなものも適用することができる。
(数5)
α×|Xo−Xs|+β×|Yo−Ys|
但し、α、βは、0より大きい定数であって、右リンク306または左リンク307を算出する場合には、α<βであり、上リンク308または下リンク309を算出する場合には、α>βである。
(数6)
α/((Xo−Xs)^2)+β/((Yo−Ys)^2)
但し、α、βは、0より大きい定数であって、右リンク306または左リンク307を算出する場合には、α>βであり、上リンク308または下リンク309を算出する場合には、α<βである。
このように位置関係のスコアは、X方向及びY方向の座標の差分を2乗したものに限るものではなく、さらに数式7に示す一般式で表すことができる。
(数7)
α×f(Xo−Xs)+β×f(Yo−Ys)
但し、f(k)は、kを用いた所定の演算を表し、αとβの大小関係は、右リンク306または左リンク307を算出する場合と、上リンク308または下リンク309を算出する場合とで逆になる。
上記の第1、第2の実施の形態では、全てのボタンをリンク先のボタンとして右リンク306、左リンク307、上リンク308及び下リンク309を設定した後に、なおも被リンク数402が0となっているボタンが存在すれば、リンク先再設定処理において当該ボタンが何れかのボタンの何れかの方向のリンクからのリンク先となるように、リンク先となるボタンの再設定を自動的に行っていた。これにより、入力装置103の方向キーをどのように操作してもアンカー210の移動してこないボタンが発生するのを防ぐものとしていた。
しかしながら、第2の実施の形態では、入力装置103の方向キーをどのように操作してもアンカー210の移動してこないボタンが発生するのを防ぐために、必ずしもリンク先の再設定を自動的に行う処理を行わなければならないが、第1の実施の形態では、必ずしもこのような自動的な設定は必要ない。例えば、被リンク数402が0となっているボタンが存在する場合には、そのようなボタンを表示装置104に表示するだけであってもよい。
また、単に被リンク数402が0となっているボタンを表示装置104に表示するだけではなく、そのようなボタンをリンク先に設定することが可能なリンク元のボタン及びリンクの方向を表示装置104に表示するものとしてもよい。ここで、表示装置104に表示されるボタン及び方向は、被リンク数402が2以上となっているボタンをリンク先とするものと言うことになる。
このように被リンク数402が0となっているボタンや、これをリンク先に設定することが可能なリンク元のボタン及びリンクの方向を表示装置104に表示するものとすることで、ステップS219〜S221において開発者がリンク先を手動で変更するものとしても、リンク先をどのように変更すればよいかが開発者に容易に分かるようになり、煩雑な作業が必要となるのをある程度まで防ぐことができるようになる。
上記の第2の実施の形態では、ボタン有効フラグ320がセットされているボタンは明表示、ボタン有効フラグ320のリセットされているボタンは暗表示して、メニュー画面200において各ボタンを表示していた。もっとも、ボタン有効フラグ320がセットされているか否かを区別可能とする表示態様の差はこれに限るものではなく、ボタン有効フラグ320のリセットされているボタンは、背景色に対して半透明画像で表示したり、ボタン名302をボタン内に表示しないものとしてもよい。また、ボタン有効フラグ320のセットされているボタンはメニュー画面200において表示するが、ボタン有効フラグ320のリセットされているボタンはメニュー画面200において表示しないものとしてもよい。
上記の第2の実施の形態では、メニュー画面200に表示される各ボタンは、ボタン有効フラグ320をセット/リセットすることで、対応する処理を選択可能にしたり選択不能にしたりすることがあったが、各々のボタンのメニュー画面200における表示位置が変わることはなかった。もっとも、メニュー画面200に表示される各ボタンの表示位置も、入力装置103からの入力によってユーザが変更できるようにしたり、或いは処理の進行状況に応じて変更されるものとしてもよい。
ここで、少なくとも1のボタンについて表示位置を変更する旨が指示された場合には、変更された位置で新たにメニュー画面200を表示装置104に表示させるものとし、この際に、リンク先設定処理もやり直すものとしてもよい。これにより、ボタンの位置が変更されても、新たなボタンの位置に応じて各ボタンからの右リンク306、左リンク307、上リンク308及び下リンク309の設定を常に適切なものとすることができる。
なお、ボタン有効フラグ320のリセットされているボタンについては、リンク元としてもリンク先としても右リンク306、左リンク307、上リンク308及び下リンク309の設定対象とならないので、その表示位置を変更する旨が指示されたとしても、メニュー画面200の表示を新たに行うのみで、リンク先設定処理をやり直さないものとしても構わない。
上記の第1の実施の形態では、開発用の機種も実行用の機種も、ハードウェア的には同一構成のコンピュータ装置により実現されるものとしていた。しかしながら、開発用の機種と実行用の機種とが異なるものであってもよい。例えば、実行用の機種としては、ゲーム専用機、カーナビゲーションシステム、デジタル家電、携帯電話機などを適用することができ、これらの実行用の機種で実行される実行用プログラム111を開発するために、パーソナルコンピュータやワークステーションなどを開発用の機種として適用することができる。
上記の第1の実施の形態では、開発支援ツール112のプログラムは、記録媒体121に格納されて配布され、開発用の機種のHDD105にインストールされて格納されるものとしていた。また、開発用の機種で作成された実行用プログラム111のプログラム及びデータは、記録媒体121に書き出されて配布され、実行用の機種のHDD105にインストールされて格納されるものとしていた。上記の第2の実施の形態では、実行用プログラム111が記録媒体121に格納されて配布され、実行用の機種となるコンピュータ装置のHDD105にインストールされて格納されるものとしていた。
これに対して、開発用の機種においては開発支援ツール112を、HDD105に予め格納して適用してもよい。また、開発用の機種で作成された実行用プログラムをHDD105に予め格納した実行用の機種を提供するものとしてもよい。開発支援ツール112、実行用プログラム111ともに、インターネット上に存在するサーバ装置が有する固定ディスク装置に格納しておき、開発用の機種、実行用の機種として適用されるコンピュータ装置にインターネットを介して配信するものとしてもよい。例えば、実行用の機種において、サーバ装置から受信した実行用プログラム111のプログラム及びデータは、HDD105に保存し、実行時にメインメモリ102にロードすることができる。
本発明の第1の実施の形態において適用されるコンピュータ装置の構成を示すブロック図である。 図1の実行用プログラムの実行時に表示装置に表示されるメニュー画面を示す図である。 本発明の第1の実施の形態において、メニュー画面に表示される各ボタンについてのボタンデータの構成を示す図である。 メニュー画面に表示される各ボタンについての被リンク数を登録する被リンク数テーブルを示す図である。 メニュー画面に表示される各ボタンの右リンク、左リンク、上リンク及び下リンクを自動設定する手法を模式的に示す図である。 開発用の機種において実行されるメニュー設定処理を示すフローチャートである。 図6のリンク先設定処理を詳細に示すフローチャートである。 図7のリンク先再設定処理を詳細に示すフローチャートである。 実行用の機種においてメニュー画面が表示される際に実行される処理を示すフローチャートである。 本発明の第2の実施の形態において、メニュー画面に表示される各ボタンについてのボタンデータの構成を示す図である。 本発明の第2の実施の形態において、メニュー画面が表示される際に実行される処理を示すフローチャートである。 本発明の第2の実施の形態において、メニュー画面のボタンから選択されて実行される処理の例を示すフローチャートである。
符号の説明
101 CPU
102 メインメモリ
103 入力装置
104 表示装置
105 HDD
106 CD−ROM/DVDドライブ
111 実行用プログラム
112 開発支援ツール
121 記録媒体
200 メニュー画面
201〜209 ボタン
210 アンカー
300 ボタンデータ
400 被リンク数テーブル

Claims (14)

  1. 直行するxy座標系の座標(x,y)によって位置が規定される2次元の表示空間において表示装置に表示され、該表示空間を移動する選択ポインタの表示により何れかがユーザから選択される複数の表示オブジェクトについて、x正方向、x負方向、y正方向、y負方向に応じた方向情報を入力可能な入力装置から何れかの方向情報が入力された場合に選択ポインタを移動すべき表示オブジェクトを示す移動先情報を設定する移動先情報設定装置であって、
    前記複数の表示オブジェクトのそれぞれについて、前記表示空間における座標を示す位置情報を予め記憶した位置情報記憶手段と、
    前記複数の表示オブジェクトのそれぞれについて、前記選択ポインタが位置する状態で前記入力装置から方向情報が入力された際の選択ポインタの移動先を示す移動先情報を、x正方向、x負方向、y正方向、y負方向の別に記憶する移動先情報記憶手段と、
    前記複数の表示オブジェクトのそれぞれについて、前記位置情報記憶手段に記憶された位置情報に従って、他の表示オブジェクトに対する位置関係のスコアの算出対象となっている表示オブジェクトと他の表示オブジェクトのx座標、y座標の差分をそれぞれdx,dyとするときに、dxに応じた演算に係数αを乗じた値とdyに応じた演算に係数βを乗じた値とを加算して、x正方向、x負方向、y正方向、y負方向の別に位置関係のスコアを算出する位置スコア算出手段と、
    前記複数の表示オブジェクトのそれぞれについて、前記位置スコア算出手段が前記算出した位置関係のスコアに応じて、x正方向、x負方向、y正方向、y負方向の別に、算出された位置関係のスコアが最も小さくなる他の表示オブジェクトを移動先とする移動先情報を設定して、前記移動先情報記憶手段に記憶させる移動先情報設定手段とを備え、
    αとβの大小関係は、x正方向またはx負方向を算出対象となる方向として位置スコアを算出するときと、y正方向またはy負方向を算出対象となる方向として位置スコアを算出するときとで反対になり、
    前記移動先情報設定装置は、
    前記複数の表示オブジェクトのそれぞれについて、前記移動先情報の示す選択ポインタの移動先となっているかどうかを示す情報を記憶するものであって、該移動先情報の示す選択ポインタの移動先となっていることを示す情報として前記移動先情報の示す選択ポインタの移動先となっている数を記憶する被移動先情報記憶手段と、
    前記移動先情報記憶手段に全ての表示オブジェクト、全ての方向についての移動先情報が記憶されたときに、前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されているかどうかを判定する移動不可表示オブジェクト判定手段と、
    前記移動不可表示オブジェクト判定手段により前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されていると判定された場合に、当該移動先となっていない表示オブジェクト以外の他の何れかの表示オブジェクトからの選択ポイントの移動先として当該移動先となっていない表示オブジェクトを設定させるための処理を実行する移動先情報変更処理手段とをさらに備え、
    前記移動先情報変更処理手段は、
    前記移動不可表示オブジェクト判定手段により前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されていると判定されたときに、前記被移動先情報記憶手段に記憶されている移動先となっている数が2以上である表示オブジェクトが選択ポインタの移動先となる表示オブジェクトの移動先情報を、前記移動先情報記憶手段に記憶された移動先情報のうちから変更可能な移動先情報として抽出する変更可能情報抽出手段と、
    前記移動不可表示オブジェクト判定手段により前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されていると判定された場合に、当該選択ポインタの移動先となっていない情報の記憶されている表示オブジェクトについて、当該表示オブジェクトと他の全ての表示オブジェクトとの位置関係のスコアを前記位置情報記憶手段に記憶された位置情報に従ってx正方向、x負方向、y正方向、y負方向の別に算出する第2の位置スコア算出手段と、
    前記第2の位置スコア算出手段により算出された位置関係のスコアに応じて、前記変更可能情報抽出手段の抽出した移動先情報の何れかを前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されていると判定された表示オブジェクトを選択ポインタの移動先とする移動先情報に変更して、前記移動先情報記憶手段に記憶させる移動先情報変更手段とを備える
    ことを特徴とする移動先情報設定装置。
  2. 前記位置スコア算出手段は、x正方向、x負方向、y正方向、y負方向の別に数式1の演算により前記位置関係のスコアを算出する
    (数1)
    α×dx×dx+β×dy×dy
    但し、α、βは、0より大きい定数であって、x正方向またはx負方向を算出対象となる方向として位置スコアを算出するときは、α>βであり、y正方向またはy負方向を算出対象となる方向として位置スコアを算出するときは、α<βである
    ことを特徴とする請求項1に記載の移動先情報設定装置。
  3. 前記複数の表示オブジェクトのそれぞれについて、前記位置情報記憶手段に記憶された位置情報とともに前記表示空間において占める形状を特定可能な形状情報を予め記憶した形状情報記憶手段をさらに備え、
    前記位置スコア算出手段は、前記複数の表示オブジェクトのそれぞれについて、前記位置情報記憶手段に記憶された位置情報と前記形状情報記憶手段に記憶された形状情報に応じて特定される表示オブジェクト間の最短距離に従って、当該表示オブジェクトと他の全ての表示オブジェクトとの位置関係のスコアをx正方向、x負方向、y正方向、y負方向の別に算出する
    ことを特徴とする請求項1または2に記載の移動先情報設定装置。
  4. 前記位置スコア算出手段は、前記複数の表示オブジェクトのそれぞれについて、当該表示オブジェクトに選択ポインタが位置する際における当該選択ポインタの座標と、他の表示オブジェクトについて前記位置情報記憶手段に記憶された位置情報とに従って、当該表示オブジェクトと他の全ての表示オブジェクトとの位置関係のスコアをx正方向、x負方向、y正方向、y負方向の別に算出する
    ことを特徴とする請求項1または2に記載の移動先情報設定装置。
  5. 前記複数の表示オブジェクトのそれぞれについて、前記位置情報記憶手段に記憶された位置情報とともに前記表示空間において占める形状を特定可能な形状情報を予め記憶した形状情報記憶手段をさらに備え、
    前記位置スコア算出手段は、前記複数の表示オブジェクトのそれぞれについて、当該表示オブジェクトに選択ポインタが位置する際における当該選択ポインタの座標、並びに他の表示オブジェクトの位置情報及び形状情報に応じて特定される選択ポインタと表示オブジェクトとの間の最短距離に従って、当該表示オブジェクトと他の全ての表示オブジェクトとの位置関係のスコアをx正方向、x負方向、y正方向、y負方向の別に算出する
    ことを特徴とする請求項4に記載の移動先情報設定装置。
  6. 前記位置情報記憶手段に記憶された前記複数の表示オブジェクトの位置情報を変更する位置情報変更手段をさらに備え、
    前記位置スコア算出手段は、前記位置情報変更手段により少なくとも1の表示オブジェクトの位置情報が変更されたときに、該変更された位置情報に応じて前記複数の表示オブジェクトのそれぞれについて、当該表示オブジェクトと他の全ての表示オブジェクトとの位置関係のスコアを前記表示空間のx正方向、x負方向、y正方向、y負方向の別に算出する
    ことを特徴とする請求項1乃至5のいずれか1項に記載の移動先情報設定装置。
  7. 前記位置スコア算出手段により位置スコアが算出されるよりも前に、前記複数の表示オブジェクトのそれぞれについて、前記入力装置から方向情報が入力された際の選択ポインタの移動先を示す移動先情報をx正方向、x負方向、y正方向、y負方向の別に外部から入力して、前記移動先情報記憶手段に予め記憶させる外部情報入力手段をさらに備え、
    前記位置スコア算出手段は、前記外部情報入力手段により前記移動先情報記憶手段に移動先情報の記憶されていない表示オブジェクト及び方向について、他の表示オブジェクトとの位置関係のスコアを算出する
    ことを特徴とする請求項1乃至6に記載の移動先情報設定装置。
  8. 前記移動先情報設定手段により設定された各表示オブジェクトの方向毎の移動先情報が前記移動先情報記憶手段に記憶された後に、前記入力装置から方向情報が入力された際の選択ポインタの移動先を示す移動先情報をx正方向、x負方向、y正方向、y負方向の別に外部から入力して、前記移動先情報記憶手段に記憶されている移動先情報を該入力された移動先情報に更新する移動先情報更新手段をさらに備える
    ことを特徴とする請求項1乃至7に記載の移動先情報設定装置。
  9. 前記位置情報記憶手段に記憶された位置情報に従って、前記複数の表示オブジェクトをそれぞれ前記表示装置に表示させる表示オブジェクト表示手段をさらに備え、
    前記位置スコア算出手段は、前記表示オブジェクト表示手段により前記複数のオブジェクトが前記表示装置に表示されるときに、前記複数の表示オブジェクトのそれぞれについて他の全ての表示オブジェクトとの位置関係のスコアをx正方向、x負方向、y正方向、y負方向の別に算出する
    ことを特徴とする請求項1乃至に記載の移動先情報設定装置。
  10. 前記位置情報記憶手段に位置情報の記憶された複数の表示オブジェクトから、前記選択ポインタを移動させてユーザによる選択を可能とする表示オブジェクトを設定する選択可能オブジェクト設定手段をさらに備え、
    前記表示オブジェクト表示手段は、前記選択可能オブジェクト設定手段によりユーザによる選択を可能に設定されているか否かを識別可能に前記複数の表示オブジェクトを表示させ、
    前記位置スコア算出手段は、前記選択可能オブジェクト設定手段によりユーザによる選択を可能に設定されている表示オブジェクトについて、他のユーザによる選択を可能に設定されている表示オブジェクトとの位置関係のスコアを算出する
    ことを特徴とする請求項に記載の移動先情報設定装置。
  11. 前記位置情報記憶手段に記憶された前記複数の表示オブジェクトの位置情報を変更する位置情報変更手段をさらに備え、
    前記表示オブジェクト表示手段は、前記位置情報変更手段により少なくとも1の表示オブジェクトの位置情報が変更されたときに、該変更された位置情報に応じて前記複数の表示オブジェクトを前記表示装置に新たに表示させる
    ことを特徴とする請求項または10に記載の移動先情報設定装置。
  12. 直行するxy座標系の座標(x,y)によって位置が規定される2次元の表示空間において表示装置に表示され、該表示空間を移動する選択ポインタの表示により何れかがユーザから選択される複数の表示オブジェクトについて、前記表示空間における座標を示す位置情報を予め記憶した記憶装置を備えるコンピュータ装置において実行され、前記表示装置に表示された複数の表示オブジェクトのそれぞれに対してx正方向、x負方向、y正方向、y負方向に応じた方向情報を入力可能な入力装置から何れかの方向情報が入力された場合に選択ポインタを移動すべき表示オブジェクトを示す移動先情報を設定する移動先情報設定方法であって、
    前記複数の表示オブジェクトのそれぞれについて、前記記憶装置に記憶された位置情報に従って、他の表示オブジェクトに対する位置関係のスコアの算出対象となっている表示オブジェクトと他の表示オブジェクトのx座標、y座標の差分をそれぞれdx,dyとするときに、dxに応じた演算に係数αを乗じた値とdyに応じた演算に係数βを乗じた値とを加算して、x正方向、x負方向、y正方向、y負方向の別に位置関係のスコアを算出するステップと、
    前記複数の表示オブジェクトのそれぞれについて、前記算出した位置関係のスコアに応じて、x正方向、x負方向、y正方向、y負方向の別に、算出された位置関係のスコアが最も小さくなる他の表示オブジェクトを移動先とする移動先情報を選定するステップと、
    前記複数の表示オブジェクトのそれぞれについて、x正方向、x負方向、y正方向、y負方向の別に選定された移動先情報を前記記憶装置の移動先情報記憶領域に記憶させるステップとを含み、
    αとβの大小関係は、x正方向またはx負方向を算出対象となる方向として位置スコアを算出するときと、y正方向またはy負方向を算出対象となる方向として位置スコアを算出するときとで反対になり、
    前記移動先情報設定方法は、
    前記複数の表示オブジェクトのそれぞれについて、前記移動先情報の示す選択ポインタの移動先となっているかどうかを示す情報であって、該移動先情報の示す選択ポインタの移動先となっていることを示す情報としては前記移動先情報の示す選択ポインタの移動先となっている数を前記記憶装置の被移動先情報記憶領域に記憶させるステップと、
    前記移動先情報記憶領域に全ての表示オブジェクト、全ての方向についての移動先情報が記憶されたときに、前記被移動先情報記憶領域に選択ポインタの移動先となっていない情報が記憶されているかどうかを判定するステップと、
    前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されていると判定された場合に、当該移動先となっていない表示オブジェクト以外の他の何れかの表示オブジェクトからの選択ポイントの移動先として当該移動先となっていない表示オブジェクトを設定させるための処理を実行する変更処理ステップとをさらに含み、
    前記変更処理ステップは、
    前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されていると判定されたときに、前記被移動先情報記憶領域に記憶されている移動先となっている数が2以上である表示オブジェクトが選択ポインタの移動先となる表示オブジェクトの移動先情報を、前記移動先情報記憶領域に記憶された移動先情報のうちから変更可能な移動先情報として抽出する抽出ステップと、
    前記被移動先情報記憶領域に選択ポインタの移動先となっていない情報が記憶されていると判定された場合に、当該選択ポインタの移動先となっていない情報の記憶されている表示オブジェクトについて、当該表示オブジェクトと他の全ての表示オブジェクトとの位置関係のスコアを前記位置情報記憶領域に記憶された位置情報に従ってx正方向、x負方向、y正方向、y負方向の別に算出する第2の位置スコア算出ステップと、
    前記第2の位置スコア算出ステップにおいて算出された位置関係のスコアに応じて、前記抽出ステップで抽出した移動先情報の何れかを前記被移動先情報記憶領域に選択ポインタの移動先となっていない情報が記憶されていると判定された表示オブジェクトを選択ポインタの移動先とする移動先情報に変更して、前記移動先情報記憶領域に記憶させる移動先情報変更ステップとを含む
    ことを特徴とする移動先情報設定方法。
  13. 直行するxy座標系の座標(x,y)によって位置が規定される2次元の表示空間において表示装置に表示され、該表示空間を移動する選択ポインタの表示により何れかがユーザから選択される複数の表示オブジェクトについて、前記表示空間における座標を示す位置情報を予め記憶した記憶装置を備えるコンピュータ装置の処理装置により実行され、前記表示装置に表示された複数の表示オブジェクトのそれぞれに対してx正方向、x負方向、y正方向、y負方向に応じた方向情報を入力可能な入力装置から何れかの方向情報が入力された場合に選択ポインタを移動すべき表示オブジェクトを示す移動先情報を設定するためのプログラムであって、
    前記複数の表示オブジェクトのそれぞれについて、前記記憶装置に記憶された位置情報に従って、他の表示オブジェクトに対する位置関係のスコアの算出対象となっている表示オブジェクトと他の表示オブジェクトのx座標、y座標の差分をそれぞれdx,dyとするときに、dxに応じた演算に係数αを乗じた値とdyに応じた演算に係数βを乗じた値とを加算して、x正方向、x負方向、y正方向、y負方向の別に位置関係のスコアを算出するステップと、
    前記複数の表示オブジェクトのそれぞれについて、前記算出した位置関係のスコアに応じて、x正方向、x負方向、y正方向、y負方向の別に、算出された位置関係のスコアが最も小さくなる他の表示オブジェクトを移動先とする移動先情報を選定するステップと、
    前記複数の表示オブジェクトのそれぞれについて、x正方向、x負方向、y正方向、y負方向の別に選定された移動先情報を前記記憶装置の移動先情報記憶領域に記憶させるステップとを含み、
    αとβの大小関係は、x正方向またはx負方向を算出対象となる方向として位置スコアを算出するときと、y正方向またはy負方向を算出対象となる方向として位置スコアを算出するときとで反対になり、
    前記プログラムは、
    前記複数の表示オブジェクトのそれぞれについて、前記移動先情報の示す選択ポインタの移動先となっているかどうかを示す情報であって、該移動先情報の示す選択ポインタの移動先となっていることを示す情報としては前記移動先情報の示す選択ポインタの移動先となっている数を前記記憶装置の被移動先情報記憶領域に記憶させるステップと、
    前記移動先情報記憶領域に全ての表示オブジェクト、全ての方向についての移動先情報が記憶されたときに、前記被移動先情報記憶領域に選択ポインタの移動先となっていない情報が記憶されているかどうかを判定するステップと、
    前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されていると判定された場合に、当該移動先となっていない表示オブジェクト以外の他の何れかの表示オブジェクトからの選択ポイントの移動先として当該移動先となっていない表示オブジェクトを設定させるための処理を実行する変更処理ステップとをさらに含み、
    前記変更処理ステップは、
    前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されていると判定されたときに、前記被移動先情報記憶領域に記憶されている移動先となっている数が2以上である表示オブジェクトが選択ポインタの移動先となる表示オブジェクトの移動先情報を、前記移動先情報記憶領域に記憶された移動先情報のうちから変更可能な移動先情報として抽出する抽出ステップと、
    前記被移動先情報記憶領域に選択ポインタの移動先となっていない情報が記憶されていると判定された場合に、当該選択ポインタの移動先となっていない情報の記憶されている表示オブジェクトについて、当該表示オブジェクトと他の全ての表示オブジェクトとの位置関係のスコアを前記位置情報記憶領域に記憶された位置情報に従ってx正方向、x負方向、y正方向、y負方向の別に算出する第2の位置スコア算出ステップと、
    前記第2の位置スコア算出ステップにおいて算出された位置関係のスコアに応じて、前記抽出ステップで抽出した移動先情報の何れかを前記被移動先情報記憶領域に選択ポインタの移動先となっていない情報が記憶されていると判定された表示オブジェクトを選択ポインタの移動先とする移動先情報に変更して、前記移動先情報記憶領域に記憶させる移動先情報変更ステップとを含む
    ことを特徴とするプログラム。
  14. 直行するxy座標系の座標(x,y)によって位置が規定される2次元の表示空間において表示装置に表示され、該表示空間を移動する選択ポインタの表示により何れかがユーザから選択される複数の表示オブジェクトについて、前記表示空間における座標を示す位置情報を予め記憶した記憶装置を備えるコンピュータ装置の処理装置により実行され、前記表示装置に表示された複数の表示オブジェクトのそれぞれに対してx正方向、x負方向、y正方向、y負方向に応じた方向情報を入力可能な入力装置から何れかの方向情報が入力された場合に選択ポインタを移動すべき表示オブジェクトを示す移動先情報を設定するためのプログラムを記録した記録媒体であって、
    前記プログラムは、
    前記複数の表示オブジェクトのそれぞれについて、前記記憶装置に記憶された位置情報に従って、他の表示オブジェクトに対する位置関係のスコアの算出対象となっている表示オブジェクトと他の表示オブジェクトのx座標、y座標の差分をそれぞれdx,dyとするときに、dxに応じた演算に係数αを乗じた値とdyに応じた演算に係数βを乗じた値とを加算して、x正方向、x負方向、y正方向、y負方向の別に位置関係のスコアを算出するステップと、
    前記複数の表示オブジェクトのそれぞれについて、前記算出した位置関係のスコアに応じて、x正方向、x負方向、y正方向、y負方向の別に、算出された位置関係のスコアが最も小さくなる他の表示オブジェクトを移動先とする移動先情報を選定するステップと、
    前記複数の表示オブジェクトのそれぞれについて、x正方向、x負方向、y正方向、y負方向の別に選定された移動先情報を前記記憶装置の移動先情報記憶領域に記憶させるステップとを含み、
    αとβの大小関係は、x正方向またはx負方向を算出対象となる方向として位置スコアを算出するときと、y正方向またはy負方向を算出対象となる方向として位置スコアを算出するときとで反対になり、
    前記プログラムは、
    前記複数の表示オブジェクトのそれぞれについて、前記移動先情報の示す選択ポインタの移動先となっているかどうかを示す情報であって、該移動先情報の示す選択ポインタの移動先となっていることを示す情報としては前記移動先情報の示す選択ポインタの移動先となっている数を前記記憶装置の被移動先情報記憶領域に記憶させるステップと、
    前記移動先情報記憶領域に全ての表示オブジェクト、全ての方向についての移動先情報が記憶されたときに、前記被移動先情報記憶領域に選択ポインタの移動先となっていない情報が記憶されているかどうかを判定するステップと、
    前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されていると判定された場合に、当該移動先となっていない表示オブジェクト以外の他の何れかの表示オブジェクトからの選択ポイントの移動先として当該移動先となっていない表示オブジェクトを設定させるための処理を実行する変更処理ステップとをさらに含み、
    前記変更処理ステップは、
    前記被移動先情報記憶手段に選択ポインタの移動先となっていない情報が記憶されていると判定されたときに、前記被移動先情報記憶領域に記憶されている移動先となっている数が2以上である表示オブジェクトが選択ポインタの移動先となる表示オブジェクトの移動先情報を、前記移動先情報記憶領域に記憶された移動先情報のうちから変更可能な移動先情報として抽出する抽出ステップと、
    前記被移動先情報記憶領域に選択ポインタの移動先となっていない情報が記憶されていると判定された場合に、当該選択ポインタの移動先となっていない情報の記憶されている表示オブジェクトについて、当該表示オブジェクトと他の全ての表示オブジェクトとの位置関係のスコアを前記位置情報記憶領域に記憶された位置情報に従ってx正方向、x負方向、y正方向、y負方向の別に算出する第2の位置スコア算出ステップと、
    前記第2の位置スコア算出ステップにおいて算出された位置関係のスコアに応じて、前記抽出ステップで抽出した移動先情報の何れかを前記被移動先情報記憶領域に選択ポインタの移動先となっていない情報が記憶されていると判定された表示オブジェクトを選択ポインタの移動先とする移動先情報に変更して、前記移動先情報記憶領域に記憶させる移動先情報変更ステップとを含む
    ことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2005153123A 2005-05-25 2005-05-25 移動先情報設定装置及び方法、プログラム、並びに記録媒体 Active JP4176741B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005153123A JP4176741B2 (ja) 2005-05-25 2005-05-25 移動先情報設定装置及び方法、プログラム、並びに記録媒体
US11/420,080 US7554525B2 (en) 2005-05-25 2006-05-24 Setting next destination of pointer to each of multiple objects
EP06010758.8A EP1727030A3 (en) 2005-05-25 2006-05-24 Setting next destination of pointer to each of multiple objects

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005153123A JP4176741B2 (ja) 2005-05-25 2005-05-25 移動先情報設定装置及び方法、プログラム、並びに記録媒体

Publications (2)

Publication Number Publication Date
JP2006331034A JP2006331034A (ja) 2006-12-07
JP4176741B2 true JP4176741B2 (ja) 2008-11-05

Family

ID=36922160

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005153123A Active JP4176741B2 (ja) 2005-05-25 2005-05-25 移動先情報設定装置及び方法、プログラム、並びに記録媒体

Country Status (3)

Country Link
US (1) US7554525B2 (ja)
EP (1) EP1727030A3 (ja)
JP (1) JP4176741B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3734819B1 (ja) * 2004-07-26 2006-01-11 任天堂株式会社 ゲームプログラム、ゲーム装置、および入力装置
JP4471761B2 (ja) * 2004-07-26 2010-06-02 任天堂株式会社 ゲームプログラム、ゲーム装置、および入力装置
WO2008010276A1 (fr) * 2006-07-20 2008-01-24 Navitime Japan Co., Ltd. système d'affichage de carte, dispositif d'affichage de carte, procédé d'affichage de carte et serveur de distribution de carte
JP5185745B2 (ja) * 2008-09-08 2013-04-17 株式会社エヌ・ティ・ティ・ドコモ 情報処理装置及びプログラム
US8281258B1 (en) * 2010-03-26 2012-10-02 Amazon Technologies Inc. Object traversal to select focus
ES2736800T3 (es) * 2010-09-30 2020-01-07 Rakuten Inc Dispositivo de visualización, procedimiento de visualización, medio de registro legible por ordenador no transitorio en el que se registra un programa y programa de secuencia de comandos
JP2012128662A (ja) * 2010-12-15 2012-07-05 Samsung Electronics Co Ltd 表示制御装置、プログラムおよび表示制御方法
US20140040824A1 (en) * 2012-08-02 2014-02-06 Comcast Cable Communications, Llc Systems and methods for data navigation
US9250773B2 (en) 2013-04-30 2016-02-02 International Business Machines Corporation Accessible chart navigation using object neighborhood
US10275109B2 (en) * 2013-05-21 2019-04-30 Oracle International Corporation Traversing between nodes
KR102215072B1 (ko) * 2014-01-03 2021-02-10 삼성전자주식회사 디스플레이 장치 및 이의 제어 방법
JP6528566B2 (ja) * 2015-07-02 2019-06-12 富士通株式会社 表示制御方法、情報処理装置および表示制御プログラム
US10747655B2 (en) * 2018-11-20 2020-08-18 Express Scripts Strategic Development, Inc. Method and system for programmatically testing a user interface
CN110704146A (zh) * 2019-08-30 2020-01-17 华为技术有限公司 一种应用于电子设备的焦点管理方法及电子设备

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS649517A (en) * 1987-07-02 1989-01-12 Toshiba Corp Pointing device
JP2951454B2 (ja) 1991-11-26 1999-09-20 株式会社ピーエフユー カーソル移動処理方式
JP3597543B2 (ja) 1992-10-16 2004-12-08 富士写真フイルム株式会社 カーソル制御方法および装置
US5808604A (en) * 1994-03-10 1998-09-15 Microsoft Corporation Apparatus and method for automatically positioning a cursor on a control
JPH0981322A (ja) 1995-09-12 1997-03-28 Casio Comput Co Ltd 表示制御装置
JPH09311760A (ja) 1996-05-21 1997-12-02 Sony Corp 表示制御装置
US6034689A (en) * 1996-06-03 2000-03-07 Webtv Networks, Inc. Web browser allowing navigation between hypertext objects using remote control
EP0928105B1 (en) 1996-09-18 2003-06-25 Access Co., Ltd. Internet television apparatus
US6166739A (en) * 1996-11-07 2000-12-26 Natrificial, Llc Method and apparatus for organizing and processing information using a digital computer
JPH10301717A (ja) 1997-04-22 1998-11-13 Yazaki Corp インターネット端末におけるカーソル移動方法及びその装置並びにカーソル移動方法の選択方法及びその装置
JP3905618B2 (ja) * 1997-11-13 2007-04-18 シャープ株式会社 入力装置および入力方法
US6892360B1 (en) * 1998-08-05 2005-05-10 Sun Microsystems, Inc. Focus traversal mechanism for graphical user interface widgets
JP3569153B2 (ja) * 1999-03-29 2004-09-22 富士通株式会社 図形編集装置、および図形編集方法、並びにそのためのプログラムを格納した記憶媒体
JP2000357040A (ja) 1999-06-16 2000-12-26 Sony Corp 表示制御装置及びその方法並びに媒体
JP3551112B2 (ja) 2000-01-20 2004-08-04 日本電気株式会社 マルチメディア・シナリオ編集装置及びマルチメディア・シナリオ編集プログラムを記録した記録媒体
JP2002288223A (ja) * 2001-03-26 2002-10-04 Fujitsu Ltd リンク木形成装置及びリンク木形成方法並びにリンク木形成用プログラム
JP2003132361A (ja) * 2001-10-29 2003-05-09 Sharp Corp オブジェクト選択装置および方法
JP2003157172A (ja) 2001-11-20 2003-05-30 Alpine Electronics Inc グラフィカル・ユーザ・インタフェースシステム開発支援装置
JP4319077B2 (ja) * 2004-03-25 2009-08-26 富士通株式会社 図形オブジェクト指定装置、図形オブジェクト指定方法、図形オブジェクト指定プログラム
JP4166767B2 (ja) * 2005-05-25 2008-10-15 株式会社スクウェア・エニックス 情報処理装置及びポインタの移動表示方法、プログラム並びに記録媒体

Also Published As

Publication number Publication date
US7554525B2 (en) 2009-06-30
EP1727030A3 (en) 2013-12-04
EP1727030A2 (en) 2006-11-29
US20060277502A1 (en) 2006-12-07
JP2006331034A (ja) 2006-12-07

Similar Documents

Publication Publication Date Title
JP4176741B2 (ja) 移動先情報設定装置及び方法、プログラム、並びに記録媒体
JP6185123B1 (ja) プログラム、制御方法、及び情報処理装置
US8212780B2 (en) Apparatus and program for controlling the state of an object displayed on a screen by operating a touch panel
JP3734820B1 (ja) ゲームプログラム、ゲーム装置、および入力装置
JP4961112B2 (ja) ゲームプログラム、ゲーム装置、ゲームシステム、およびゲーム処理方法
JP2010211407A (ja) 情報処理装置、情報処理方法およびプログラム
WO2014148532A1 (ja) 情報処理装置、情報処理方法、プログラム及び情報記憶媒体
JP2014045966A (ja) ビデオゲーム処理装置、およびビデオゲーム処理プログラム
JP2010239988A (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
US20180324314A1 (en) Image forming apparatus and control method thereof
JP2012022632A (ja) 情報処理装置およびその制御方法
JP5953418B1 (ja) ユーザ入力の操作性を向上させるプログラム、電子装置、システム及び方法
JP6864050B2 (ja) ビデオゲーム処理装置、およびビデオゲーム処理プログラム
JP3437223B2 (ja) 形状表示装置および形状表示方法
US9552797B2 (en) Map display device and map display method
JP5894764B2 (ja) 情報処理装置
JP6166191B2 (ja) ビデオゲーム処理装置、およびビデオゲーム処理プログラム
JP3942028B2 (ja) カーソル制御装置、カーソル制御プログラム
JP5287588B2 (ja) 図形表示装置およびプログラム
JP6480520B2 (ja) プログラム、制御方法、及び情報処理装置
JP7505205B2 (ja) 情報処理装置、情報処理方法、サーバ装置およびプログラム
JP2017159149A (ja) ビデオゲーム処理装置、およびビデオゲーム処理プログラム
JPH1125149A (ja) 記録媒体、図面作成方法、および図面作成装置
JP4212396B2 (ja) 図形要素選択プログラム
JP6726485B2 (ja) ビデオゲーム装置及びプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080527

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080723

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080819

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080820

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4176741

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 3

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110829

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120829

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120829

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130829

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130829

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130829

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250