(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024106991
(43)【公開日】2024-08-08
(54)【発明の名称】方向指示入力プログラム、方向指示入力装置、および方向指示入力を利用するプログラム
(51)【国際特許分類】
G06F 3/0488 20220101AFI20240801BHJP
【FI】
G06F3/0488
【審査請求】有
【請求項の数】3
【出願形態】OL
(21)【出願番号】P 2024058406
(22)【出願日】2024-04-01
(62)【分割の表示】P 2022195990の分割
【原出願日】2018-02-04
(31)【優先権主張番号】P 2018007757
(32)【優先日】2018-01-21
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】516212267
【氏名又は名称】望月 貴里子
(74)【代理人】
【識別番号】716000880
【氏名又は名称】望月 玲於奈
(72)【発明者】
【氏名】望月玲於奈
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA12
5E555AA76
5E555BA04
5E555BB04
5E555BC21
5E555CA12
5E555CB12
5E555DB32
5E555DC19
5E555FA00
(57)【要約】 (修正有)
【課題】基準点と指示点の位置関係に応じた方向指示入力を算出するとき、基準点を座標入力開始時の指示点に設定する場合、座標入力開始後に指示点を移動させなければ、方向指示入力を所望の値にすることができない。一方で、固定された基準点を用いる場合、ある方向指示入力を実現するための指示点の位置も固定されるので、タッチ入力可能なディスプレイによって座標入力を行うような場合では、入力を行う指やペンなどによって画面の重要な部分が隠れてしまう場合がある。
【解決手段】座標入力が開始された後の座標入力の状態に応じて、基準点の位置と方向指示入力の処理方法を設定することによって、ユーザーが基準点の設定方法や方向指示入力の処理方法、算出方法を使い分けることができるので、方向指示入力の操作性が向上する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ユーザーが指定する所定の座標系における点の情報を指示点として出力可能な座標入力手段を備えるコンピュータで実行されるプログラムであって、
基準点と指示点の位置関係に応じた方向指示入力を算出させ、
座標入力が開始された後の座標入力の状態に応じて、前記基準点の位置を決定する処理と前記方向指示入力の算出方法を決定する処理の少なくとも一方を前記コンピュータに実行させるプログラム。
【請求項2】
ユーザーが指定する所定の座標系における点の情報を指示点として出力可能な座標入力手段を備えるコンピュータで実行されるプログラムであって、
基準点と指示点の位置関係に応じた方向指示入力を算出させ、
座標入力が開始してから所定の時間経過したときの、座標入力された点の移動量が所定の量以下の場合は、前記基準点を所定の点、あるいは前回の方向指示入力における基準点に設定させ、
座標入力が開始してから所定の時間経過するまでの間に、座標入力された点の移動量が所定の量を超えたとき、前記基準点を、座標入力開始時の座標入力された点、あるいは前記超えたときの座標入力された点に設定させる
【請求項3】
請求項1から請求項2いずれかのプログラムであって、
前記方向指示入力に応じて仮想空間内のキャラクターを移動させ、
前記座標入力手段とはタッチ入力手段であって、
座標入力開始してから終了するまでの時間が、所定時間2以下であった場合、前記キャラクターを前記座標入力が開始したときの指示点、あるいは終了したときの指示点に対応する前記仮想空間の点に移動させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、方向指示入力プログラム、方向指示入力装置、および方向指示入力を利用するプログラム、装置に関する。
【背景技術】
【0002】
家庭用ゲーム機などで用いられるジョイスティックやボタンなどの入力装置を備えていない、スマートフォンなどに代表されるデバイスでは、タッチ入力可能な入力装置からの入力に基づきゲームが進行されるものがある。タッチ入力可能な画面を備えるタブレットデバイスでは、画面内に仮想のボタンや仮想のジョイスティックを表示し、タッチ入力によってそれらを操作することによってゲームを進行させる。表示をさせないもの、即ち透明なボタンやジョイスティックを用いるものもある。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1には、タッチ入力可能な入力装置の入力に応じて、基準点と指示点とを設定し、基準点からの指示点の位置に対応した方向指示入力を行う技術が公開されている。基準点を入力開始時の指示点に設定する場合、入力開始時の点からの指示点の移動方向と移動量に応じた方向指示入力を行うことができるので、ユーザーが直感的に方向指示入力を行うことができる利点がある。固定された基準点からの指示点の位置に対応した方向指示入力を行う場合では、入力開始時の点に応じて、基準点と指示点を異なる位置にすることができるので、指示点の移動が無くとも所望の方向指示入力行うことができる。
【0005】
基準点を座標入力開始時の指示点に設定する場合、座標入力開始後に指示点を移動させなければ、方向指示入力を所望の値にすることができない。即ち、指示点が移動しない限り方向指示入力の入力量が0のままとなる。一方で、固定された基準点を用いる場合、ある方向指示入力を実現するための指示点の位置も固定されるので、タッチ入力可能なディスプレイ(タッチディスプレイ)によって座標入力を行うような場合では、入力を行う指やペンなどによって画面の重要な部分が隠れてしまう場合がある。そのため、それぞれの利点を生かせるような入力手段があれば操作性を向上することが可能となる。
【課題を解決するための手段】
【0006】
座標入力をタッチ入力装置など座標入力可能な装置を用いて、座標入力を行うことを示すこととする。指示点を座標入力が行われている点を示すこととする。タッチ入力手段の場合は、ユーザーがタッチ入力手段、装置に触れている点に対応する点となる。座標系は座標入力可能な装置に応じたものとなる。例えば、タッチディスプレイの場合は、画面の左下を原点とし、右方向をx軸、上方向をy軸としたx-y座標系とする。
【0007】
座標入力手段によって入力される指示点と、基準点の位置関係に応じて、方向指示入力を算出させるプログラム。方向指示入力とは、少なくとも入力方向と入力量のいずれかを含む。入力方向とは、ゲームのジョイスティックにおいて、スティックを倒した方向に相当する入力と考えてよい。入力量とは、前記スティックを倒した量に相当する入力と考えてよい。
【0008】
説明のため、基準点をO(ox,oy)、指示点をP(px,py)と表記し、方向指示入力をJ(jx,jy)と表記する。J(jx,jy)の決定方法の一例は、jx = px-ox , jy = py-oyとする。J(jx,jy)をベクトルと考え、入力方向をベクトルの方向、入力量をベクトルの大きさとする。最大値を設定し、ベクトルの大きさが最大値を超えないようにjxとjyの値を修正してもよい。このとき、入力方向を維持するように修正する。
【0009】
基準点と指示点との距離が所定の距離以上離れないように基準点を指示点に近づける処理をさせてもよい。
【0010】
座標入力が開始された後の座標入力の状態に応じて、基準点の位置を設定する。
【0011】
座標入力の開始後、所定の条件を満たす場合は、基準点を設定1に基づいて設定し、前記所定の条件を満たさない場合は、基準点を設定2に基づいて設定する。
【0012】
前記条件の例は、「座標入力が開始されてから、所定の時間内での指示点の変化量が所定の量以下」である。即ち、座標入力が開始してから指示点の位置が変化しないような場合である。ここで、指示点の変化量の判断の例は、「座標入力が開始されたときの指示点からの距離が所定の量以上」、「指示点の変化量の合計が所定の量以上」である。
【0013】
また、入力装置へのタッチ操作によって座標入力を行う場合、タッチ入力時の圧力・つよさや、接触面の面積を考慮してもよい。例えば「タッチ入力の圧力が所定の値以上のとき」などである。
【0014】
前記設定1の例は、「基準点を所定の固定点に設定する」、「基準点を前回の座標入力に基づいて設定する」、「方向指示入力が前回の座標入力終了時の値と同じになるように基準点を設定する」である。前回の方向指示入力と同じにする場合は、指示点と基準点の位置関係が、前回の方向指示入力に対応する位置関係になるように基準点を設定する。
【0015】
前回の方向指示入力と同じにする場合は、入力方向と入力量のいずれかのみが同じになるようにしてもよい。入力方向のみを一致させる場合は、例えば、現在の指示点によって、入力方向が前回と同じで入力量が最大となるような基準点とする。
【0016】
前回の基準点を採用したとき、指示点と基準点との距離が所定の距離以上離れているとき、基準点を指示点に近づけるようにしてもよい。例えば、入力量が最大になるような基準点にする。
【0017】
ここで、前回の方向指示入力とは、前回の方向指示入力終了時の状態と考えてよい。
【0018】
前記設定2の例は、「基準点を座標入力開始時の指示点に設定する」、「基準点を、前記条件を満たさなくなったときの指示点に設定する」である。
【0019】
例1は、座標入力が開始されてから、所定の時間内での指示点の変化量が所定の量以下の場合、基準点を所定の固定点、あるいは、前回の座標入力に基づいて設定し、所定の量以上の場合は、基準点をその時の指示点、あるいは、座標入力開始時の指示点に設定する。
【0020】
例2は、座標入力が開始されてから、所定の時間内での指示点の変化量が所定の量以下の場合、基準点を所定の固定点に設定し、所定の量以上の場合は、基準点をその時の指示点に設定する。
【0021】
基準点が指示点と同じ点に設定されない場合、方向指示入力の入力量を最小値から徐々に基準点と指示点の位置に応じた値に変化させるようにしてもよい。例えば、前記例2の場合では、座標入力開始後に一定時間指示点を動かさなかった場合、所定の固定点、例えば、タッチディスプレイの中心点に基準点が設定され、指示点との位置関係に応じた入力量が算出される。このとき、入力量を、係数aを乗じたものに相当する量に修正する。aは初期値、例えば0.0から1.0まで徐々に増加するようにしてよい。
【0022】
前記設定1あるいは2において、基準点を仮想空間内のキャラクターの位置に対応する点に設定してもよい。例えば、タッチディスプレイに表示されるキャラクターの位置を基準点に設定する。もしくは、仮想空間内のキャラクターを指示点に対応する場所に移動させるような方向指示入力としてもよい。少なくとも入力方向を前記キャラクターが前記指示点に対応する場所に移動するような方向指示入力とするようにしてよい。
【0023】
前記条件の成否に応じて、方向指示入力の算出方法を選択させてもよい。例えば、前記条件成立時は、その座標入力に基づく方向指示入力においては基準点を固定する算出方法を採用し、不成立時は、基準点が指示点との距離を所定の距離以内に保つように追従する算出方法を採用する。この他の算出方法を採用してもよい。
【0024】
指示点は、手ぶれなどによるノイズを除去したものを用いてもよい。
【0025】
複数の座標入力を同時に扱ってもよい。例えば、2つのタッチ入力によって、2つの方向指示入力を同時に行うことを可能とする。座標入力の開始点に応じて、いずれの方向指示入力を行うのかを決定してよい。例えば、タッチディスプレイの右側で開始したタッチ入力によって方向指示入力1を操作し、左側で開始したタッチ入力によって方向指示入力2の操作を行うようにする。
【0026】
また、方向指示入力開始領域を設定し、座標入力の開始点が方向指示入力開始領域内である場合に対応する方向指示入力を行うようにしてもよい。
【0027】
座標入力終了後、所定の条件を満たす間に座標入力が再開した場合、基準点を前回の基準点と同じ点に設定し、そうではない場合、基準点を所定の点に設定するようにしてもよい。
【発明の効果】
【0028】
構成の一例では、座標入力開始後の入力状態に応じて、基準点の設定方法や方向指示入力の処理方法、算出方法を使い分けることができるので、方向指示入力の操作性が向上する。
【図面の簡単な説明】
【0029】
【
図3】タブレットデバイスのハードウェア構成例を示すブロック図
【発明を実施するための形態】
【実施例0030】
図3はタブレットデバイスのハードウェア構成例を示すブロック図である。本実施例におけるタブレットデバイスはCPU(100)と主記憶(101)と補助記憶(102)と表示部(106)と入力部(103)とを備えている一般的なコンピュータである。このうち、補助記憶(102)の中には本実施形態によるプログラムが格納されている。表示部(106)はタッチディスプレイを含む。入力部(103)は座標入力手段(104)を含む。座標入力手段(104)はタッチディスプレイのタッチ入力手段(105)を含む。タブレットデバイスで実行されるプログラムは、タッチ入力手段(105)によって、タッチディスプレイに対する何らかの操作があったことを検知することが出来る。ここで、タッチ入力手段(105)は、ハードウェアもしくはソフトウェアもしくはそれらの組み合わせによって実現されるものである。
【0031】
タッチ入力手段は、タッチ入力された点に対応する座標を指示点として、逐次算出することができるものとする。さらに、タッチ入力の接触面積を取得できるようにしてもよい。また、座標のほかにも、そのタッチ面にかかる力の強さを得ることができるようにしてもよい。これによって、強く押されることなどを検出可能となる。
【0032】
タッチ入力手段は、タッチ入力を用いる場合に備える。動画像の表示を行う場合に、表示部(106)としてディスプレイを備える。例えば、動画像の表示を行わない実施形態では前記コンピュータはディスプレイを備えなくてもよい。
【0033】
前記タブレットデバイス以外での実施形態の例は、例えば、タッチ入力手段を備えた入力装置である。例えば、タッチ入力可能なタッチ面を備えたゲームのコントローラーなどである。このような場合、実施形態に合わせて、タッチ入力手段とその他任意の構成要素とを分離してもよいし、その実施形態で不要な構成要素は含まなくてもよい。上記はあくまで一例であり、構成は実施形態に合わせて適宜設定する。
【0034】
各構成要素は、同様の効果や特徴を含む別の構成要素に置き換えてもよい。また、実施形態における1つの構成要素が有する機能を複数の構成要素として分散させたり、複数の構成要素が有する機能を1つの構成要素に統合させたりしてもよい。
【0035】
タッチ入力による座標入力に応じて、仮想空間内のキャラクターを移動させるプログラムの実施例について説明する。ここで例示するキャラクターの移動以外の方向指示入力に応じた処理をさせるように実施することもできる。
【0036】
本実施例では、スマートフォンなどのタッチ入力可能なディスプレイを備えたコンピュータで実行されるプログラムとする。ユーザーが、タッチ入力を行うことで、座標入力が行われる。指示点は、タッチ点に対応する点となる。以下説明のため、座標入力を、ユーザーがディスプレイに指を接触して行うものとするが、タッチ入力の方法は指に限らず、例えばペン型の装置や道具を用いてもよい。指示点はユーザーが接触した点に対応する点となる。
【0037】
本実施例においては、基準点をO(ox,oy)、指示点をP(px,py)とし、方向指示入力J(jx,jy)の決定方法を、jx = px-ox , jy = py-oyとする。ただし、これは説明のための一例であり、別の処理に基づいて方向指示入力を決定してもよい。タッチディスプレイの右方向をx軸、上方向をy軸と考えることとする。また、ここではキャラクターはディスプレイから見て、jxの値に応じて左右方向へ、jyの値に応じて上下/前後方向に移動するものとする。
【0038】
説明を簡単化するために、
図1や
図2の各フローチャートにおいて、座標入力開始時の指示点や現在の指示点、座標入力が終了したかどうか、座標入力終了時の指示点、座標入力開始してからの経過時間、指示点の移動量といった各種入力状態は、取得処理を明記していなくとも適宜獲得できているものとして扱う。これらの取得処理は、処理の開始時やループの開始時に適宜行われているものと考えてもよい。または、並行して各種取得処理が行われているとして考えてもよい。
【0039】
図1のフローチャートは、基準点の再設定処理の一例を示す。座標入力が開始されると、基準点を座標入力開始時の指示点に設定し、方向指示入力処理も開始されるものとした。座標入力が開始されると、基準点を設定する(S101)。ここでは、座標入力開始時の指示点を基準点とする。次に、条件を判定する(S102)。ここでは、「座標入力開始から所定時間以上経過しており、指示点の移動量が所定の量以下であるか」とする。フローチャートでは省略したが、当然座標入力が開始してからの時間を計測する処理と、指示点の移動量を算出する処理も行われている。例えば、(S101)で座標入力が開始してからの経過時間と指示点の移動量を初期化して、(S102)の前に更新する。(S102)で条件を満たさない場合は、方向指示入力処理が行われる(S104)。本例では、座標指示入力開始直後は指示点と基準点が同じとなっているはずなので、入力量は0となる。座標入力中に指示点の位置が変化することで、座標入力の開始点から指示点の移動方向と移動量に応じた方向指示入力がなされることとなる。
【0040】
(S102)で条件を満たすとき、本例では「座標入力が開始してから所定時間内での指示点の移動量が所定の量以下であった」とき、基準点を再設定する(S103)。本例では、予め設定した点、例えば、ディスプレイの中心に対応する座標に設定する。この他の例は、前回の方向指示入力終了時の基準点と同じにする。
【0041】
以上の処理によって、座標入力を開始してから指示点が所定の時間移動しないとき、いわゆる画面を長押しするような操作では、ディスプレイの中心からの指示点の方向と距離に応じた方向指示入力を開始し、所定の時間内に指示点を動かした場合は、座標入力開始時の指示点からの指示点の移動方向と移動量に応じた方向指示入力を行うことができる。
【0042】
(S105)にて座標入力が終了したとき、座標入力終了時の処理を行う(S106)。ここでは、方向指示入力の入力量を0にするなど、方向指示入力を終了する処理となる。また、(S103)において前回の基準点を用いる場合は、基準点の位置を記録する。
【0043】
本例では、方向指示入力処理を1種類としたが、条件(S102)が満たされた場合と満たされていない場合とで方向指示入力処理を変えてもよい。例えば、前記条件を満たさない場合は、基準点と指示点との距離が所定の距離以内になるように、基準点の位置を移動させる処理を伴う方向指示入力処理を行い、前記条件を満たしたときでは、指示点と基準点との距離に応じて基準点の位置を移動させない方向指示入力処理とする。
【0044】
また、条件を複数種類用意して、それぞれに対応する、基準姿勢の再設定方法や方向指示入力処理を採用してもよい。例えば、タッチ入力において、強い力で接触された場合には、方向指示入力の最大値を大きくするなどである。
【0045】
図1の例では、座標入力が開始されると方向指示入力も開始されることとしたが、所定の条件が満たされるまで方向指示入力を開始しないようにしてもよい。即ち、座標入力の開始後に、所定の条件を満たしたときに、対応する方向指示入力を開始するようにしてもよい。ここで、対応する方向指示入力とは
図1の処理に基づく方向指示入力値してもよい。即ち、所定の条件を満たした後、更に所定の条件を満たしたとき、別の方向指示入力処理をさせてもよい。条件や対応する方向指示入力の算出方法の数は任意に設定可能である。
【0046】
図2のフローチャートに処理の例を示す。ここでは、次に説明する動作を例にして説明を行う。座標入力開始から所定時間1以内に指示点が所定の量以上移動した場合は(S201)、基準点をそのときの指示点に設定し、基準点と指示点との距離が所定の距離以内となるように基準点の位置が制御される方向指示入力処理を行う(S204)。所定時間1経過したときの指示点の移動量が所定の量以下のときは(S202)、予め設定した点、あるいは前回の基準点に基準点を設定して、その座標入力によって基準点を変更しない方向指示入力処理を行う(S205)。前回の基準点を用いる場合は、前記基準点と指示点の距離を保つ処理を行う方向指示入力処理としてもよい。
【0047】
座標入力開始後所定時間2以内に座標入力が終了した場合、いわゆるタップ入力が行われた場合は(S203)、キャラクターをタップされた点に対応する場所にキャラクターを移動させる処理を行う(S206)。このとき、キャラクターの現在の場所からタップ点に対応する点への経路を算出して、キャラクターを自動的に経路に沿って移動させてもよい。本実施例では、タッチ入力に応じてキャラクターを移動させる処理を例としたため、移動に関する処理を行わせるものとしたが、当然別の処理を割り当ててもよい。方向指示入力を開始する条件を満たさない場合は、既存の処理を実行すると考えてもよい。
【0048】
本例では、前記各条件が満たされ(S201,S202,S203)、対応する処理(S204,S205,S206)が開始された場合、方向指示入力の終了の判定や処理は、各処理(S204,S205,S206)内で行うものとした。即ち、方向指示入力の終了の判定がなされるまで、
図2における処理は各処理(S204,S205,S206)ブロックにとどまると考えてよい。
【0049】
前記座標入力を開始してから指示点が所定の時間移動しないときの方向指示入力について、当該方向指示入力の入力量を所定の初期値から徐々に基準点と指示点に応じた値にするような処理を行ってもよい。動作の一例では、タッチディスプレイを長押しするような操作によって方向指示入力が開始された場合、前記例では基準点を所定の点、あるいは前回の基準点に設定するため、直ちに入力量が対応する値となるが、そのようにせずに、例えば0から徐々に基準点と指示点に応じた値に変化させるようにしてもよい。即ち、徐々に変化させる処理をしている間は、J(jx,jy)の値が0.0から1.0の定数倍されるようにしてもよい。この処理によって、入力方向の急な変化を抑えることができるので、例えば急にキャラクターが動き出すようなことを避けることができる。当然、この処理は他の条件のときにも用いてもよい。
【0050】
これらの処理によって、タッチ開始後タッチ点を動かさなかった場合は、ディスプレイの中心や前回の基準点など所定の基準点からのタッチ点の向きと距離に応じた方向、速度でキャラクターを移動させ、タッチ開始後すぐに指をスライドさせるなどしてタッチ点を移動させた場合は、タッチ開始点からのタッチ点の向き、距離に応じた方向、速度でキャラクターを移動させ、ディスプレイがタップされた場合は、タップした点に対応する仮想空間の場所に向かってキャラクターを移動させることができる。
【0051】
方向指示入力の算出方法の別の例は、指示点の移動速度に応じた方向指示入力とする。例えば、直近の任意時間内での指示点の移動量に応じた入力量で、指示点の移動方向に応じた入力方向とする。指示点の変化速度に応じた入力量で、変化方向に応じた入力方向とすると考えてもよい。
【0052】
キャラクターなど移動体を移動させるような場合では、指示点の動きと移動体の動きとを連動させるようにしてもよい。
【0053】
基準点から指示点への位置関係と、基準点決定時の移動体の位置と現在の移動体への位置関係とを対応付けるようにしてもよい。例えばキャラクターを移動させるような場合で、基準点O(ox,oy)を決定したときのキャラクターの仮想空間内の位置をC0(c0x,c0y)とする。その一連のタッチ入力によって、キャラクターの位置C(cx,cy)を
cx=c0x+(px-ox),cy=c0y+(py-oy)
となるように移動させる。このとき、キャラクターの座標を前記C(cx,cy)に即座に移動させてもよいし、キャラクターの移動速度に上限がある場合は、徐々に近づけるようにしてもよい。このとき、障害物などをよけるような経路をとるようにしてもよい。また、cx=c0x+a*(px-ox),cy=c0y+a*(py-oy)
のように係数aを乗じて指示点の変化に応じたキャラクターの移動量を変化させてもよい。aは設定値としてもよいし、ゲームなど適用先の状態に応じて変化させてもよい。
【0054】
上記方向指示入力の算出方法と組み合わせることによって、例えば、タッチ入力に応じてキャラクターを移動させるような場合では、タッチ開入力始後、所定時間内にタッチ点を動かすと、タッチ開始点からのタッチ点の位置に応じた速度と方向でキャラクターを移動させ、タッチ入力開始後に、所定時間内タッチ点を移動させなかった場合は、その後のタッチ点の移動と合わせるようにキャラクターを動かすことができる。当然、条件と方向指示入力の算出方法の組み合わせは逆にしてもよいし、別のものを用いてもよい。
【0055】
本願方向指示入力に関する座標に関して、単一の成分のみ適用するようにしてもよい。例えば、xとy成分を含む座標入力を扱う場合、x成分のみ、前記基準点の変更処理を行い、y成分に関しては行わないようにしてもよい。また、座標成分ごとに異なる条件や、方向指示入力の算出方法を用いてもよい。
【0056】
前記条件(例えば、
図2のS201,S202,S203)が成立したとき、そのことをユーザーに通知させてもよい。例えば、タッチディスプレイを用いる場合では、動画像の表示によって知らせる。一例は、基準点を示す画像を変化させる。色を変化させたり、UIの形や大きさを変化させたり、波紋などのアニメーションを表示するようにしてもよい。動画像表示に限らず、音や振動で知覚できるようにしてもよい。これによって、ユーザーはいずれの方向指示入力処理が行われているのかや、基準点がどのように決定されるのかを知覚することが可能となる。
【0057】
タッチディスプレイ(121)を用いる場合で、ディスプレイに仮想のジョイスティックを描画させ、基準点(122)の位置や指示点(123)の位置などを視覚的に確認できるようにしてもよい。いわゆる、バーチャルパッドと呼ばれるものである。方向指示入力の処理状態、入力状態に応じて視覚的に変化するものとする。
【0058】
本願プログラムは、例えばゲームプログラムのように方向指示入力を用いるプログラムの一部として実装することもできる。また、独立したプログラムとして実装することもできる。
【0059】
例えば、ゲームのコントローラーのアナログスティックによる方向指示入力と等価な信号を生成するプログラムとして実装してもよい。いわゆるゲームのコントローラーのデバイスドライバのように実装してもよい。例えば、方向指示入力に関して、アナログスティックを横方向に倒したときの信号に相当する値を前記jy、縦方向に倒したときの信号に相当する信号を前記jxに応じて決定する。
【0060】
前記デバイスドライバが有効である間は、実行するコンピュータのシステムに方向指示入力信号を生成し、システムはその方向指示信号に応じた処理を行う。例えば、アナログスティックに対応したソフトウェアを実行していれば、座標入力に応じたアナログスティックの操作を可能とする。
【0061】
前記デバイスドライバにおいて、座標入力に応じて、前記ゲームのコントローラーのボタンに応じて生成される信号と等価な信号を生成することによって、前記方向指示入力の場合と同様に、ボタンに対応したソフトウェアの操作を可能とする。一例として、ディスプレイにボタン(124)を描画して、ボタンがタッチされているかによってボタンが押されているのかを判定する。ここではタッチボタンと呼ぶこととする。
【0062】
タッチボタンやバーチャルパットなどのタッチ入力のためのユーザーインターフェース(UI)を描画するときは、画面の最前面に描画するのが望ましい。さらに任意の透過処理を行ってもよい。このとき、等価の具合はそれぞれ個別に設定してもよく、透明にして視覚できなくしてもよい。また、当該UIの操作中あるいは操作していないときに表示するようにしてもよい。
【0063】
また、タッチ入力の検出が、もともとのタッチ入力の検出と重なる場合は、本願によるタッチ入力に対する処理を優先して行い、もともとのタッチ入力の処理を無視するようにしてもよい。
【0064】
例えば、適用先のプログラムがタッチボタンなどのタッチUIを有しており、本願プログラムによって前記ボタンUIを覆うようにタッチ入力を検出する領域が設定されると、前記タッチUIに対するタッチ入力は無視される。
【0065】
本願によるタッチ入力の検出が、もともとのタッチ入力の検出と重ならないようにしてもよい。
【0066】
上記の組み合わせによって、例えば、
図4のようにタッチディスプレイを有するコンピュータにおいて、タッチディスプレイ上にバーチャルパッド(122,123)やボタン(124)を設置して、ゲームのコントローラーのアナログスティックやボタンに応じて生成される信号と等価な信号を生成することによって、現実のゲームのコントローラーが無くとも、タッチ入力によって、ゲームのコントローラーに対応したソフトウェアを操作することを可能とする。
【0067】
本発明は上記の実施形態に限定されることはなく、種々の変形を行うことができる。例えば、上記の処理を実行する電気、電子回路として実装することも可能であり、上記のプログラムを実行する装置として実施することもできる。