JP2013149274A - Image processing program and image processing apparatus - Google Patents
Image processing program and image processing apparatus Download PDFInfo
- Publication number
- JP2013149274A JP2013149274A JP2013085669A JP2013085669A JP2013149274A JP 2013149274 A JP2013149274 A JP 2013149274A JP 2013085669 A JP2013085669 A JP 2013085669A JP 2013085669 A JP2013085669 A JP 2013085669A JP 2013149274 A JP2013149274 A JP 2013149274A
- Authority
- JP
- Japan
- Prior art keywords
- coordinate value
- orientation
- image processing
- input
- image
- 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.)
- Granted
Links
- 238000012545 processing Methods 0.000 title claims abstract description 77
- 230000008859 change Effects 0.000 claims description 44
- 238000001514 detection method Methods 0.000 claims description 21
- 238000000034 method Methods 0.000 description 161
- 230000008569 process Effects 0.000 description 142
- 230000006870 function Effects 0.000 description 43
- 239000013598 vector Substances 0.000 description 31
- 238000004891 communication Methods 0.000 description 18
- 230000009467 reduction Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 8
- 238000003780 insertion Methods 0.000 description 7
- 230000037431 insertion Effects 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 239000002131 composite material Substances 0.000 description 4
- 238000000605 extraction Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000005401 electroluminescence Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 238000007665 sagging Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 230000004308 accommodation Effects 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
Description
この発明は、ユーザ操作によって入力される座標値に応じた表示制御が可能な画像処理プログラムおよび画像処理装置に関する。 The present invention relates to an image processing program and an image processing apparatus capable of display control according to coordinate values input by a user operation.
従来から、タッチパネルなどを介したユーザ操作に応じて、画面上に表示されるオブジェクトに対する変更(移動、回転、縮小、拡大など)を行なう画像処理技術が知られている。 2. Description of the Related Art Conventionally, an image processing technique is known in which an object displayed on a screen is changed (moved, rotated, reduced, enlarged, etc.) in accordance with a user operation via a touch panel or the like.
たとえば、特開2005−277891号公報(特許文献1)には、回転機能付タッチペンを用いて、既に画面に表示済みのスタンプ画像の回転属性を変更する写真シール販売機が開示されている。また、特開平10−188014号公報(特許文献2)および特開2003−323241号公報(特許文献3)には、既に画面に表示済みの画像オブジェクトについて、所定の場所をドラッグ操作をすることにより、回転表示する技術が開示されている。また、特開2003−141558号(特許文献4)には、タッチ位置にスタンプ画像を配置する技術が開示されている。 For example, Japanese Patent Laying-Open No. 2005-277891 (Patent Document 1) discloses a photo sticker vending machine that uses a touch pen with a rotation function to change the rotation attribute of a stamp image already displayed on the screen. Japanese Patent Application Laid-Open No. 10-188014 (Patent Document 2) and Japanese Patent Application Laid-Open No. 2003-323241 (Patent Document 3) disclose that an image object already displayed on the screen is dragged at a predetermined location. A technique for rotating and displaying is disclosed. Japanese Patent Laid-Open No. 2003-141558 (Patent Document 4) discloses a technique for arranging a stamp image at a touch position.
しかしながら、特許文献1から3の技術は、既に画面に表示済みのオブジェクト画像についての回転属性を変更するものであった。また、特許文献4の技術は、スタンプ画像の向きの制御ができないものであった。 However, the techniques of Patent Documents 1 to 3 change the rotation attribute of an object image already displayed on the screen. Further, the technique of Patent Document 4 cannot control the orientation of the stamp image.
この発明は、このような課題を解決するためになされたものであって、その目的は、より簡易な操作によって、オブジェクトを任意の位置に、かつ任意の向きで表示させることが可能なユーザインターフェイスを実現する画像処理プログラムおよび画像処理装置を提供することである。 The present invention has been made to solve such a problem, and an object of the present invention is to make it possible to display an object at an arbitrary position and in an arbitrary direction by a simpler operation. An image processing program and an image processing apparatus for realizing the above are provided.
この発明のある局面に従えば、入力手段(13:実施の形態で相当する参照符号。以下同じ。)および表示手段(12)が利用可能なコンピュータ(100)で実行される画像処理プログラムを提供する。画像処理プログラムは、コンピュータ(100)に、入力手段(13)に対する操作によって入力される座標値を検出する座標検出ステップ(S104)と、検出された座標値のうちの所定の座標値を第1オブジェクト配置座標値として取得し、当該第1オブジェクト配置座標値に基づいて、表示手段の対応する位置に第1オブジェクトを表示する第1オブジェクト表示ステップ(S132,S136,S502,S506,S508)と、検出された座標値のうち第1オブジェクト配置座標値に引き続く座標値である継続座標値を取得する継続座標取得ステップ(S510〜S514)と、継続座標値に応じて、表示手段に表示される第1オブジェクトの向きを変更する向き変更ステップ(S516,S518)とを実行させる。 According to an aspect of the present invention, there is provided an image processing program that is executed by a computer (100) that can use input means (13: reference numerals corresponding to the embodiments; hereinafter the same) and display means (12). To do. The image processing program includes a coordinate detection step (S104) for detecting a coordinate value input to the computer (100) by an operation on the input means (13), and a predetermined coordinate value among the detected coordinate values as a first value. A first object display step (S132, S136, S502, S506, S508) acquired as an object arrangement coordinate value and displaying the first object at a corresponding position of the display means based on the first object arrangement coordinate value; Of the detected coordinate values, a continuous coordinate acquisition step (S510 to S514) for acquiring a continuous coordinate value that is a coordinate value subsequent to the first object arrangement coordinate value, and a second coordinate displayed on the display means according to the continuous coordinate value. A direction changing step (S516, S518) for changing the direction of one object is executed.
なお、第1オブジェクト表示ステップでは、第1オブジェクト配置座標値が検出された時に、第1オブジェクトが表示されることが好ましい。 In the first object display step, it is preferable that the first object is displayed when the first object arrangement coordinate value is detected.
この発明によれば、ユーザが入力手段(13)を操作すると、当該操作によって第1オブジェクト配置座標値が取得され、この第1オブジェクト配置座標値に対応する表示手段(12)の位置にオブジェクトが表示される。さらに、ユーザが引き続いて入力手段(13)を操作すると、当該引き続く操作によって継続配置座標値が取得され、この継続座標値に基づいて、オブジェクトの向きが変更される。 According to the present invention, when the user operates the input means (13), the first object arrangement coordinate value is acquired by the operation, and the object is placed at the position of the display means (12) corresponding to the first object arrangement coordinate value. Is displayed. Further, when the user continues to operate the input means (13), the continuous arrangement coordinate value is acquired by the subsequent operation, and the direction of the object is changed based on the continuous coordinate value.
好ましくは、第1オブジェクト表示ステップは、座標値の検出が開始された直後の座標値を第1オブジェクト配置座標値とする(S132,S136,S502)。 Preferably, in the first object display step, the coordinate value immediately after the detection of the coordinate value is set as the first object arrangement coordinate value (S132, S136, S502).
この発明によれば、ユーザが入力手段を操作すると、即座にオブジェクトが表示(配置)されるため、入力操作についてのストレスをユーザに与えることを抑制できる。 According to the present invention, when the user operates the input unit, the object is immediately displayed (arranged), so that it is possible to suppress the user from being stressed about the input operation.
このましくは、継続座標取得ステップは、第1オブジェクト配置座標値の検出に引き続いて座標値の検出が継続しているか否かを判断するステップ(S510)と、座標値が継続して検出されている間に入力される座標値が、第1オブジェクトの向きを変更する条件である向き変更条件を満足するか否かを判断するステップ(S514)とを含む。向き変更ステップは、向き変更条件を満足すると判断された座標値を、継続座標値として用いて(S512)、当該継続座標値に応じて、第1オブジェクトの向きを変更する。 More preferably, in the continuous coordinate acquisition step, a step of determining whether or not the detection of the coordinate value is continued following the detection of the first object arrangement coordinate value (S510), and the coordinate value is continuously detected. Determining whether or not the coordinate value input during the time satisfies a direction changing condition that is a condition for changing the direction of the first object (S514). In the direction changing step, the coordinate value determined to satisfy the direction changing condition is used as the continuous coordinate value (S512), and the direction of the first object is changed according to the continuous coordinate value.
一実施形態によれば、向き変更条件は、ユーザの意図しない操作によりオブジェクトの向きが変更されることを抑制するための条件であり、このような向き変更条件を用いることで、ユーザの意図しないままオブジェクトが変更されてしまうことを抑制できる。これにより、ユーザは、入力操作についてのストレスを感じることなく、快適に入力操作を行なうことができる。 According to one embodiment, the direction change condition is a condition for suppressing the change of the direction of the object due to an operation unintended by the user. By using such a direction change condition, the user does not intend It is possible to prevent the object from being changed. Thus, the user can comfortably perform the input operation without feeling stress about the input operation.
さらに好ましくは、向き変更条件は、第1オブジェクト配置座標値と継続座標値との間の距離が予め定められたしきい値を超えることを含む。なお、距離とは、座標点間の直線距離(ユークリッド距離)および道のり距離(軌跡距離)のいずれをも含む。 More preferably, the direction change condition includes that the distance between the first object arrangement coordinate value and the continuous coordinate value exceeds a predetermined threshold value. The distance includes both a straight line distance (Euclidean distance) and a road distance (trajectory distance) between coordinate points.
この発明によれば、ユーザが入力手段に対する操作をやめた場合などに、入力される座標が微妙に変化したとしても、表示されるオブジェクトに対する誤操作が生じることを抑制できる。そのため、入力操作についてのストレスをユーザに与えることを抑制できる。 According to the present invention, it is possible to prevent an erroneous operation on the displayed object from occurring even if the input coordinates change slightly when the user stops the operation on the input means. Therefore, it can suppress giving the stress about input operation to a user.
好ましくは、向き変更ステップは、第1オブジェクトの向きを、第1オブジェクト配置座標値と継続座標値との間の位置関係に基づいて決定する。 Preferably, the orientation changing step determines the orientation of the first object based on a positional relationship between the first object arrangement coordinate value and the continuous coordinate value.
さらに好ましくは、向き変更ステップは、第1オブジェクト配置座標値と継続座標値とを通る線に基づいて、第1オブジェクトの向きを決定する(S516,S518)。 More preferably, the orientation changing step determines the orientation of the first object based on a line passing through the first object arrangement coordinate value and the continuation coordinate value (S516, S518).
この発明によれば、オブジェクトが表示された後、ユーザが行なう操作に追従してオブジェクトの向きが変更されることになり、ユーザはより直感的に所望のオブジェクトの向きを指示することができる。 According to this invention, after the object is displayed, the direction of the object is changed following the operation performed by the user, and the user can more intuitively specify the desired direction of the object.
好ましくは、継続座標取得ステップは、座標値の検出が継続している間、継続座標値を随時取得し、向き変更ステップは、座標値の検出が継続している間、随時取得される各継続座標値に応じて、表示手段に表示される第1オブジェクトの向きを随時変更する。 Preferably, the continuous coordinate acquisition step acquires a continuous coordinate value at any time while the detection of the coordinate value continues, and the orientation change step acquires each continuation at any time while the detection of the coordinate value continues. The orientation of the first object displayed on the display means is changed as needed according to the coordinate value.
この発明によれば、ユーザが操作を継続して行なっている間、表示手段に表示されるオブジェクトは実質的にリアルタイムでその向きを変更されるので、ユーザは、操作レスポンスの良さを体感することができる。 According to the present invention, while the user continues to perform the operation, the direction of the object displayed on the display means is changed substantially in real time, so that the user can experience the good operation response. Can do.
好ましくは、画像処理プログラムは、コンピュータに、第1オブジェクトの向きを確定するための向き確定条件を満足する操作がなされたか否かを判断する向き確定条件判定ステップ(S520)をさらに実行させる。向き変更ステップは、向き確定条件が満足される前は、継続座標値が更新される毎に、それぞれの継続座標値に基づいて第1オブジェクトの向きを随時変更し、向き確定条件が満足された後は、第1オブジェクトの向きを固定する(S516,S518,S552)。 Preferably, the image processing program further causes the computer to execute an orientation determining condition determining step (S520) for determining whether or not an operation satisfying an orientation determining condition for determining the orientation of the first object has been performed. In the orientation changing step, before the orientation determination condition is satisfied, the orientation of the first object is changed at any time based on the respective continuous coordinate values every time the continuous coordinate values are updated, and the orientation determination conditions are satisfied. After that, the orientation of the first object is fixed (S516, S518, S552).
この発明によれば、オブジェクトがユーザの所望する向きで表示されるようになった後、ユーザが向き確定条件を満足する操作を行なうことで、オブジェクトは当該向きに固定される。これにより、ユーザは、さまざまなオブジェクトを表示させたい場合などに、各オブジェクトの配置および向きの決定を連続的に行なうことができる。 According to the present invention, after the object is displayed in the orientation desired by the user, the object is fixed in the orientation by the user performing an operation that satisfies the orientation determination condition. Thereby, when the user wants to display various objects, the user can continuously determine the arrangement and orientation of each object.
好ましくは、画像処理プログラムは、コンピュータに、第1オブジェクトの向きを確定するための向き確定条件を満足する操作がなされたか否かを判断する向き確定条件判定ステップ(S520)をさらに実行させる。向き変更ステップは、向き確定条件が満足される前は、第1オブジェクトの向きを初期状態に維持し、向き確定条件が満足されると、向き確定条件が満足されたときの継続座標値に基づいて第1オブジェクトの向きを変更した上で、第1オブジェクトを変更後の向きに固定する。 Preferably, the image processing program further causes the computer to execute an orientation determining condition determining step (S520) for determining whether or not an operation satisfying an orientation determining condition for determining the orientation of the first object has been performed. The orientation changing step maintains the orientation of the first object in the initial state before the orientation determination condition is satisfied, and when the orientation determination condition is satisfied, the orientation change step is based on the continuous coordinate value when the orientation determination condition is satisfied. Then, after changing the direction of the first object, the first object is fixed to the changed direction.
この発明によれば、ユーザが操作を継続して行なった場合であっても、オブジェクトの向きは向き確定条件が満足されるまで変更されないので、演算処理量を低減することができる。 According to the present invention, even if the user continues to operate, the direction of the object is not changed until the orientation determination condition is satisfied, so that the amount of calculation processing can be reduced.
好ましくは、向き確定条件は、第1オブジェクト配置座標値と継続座標値との間の距離が所定値以上になることを含む。 Preferably, the orientation determination condition includes that the distance between the first object arrangement coordinate value and the continuous coordinate value is equal to or greater than a predetermined value.
好ましくは、向き確定条件は、第1オブジェクト配置座標値の取得後、座標値の検出が途絶えることを含む。 Preferably, the orientation determination condition includes that the detection of the coordinate value is interrupted after the acquisition of the first object arrangement coordinate value.
この発明によれば、ユーザが入力手段に対する操作を止めたタイミングで、向き確定条件が満足されるので、ユーザは、オブジェクトが所望の向きに変更された後、たとえば、タッチパネルの入力面からタッチペン等を離すといった操作を行なうだけで、オブジェクトの向きを容易に決定することができる。 According to the present invention, since the orientation determination condition is satisfied at the timing when the user stops the operation on the input means, the user can change the object to a desired orientation, and then, for example, touch pen or the like from the input surface of the touch panel. The user can easily determine the orientation of the object simply by performing an operation such as releasing.
好ましくは、画像処理プログラムは、コンピュータに、第2オブジェクトを表示手段に表示する第2オブジェクト表示ステップ(S530〜S538)をさらに実行させる。第2オブジェクト表示ステップは、第1オブジェクト配置座標値の検出に引き続いて座標値が継続して検出されている間に入力される座標値が、第2オブジェクトを表示するか否かを判定するための第2オブジェクト表示条件を満足するか否かを判断するステップ(S534)と、第2オブジェクト表示条件を満足すると判断された座標値を第2オブジェクト配置座標とし、当該座標に基づいて、表示手段の対応する位置に第2オブジェクトを表示するステップ(S538)とを含む。 Preferably, the image processing program causes the computer to further execute a second object display step (S530 to S538) for displaying the second object on the display unit. The second object display step determines whether or not the coordinate value input while the coordinate value is continuously detected following the detection of the first object arrangement coordinate value displays the second object. Determining whether or not the second object display condition is satisfied (S534), and the coordinate value determined to satisfy the second object display condition is set as the second object arrangement coordinate, and the display means is based on the coordinate. Displaying a second object at a corresponding position (S538).
この発明によれば、ユーザが連続的に操作を行なうことで、複数のオブジェクトが順次表示される。これにより、ユーザは、簡単な操作によって、複数のオブジェクトを連続的に表示させることができる。 According to the present invention, a plurality of objects are sequentially displayed by a user performing continuous operations. Thereby, the user can continuously display a plurality of objects by a simple operation.
好ましくは、第2オブジェクト表示条件は、向き確定条件と同一であり、当該条件を満足すると判断された座標値に基づいて、第1オブジェクトの向きが確定され、かつ、当該座標値に対応する位置に第2オブジェクトが表示される。 Preferably, the second object display condition is the same as the orientation determination condition, the orientation of the first object is determined based on the coordinate value determined to satisfy the condition, and the position corresponding to the coordinate value The second object is displayed on the screen.
この発明によれば、先に表示されるオブジェクトの向きが固定(確定)されると、当該固定された座標値に基づいて、次のオブジェクトが表示される。これにより、ユーザは、より迅速に複数のオブジェクトを連続的に表示させることができる。 According to the present invention, when the orientation of the object displayed first is fixed (determined), the next object is displayed based on the fixed coordinate value. Thereby, the user can display a plurality of objects continuously more rapidly.
好ましくは、第2オブジェクト表示ステップは、第2オブジェクトの向きを、第1オブジェクト配置座標値と第2オブジェクト配置座標値の位置関係に基づいて決定する(S536,S538)。 Preferably, the second object display step determines the orientation of the second object based on the positional relationship between the first object arrangement coordinate value and the second object arrangement coordinate value (S536, S538).
この発明によれば、たとえば、ユーザ操作によって入力される軌跡に沿った向きに、オブジェクトが順次配置されるので、複数のオブジェクトをユーザ操作に応じた向きに配置することができる。 According to the present invention, for example, the objects are sequentially arranged in the direction along the trajectory input by the user operation, so that a plurality of objects can be arranged in the direction corresponding to the user operation.
好ましくは、画像処理プログラムは、コンピュータに、入力画像を表示手段に表示する入力画像表示ステップ(S200〜S204)をさらに実行させる。オブジェクトは、表示される入力画像に重ねて表示される。 Preferably, the image processing program causes the computer to further execute an input image display step (S200 to S204) for displaying the input image on the display unit. The object is displayed so as to overlap the displayed input image.
この発明によれば、ユーザは、入力画像の上に「らくがき」する感覚を得ることができる。これにより、たとえばカメラなどによって撮影された画像に対して、自在に編集操作などを行なうことができる。よって、ユーザは、所望の画像を自身で作成して楽しむことができる。 According to the present invention, the user can obtain a feeling of “writing” on the input image. Thus, for example, an editing operation can be freely performed on an image photographed by a camera or the like. Therefore, the user can create and enjoy a desired image by himself.
この発明の別の局面に従えば、入力手段(13)および表示手段(12)が利用可能なコンピュータ(100)で実行される画像処理プログラムを提供する。画像処理プログラムは、コンピュータ(100)に、入力手段に対する操作によって連続的に入力される座標値の変化を検出するステップ(S510,S520,S524,S528〜S532)と、座標値の変化に対応する表示手段上の軌跡に応じて、少なくとも1つのオブジェクトを順次表示するステップ(S508,S516,S518,S526,S536,S538)とを実行させる。少なくとも1つのオブジェクトの各々の向きは、表示手段上の軌跡に応じて順次決定される。 According to another aspect of the present invention, there is provided an image processing program that is executed by a computer (100) in which an input means (13) and a display means (12) can be used. The image processing program corresponds to the step (S510, S520, S524, S528 to S532) of detecting a change in the coordinate value continuously input to the computer (100) by an operation on the input means, and the change in the coordinate value. A step of sequentially displaying at least one object (S508, S516, S518, S526, S536, S538) according to the trajectory on the display means is executed. The direction of each of the at least one object is sequentially determined according to the trajectory on the display means.
この発明のさらに別の局面に従えば、入力手段(13)および表示手段(12)が利用可能な画像処理装置(100)を提供する。画像処理装置(100)は、ユーザ操作によって入力される座標値を検出する検出手段と、検出された座標値のうちの所定の座標値を第1オブジェクト配置座標値として取得し、当該第1オブジェクト配置座標値に基づいて、表示手段の対応する位置に第1オブジェクトを表示する第1オブジェクト表示手段(31;S502,S506,S508)と、検出された座標値のうち第1オブジェクト配置座標値に引き続く座標値である継続座標値を取得する継続座標取得手段と、継続座標値に応じて、表示手段に表示される第1オブジェクトの向きを変更する向き変更手段(31;S516,S518)とを備える。 According to still another aspect of the present invention, an image processing apparatus (100) that can use the input means (13) and the display means (12) is provided. The image processing apparatus (100) acquires a coordinate value input by a user operation and a predetermined coordinate value among the detected coordinate values as a first object arrangement coordinate value, and the first object Based on the arrangement coordinate value, the first object display means (31; S502, S506, S508) for displaying the first object at the corresponding position of the display means, and the first object arrangement coordinate value among the detected coordinate values. Continuous coordinate acquisition means for acquiring continuous coordinate values that are subsequent coordinate values, and orientation changing means (31; S516, S518) for changing the orientation of the first object displayed on the display means in accordance with the continuous coordinate values. Prepare.
この発明のさらに別の局面に従えば、入力手段(13)および表示手段(12)が利用可能な画像処理装置(100)を提供する。画像処理装置(100)は、入力手段に対する操作によって連続的に入力される座標値の変化を検出する検出手段(13,31;S510,S520,S524,S528〜S532)と、座標値の変化に対応する表示手段上の軌跡に応じて、少なくとも1つのオブジェクトを順次表示するオブジェクト表示手段(31;S508,S516,S518,S526,S536,S538)とを備える。少なくとも1つのオブジェクトの各々の向きは、表示手段上の軌跡に応じて順次決定される。 According to still another aspect of the present invention, an image processing apparatus (100) that can use the input means (13) and the display means (12) is provided. The image processing apparatus (100) includes detection means (13, 31; S510, S520, S524, S528 to S532) for detecting changes in coordinate values continuously input by an operation on the input means, and changes in coordinate values. Object display means (31; S508, S516, S518, S526, S536, S538) for sequentially displaying at least one object according to the trajectory on the corresponding display means. The direction of each of the at least one object is sequentially determined according to the trajectory on the display means.
この発明によれば、より簡易な操作によって、オブジェクトを任意の位置に、かつ任意の向きで表示させることが可能なユーザインターフェイスを提供できる。 According to the present invention, it is possible to provide a user interface capable of displaying an object at an arbitrary position and in an arbitrary direction by a simpler operation.
この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。 Embodiments of the present invention will be described in detail with reference to the drawings. In addition, about the same or equivalent part in a figure, the same code | symbol is attached | subjected and the description is not repeated.
[実施の形態1]
本発明に係るコンピュータないし画像処理装置の代表例として、以下ではゲーム装置100について説明する。また、本発明に係る画像処理プログラムの一例として、当該ゲーム装置100で実行されるプログラムについて説明する。なお、本発明に係る画像処理装置は、ゲーム装置に限定されることはなく、各種アプリケーションを実行可能なパーソナルコンピュータとして実現してもよい。すなわち、本発明に係る画像処理プログラムは、入力手段および表示手段が利用可能なコンピュータであれば、いずれの種類のコンピュータであっても実行可能である。なお、「利用可能な」とは、入力手段と表示手段がコンピュータと有線または無線で接続されており、データの通信が可能であることを意味し、入力手段や表示手段がコンピュータ装置と一体である場合と、別体である場合の両方を含む。
[Embodiment 1]
As a representative example of a computer or image processing apparatus according to the present invention, a
また、本発明に係る画像処理プログラムは、パーソナルコンピュータ上で実行される各種アプリケーションの機能として組み込まれてもよい。また、以下では携帯型装置について説明するが、据え置き型の装置であってもかまわない。 Further, the image processing program according to the present invention may be incorporated as a function of various applications executed on a personal computer. In the following, a portable device will be described, but a stationary device may be used.
また、入力手段としては、後述するように携帯型装置であれば、後述するようにタッチパネルが好ましいが、代替的にマウスなどでもよい。あるいは、表示モニタに対して遠隔から座標指示可能なポインタ(典型的には、Wii(登録商標)のコントローラなど)などであってもかまわない。なお、マウスやポインタの場合には、後述する実施の形態における「タッチオン」の座標は、所定の操作(ボタン操作など)があったときの検出座標とすればよく、「タッチ状態が継続」の判定は、所定の操作が継続(例えば、当該ボタン操作が継続)しているという判定とすることができる。 In addition, as the input means, a touch panel is preferable as described later if it is a portable device as described later, but a mouse or the like may be used instead. Alternatively, a pointer (typically a Wii (registered trademark) controller or the like) capable of instructing coordinates remotely from the display monitor may be used. In the case of a mouse or pointer, the coordinates of “touch-on” in the embodiments described later may be detected coordinates when a predetermined operation (button operation or the like) is performed, and “touch state is continued”. The determination can be a determination that a predetermined operation is continued (for example, the button operation is continued).
<ゲーム装置の外観>
図1は、この発明の実施の形態1に従うゲーム装置100の外観図である。
<Appearance of game device>
FIG. 1 is an external view of
図1を参照して、本実施の形態に従うゲーム装置100は、折り畳み型の携帯ゲーム装置である。図1では、開いた状態(開状態)のゲーム装置100が示されている。ゲーム装置100は、開いた状態においてもユーザが両手または片手で把持することができるようなサイズで構成される。
Referring to FIG. 1,
ゲーム装置100は、下側ハウジング11および上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、開閉可能(折り畳み可能)に連結されている。図1に示す例では、下側ハウジング11および上側ハウジング21は、それぞれ横長の長方形の板状に形成され、互いの長辺部分で回転可能に連結されている。
The
通常、ユーザは、開状態でゲーム装置100を使用する。また、ユーザは、ゲーム装置100を使用しない場合には閉状態としてゲーム装置100を保管する。また、図1に示す例では、ゲーム装置100は、上記閉状態および開状態のみでなく、下側ハウジング11と上側ハウジング21とのなす角度が閉状態と開状態との間の任意の角度において、連結部分に発生する摩擦力などによってその開閉角度を維持することができる。つまり、上側ハウジング21を下側ハウジング11に対して任意の角度で静止させることができる。
Normally, the user uses the
下側ハウジング11には、表示部(表示手段)として、下側LCD(Liquid Crystal Display:液晶表示装置)12が設けられる。下側LCD12は横長形状であり、長辺方向が下側ハウジング11の長辺方向に一致するように配置される。なお、本実施の形態では、ゲーム装置100に搭載される表示部(表示手段)としてLCDを用いているが、たとえばEL(Electro Luminescence:電界発光)を利用した表示装置等、他の任意の表示装置を利用してもよい。また、ゲーム装置100は、任意の解像度の表示装置を利用することができる。
The
下側ハウジング11には、入力部(入力手段)として、各操作ボタン14A〜14Hが設けられる。図1に示されるように、各操作ボタン14A〜14Hのうち、方向入力ボタン14A、操作ボタン14B、操作ボタン14C、操作ボタン14D、操作ボタン14E、電源ボタン14F、スタートボタン14G、およびセレクトボタン14Hは、上側ハウジング21と下側ハウジング11とを折りたたんだときに内側となる、下側ハウジング11の内側主面上に設けられる。
The
方向入力ボタン14Aは、たとえば選択操作等に用いられる。各操作ボタン14B〜14Eは、たとえば決定操作やキャンセル操作等に用いられる。電源ボタン14Fは、ゲーム装置100の電源をオン/オフするために用いられる。図1に示す例では、方向入力ボタン14Aおよび電源ボタン14Fは、下側ハウジング11の内側主面中央付近に設けられる下側LCD12に対して、左右一方側(図1では左側)の当該主面上に設けられる。
The
また、操作ボタン14B〜14E、スタートボタン14G、およびセレクトボタン14Hは、下側LCD12に対して左右他方側(図1では右側)となる下側ハウジング11の内側主面上に設けられる。方向入力ボタン14A、操作ボタン14B〜14E、スタートボタン14G、およびセレクトボタン14Hは、ゲーム装置100に対する各種操作を行なうために用いられる。
In addition, the
なお、ゲーム装置100には、図1において図示されていない操作ボタン14I〜14Kがさらに設けられてもよい。たとえば、Lボタン14Iは、下側ハウジング11の上側面の左端部に設けられ、Rボタン14Jは、下側ハウジング11の上側面の右端部に設けられる。Lボタン14IおよびRボタン14Jは、ゲーム装置100に対して、たとえば撮影指示操作(シャッター操作)を行なうために用いられる。さらに、音量ボタン14Kは、下側ハウジング11の左側面に設けられる。音量ボタン14Kは、ゲーム装置100が備えるスピーカの音量を調整するために用いられる。
Note that the
また、ゲーム装置100は、各操作ボタン14A〜14Hとは別の入力部(入力手段)として、さらにタッチパネル13を備えている。タッチパネル13は、下側LCD12の画面上を覆うように装着されている。
The
本実施の形態では、タッチパネル13は、下側LCD12の表示面と対応付けて配置されており、たとえば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル13は、抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。
In the present embodiment, the
また、本実施の形態では、タッチパネル13として、たとえば下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度とが一致している必要はない。
In the present embodiment, for example, a
さらに、下側ハウジング11の右側面には、タッチペン27の挿入口(図1に示す破線)が設けられている。上記挿入口は、タッチパネル13に対する操作を行なうために用いられるタッチペン27を収納することができる。なお、タッチパネル13に対する入力は、通常タッチペン27を用いて行われるが、タッチペン27に限らずユーザの指でタッチパネル13を操作することも可能である。
Further, an insertion port (broken line shown in FIG. 1) for the
さらに、下側ハウジング11の右側面には、メモリカード28を収納するための挿入口(図1では、二点鎖線で示している)が設けられている。この挿入口の内側には、ゲーム装置100とメモリカード28とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード28は、たとえばSD(Secure Digital)メモリカードであり、コネクタに着脱自在に装着される。メモリカード28は、たとえば、ゲーム装置100によって撮影および/または画像処理された画像を記憶(保存)したり、他の装置で生成された画像をゲーム装置100に読み込んだりするために用いられる。
Further, an insertion slot (indicated by a two-dot chain line in FIG. 1) for storing the
さらに、下側ハウジング11の上側面には、メモリカード29を収納するための挿入口(図1では、一点鎖線で示している)が設けられている。この挿入口の内側にも、ゲーム装置100とメモリカード29とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード29は、画像通信プログラムやゲームプログラム等を記憶した記憶媒体であり、下側ハウジング11に設けられた挿入口に着脱自在に装着される。
Further, an insertion slot (indicated by a one-dot chain line in FIG. 1) for accommodating the
下側ハウジング11と上側ハウジング21との連結部の左側部分には、3つのLED15A〜15Cが取り付けられる。本実施の形態に従うゲーム装置100は、他の機器との間で無線通信を行なうことが可能であり、第1LED15Aは、無線通信が確立している場合に点灯する。第2LED15Bは、ゲーム装置100の充電中に点灯する。第3LED15Cは、ゲーム装置100の電源がオンである場合に点灯する。したがって、3つのLED15A〜15Cによって、ゲーム装置100の通信確立状況、充電状況、および、電源のオン/オフ状況をユーザに通知することができる。
Three LEDs 15 </ b> A to 15 </ b> C are attached to the left portion of the connecting portion between the
一方、上側ハウジング21には、上側LCD22が設けられる。上側LCD22は横長形状であり、長辺方向が上側ハウジング21の長辺方向に一致するように配置される。なお、下側LCD12と同様、上側LCD22に代えて、他の任意の方式および任意の解像度の表示装置を利用してもよい。なお、上側LCD22上を覆うように、タッチパネルを設けてもかまわない。
On the other hand, the
さらに、上側ハウジング21には、2つの撮像装置であるカメラ(内側カメラ23および外側カメラ25)が設けられる。図1に示されるように、内側カメラ23は、上側ハウジング21の連結部付近の内側主面に取り付けられる。一方、外側カメラ25は、内側カメラ23が取り付けられる内側主面の反対側の面、すなわち、上側ハウジング21の外側主面(ゲーム装置100が閉状態となった場合に外側となる面であり、図1に示す上側ハウジング21の背面)に取り付けられる。なお、図1においては、外側カメラ25を破線で示している。
Furthermore, the
これによって、内側カメラ23は、上側ハウジング21の内側主面が向く方向を撮影することが可能であり、外側カメラ25は、内側カメラ23の撮影方向の逆方向、すなわち、上側ハウジング21の外側主面が向く方向を撮影することが可能である。
As a result, the
このように、本実施の形態では、2つの内側カメラ23および外側カメラ25の撮影方向が互いに逆方向となるように設けられる。たとえば、ユーザは、ゲーム装置100からユーザの方を見た景色を内側カメラ23で撮影することができるとともに、ゲーム装置100からユーザの反対側の方向を見た景色を外側カメラ25で撮影することができる。
Thus, in the present embodiment, the two
なお、下側LCD12および/または上側LCD22は、内側カメラ23または外側カメラ25で撮影される画像をリアルタイムに表示するために用いられることもある。
Note that the
さらに、上記連結部付近の内側主面には、音声入力装置としてマイク(図2に示すマイク43)が収納されている。そして、上記連結部付近の内側主面には、マイク43がゲーム装置100外部の音を検知できるように、マイクロフォン用孔16が形成される。マイク43を収納する位置およびマイクロフォン用孔16の位置は必ずしも上記連結部である必要はなく、たとえば下側ハウジング11にマイク43を収納し、マイク43の収納位置に対応させて下側ハウジング11にマイクロフォン用孔16を設けるようにしてもよい。
Furthermore, a microphone (a
さらに、上側ハウジング21の外側主面には、第4LED26(図1では、破線で示す)が取り付けられる。第4LED26は、内側カメラ23または外側カメラ25によって撮影が行われている間点灯する。また、内側カメラ23または外側カメラ25によって動画が撮影(撮影画像を動画として記憶)される間は点滅させてもよい。
Further, a fourth LED 26 (shown by a broken line in FIG. 1) is attached to the outer main surface of the
なお、LEDが画面に映り込むことを防ぐために、シャッターが押された瞬間から、当該シャッターが押された瞬間の撮影画像の記憶が完了するまでの間は第4LED26を消灯させてもよい。第4LED26によって、ゲーム装置100による撮影が行われていることを撮影対象者や周囲に通知することができる。
In order to prevent the LED from appearing on the screen, the
さらに、上側ハウジング21の内側主面中央付近に設けられる上側LCD22に対して、左右両側の当該主面に音抜き孔24がそれぞれ形成される。音抜き孔24の奥の上側ハウジング21内にはスピーカが収納されている。音抜き孔24は、スピーカからの音をゲーム装置100の外部に放出するための孔である。
Furthermore, with respect to the
以上に説明したように、上側ハウジング21には、画像を撮影するための構成である内側カメラ23および外側カメラ25と、各種画像を表示するための表示手段である上側LCD22とが設けられる。一方、下側ハウジング11には、ゲーム装置100に対する操作入力を行なうための入力部(タッチパネル13および各ボタン14A〜14K)と、各種画像を表示するための表示手段である下側LCD12とが設けられる。
As described above, the
当該入力装置は、たとえば、ゲーム装置100を使用する際には、下側LCD12や上側LCD22に撮影画像(カメラによって撮影された画像)を表示しながら、下側ハウジング11をユーザが把持して入力装置に対する入力を行なうような用途に用いることができる。
For example, when the
<ゲーム装置の内部構成>
図2は、この発明の実施の形態1に従うゲーム装置100の内部構成の一例を示すブロック図である。
<Internal configuration of game device>
FIG. 2 is a block diagram showing an exemplary internal configuration of
図2を参照して、ゲーム装置100は、CPU31と、メインメモリ32と、メモリ制御回路33と、保存用データメモリ34と、プリセットデータ用メモリ35と、メモリカードインターフェース(メモリカードI/F)36および37と、無線通信モジュール38と、ローカル通信モジュール39と、リアルタイムクロック(RTC)40と、電源回路41と、インターフェース回路(I/F回路)42等との電子部品を備えている。これらの電子部品は、電子回路基板上に実装されて、下側ハウジング11(または上側ハウジング21でもよい)内に収納される。
Referring to FIG. 2, a
CPU31は、所定のプログラムを実行するための演算処理手段である。本実施の形態では、所定のプログラムがゲーム装置100内のメモリ(たとえば、保存用データメモリ34)やメモリカード28および/または29に記録されており、CPU31は、当該所定のプログラムを実行することによって、後述する画像処理を実行する。なお、CPU31によって実行されるプログラムは、ゲーム装置100内のメモリに予め記録されていてもよいし、メモリカード28および/または29から取得されてもよいし、他の機器との通信によって他の機器から取得されてもよい。
The
CPU31には、メインメモリ32、メモリ制御回路33、およびプリセットデータ用メモリ35が接続される。また、メモリ制御回路33には、保存用データメモリ34が接続される。
A
メインメモリ32は、CPU31のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ32は、上記情報処理に用いられる各種データを記憶したり、外部(メモリカード28および29や他の機器等)から取得されるプログラムを記憶したりする。本実施の形態では、メインメモリ32として、たとえばPSRAM(Pseudo-SRAM)を用いる。
The
保存用データメモリ34は、CPU31によって実行されるプログラムや内側カメラ23および外側カメラ25によって撮影された画像のデータ等を記憶するための記憶手段である。保存用データメモリ34は、不揮発性の記憶媒体によって構成されており、たとえば本実施例ではNAND型フラッシュメモリで構成される。メモリ制御回路33は、CPU31の指示に従って、保存用データメモリ34に対するデータの読み出しおよび書き込みを制御する回路である。
The
プリセットデータ用メモリ35は、ゲーム装置100において予め設定される各種パラメータ等のデータ(プリセットデータ)を記憶するための記憶手段である。プリセットデータ用メモリ35としては、SPI(Serial Peripheral Interface)バスによってCPU31と接続されるフラッシュメモリを用いることができる。
The
メモリカードI/F36および37は、それぞれCPU31に接続される。メモリカードI/F36は、コネクタに装着されたメモリカード28に対するデータの読み出しおよび書き込みを、CPU31の指示に応じて行なう。また、メモリカードI/F37は、コネクタに装着されたメモリカード29に対するデータの読み出しおよび書き込みを、CPU31の指示に応じて行なう。
Memory card I /
本実施の形態では、内側カメラ23および外側カメラ25によって撮影された画像データや他の装置から受信された画像データがメモリカード28に書き込まれたり、メモリカード28に記憶された画像データがメモリカード28から読み出されて保存用データメモリ34に記憶されたり、他の装置へ送信されたりする。また、メモリカード29に記憶された各種プログラムが、CPU31によって読み出されて実行されたりする。
In the present embodiment, image data captured by the
なお、本発明に係る画像処理プログラムは、メモリカード29等の外部記憶媒体を通じてコンピュータシステムに供給されるだけでなく、有線または無線の通信回線を通じてコンピュータシステムに供給されてもよい。また、画像処理プログラムは、コンピュータシステム内部の不揮発性記憶装置に予め記憶されていてもよい。なお、画像処理プログラムを記憶する記憶媒体としては、上記不揮発性記憶装置に限らず、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体でもよい。
The image processing program according to the present invention may be supplied not only to the computer system through an external storage medium such as the
無線通信モジュール38は、たとえばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール39は、所定の通信方式により同種のゲーム装置との間で無線通信を行なう機能を有する。無線通信モジュール38およびローカル通信モジュール39は、CPU31に接続される。CPU31は、無線通信モジュール38を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール39を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。
The
さらに、CPU31には、RTC40および電源回路41が接続される。RTC40は、時間をカウントしてCPU31に出力する。たとえば、CPU31は、RTC40によって計時された時間に基づいて、現在時刻(日付)等を計算することもできる。電源回路41は、ゲーム装置100が有する電源(典型的には電池であり、下側ハウジング11に収納される)から供給される電力を制御し、ゲーム装置100の各部品に電力を供給する。
Further, an
さらに、ゲーム装置100は、マイク43およびアンプ44を備えている。マイク43およびアンプ44は、それぞれI/F回路42に接続される。マイク43は、ゲーム装置100に向かって発声されたユーザの音声を検知して、当該音声を示す音声信号をI/F回路42に出力する。アンプ44は、I/F回路42から音声信号を増幅してスピーカ(図示せず)から出力させる。I/F回路42は、CPU31に接続される。
Furthermore, the
また、タッチパネル13は、I/F回路42に接続される。I/F回路42は、マイク43およびアンプ44(スピーカ)の制御を行なう音声制御回路と、タッチパネル13の制御を行なうタッチパネル制御回路とを含む。
The
音声制御回路は、音声信号に対するA/D変換およびD/A変換を行ったり、音声信号を所定の形式の音声データに変換したりする。 The voice control circuit performs A / D conversion and D / A conversion on the voice signal, or converts the voice signal into voice data of a predetermined format.
タッチパネル制御回路は、タッチパネル13からの信号に基づいて所定の形式のタッチ位置データを生成してCPU31に出力する。たとえば、タッチ位置データは、タッチパネル13の入力面に対して入力が行われた位置の座標を示すデータである。なお、タッチパネル制御回路は、タッチパネル13からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行なう。
The touch panel control circuit generates touch position data in a predetermined format based on a signal from the
CPU31は、I/F回路42を介して、タッチ位置データを取得することにより、ユーザによるタッチパネル13に対する操作によって入力される座標を検出することができる。
The
操作ボタン14は、上記各操作ボタン14A〜14Kから構成され、CPU31に接続される。操作ボタン14からCPU31へは、各操作ボタン14A〜14Kに対する入力状況(押下されたか否か)を示す操作データが出力される。CPU31は、操作ボタン14から操作データを取得することによって、操作ボタン14に対する入力に応じた処理を実行する。
The
内側カメラ23および外側カメラ25は、それぞれCPU31に接続される。内側カメラ23および外側カメラ25は、CPU31の指示に応じて画像を撮影し、撮影した画像データをCPU31に出力する。たとえば、CPU31は、内側カメラ23および外側カメラ25のいずれか一方に対して撮影指示を行ない、撮影指示を受けたカメラが画像を撮影して画像データをCPU31に送る。
The
また、下側LCD12および上側LCD22は、それぞれCPU31に接続される。下側LCD12および上側LCD22は、それぞれCPU31の指示に従って画像を表示する。一例として、CPU31は、内側カメラ23および外側カメラ25のいずれかから取得した画像を、下側LCD12および上側LCD22の一方に表示させ、所定の処理によって生成した操作説明画面を下側LCD12および上側LCD22の他方に表示させる。
Further, the
<ゲーム装置の使用例>
図3は、この発明の実施の形態1に従うゲーム装置100の使用形態の一例を示す図である。図3を参照して、ゲーム装置100では、搭載されたカメラ(内側カメラ23または外側カメラ25)で撮影される被写体TRGなどの画像が下側LCD12にリアルタイムに表示されるとともに、ユーザはタッチペン27や自身の指など(以下、「タッチペン27等」と称する)を用いて、下側LCD12上に配置されたタッチパネル13を操作して、任意のオブジェクトを追加することが可能である。そして、このユーザ操作に応じたオブジェクトが撮影される画像に重ね合わされて表示されるようになる。このように、本実施の形態に従うゲーム装置100では、カメラで撮影された画像などに対して、ユーザは自由に「らくがき」することが可能である。なお、表示される画像は、メモリカード28(図2)などに予め記憶された画像(静止画像もしくは動画像)であってもよい。
<Usage example of game device>
FIG. 3 shows an example of a usage pattern of
なお、図3に示す例では、外側カメラ25を用いて被写体TRGが撮影されているが、内側カメラ23を用いて被写体TRGを撮影するようにしてもよく、いずれのカメラを使用するかについては、ユーザが任意に選択できるようにしてもよい。
In the example shown in FIG. 3, the subject TRG is photographed using the
図4は、この発明の実施の形態1に従うゲーム装置100における選択画面の一例を示す図である。図4を参照して、本実施の形態に従うゲーム装置100は、上述したユーザが自由に「らくがき」できる機能を含む複数の機能を搭載しており、ユーザは、図4に示す選択画面上で所望する機能を選択する。
FIG. 4 shows an example of a selection screen in
図4に示す例では、画面上部にゲーム装置100に搭載された各機能に対応する複数のアイコン150が表示されており、ユーザは、これらのアイコン150のうち所望する機能に対応するアイコンを任意に選択することができる。また、画面の両側には、選択アイコン152および154が表示されている。ユーザが選択アイコン152または154を選択する毎に、選択される機能がアイコン150の配列に従って左側または右側に順次変更される。
In the example shown in FIG. 4, a plurality of
このような方法によりユーザが機能を選択した上で、「はじめる」アイコン158を選択すると、選択された機能が実行される。また、「やめる」アイコン156が選択されると、図示しないメニュー画面へ戻る。
When the user selects a function by such a method and selects the “Start”
また、図4に示すように、ユーザにより選択されたアイコン150に対応する機能の内容をユーザに提示するように、プレビュー領域160には、その選択された機能の名称(図4に示す例では「らくがきカメラ」)およびその処理の概略が示される。
Further, as shown in FIG. 4, the
<「らくがきカメラ」の概要>
以下、図5〜図11を参照して、本実施の形態に従う「らくがきカメラ」の概要について説明する。
<Outline of “Rakugaki Camera”>
Hereinafter, with reference to FIG. 5 to FIG. 11, an outline of “a graffiti camera” according to the present embodiment will be described.
本実施の形態に従う「らくがきカメラ」は、カメラで撮影された画像などに対して、ユーザが自由に「らくがき」することができる機能である。「らくがきカメラ」では、主として、予め用意された1個のオブジェクト(スタンプ)を任意の位置および向きで配置できる機能と、ユーザ入力された軌跡に沿って複数のオブジェクトを配置できる機能とが提供される。 “Rakugaki camera” according to the present embodiment is a function that allows the user to freely “grate” the image taken by the camera. The “Rakugaki Camera” mainly provides a function capable of arranging one object (stamp) prepared in advance at an arbitrary position and orientation, and a function capable of arranging a plurality of objects along a locus inputted by the user. The
図5に示すように、「らくがきカメラ」のモードでは、カメラで撮影された画像がリアルタイムに表示されるとともに、この画像に対して「らくがき」操作を選択するためのアイコン202〜208が画面上部に表示され、各種操作を選択するためのアイコン210〜214が画面下部に表示される。
As shown in FIG. 5, in the “Rakugaki camera” mode, an image captured by the camera is displayed in real time, and
この図5に示す例では、被写体TRGを撮影して得られた画像に対して、葉っぱのスタンプであるオブジェクトOBJ2と、ハート型のスタンプであるオブジェクトOBJ4とが重ねて表示され、さらに、ユーザが入力した「hello」の文字を示すオブジェクトOBJ3が重ねて表示されている場合を示す。 In the example shown in FIG. 5, an object OBJ2, which is a leaf stamp, and an object OBJ4, which is a heart-shaped stamp, are displayed on the image obtained by photographing the subject TRG. The case where the object OBJ3 which shows the inputted character of "hello" is displayed in piles is shown.
図5に示すオブジェクトOBJ3については、ユーザが「えんぴつ」アイコン202を選択(タッチ)した後、タッチペン27等を画面上にタッチしたまま移動(スライド操作)させることで、その移動した軌跡に応じて生成される。なお、「えんぴつ」アイコン202を選択することで、図示しない選択サブメニューが表示され、この選択サブメニューにおいて、線の太さおよび線の色などを任意に選択することができる。
For the object OBJ3 shown in FIG. 5, the user selects (touches) the “pencil”
また、ユーザは、「消しゴム」アイコン204を選択した後、タッチペン27等を画面上にタッチしたまま移動(スライド操作)させることで、その移動した軌跡(領域)に含まれるオブジェクトが消去される。さらに、「全部けす」アイコン208が選択されると、表示領域200に表示されているすべてのオブジェクトが消去される。
In addition, after selecting the “eraser”
また、「スタンプ」アイコン206が選択されると、図6に示す選択サブメニューが表示され、この選択サブメニューで選択されたスタンプが入力可能になる。ゲーム装置100では、複数種類のスタンプ(図6に示す例では10種類)が予め用意されており、図6に示すように、「スタンプ」アイコン206が選択された場合の選択サブメニューでは、各スタンプに対応する複数のアイコン222が表示される。ユーザは、所望するスタンプに対応するアイコンを選択した後、「とじる」アイコン224を選択すると、選択されたスタンプが入力可能な状態となって、選択サブメニューの表示は消える。
When the “stamp”
選択されたスタンプが入力可能な状態において、ユーザがタッチペン27等で画面上の所望する位置にタッチすることで、当該位置(第1オブジェクト配置座標値に相当)に選択された1個のスタンプが配置される。
In a state where the selected stamp can be input, when the user touches a desired position on the screen with the
特に、本実施の形態に従うゲーム装置100では、配置された直後のスタンプは、その配置される向きについては未確定の状態に維持される。すなわち、ユーザが、タッチペン27等で画面上にタッチオンしてスタンプを配置した後、画面上にタッチしたまま、当該タッチペン27等を移動(スライド操作)させることで、スタンプの向きはその移動後のタッチ位置(継続座標値に相当)に応じてリアルタイムで変化する。そして、ユーザが画面上からタッチペン27等を離す、もしくはタッチペン27等をタッチオン位置から所定距離D1より多く移動させたなどの操作を行なった場合には、配置されたスタンプの向きは確定する(確定状態)。なお、後述の通り、タッチ位置がタッチオン位置から所定距離D2(D2<D1)より短いときには、スタンプの向きは変更されない。
In particular, in
具体的な一例として、たとえば、図6に示す選択サブメニューにおいて吹き出しのスタンプに対応するアイコンが選択された後、ユーザがタッチペン27等で画面上の所望する位置にタッチすると、図7に示すように、吹き出しのスタンプであるオブジェクトOBJ4が、タッチオンされた位置に応じて配置される。なお、このときのオブジェクトOBJ4の向きは、予め定められた向き(初期値)となる。さらに、タッチペン27等で画面上にタッチした状態のまま、タッチペン27等を移動させると、図8に示すように、オブジェクトOBJ4は、このタッチペン27等の移動した後の位置に応じて順次回転する。なお、各スタンプには、予め回転の中心点が定められており、タッチペン27等の移動に応じてこの中心点を回転中心として回転する。その後、タッチペン27等が画面上から離されたり、タッチペン27等がタッチオン位置より所定距離D1より多く移動したりした場合などには、配置されたオブジェクト4(スタンプ)の向きは確定する。
As a specific example, for example, when an icon corresponding to a balloon stamp is selected in the selection submenu shown in FIG. 6 and the user touches a desired position on the screen with the
さらに、1つ目のスタンプを配置した後、タッチペン27等を画面上にタッチしたまま移動させた場合の例について、図9〜図11を参照して説明する。なお、理解を容易にするために、図9〜図11に示す例では、葉っぱのスタンプが選択されている場合について示す。
Further, an example in which the
まず、ユーザがタッチペン27等で画面上の所望する位置にタッチすると、図9に示すように、葉っぱのスタンプであるオブジェクトOBJ21がタッチオンされた位置に応じて配置される(画面に表示される)。上述したように、この配置された直後のスタンプ(オブジェクトOBJ21)は、その向きについては未確定な状態にある。その後、ユーザが、タッチペン27等で画面上にタッチした状態のまま、タッチペン27等をタッチオン位置から所定距離D1より多く移動させると、オブジェクトOBJ21の向きが確定する。このオブジェクトOBJ21の向きの確定と同時あるいは確定の後、さらにタッチペン27等により画面がタッチされ続けている状態であれば、新たなスタンプ(2つ目のスタンプ)であるオブジェクトOBJ22が配置される。
First, when the user touches a desired position on the screen with the
なお、2個目に配置されるスタンプの向きについては、1個目のスタンプの位置と自身のスタンプの位置との相対関係に応じて、その向きが定まる。それゆえ、2つ目のスタンプは配置される時点で向きが確定している。2つめのスタンプが配置された後、さらに、その後、タッチした状態のままオブジェクトOBJ22の位置から所定距離D1だけ多く移動させると、さらに新たなスタンプ(3つ目のスタンプ)であるオブジェクトOBJ23が配置される。この3つ目のスタンプについても、2つ目のスタンプと同様、配置される時点で向きが確定している。具体的には、2つ目のスタンプの位置と自身のスタンプの位置との相対関係に応じてその向きが定まる。さらにその後タッチした状態のままタッチ位置を移動させ続けると、4つ目以降のスタンプ(OBJ24,OBJ25,…)についても、上述と同様に配置され。その向きが定まる。なお、前述の通り、タッチペン27等を画面上にタッチしてから離されるまでの一連の操作中において、1個目に配置されるスタンプの向きは、自身のスタンプの位置と1つ後のスタンプの位置の相対関係に応じて確定するので、表示される時点で向きが確定しておらず、その後のタッチ位置に応じて向きが変化する。一方、2個目以降に配置されるスタンプの向きについては、1つ前のスタンプの位置と自身のスタンプの位置との相対関係に応じて、その配置される向きが定まる。すなわち、一連の操作中において、2個目以降に配置されたスタンプについては、表示される時点で向きが確定しているため、未確定状態が存在しない。
Note that the orientation of the second stamp is determined according to the relative relationship between the position of the first stamp and the position of its own stamp. Therefore, the orientation of the second stamp is fixed when it is placed. After the second stamp is placed, if the object is moved further by a predetermined distance D1 from the position of the object OBJ22 while being touched, the object OBJ23, which is a new stamp (third stamp), is placed. Is done. As with the second stamp, the orientation of the third stamp is fixed at the time of placement. Specifically, the direction is determined according to the relative relationship between the position of the second stamp and the position of its own stamp. Further, if the touch position is continuously moved in the touched state, the fourth and subsequent stamps (OBJ24, OBJ25,...) Are also arranged in the same manner as described above. The direction is determined. As described above, during the series of operations from touching the
このようにして、ユーザが、タッチペン27等で画面上をタッチした状態のまま、タッチペン27等を移動させると、その軌跡に沿ってスタンプが順次配置される。このような操作は、タッチペン27等で画面にタッチしている限り継続する。そのため、ユーザは、タッチペン27等を操作することで、その軌跡に沿ったスタンプを自在に配置することができる。
In this way, when the user moves the
なお、タッチペン27等で画面をタッチして、タッチオン位置から所定距離D1以内でタッチオフした場合には、スタンプが1つだけ配置される。また、タッチオン位置から所定距離D2以内でタッチオフした場合は、スタンプの向きは初期状態のまま表示される。すなわち、タッチしてすぐにタッチオフした場合(タッチオン位置から所定距離D2以内でタッチオフした場合)には、1つのスタンプが初期状態の向きで表示される。
When the screen is touched with the
このように、本実施の形態に従うゲーム装置100では、タッチパネル13に対する操作によって連続的に入力される座標値の変化を検出し、この座標値の変化に対応するタッチパネル13上の軌跡に応じて、少なくとも1つのオブジェクトが順次表示される。このとき、各オブジェクトの向きは、タッチパネル13上の軌跡に応じて順次決定される。また、オブジェクトを1つだけ配置することも可能であり、また、当該1つのオブジェクトは、初期状態の向きで表示することも、向きを変更して表示することも可能である。
Thus, in
再度図5を参照して、「やめる」アイコン210が選択されると、本「らくがきカメラ」の処理が中止され、図4に示すような選択画面へ戻る。
Referring to FIG. 5 again, when the “quit”
また、「とる」アイコン212が選択されることで、選択されたタイミングにおいてカメラで撮影されている画像と、ユーザが「らくがき」したオブジェクトOBJ2〜OBJ4とを合成した静止画像が生成され、保存用データメモリ34(図2)などに記憶される。
In addition, when the “take”
また、切替アイコン214が選択されると、画像撮影に使用するカメラが、内側カメラ23と外側カメラ25との間で切り替えられる。
When the
<「らくがきカメラ」の詳細処理>
以下、図12、図13、図37および図38を参照して、本実施の形態に従う「らくがきカメラ」の詳細処理について説明する。なお、図12および図13に示す例は、図9および図10に示すオブジェクトOBJ21およびOBJ22が配置される処理を説明するものであり、図37および図38に示す例は、図9および図10に示すオブジェクトOBJ21およびOBJ22が配置される内部処理を説明するものである。
<Detailed processing of “Rakugaki Camera”>
Hereinafter, with reference to FIG. 12, FIG. 13, FIG. 37, and FIG. The examples shown in FIG. 12 and FIG. 13 are for explaining the processing for arranging the objects OBJ21 and OBJ22 shown in FIG. 9 and FIG. 10, and the examples shown in FIG. 37 and FIG. The internal processing in which the objects OBJ21 and OBJ22 shown in FIG.
タッチペン27等で画面上にタッチされると、タッチパネル13(図1,図2)は、その入力面に対して入力が行われた位置の座標を示すタッチ位置データを出力する。たとえば、図12(a)に示すように、第1入力点P1をタッチペン27等でタッチすると(タッチオンすると)、この第1入力点P1の座標を示すタッチ位置データが得られる。
When touched on the screen with the
続いて、この第1入力点P1に基づいて基準線が算出される。図12(a)に示す例では、第1入力点P1を通り、かつ紙面横方向に平行な基準線L1が用いられる。この基準線は、スタンプ(オブジェクト)の向き(初期値)を決定するための便宜上のものであり、第1入力点P1の位置を反映したものであれば任意に選択することができる。たとえば、第1入力点P1を通り、かつ紙面縦方向に平行な基準線を用いてもよい。 Subsequently, a reference line is calculated based on the first input point P1. In the example shown in FIG. 12A, a reference line L1 that passes through the first input point P1 and is parallel to the horizontal direction of the paper surface is used. This reference line is for convenience in determining the direction (initial value) of the stamp (object), and can be arbitrarily selected as long as it reflects the position of the first input point P1. For example, a reference line passing through the first input point P1 and parallel to the vertical direction of the paper surface may be used.
第1入力点P1に1個目のスタンプが配置される。各スタンプには、図37(a)に示すように、その種類に応じて、角度基準線SL1および中心点C1が予め定められている。図37(a)に示す例では、その中心点C1が第1入力点P1に一致するように、オブジェクトOBJ21は配置される(オブジェクトOBJ21の位置はこの時点で確定する)。このとき、オブジェクトOBJ21は、初期値として、その角度基準線SL1が基準線L1と一致するような向きに配置される。 A first stamp is arranged at the first input point P1. As shown in FIG. 37 (a), an angle reference line SL1 and a center point C1 are determined in advance for each stamp according to its type. In the example shown in FIG. 37A, the object OBJ21 is arranged so that the center point C1 coincides with the first input point P1 (the position of the object OBJ21 is determined at this point). At this time, the object OBJ21 is arranged in an orientation such that its angle reference line SL1 coincides with the reference line L1 as an initial value.
さらに、図12(b)に示すように、タッチ状態のままタッチペン27等が第2入力点P2に移動すると、第1入力点P1および第2入力点P2を通る基準線L2が算出される。なお、この基準線L2は、タッチペン27等の移動に伴って、タッチ位置データの座標値が変化する毎にリアルタイムで更新される。すなわち、基準線L2は、オブジェクトOBJ21の向きが確定するまでは、最新のタッチ位置に応じて変化し、具体的には、配置されたオブジェクトOBJ21の中心位置C1と最新のタッチ位置とを通る線に随時更新される。この基準線L2の算出(更新)に伴って、図37(a)に示すように、オブジェクトOBJ21は、その角度基準線SL1が最新の基準線L2と一致するように、その向きがリアルタイムで変更される。すなわち、オブジェクトOBJ21は、初期の向きから、基準線L1と角度基準線SL1とがなす角θの大きさだけ中心点C1を中心として回転する。なお、この図12(b)および図37(a)に示す状態では、オブジェクトOBJ21の向きは、未確定状態にある。
Further, as shown in FIG. 12B, when the
この未確定状態においては、第2入力点P2と第1入力点P1との間の距離(ユークリッド距離)ΔL1がリアルタイムで算出されるとともに、この算出された距離ΔL1の大きさが所定のしきい値Th1と比較される。そして、距離ΔL1が当該所定のしきい値Th1を超えると、オブジェクトOBJ21の向きは確定状態になる。 In this undetermined state, the distance (Euclidean distance) ΔL1 between the second input point P2 and the first input point P1 is calculated in real time, and the size of the calculated distance ΔL1 is a predetermined threshold. It is compared with the value Th1. Then, when the distance ΔL1 exceeds the predetermined threshold value Th1, the direction of the object OBJ21 is determined.
具体的には、図12(c)に示すように、第1入力点P1からタッチ状態のままタッチペン27等が第3入力点P3に移動し、このときの第1入力点P1と第3入力点P3との間の距離ΔL1が所定のしきい値Th1を超えたと判断されると、オブジェクトOBJ21の向きは確定する。すなわち、オブジェクトOBJ21の向きは、図37(c)に示すように、その角度基準線SL1が第1入力点P1および第3入力点P3を通る基準線L3と一致する向きに確定する。すなわち、オブジェクトOBJ21の向きは、未確定状態から確定状態に移行する。
Specifically, as shown in FIG. 12C, the
なお、オブジェクトの向きが未確定状態から確定状態に移行するための条件(向き確定条件に相当)としては、上述した距離ΔL1の大きさが所定のしきい値Th1を超えているとの条件に代えて、あるいはこれに加えて、(1)タッチペン27等によるタッチ操作の継続時間が所定時間を越えて経過した、(2)タッチペン27等によるタッチ操作が有効範囲以外の領域に対してなされた、(3)操作ボタン14A〜14Hが選択された、(4)タッチオフした、といった条件を用いてもよい。
Note that the condition for shifting the object orientation from the unconfirmed state to the confirmed state (corresponding to the orientation confirmation condition) is that the above-described distance ΔL1 exceeds the predetermined threshold Th1. Instead, or in addition to this, (1) the duration of the touch operation with the
以上のような処理に従って、1個目のスタンプの配置位置および向きが決定する。次に、2個目以降のスタンプを配置する処理について説明する。 According to the above process, the arrangement position and orientation of the first stamp are determined. Next, processing for arranging the second and subsequent stamps will be described.
第3入力点P3からタッチ状態のままタッチペン27等の移動が継続すると、オブジェクトOBJ21の向きが確定状態に移行したのと同時、あるいはその後、新たなオブジェクトOBJ22が配置される。
When the movement of the
なお、オブジェクトOBJ21の向きを確定する条件と、新たなオブジェクトOBJ22を配置する条件(第2オブジェクト表示条件に相当)とは共通であってもよいし、互いに異なったものであってもよい。 The condition for determining the orientation of the object OBJ21 and the condition for arranging the new object OBJ22 (corresponding to the second object display condition) may be the same or different from each other.
図13(a)には、先のオブジェクトが確定状態に移行したのと同時に、次ぎのオブジェクトが配置される場合を示す。すなわち、図12(c)に示すように、タッチ状態のままタッチペン27等が第3入力点P3に移動して、オブジェクトOBJ21の向きが確定状態に移行すると、それと同時に、図13(a)に示すように、2個目のスタンプ(オブジェクトOBJ22)が配置される。
FIG. 13A shows a case where the next object is placed at the same time as the previous object has shifted to the finalized state. That is, as shown in FIG. 12C, when the
このオブジェクトOBJ22は、第3入力点P3(オブジェクトOBJ21の向きが確定する条件を満たしたときのタッチ座標)に応じた位置に配置される。図13(a)および図38(a)に示す例では、その中心点C2が第3入力点P3に一致するように、オブジェクトOBJ22は配置される(この時点で、オブジェクトOBJ22の位置は確定する)。なお、基準線L3は、第1入力点P1および第3入力点P3を通る線(この場合には、直線)である。さらに、オブジェクトOBJ22は、図38(a)に示すように、その角度基準線SL2が基準線L3と一致するような向きに配置される。 The object OBJ22 is arranged at a position corresponding to the third input point P3 (touch coordinates when the condition for determining the direction of the object OBJ21 is satisfied). In the example shown in FIGS. 13A and 38A, the object OBJ22 is arranged so that the center point C2 coincides with the third input point P3 (at this time, the position of the object OBJ22 is determined). ). The reference line L3 is a line (in this case, a straight line) passing through the first input point P1 and the third input point P3. Further, as shown in FIG. 38A, the object OBJ22 is arranged in such an orientation that its angle reference line SL2 coincides with the reference line L3.
一方、図13(b)には、先のオブジェクトが確定状態に移行後に、次ぎのオブジェクトが配置される場合を示す。この場合には、オブジェクトOBJ21の確定状態への移行後も、タッチ状態のままのタッチペン27等の移動後の入力点と第1入力点P1との間の距離ΔL2がリアルタイムで算出されるとともに、この算出された距離ΔL2の大きさが所定のしきい値Th2と比較される。なお、しきい値Th2は、オブジェクトOBJ21の向きの確定を判断するために用いられたしきい値Th1より大きく設定される。
On the other hand, FIG. 13B shows a case where the next object is arranged after the previous object shifts to the fixed state. In this case, the distance ΔL2 between the input point after the movement of the
そして、図13(b)に示すように、タッチ状態のままタッチペン27等が第4入力点P4に移動し、このときの第1入力点P1と第4入力点P4との間の距離ΔL2が所定のしきい値Th2を超えたと判断されると、新たなオブジェクトOBJ22が配置される。このとき、第1入力点P1および第4入力点P4を通る基準線L4が算出され、オブジェクトOBJ22は、図13(b)および図38(b)に示すように、その中心点C2が第4入力点P4に一致するように配置される(この時点でオブジェクトOBJ22の位置は確定する)。さらに、図38(b)に示すように、オブジェクトOBJ22は、その角度基準線SL2が基準線L4と一致するような向きに配置される(この時点でオブジェクトOBJの向きも確定する)。
Then, as shown in FIG. 13B, the
さらに、オブジェクトOBJ22の配置後もタッチ状態のままのタッチペン27等の移動後の入力点と2個目のオブジェクトOBJ22を配置したタイミングの入力点(図13(a)に示す例では第3入力点P3、図13(b)に示す例では第3入力点P4)との位置関係に基づいて、3個目のオブジェクトOBJ23を配置するか否かについて判断される。
Further, after the object OBJ22 is arranged, the input point after the movement of the
すなわち、たとえば、図13(a)に示すように、第3入力点P3において2個目のオブジェクトOBJ22が配置されたとすると、タッチ状態のままタッチペン27等が、この第3入力点P3からしきい値Th1を超えて離れた位置にある第5入力点P5に到達した時点で、当該第5入力点P5に3個目のオブジェクトOBJ23が配置される(図13(c)参照)。なお、図38(c)に示すように、オブジェクトOBJ23は、その角度基準線SL3が基準線L5と一致するような向きに配置される。
That is, for example, as shown in FIG. 13A, when the second object OBJ22 is arranged at the third input point P3, the
あるいは、図13(b)に示すように、第4入力点P4において2個目のオブジェクトOBJ22が配置された場合も同様に、第4入力点P4からしきい値Th2を超えて離れた位置に到達した時点で、当該位置に3個目のオブジェクトOBJ23が配置される。 Alternatively, as shown in FIG. 13 (b), when the second object OBJ22 is arranged at the fourth input point P4, the position is separated from the fourth input point P4 by exceeding the threshold Th2. When it reaches, the third object OBJ23 is arranged at the position.
以下同様にして、タッチ状態のままタッチペン27等が移動することで、2個目以降のオブジェクトOBJが順次配置される。
Similarly, the second and subsequent objects OBJ are sequentially arranged by moving the
さらに、ユーザに対する操作性を向上させるためには、未確定状態のオブジェクトの向きを変更するに際して、ある程度の不感範囲を設けることが好ましい。より具体的には、図14に示すように、ユーザがタッチペン27等で第1入力点P1をタッチオンしてオブジェクトOBJ21が配置された後、このタッチペン27等が第1入力点P1の近傍に存在する間は、当該オブジェクトOBJ21の向き(初期値)を維持する。すなわち、タッチペン27等が第1入力点P1を中心とする不感範囲DA内に存在する場合には、上述のようなオブジェクトOBJ21の向きをリアルタイムで変更する処理を行なわない。そして、タッチ状態のままタッチペン27等が不感範囲DA外に移動した場合に、はじめてオブジェクトOBJ21の向きを変更する処理を開始する。
Furthermore, in order to improve the operability for the user, it is preferable to provide a certain range of insensitivity when changing the orientation of an object in an undefined state. More specifically, as shown in FIG. 14, after the user touches on the first input point P1 with the
上述したように、ユーザが画面上からタッチペン27等を離すと、未確定状態のオブジェクトは確定状態に移行するが、この際、取得されるタッチペン27等の位置が微妙に変化する場合がある。不感範囲を設けることによって、このようなユーザの意図しない操作によりオブジェクトの向きが変化することを抑制できる。例えば、オブジェクトを1つだけ初期状態の向きに配置したいときに有効である。
As described above, when the user removes the
なお、上述の説明では、第1入力点P1、第2入力点P2…に対応する位置にそれぞれオブジェクトOBJ21,OBJ22,…を表示する構成について例示したが、第1入力点P1、第2入力点P2…からそれぞれ所定方向に所定距離だけ離れた位置にオブジェクトOBJ21,OBJ22,…を表示してもよい。 In the above description, the configuration in which the objects OBJ21, OBJ22,... Are displayed at positions corresponding to the first input point P1, the second input point P2,. The objects OBJ21, OBJ22,... May be displayed at positions separated from P2 by a predetermined distance in a predetermined direction.
<描画処理>
上述したように、本実施の形態に従うゲーム装置100では、カメラで撮影された画像がリアルタイムに表示されるとともに、タッチペン27等による操作入力の位置に応じて、未確定状態のオブジェクトの向きもリアルタイムで変化する。そのため、このような画像表示を行なうための描画処理について図15を用いて説明する。
<Drawing process>
As described above, in
図15は、この発明の実施の形態1に従うゲーム装置100の描画処理を説明するための模式図である。図15を参照して、本実施の形態に従うゲーム装置100では、4つのレイヤー242,244,246,248を用いて、画面表示するための映像信号を生成している。なお、レイヤー242,244,246,248の各々は、少なくとも下側LCD12の解像度に相当する大きさのメモリ領域をメインメモリ32内に形成することで実現される。
FIG. 15 is a schematic diagram for describing a drawing process of
第1レイヤー242は、カメラで撮影された画像(静止画像もしくは動画像)、またはメモリカード28(図2)などから読出された画像(静止画像もしくは動画像)を表示するためのメモリ領域である。CPU31(図2)は、内側カメラ23、外側カメラ25、およびメモリカード28のいずれかから入力される画像を展開し、メインメモリ32内の第1レイヤー242に相当する領域に書き込む。なお、静止画像が入力される場合には、ラスタデータに展開した上で書き込みを行なえばよいが、動画像が入力される場合には、表示のリアルタイム性を向上させるために、ポリゴン処理などを用いてレンダリングを行なってもよい。
The
第2レイヤー244は、ユーザが「らくがき」して配置されたオブジェクトを表示するためのメモリ領域である。CPU31は、ユーザ操作に応じて配置されるオブジェクトのキャラクタデータやラスタデータを、メモリカード29などから読み出して、メインメモリ32内の第2レイヤー244に相当する領域に書き込む。なお、後述するように、未確定状態のオブジェクトのデータについては、第3レイヤー246においてレンダリングされるため、第2レイヤー244には、確定状態に移行後のオブジェクトのみについてのデータが書き込まれる。
The
第3レイヤー246は、未確定状態のオブジェクトを表示するためのメモリ領域である。上述したスタンプを表示するためのデータは、代表的にポリゴンデータとしてメモリカード29に予め記憶されている。CPU31は、ユーザ操作に応じて、必要なスタンプのポリゴンデータを読み出した上で、スタンプを構成する各ポリゴンの座標値をリアルタイムで算出する。そして、CPU31は、算出されたポリゴンによってレンダリングされた結果をメインメモリ32内の第3レイヤー246に相当する領域に書き込む。
The
また、CPU31は、未確定状態のオブジェクトが確定状態に移行すると、そのときの第3レイヤー246上の画像データを第2レイヤー244の対応する位置へ転送する。すなわち、未確定状態のオブジェクトについては、ポリゴン処理を用いてその画像を動的に生成するが、確定状態に移行し、その表示がそれ以上変更されなくなると、そのオブジェクトを表示するためのデータは、第2レイヤー244に記憶される。
Further, when the object in the unconfirmed state shifts to the confirmed state, the
第4レイヤー248は、ユーザ操作を受け付けるためのアイコンを表示するためのメモリ領域である。CPU31は、ユーザ操作によって選択された機能や動作モードに応じて、必要なアイコンを表示するためのデータをメインメモリ32内の第4レイヤー248に相当する領域に書き込む。
The
これらのレイヤー242,244,246,248が記憶するデータを合成した画像が画面表示される。各レイヤー242,244,246,248では、表示すべきデータが存在する画素についてのみ有効なものとして扱われ、表示すべきデータが存在しない画素については、いわば透明なものとして扱われる。そのため、あるレイヤーのうち透明なものとして取り扱われる画素については、より下位のレイヤーの対応する画素のデータが画面表示されることになる。
An image obtained by combining the data stored in these
また、「とる」アイコン212(図5)が選択された場合には、CPU31は、第1レイヤー242および第2レイヤー244に記憶されたデータに基づいて、合成画像を生成し、この生成した合成画像を保存用データメモリ34(図2)などに記憶される。
When the “take” icon 212 (FIG. 5) is selected, the
<入力範囲>
また、ユーザ入力可能な範囲をタッチパネル13の入力面の一部に制限してもよい。たとえば、図16に示すように、本実施の形態に従う「らくがきカメラ」では、スタンプを配置する処理において、ユーザによるタッチペン27等による操作入力に対する有効範囲260を予め定めておいてもよい。このような有効範囲260を定めることにより、ユーザ操作を受け付けるためのアイコンなどの上にオブジェクトが「らくがき」されることを抑制することができる。
<Input range>
In addition, the user input range may be limited to a part of the input surface of the
また、上述したように、未確定状態のオブジェクトを確定状態に移行するための条件の一つとして、タッチペン27等による操作入力が有効範囲260内であるか否かの判断を含めてもよい。すなわち、いずれかのオブジェクトが未確定状態である場合に、タッチペン27等による操作入力が有効範囲260外になると、当該オブジェクトを確定状態に移行させる。
Further, as described above, as one of the conditions for shifting the object in the unconfirmed state to the confirmed state, a determination as to whether the operation input by the
<処理手順>
以下、上述した本実施の形態に従う「らくがきカメラ」に係る処理手順について、図17〜図23を参照して説明する。なお、図17〜図23に示す各ステップは、代表的に、CPU31が、メモリカード29に記憶されたプログラム等をメインメモリ32に読み出して実行することで実現される。
<Processing procedure>
Hereinafter, a processing procedure related to the “graffiti camera” according to the above-described embodiment will be described with reference to FIGS. 17 to 23. Note that the steps shown in FIGS. 17 to 23 are typically realized by the
(1.機能選択処理)
図17は、この発明の実施の形態1に従うゲーム装置100における機能選択に係る処理を示すフローチャートである。図17に示す機能選択に係る処理は、ゲーム装置100の電源が投入され、あるいはスタートボタンが押下された後、ユーザが図示しないメニュー画面から所定のアイコンを選択することで実行される。
(1. Function selection process)
FIG. 17 is a flowchart showing processing relating to function selection in
図17を参照して、ステップS2において、CPU31は、図4に示すような選択画面を下側LCD12に表示する。続くステップS4では、CPU31は、I/F回路42を介してタッチパネル13からタッチ位置データが入力されたか否かを判断する。すなわち、CPU31は、ユーザによるタッチペン27等によるタッチ操作の有無を判断する。タッチ位置データが入力されていなければ(ステップS4においてNO)、ステップS4の処理が繰り返される。一方、タッチ位置データが入力されていれば(ステップS4においてYES)、処理はステップS6へ進む。
Referring to FIG. 17, in step S <b> 2,
ステップS6では、CPU31は、タッチ位置データの示す座標値がいずれかのアイコン150の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、アイコン150のいずれかが選択されたか否かを判断する。そして、タッチ位置データの示す座標値がいずれかのアイコン150の表示範囲内の値であれば(ステップS6においてYES)、処理はステップS8へ進む。一方、タッチ位置データの示す座標値がいずれのアイコン150の表示範囲外であれば(ステップS6においてNO)、処理はステップS10へ進む。
In step S <b> 6, the
ステップS8では、CPU31は、表示中の選択画面を選択されたアイコン150に対応する表示内容に更新する。すなわち、図4に示すように、たとえば「らくがきカメラ」の機能が選択された場合には、「らくがきカメラ」といった名称および各処理の内容をプレビュー表示する。そして、処理はステップS4へ戻る。
In step S <b> 8, the
ステップS10では、CPU31は、タッチ位置データの示す座標値が選択アイコン152または154の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、選択アイコン152または154が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が選択アイコン152または154の表示範囲内の値であれば(ステップS10においてYES)、処理はステップS12へ進む。一方、タッチ位置データの示す座標値が選択アイコン152および154の表示範囲外の値であれば(ステップS10においてNO)、処理はステップS14へ進む。
In step S <b> 10, the
ステップS12では、CPU31は、表示中の選択画面を選択された選択アイコン152または154に対応する表示内容に更新する。そして、処理はステップS4へ戻る。
In step S <b> 12, the
ステップS14では、CPU31は、タッチ位置データの示す座標値が「はじめる」アイコン158の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「はじめる」アイコン158が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「はじめる」アイコン158の表示範囲内の値であれば(ステップS14においてYES)、処理はステップS16へ進む。一方、タッチ位置データの示す座標値が「はじめる」アイコン158の表示範囲外の値であれば(ステップS14においてNO)、処理はステップS18へ進む。
In step S <b> 14, the
ステップS16では、CPU31は、選択中の機能を実行する。ここで、「らくがきカメラ」が選択されていれば、CPU31は、図18および図19に示すフローチャートに従う処理を実行する。
In step S16, the
ステップS18では、CPU31は、タッチ位置データの示す座標値が「やめる」アイコン156の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「やめる」アイコン156が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「やめる」アイコン156の表示範囲内の値であれば(ステップS18においてYES)、本処理は終了する。一方、タッチ位置データの示す座標値が「やめる」アイコン156の表示範囲外の値であれば(ステップS18においてNO)、処理はステップS4へ戻る。
In step S <b> 18, the
(2.「らくがきカメラ」サブルーチン)
図18および図19は、図17に示すステップS16において「らくがきカメラ」が選択されている場合に実行されるサブルーチン処理を示すフローチャートである。
(2. “Rakugaki Camera” subroutine)
FIGS. 18 and 19 are flowcharts showing a subroutine process executed when “Rakugaku camera” is selected in step S16 shown in FIG.
図18を参照して、まず、ステップS100において、CPU31は、図20に示す描画処理サブルーチンを開始する。この描画処理サブルーチンは、図6〜図11に示すような「らくがきカメラ」での画面表示を行なうための処理である。なお、図20に示す処理手順は、図18および図19に示される処理とは独立して、所定周期で繰り返し実行される。
Referring to FIG. 18, first, in step S100,
続くステップS102では、CPU31は、図5に示すアイコン202〜214を表示するためのデータを、メインメモリ32内の第4レイヤー248に相当する領域に書き込む。すなわち、CPU31は、ユーザ操作を受け付けるためのアイコンを下側LCD12に表示する。
In subsequent step S <b> 102, the
続くステップS104では、CPU31は、I/F回路42を介してタッチパネル13からタッチ位置データが入力されたか否かを判断する。すなわち、CPU31は、ユーザによるタッチペン27等によるタッチ操作の有無を判断する。言い換えれば、CPU31は、タッチパネル13に対するユーザ操作によって入力される座標値が検出されるか否かを判断する。タッチ位置データが入力されていなければ(ステップS104においてNO)、ステップS104の処理が繰り返される。一方、タッチ位置データが入力されていれば(ステップS104においてYES)、処理はステップS106へ進む。
In subsequent step S <b> 104, the
ステップS106では、CPU31は、タッチ位置データの示す座標値が「えんぴつ」アイコン202の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「えんぴつ」アイコン202が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「えんぴつ」アイコン202の表示範囲内の値であれば(ステップS106においてYES)、処理はステップS110へ進む。一方、タッチ位置データの示す座標値が「えんぴつ」アイコン202の表示範囲外の値であれば(ステップS106においてNO)、処理はステップS116へ進む。
In step S <b> 106, the
ステップS110では、CPU31は、内部フラグを「えんぴつ」モードに設定する。続くステップS112では、CPU31は、「えんぴつ」モードの選択サブメニューを表示するためのデータを、メインメモリ32内の第4レイヤー248に相当する領域に書き込む。すなわち、CPU31は、「えんぴつ」モードにおける属性(線の太さおよび線の色など)を選択するためのサブメニューを下側LCD12に表示する。さらに、ステップS114では、CPU31は、ユーザ選択に応じて、「えんぴつ」モードで使用する属性値を内部フラグに設定する。そして、処理はステップS104へ戻る。
In step S110, the
ステップS116では、CPU31は、タッチ位置データの示す座標値が「消しゴム」アイコン204の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「消しゴム」アイコン204が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「消しゴム」アイコン204の表示範囲内の値であれば(ステップS116においてYES)、処理はステップS118へ進む。一方、タッチ位置データの示す座標値が「消しゴム」アイコン204の表示範囲外の値であれば(ステップS116においてNO)、処理はステップS120へ進む。
In step S <b> 116, the
ステップS118では、CPU31は、内部フラグを「消しゴム」モードに設定する。そして、処理はステップS104へ戻る。
In step S118, the
ステップS120では、CPU31は、タッチ位置データの示す座標値が「スタンプ」アイコン206の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「スタンプ」アイコン206が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「スタンプ」アイコン206の表示範囲内の値であれば(ステップS120においてYES)、処理はステップS122へ進む。一方、タッチ位置データの示す座標値が「スタンプ」アイコン206の表示範囲外の値であれば(ステップS120においてNO)、処理はステップS128へ進む。
In step S <b> 120, the
ステップS122では、CPU31は、内部フラグを「スタンプ」モードに設定する。続くステップS124では、CPU31は、「スタンプ」モードの選択サブメニューを表示するためのデータを、メインメモリ32内の第4レイヤー248に相当する領域に書き込む。すなわち、CPU31は、図6に示すような、「スタンプ」モードにおける属性(スタンプの種類など)を選択するためのサブメニューを下側LCD12に表示する。さらに、ステップS126では、CPU31は、ユーザ選択に応じて、「スタンプ」モードで使用する種類を内部フラグに設定する。そして、処理はステップS104へ戻る。
In step S122, the
ステップS128では、CPU31は、タッチ位置データの示す座標値が「全部けす」アイコン208の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「全部けす」アイコン208が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「全部けす」アイコン208の表示範囲内の値であれば(ステップS128においてYES)、処理はステップS130へ進む。一方、タッチ位置データの示す座標値が「全部けす」アイコン208の表示範囲外の値であれば(ステップS128においてNO)、処理はステップS132(図19)へ進む。
In step S <b> 128, the
ステップS130では、CPU31は、メインメモリ32内の第2レイヤー244に記憶されているデータをリセット(ゼロクリア)する。すなわち、CPU31は、ユーザにより「らくがき」されることで配置されているすべてのオブジェクトを消去する。
In step S130, the
ステップS132では、CPU31は、タッチ位置データの示す座標値が有効範囲260(図16)内の値であるか否かを判断する。すなわち、CPU31は、ユーザが「らくがき」の操作を行なったか否かを判断する。そして、タッチ位置データの示す座標値が有効範囲260内の値であれば(ステップS132においてYES)、処理はステップS134へ進む。一方、タッチ位置データの示す座標値が有効範囲260外の値であれば(ステップS132においてNO)、処理はステップS142へ進む。
In step S132, the
ステップS134では、CPU31は、内部フラグを参照して、現在設定されているモードを判断する。すなわち、CPU31は、直前のユーザ操作によって、「えんぴつ」アイコン202、「消しゴム」アイコン204、および「スタンプ」アイコン206のいずれが選択されているかを判断する。そして、現在設定されているモードが「えんぴつ」モードであれば(ステップS134において「えんぴつ」)、処理はステップS136に進み、「えんぴつ」モードのサブルーチン処理(図21)が実行される。また、現在設定されているモードが「消しゴム」モードであれば(ステップS134において「消しゴム」)、処理はステップS138に進み、「消しゴム」モードのサブルーチン処理(図22)が実行される。また、現在設定されているモードが「スタンプ」モードであれば(ステップS134において「スタンプ」)、処理はステップS140に進み、「スタンプ」モードのサブルーチン処理(図23)が実行される。
In step S134, the
一方、ステップS142では、CPU31は、タッチ位置データの示す座標値が「とる」アイコン212の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「とる」アイコン212が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「とる」アイコン212の表示範囲内の値であれば(ステップS142においてYES)、処理はステップS144へ進む。一方、タッチ位置データの示す座標値が「とる」アイコン212の表示範囲外の値であれば(ステップS142においてNO)、処理はステップS146へ進む。
On the other hand, in step S <b> 142, the
ステップS144では、CPU31は、メインメモリ32内の第1レイヤー242および第2レイヤー244にそれぞれ相当する領域に記憶されたデータをそれぞれ読み出して、合成画像を生成する。さらに、CPU31は、合成画像を保存用データメモリ34などに書き込む。そして、処理はステップS104へ戻る。
In step S144, the
ステップS146では、CPU31は、タッチ位置データの示す座標値が切替アイコン214の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、切替アイコン214が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が切替アイコン214の表示範囲内の値であれば(ステップS146においてYES)、処理はステップS148へ進む。一方、タッチ位置データの示す座標値が切替アイコン214の表示範囲外の値であれば(ステップS146においてNO)、処理はステップS150へ進む。
In step S146, the
ステップS148では、CPU31は、画像撮影に使用するカメラを内側カメラ23と外側カメラ25との間で切り替える。すなわち、CPU31は、メインメモリ32内の第1レイヤー242に入力される画像のソースを内側カメラ23と外側カメラ25との間で切り替える。そして、処理はステップS104へ戻る。
In step S <b> 148, the
ステップS150では、CPU31は、タッチ位置データの示す座標値が「やめる」アイコン210の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「やめる」アイコン210が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「やめる」アイコン210の表示範囲内の値であれば(ステップS150においてYES)、CPU31は、図20に示す描画処理サブルーチンを終了(ステップS152)させた後、本処理を終了する。一方、タッチ位置データの示す座標値が「やめる」アイコン210の表示範囲外の値であれば(ステップS150においてNO)、処理はステップS104へ戻る。
In step S <b> 150, the
(3.描画処理サブルーチン)
図20は、図18に示すステップS100において実行が開始される描画処理サブルーチン処理を示すフローチャートである。
(3. Drawing processing subroutine)
FIG. 20 is a flowchart showing a drawing process subroutine process to be executed in step S100 shown in FIG.
図20を参照して、ステップS200において、CPU31は、選択されているカメラ(内側カメラ23または外側カメラ25)から入力された画像を展開し、メインメモリ32内の第1レイヤー242に相当する領域に書き込む。すなわち、CPU31は、カメラで撮影された画像を更新する。
Referring to FIG. 20, in step S <b> 200,
続くステップS202において、CPU31は、第1レイヤー242、第2レイヤー244、第3レイヤー246、第4レイヤー248がそれぞれ記憶するデータを合成する。なお、第2レイヤー244、第3レイヤー246、第4レイヤー248に記憶されるデータは、図18および図19に示すサブルーチン処理や、後述する図21〜図23に示す各サブルーチン処理の実行に伴って、随時更新される。
In the subsequent step S202, the
さらに続くステップS204において、CPU31は、合成したデータに基づいて、下側LCD12に画像を描画(レンダリング)する。そして、処理はステップS200へ戻る。
In further subsequent step S204,
上述の図20に示すサブルーチン処理は、図18に示すステップS100においてその実行が開始され、図19に示すステップS152においてその実行が終了される。 The subroutine processing shown in FIG. 20 is started in step S100 shown in FIG. 18, and the execution is ended in step S152 shown in FIG.
(4.「えんぴつ」モード処理サブルーチン)
図21は、図19に示すステップS136において実行される「えんぴつ」モードのサブルーチン処理を示すフローチャートである。
(4. “pencil” mode processing subroutine)
FIG. 21 is a flowchart showing subroutine processing in the “pencil” mode executed in step S136 shown in FIG.
図21を参照して、ステップS300において、CPU31は、タッチ位置データの示す座標値に基づいて、ユーザからの操作入力に対応するメインメモリ32内の第2レイヤー244の画素のデータを内部フラグの設定値に応じて変更する。すなわち、CPU31は、図18のステップS114において設定された「えんぴつ」モードで使用する属性値に応じて、「らくがき」されるオブジェクトを示すデータを第2レイヤー244に追加する。
Referring to FIG. 21, in step S300, based on the coordinate value indicated by the touch position data, the
続くステップS302では、CPU31は、I/F回路42を介してタッチパネル13からタッチ位置データの入力が継続しているか否かを判断する。すなわち、CPU31は、ユーザによるタッチペン27等によるタッチ操作の継続の有無を否かを判断する。タッチ位置データの入力が継続していれば(ステップS302においてYES)、ステップS300の処理が繰り返される。一方、タッチ位置データの入力が継続していなければ(ステップS302においてNO)、処理は、図18のステップS104にリターンする。
In subsequent step S <b> 302, the
(5.「消しゴム」モード処理サブルーチン)
図22は、図19に示すステップS138において実行される「消しゴム」モードのサブルーチン処理を示すフローチャートである。
(5. “Eraser” mode processing subroutine)
FIG. 22 is a flowchart showing a subroutine process of the “eraser” mode executed in step S138 shown in FIG.
図22を参照して、ステップS400において、CPU31は、タッチ位置データの示す座標値に基づいて、ユーザからの操作入力に対応するメインメモリ32内の第2レイヤー244の画素のデータをゼロクリアする。すなわち、CPU31は、既に配置されているオブジェクトのうち、ユーザがタッチペン27等を画面上にタッチした部分を消去する。
Referring to FIG. 22, in step S400,
続くステップS402では、CPU31は、I/F回路42を介してタッチパネル13からタッチ位置データの入力が継続しているか否かを判断する。すなわち、CPU31は、ユーザによるタッチペン27等によるタッチ操作の継続の有無を否かを判断する。タッチ位置データの入力が継続していれば(ステップS402においてYES)、ステップS400の処理が繰り返される。一方、タッチ位置データの入力が継続していなければ(ステップS402においてNO)、処理は、図18のステップS104にリターンする。
In subsequent step S <b> 402, the
(6.「スタンプ」モード処理サブルーチン)
図23は、図19に示すステップS140において実行される「スタンプ」モードのサブルーチン処理を示すフローチャートである。
(6. “Stamp” mode processing subroutine)
FIG. 23 is a flowchart showing subroutine processing in the “stamp” mode executed in step S140 shown in FIG.
図23を参照して、ステップS500において、CPU31は、内部変数である第1座標値および第2座標値を初期化(ゼロクリア)する。続くステップS502において、CPU31は、タッチ位置データの示す座標値を第1座標値にセットする。すなわち、検出された座標値のうち第1座標値が取得される。ここで、座標値の検出が開始された直後(すなわち、タッチオン座標)の座標値が第1座標値とみなされる。そして、処理はステップS504へ進む。
Referring to FIG. 23, in step S500,
ステップS504において、CPU31は、ステップS502においてセットされた第1座標値を通る基準線を算出する。続くステップS506において、CPU31は、図18のステップS126において選択された種類のスタンプのオブジェクトを内部フラグの参照により特定し、選択されたスタンプを表示するためのデータ(代表的に、ポリゴンデータ)をメモリカード29から読出す。さらに続くステップS508において、CPU31は、選択されたスタンプが、第1座標値を基準する位置に、かつ基準線に応じた向きで配置されるように、レンダリングされた結果をメインメモリ32内の第3レイヤー246に相当する領域に書き込む。すなわち、ステップS506およびS508では、第1座標値に基づいて、下側LCD12の対応する位置にスタンプ(オブジェクト)を表示するための処理が実行される。そして、処理はステップS510へ進む。
In step S504, the
ステップS510では、CPU31は、I/F回路42を介してタッチパネル13からタッチ位置データの入力が継続しているか否かを判断する。すなわち、CPU31は、ユーザによるタッチペン27等によるタッチ操作の継続の有無を否かを判断する。言い換えれば、座標値の検出が継続しているか否かが判断される。タッチ位置データの入力が継続していれば(ステップS510においてYES)、処理はステップS512へ進む。
In step S <b> 510, the
一方、タッチ位置データの入力が継続していなければ(ステップS510においてNO)、処理はステップS522へ進む。すなわち、第1座標値の取得後、座標値の検出が途絶えることを条件にして、後述するように、ステップS522に示す未確定状態のオブジェクトを確定状態する処理が実行される。 On the other hand, if the input of touch position data is not continued (NO in step S510), the process proceeds to step S522. That is, after the acquisition of the first coordinate value, on the condition that the detection of the coordinate value is interrupted, as described later, the process for determining the object in the undetermined state shown in step S522 is executed.
ステップS512では、CPU31は、現在のタッチ位置データの示す座標値を第2座標値にセットする。すなわち、検出された座標値のうち第1座標値に引き続く第2座標値が取得される。続くステップS514では、CPU31は、第1座標値と第2座標値との間の距離が不感範囲を示すしきい値より大きいか否かを判断する。すなわち、座標値が継続して検出されている間に入力される座標値が第1条件(向き変更条件に相当)を満足するか否かが判断される。第1座標値と第2座標値との距離が不感範囲を示すしきい値以下であれば(ステップS514においてNO)、ステップS510以下の処理が繰り返される。
In step S512, the
一方、第1座標値と第2座標値との距離が不感範囲を示すしきい値より大きければ(ステップS514においてYES)、処理はステップS516へ進む。これらの処理により、第1条件を満足すると判断された座標値が有効な第2座標値とみなされる。 On the other hand, if the distance between the first coordinate value and the second coordinate value is larger than the threshold value indicating the dead range (YES in step S514), the process proceeds to step S516. By these processes, the coordinate value determined to satisfy the first condition is regarded as a valid second coordinate value.
ステップS516では、CPU31は、第1座標値と第2座標値とを通る基準線を算出する。続くステップS518では、CPU31は、配置されたスタンプが、ステップS516において新たに算出された基準線に応じた向きで配置されるように、メインメモリ32内の第3レイヤー246に相当する領域をレンダリングされた結果で更新する。すなわち、下側LCD12に表示されるオブジェクトの向きが変更される。ここで、オブジェクトの向きは、第1座標値と第2座標値とを通る線に基づいて決定される。そして、処理はステップS520へ進む。
In step S516, the
ステップS520では、CPU31は、第1座標値と第2座標値との間の距離が所定のしきい値Th1より大きいか否かを判断する。すなわち、CPU31は、未確定状態のオブジェクトを確定状態に移行させるための条件が成立したか否かを判断する。第1座標値と第2座標値との距離がしきい値Th1より大きければ(ステップS520においてYES)、処理はステップS522へ進む。
In step S520, the
一方、第1座標値と第2座標値との距離がしきい値Th1以下であれば(ステップS520においてNO)、ステップS510以下の処理が繰り返される。すなわち、第2座標値を取得するステップと、オブジェクトの向きを変更するステップとは、座標値の検出が継続している間、繰り返される。これにより、未確定状態のオブジェクトを確定状態に移行させるための条件が満足されるまでの間、第2座標値が更新される毎に、オブジェクトの向きが随時変更されることになる。 On the other hand, if the distance between the first coordinate value and the second coordinate value is equal to or smaller than threshold value Th1 (NO in step S520), the processing in step S510 and subsequent steps is repeated. That is, the step of acquiring the second coordinate value and the step of changing the direction of the object are repeated while the detection of the coordinate value is continued. Thus, the orientation of the object is changed as needed every time the second coordinate value is updated until the condition for shifting the object in the unconfirmed state to the confirmed state is satisfied.
ステップS522では、CPU31は、メインメモリ32内の第3レイヤー246に相当する領域に記憶されているデータをメインメモリ32内の第2レイヤー244に領域に書き込むとともに、第3レイヤー246に相当する領域をゼロクリアする。すなわち、CPU31は、未確定状態のオブジェクトを確定状態に移行させる。これにより、未確定状態のオブジェクトを確定状態に移行させるための条件が満足されると、オブジェクトの向きが固定されることになる。
In step S <b> 522, the
なお、確定状態に移行させるための条件が満足された後は、その後の第2座標値に関わらず、第1オブジェクトの向きは固定されたままとなる。 Note that after the condition for shifting to the confirmed state is satisfied, the orientation of the first object remains fixed regardless of the subsequent second coordinate value.
続くステップS524では、CPU31は、I/F回路42を介してタッチパネル13からタッチ位置データの入力が継続しているか否かを判断する。すなわち、CPU31は、ユーザによるタッチペン27等によるタッチ操作の継続の有無を否かを判断する。タッチ位置データの入力が継続していれば(ステップS524においてYES)、処理はステップS526へ進む。一方、タッチ位置データの入力が継続していなければ(ステップS524においてNO)、処理は、図18のステップS104にリターンする。
In the subsequent step S524, the
ステップS526では、CPU31は、新たなスタンプが、第2座標値を基準とする位置(典型的には、第2座標値の位置)に、かつステップS516において新たに算出された基準線に応じた向きで配置されるように、レンダリングされた結果をメインメモリ32内の第2レイヤー244に相当する領域に書き込む。すなわち、入力される座標値の変化に応じて、さらなるオブジェクトが下側LCD12に表示される。なお、操作ボタン14A〜14Hが選択された場合にも、さらなるオブジェクトを表示するようにしてもよい。
In step S526, the
続くステップS528において、CPU31は、タッチ位置データの示す座標値を第1座標値にセットする。すなわち、新たなスタンプの基準となったタッチ位置データを新たな第1座標値とみなす。そして、処理はステップS530へ進む。
In subsequent step S528,
ステップS530では、CPU31は、I/F回路42を介してタッチパネル13からタッチ位置データの入力が継続しているか否かを判断する。すなわち、CPU31は、ユーザによるタッチペン27等によるタッチ操作の継続の有無を否かを判断する。タッチ位置データの入力が継続していれば(ステップS530においてYES)、処理はステップS532へ進む。一方、タッチ位置データの入力が継続していなければ(ステップS530においてNO)、処理は、図18のステップS104にリターンする。
In step S530, the
ステップS532では、CPU31は、現在のタッチ位置データの示す座標値を第2座標値にセットする。続くステップS534では、CPU31は、第1座標値と第2座標値との間の距離が所定のしきい値Th1より大きいか否かを判断する。すなわち、CPU31は、座標値が継続して検出されている間に入力される座標値が、さらに新たなオブジェクトを配置すべきか否かを決定する第3条件を満足するか否かを判断する。
In step S532, the
第1座標値と第2座標値との距離がしきい値Th1より大きければ(ステップS534においてYES)、処理はステップS536へ進む。一方、第1座標値と第2座標値との距離がしきい値Th1以下であれば(ステップS534においてNO)、ステップS532以下の処理が繰り返される。 If the distance between the first coordinate value and the second coordinate value is greater than threshold value Th1 (YES in step S534), the process proceeds to step S536. On the other hand, if the distance between the first coordinate value and the second coordinate value is equal to or smaller than threshold value Th1 (NO in step S534), the processing in step S532 and subsequent steps is repeated.
ステップS536では、第1座標値と第2座標値とを通る基準線を算出する。続くステ
ップS538では、CPU31は、さらに新たなスタンプが、第2座標値を基準する位置に(典型的には、第2座標値の位置に)、かつステップS536で算出された新たな基準線に応じた向きで配置されるように、レンダリングされた結果をメインメモリ32内の第2レイヤー244に相当する領域に書き込む。すなわち、新たに表示されるオブジェクトの向きは、直近に表示されたオブジェクトの位置の決定に用いられた座標値と当該新たに表示するオブジェクトの位置の決定に用いられる座標値とを通る線に基づいて、決定される。そして、ステップS528以下の処理が繰り返される。
In step S536, a reference line passing through the first coordinate value and the second coordinate value is calculated. In the subsequent step S538, the
本実施の形態によれば、ユーザは、タッチパネル13に対する一連の操作によって、所望する位置にオブジェクトを配置することができるとともに、当該オブジェクトを所望する向きに変更することができる。このように、ユーザは、いわゆる「ワンアクション」によって、オブジェクトを自在に配置し、かつその向きも変更ができるので、より直感的にオブジェクトを表示させることができる。
According to the present embodiment, the user can place an object at a desired position by a series of operations on the
[実施の形態1の変形例1]
上述の実施の形態1では、2個目以降に配置されるスタンプについては未確定状態を存在させないように構成したが、2個目以降に配置されるスタンプについても、未確定状態を存在させるようにしてもよい。すなわち、2個目以降に配置されるスタンプについて、先に配置されたスタンプの位置と、タッチペン27等によるユーザ入力された位置との関係に応じて、その向きをリアルタイムで変化するようにしてもよい。以下、図24を参照して、本変形例における特徴的な処理について説明する。
[Variation 1 of Embodiment 1]
In the above-described first embodiment, it is configured so that an undetermined state does not exist for the second and subsequent stamps. However, an undetermined state also exists for the second and subsequent stamps. It may be. In other words, the second and subsequent stamps may be changed in real time in accordance with the relationship between the position of the previously placed stamp and the position input by the user using the
なお、以下に説明する処理を除いて、そのハードウェア構成や処理手順などについては、上述した実施の形態1のそれと同様であるので、詳細な説明は繰り返さない。 Except for the processing described below, the hardware configuration, processing procedure, and the like are the same as those of the first embodiment described above, and detailed description thereof will not be repeated.
たとえば、図24(a)に示すように、ユーザがタッチペン27等で画面上の第1入力点P1にタッチした後、タッチペン27等を画面上にタッチしたまま第2入力点P2を経て、第6入力点P6までタッチペン27等を移動させた場合を考える。また、このユーザ操作によって、第1入力点P1および第2入力点P2を基準とする位置に、オブジェクトOBJ21およびOBJ22がそれぞれ配置されているものとする。なお、第2入力点P2と第6入力点P6との間の距離は、オブジェクトを確定状態に移行させるためのしきい値Th1以下であるとする。
For example, as shown in FIG. 24A, after the user touches the first input point P1 on the screen with the
本変形例では、このような状態において、オブジェクトOBJ22を未確定状態に維持する。すなわち、オブジェクトOBJ22の向きは、オブジェクトOBJ21を配置するための基準となった第1入力点P1と、自オブジェクトを配置するための基準となった第2入力点P2と、各時点におけるタッチペン27等によるユーザ入力された位置(図24(a)に示す例では、第6入力点P6)とを通る線を基準線としてリアルタイムに変更される。なお、上述のような3点を通る基準線の算出方法としては、代表的に、ベジェ近似などを用いることができる。なお、このような基準線を決定する際には、先に配置された1つのオブジェクトに限られず、複数の先に配置されたオブジェクトの基準位置に基づいて、基準線を算出してもよい。
In this modification, in such a state, the object OBJ22 is maintained in an undetermined state. In other words, the orientation of the object OBJ22 is such that the first input point P1 that is a reference for placing the object OBJ21, the second input point P2 that is the reference for placing the object itself, the
その後、図24(b)に示すように、ユーザがタッチペン27等を、第2入力点P2との間の距離がしきい値Th1を超えている第7入力点P7まで移動させると、オブジェクトOBJ22は未確定状態から確定状態に移行する。この確定状態に移行したオブジェクトOBJ22の向きは、第1入力点P1、第2入力点P2、第7入力点P3の3点を通る基準線に基づいて定められることになる。
Thereafter, as shown in FIG. 24B, when the user moves the
[実施の形態1の変形例2]
上述の実施の形態1では、第2入力点P2が更新される毎に、未確定状態のオブジェクトの向きがリアルタイムに変更される構成について説明したが、オブジェクトが未確定状態から確定状態に移行するための条件が満足されるまでの間、オブジェクトの向きを初期値に維持するとともに、当該条件が満足された後に、当該条件が満たされた時点の第2入力点P2に応じた向きにオブジェクトの向きを変更した上で、確定状態に移行させてもよい。この確定状態に移行した後は、オブジェクトの向きは変更後の向きに固定される。
[
In the first embodiment described above, the configuration is described in which the orientation of the object in the undetermined state is changed in real time every time the second input point P2 is updated. However, the object shifts from the undetermined state to the confirmed state. Until the condition for satisfying the condition is satisfied, the orientation of the object is maintained at the initial value, and after the condition is satisfied, the orientation of the object is set in the direction corresponding to the second input point P2 when the condition is satisfied. You may make it transfer to a definite state, after changing direction. After shifting to this finalized state, the object orientation is fixed to the changed orientation.
本変形例では、上述の図23に示すフローチャートにおいて、ステップS516およびS518に示す処理が、ステップS522の実行に先立って実行される。その他の処理については、上述した実施の形態1と同様であるので、詳細な説明は繰り返さない。 In this modification, in the flowchart shown in FIG. 23 described above, the processes shown in steps S516 and S518 are executed prior to the execution of step S522. Since other processes are the same as those in the first embodiment, detailed description will not be repeated.
[実施の形態2]
上述の実施の形態1では、表示される画像にユーザが自由に「らくがき」できる機能について説明した。以下、実施の形態2では、画像を「万華鏡」のように表示させる機能について説明する。
[Embodiment 2]
In the above-described first embodiment, the function that allows the user to freely “grab” the displayed image has been described. Hereinafter, in the second embodiment, a function of displaying an image like a “kaleidoscope” will be described.
本実施の形態に従うゲーム装置100Aの外観図および内部構成については、上述の図1および図2と同様であるので、詳細な説明は繰り返さない。
Since the external view and internal configuration of
<ゲーム装置の使用例>
本実施の形態に従うゲーム装置100Aについても、上述の実施の形態1に従うゲーム装置100と同様の使用形態で使用される。すなわち、たとえば図3に示すように、ゲーム装置100Aに搭載されたカメラ(内側カメラ23または外側カメラ25)で撮影された画像(あるいは、その一部)が万華鏡のように敷き詰められて、下側LCD12にリアルタイムに表示される。ユーザは、タッチペン27等の操作により、この下側LCD12に表示される態様を自由に変化させることが可能である。なお、表示される画像は、メモリカード28(図2)などに予め記憶された画像(静止画像もしくは動画像)であってもよい。
<Usage example of game device>
なお、図3に示す例では、外側カメラ25を用いて被写体TRGが撮影されているが、内側カメラ23を用いて被写体TRGを撮影するようにしてもよく、いずれのカメラを使用するかについては、ユーザが任意に選択できる。
In the example shown in FIG. 3, the subject TRG is photographed using the
図25は、この発明の実施の形態2に従うゲーム装置100Aにおける選択画面の一例を示す図である。図25を参照して、本実施の形態に従うゲーム装置100Aは、上述した画像を万華鏡のように表示することができる機能を含む複数の機能を搭載しており、ユーザは、図25に示す選択画面上で所望する機能を選択する。
FIG. 25 shows an example of a selection screen in
図25に示す例では、画面上部にゲーム装置100に搭載された各機能に対応する複数のアイコン150が表示されており、ユーザは、これらのアイコン150のうち所望する機能に対応するものを任意に選択することができる。また、画面の両側には、選択アイコン152および154が表示されている。ユーザが選択アイコン152または154を選択する毎に、選択される機能がアイコン150の配列に従って左側または右側に順次変更される。
In the example shown in FIG. 25, a plurality of
このような方法によりユーザが機能を選択した上で、「はじめる」アイコン158を選択すると、選択された機能が実行される。また、「やめる」アイコン156が選択されると、図示しないメニュー画面へ戻る。
When the user selects a function by such a method and selects the “Start”
また、図25に示すように、ユーザにより選択されたアイコン150に対応する機能の
内容をユーザに提示するように、プレビュー領域160には、その選択された機能の名称(図25に示す例では「かがみカメラ」)およびその処理の内容が示される。
Also, as shown in FIG. 25, in the
<「かがみカメラ」の概要>
以下、図26〜図30を参照して、本実施の形態に従う「かがみカメラ」の概要について説明する。
<Overview of Kagami Camera>
Hereinafter, with reference to FIGS. 26 to 30, an outline of the “camera camera” according to the present embodiment will be described.
本実施の形態に従う「かがみカメラ」は、カメラで撮影された画像やメモリカード28などに予め記憶された画像など(以下、これらの画像を「入力画像」とも総称する)に対して、ユーザが自由に万華鏡のように表示させることができる機能である。「かがみカメラ」では、主として、入力画像の一部を抽出した画像オブジェクトの向きおよびサイズをユーザ操作に応じて自在に変更する機能と、当該変更後の画像オブジェクトに応じて、表示される画面をリアルタイムで更新することができる機能とが提供される。
The “Kagami Camera” according to the present embodiment is used by the user for images taken by the camera, images stored in advance in the
図26に示すように、「かがみカメラ」のモードでは、入力画像が万華鏡のようにリアルタイムに表示されるとともに、この表示画像に対する操作を選択するためのアイコン302〜306が画面上部に表示され、各種操作を選択するためのアイコン310〜314が表示される。
As shown in FIG. 26, in the “camera camera” mode, the input image is displayed in real time like a kaleidoscope, and
ユーザが「左右対称」アイコン302を選択(タッチ)すると、図25に示すように、入力画像と当該入力画像を画面に対して左右反転させた画像とが同時に表示される。さらに、ユーザのタッチペン27等によるタッチ操作に応じて、画面上に表示される画像の向きがリアルタイムで変化する。
When the user selects (touches) the “right / left symmetrical”
ユーザが「三角」アイコン304をタッチすると、図26に示すように、入力画像から三角形状の部分が、画像オブジェクトOBJ5として抽出され、この画像オブジェクトOBJ5を隣接する各辺についてそれぞれ線対称となるように順次展開していったような画像が表示される。
When the user touches the “triangle”
また、図27に示すように、ユーザがタッチペン27等を画面上にタッチしたまま回転移動させると、画像オブジェクトOBJ5は、当該タッチ操作に応じた角度だけ、予め定められた中心点308を中心に回転する。すなわち、画像オブジェクトOBJ5の向きは、ユーザ入力に応じてリアルタイムで変化する。なお、図27で示すように、この画像オブジェクトOBJ5の回転に伴って、画像オブジェクトOBJ5を中心に展開される画像の位置も変化する。
As shown in FIG. 27, when the user rotates and moves the
さらに、図28に示すように、ユーザがタッチペン27等を画面上にタッチしたまま、画像オブジェクトOBJ5の中心点308から遠ざかる、もしくは近づく方向に移動させると、画像オブジェクトOBJ5は、当該タッチ操作に応じて拡大もしくは縮小する。すなわち、画像オブジェクトOBJ5のサイズは、ユーザ入力に応じてリアルタイムで変化する。なお、図28で示すように、この画像オブジェクトOBJ5のサイズの変化に伴って、画像オブジェクトOBJ5を中心に展開される画像の配置やサイズも変化する。
Further, as shown in FIG. 28, when the user moves away from or approaches the
また、ユーザが「四角」アイコン306をタッチすると、図29に示すように、入力画像から四角形状の部分が、画像オブジェクトOBJ6として抽出され、この画像オブジェクトOBJ6を隣接する各辺についてそれぞれ線対称となるように順次展開していったような画像が表示される。
When the user touches the “square”
また、図30に示すように、ユーザがタッチペン27等を画面上にタッチしたまま回転移動させると、画像オブジェクトOBJ6は、当該タッチ操作に応じた角度だけ、予め定められた中心点308を中心に回転する。すなわち、画像オブジェクトOBJ6の向きは、ユーザ入力に応じてリアルタイムで変化する。なお、この画像オブジェクトOBJ6の回転に伴って、画像オブジェクトOBJ6を中心に展開される画像の位置も変化する。さらに、図28と同様に、ユーザがタッチペン27等を画面上にタッチしたまま、画像オブジェクトOBJ6の中心点308から遠ざかる、もしくは近づく方向に移動させると、画像オブジェクトOBJ6は、当該タッチ操作に応じて拡大もしくは縮小する。そして、この画像オブジェクトOBJ6のサイズの変化に伴って、画像オブジェクトOBJ6を中心に展開される画像の配置やサイズも変化する。
Also, as shown in FIG. 30, when the user rotates and moves the
このように、画像オブジェクトには、その回転および/またはサイズ変更に係る基準点となる中心点が予め定められている。後述するように、この基準点とタッチ操作に伴う座標の変化を示すベクトルとこの基準点との相対関係に応じて、オブジェクトの回転量(回転位置)および縮小/拡大率(サイズ)の度合いが算出される。 As described above, the center point serving as the reference point for the rotation and / or size change of the image object is determined in advance. As will be described later, the degree of the rotation amount (rotation position) and the reduction / enlargement ratio (size) of the object depends on the relative relationship between the reference point and a vector indicating a change in coordinates accompanying the touch operation and the reference point. Calculated.
また、「やめる」アイコン310が選択されると、本「かがみカメラ」の処理が中止され、図25に示すような選択画面へ戻る。
Further, when the “quit”
また、「とる」アイコン312が選択されることで、選択されたタイミングにおいて表示されている画像に対応する静止画像が生成され、保存用データメモリ34(図2)などに記憶される。
When the “take”
また、切替アイコン314が選択されると、画像撮影に使用するカメラが、内側カメラ23と外側カメラ25との間で切り替えられる。
When the
<「かがみカメラ」の詳細処理>
以下、図31を参照して、本実施の形態に従う「かがみカメラ」の詳細処理について説明する。なお、図31に示す例は、図26に示す画像オブジェクトOBJ5に対する処理を説明するものである。
<Detailed processing of Kagami Camera>
In the following, with reference to FIG. 31, detailed processing of the “camera camera” according to the present embodiment will be described. Note that the example shown in FIG. 31 explains the processing for the image object OBJ5 shown in FIG.
特に、本実施の形態に従う「かがみカメラ」では、ユーザがタッチペン27等で画面上に対して行なった単位時間当たりの操作量に応じて、画像オブジェクトの回転量およびサイズ変更量が算出される。そのため、ユーザがタッチペン27等を操作することで、画像オブジェクトの回転速度がより速くなったり、より大きく拡大されたりして、ユーザにとって見れば、自身の操作に反応して画像オブジェクトが自在に変更されるといった感覚を得られる。
In particular, in the “Kagami Camera” according to the present embodiment, the rotation amount and the size change amount of the image object are calculated according to the operation amount per unit time that the user performs on the screen with the
より詳細には、図31に示す例のように、たとえば、ユーザがタッチペン27等をタッチ状態のまま第8入力点P8から第9入力点P9へ移動させたとする。なお、このユーザによるタッチペン27等の移動操作(座標値の変化)は、演算周期Δt(いわゆるフレーム周期)の間に行なわれたものとする。以下の説明では、第8入力点が時刻tで入力され、第9入力点が時刻t+Δtで入力されたとする。
More specifically, as in the example illustrated in FIG. 31, for example, it is assumed that the user moves the
画像オブジェクトOBJ5の回転量およびサイズ変更量は、この第8入力点P8から第9入力点P9への移動によって生じた操作ベクトルVtpに応じて算出される。より具体的には、画像オブジェクトOBJ5の中心点308に対する操作ベクトルVtpの周方向成分vθおよび径方向成分vrに応じて、画像オブジェクトOBJ5の回転量およびサイズ変更量がそれぞれ算出される。
The rotation amount and the size change amount of the image object OBJ5 are calculated according to the operation vector Vtp generated by the movement from the eighth input point P8 to the ninth input point P9. More specifically, the rotation amount and the size change amount of the image object OBJ5 are respectively calculated according to the circumferential component vθ and the radial component vr of the operation vector Vtp with respect to the
この周方向および径方向については、画像オブジェクトOBJ5の中心点308を通る任意の直線について定義することができるが、図31に示す例では、画像オブジェクトOBJ5の中心点308および操作ベクトルVtpの始点(第8入力点P8)を通る直線L8について、操作ベクトルVtpが周方向成分および径方向成分に分解される。すなわち、操作ベクトルVtpは、直線L8に垂直な成分(周方向成分vθ)と平行な成分(径方向成分vr)とに分解される。
Regarding the circumferential direction and the radial direction, an arbitrary straight line passing through the
さらに、周方向成分vθおよび径方向成分vrを用いて、ある時刻tと引き続く演算周期後(t+Δt)との間における画像オブジェクトの回転角度θおよび縮小/拡大率αは、以下のような数式に従って算出される。 Further, using the circumferential component vθ and the radial component vr, the rotation angle θ and the reduction / enlargement ratio α of the image object between a certain time t and the subsequent calculation period (t + Δt) are expressed by the following equations: Calculated.
θ(t+Δt)=θ(t)±a×vθ・・・(1)
α(t+Δt)=α(t)+b×vr・・・(2)
但し、θの初期値は0、αの初期値は1であり、タッチ操作がないときでも、θ,αの値は前回の値が保持される。
θ (t + Δt) = θ (t) ± a × vθ (1)
α (t + Δt) = α (t) + b × vr (2)
However, the initial value of θ is 0, and the initial value of α is 1. Even when there is no touch operation, the previous values of θ and α are retained.
θ(t)およびα(t)は、時刻tにおける回転角度および縮小/拡大率を示す。
θ(t+Δt)およびα(t+Δt)は、時刻(t+Δt)における回転角度および縮小/拡大率を示し、aおよびbは、バイアス係数を示す。
θ (t) and α (t) indicate the rotation angle and reduction / enlargement rate at time t.
θ (t + Δt) and α (t + Δt) indicate the rotation angle and reduction / enlargement ratio at time (t + Δt), and a and b indicate bias coefficients.
このように決定されるθおよびαを用いて、中心点308を中心としてθだけ回転し、かつ、αだけ拡大縮小したオブジェクト画像が中心点308の位置に表示される。なお、θは標準の向きからの回転角度であり、αは標準サイズからの拡大縮小率である。
Using θ and α determined in this way, an object image rotated by θ around the
なお、上述の例では、1フレーム間の操作ベクトルVtpの径方向成分vrを用いて画像オブジェクトの縮小/拡大率αを求めたが、他の例では、タッチオン座標と、タッチオン時の縮小/拡大率α0を記憶しておき、その後タッチ操作が継続している限りにおいて、画像オブジェクトOBJ5の中心点308からタッチオン座標までの距離と、中心点308から現在のタッチ座標までの距離の差Δd(t)を用いてもよい。この場合、時刻tにおける縮小/拡大率α(t)は以下の数式によって算出される。なお、Δd(t)は現在のタッチ座標がタッチオン座標よりも中心点に近いときはマイナスの値となる。
In the above example, the reduction / enlargement ratio α of the image object is obtained by using the radial component vr of the operation vector Vtp between one frame, but in other examples, the touch-on coordinates and the reduction / enlargement at the time of touch-on are obtained. As long as the rate α0 is stored and the touch operation continues thereafter, the difference Δd (t between the distance from the
α(t)=α0+b×Δd(t)・・・(2)’
上記の例ではα(t)は常にタッチオン時を基準に算出されることになり、そうすることにより誤差の蓄積を防止することができる。このとき、θについても同様に、タッチオン時の回転角度θ0に基づいて、タッチオン時と現在との回転角度の差分を用いて算出してもよいし、前式(1)を用いて算出してもよい。
α (t) = α0 + b × Δd (t) (2) ′
In the above example, α (t) is always calculated on the basis of the touch-on time, so that accumulation of errors can be prevented. At this time, similarly, θ may be calculated based on the rotation angle θ0 at the time of touch-on using the difference between the rotation angle at the time of touch-on and the current time, or may be calculated using the previous equation (1). Also good.
なお、(1)式の左辺第2項の符号は、画像オブジェクトの回転位置θの定義と、操作ベクトルVtpの向きとの関係に応じていずれかが選択される。すなわち、画像オブジェクトOBJ5の中心点308に対して反時計回りの方向を回転位置θの正方向に定めた場合には、操作ベクトルVtpが中心点308に対して反時計回りの方向に生じると、(1)式の左辺第2項の符号は「+」となり、一方、操作ベクトルVtpが中心点308に対して時計回りの方向に生じると、(1)式の左辺第2項の符号は「−」となる。
Note that the sign of the second term on the left side of the equation (1) is selected according to the relationship between the definition of the rotation position θ of the image object and the direction of the operation vector Vtp. That is, when the counterclockwise direction with respect to the
さらに、操作ベクトルVtpがいずれの方向に生じたかを判断する方法の一例として、操作ベクトルVtpと、画像オブジェクトOBJ5の中心点308から第8入力点P8へのベクトルVsとの外積に基づく判断を用いることができる。すなわち、図31に示す例では、操作ベクトルVtpが反時計回りの方向に生じると、操作ベクトルVtpとベクトルVsとの外積は正の値をとり、一方、操作ベクトルVtpが時計回りの方向に生じると、操作ベクトルVtpとベクトルVsとの外積は負の値をとる。そこで、このような外積の符号に応じて、いずれの方向に操作ベクトルVtpが生じたかを判断することができる。
Furthermore, as an example of a method for determining in which direction the operation vector Vtp is generated, determination based on the outer product of the operation vector Vtp and the vector Vs from the
また、(2)式において、径方向成分Vrは、画像オブジェクトOBJ5の中心点308から遠ざかる方向を+(プラス)とし、近づく方向を−(マイナス)としている。
In the equation (2), the radial direction component Vr is defined as + (plus) when moving away from the
なお、当然のことながら、画像オブジェクトOBJ5の中心点308および操作ベクトルVtpの終点(第9入力点P9)を通る直線L9について、操作ベクトルVtpを周方向成分および径方向成分に分解してもよい。また、中心点308と操作ベクトルVtpの中間点を通る直線を用いてもよい。
Of course, for the straight line L9 passing through the
<描画処理>
上述したように、本実施の形態に従うゲーム装置100Aでは、カメラで撮影された画像の一部が画像オブジェクトとして抽出され、この抽出された画像オブジェクトを画面全体に複数展開した画像がリアルタイムに表示される。さらに、ユーザがタッチペン27等を画面上にタッチしたまま操作を行なうと、画像オブジェクトは、この操作に応じた回転角およびサイズでリアルタイムに変化する。そのため、このような画像表示を行なうための描画処理について図32および図33を用いて説明する。
<Drawing process>
As described above, in
図32は、この発明の実施の形態2に従うゲーム装置100Aの描画処理を説明するための模式図である。図33は、この発明の実施の形態2に従うゲーム装置100Aにおける画像オブジェクトの抽出処理を説明するための模式図である。
FIG. 32 is a schematic diagram for describing a drawing process of
図32を参照して、本実施の形態に従うゲーム装置100Aでは、2つのレイヤー342および344を用いて、画面表示するための映像信号を生成している。なお、レイヤー342および344の各々は、少なくとも下側LCD12の解像度に相当する大きさのメモリ領域をメインメモリ32内に形成することで実現される。
Referring to FIG. 32,
第1レイヤー342は、カメラで撮影された画像(静止画像もしくは動画像)、またはメモリカード28(図2)などから読出された画像(静止画像もしくは動画像)から抽出された画像オブジェクトを展開して表示するためのメモリ領域である。
The
CPU31(図2)は、内側カメラ23、外側カメラ25、およびメモリカード28のいずれかから入力される入力画像IMGを展開し、この入力画像IMGから画像オブジェクトOBJ5を抽出する。そして、この画像オブジェクトOBJ5を所定規則に従って展開したデータを、メインメモリ32内の第1レイヤー342に相当する領域に書き込む。なお、静止画像が入力される場合には、ラスタデータに展開した上で書き込みを行なえばよいが、動画像が入力される場合には、表示のリアルタイム性を向上させるために、ポリゴン処理などを用いてレンダリングを行なってもよい。
The CPU 31 (FIG. 2) develops the input image IMG input from any one of the
第2レイヤー344は、ユーザ操作を受け付けるためのアイコンを表示するためのメモリ領域である。CPU31は、ユーザ操作によって選択された機能や動作モードに応じて、必要なアイコンを表示するためのデータをメインメモリ32内の第2レイヤー344に相当する領域に書き込む。
The
これらのレイヤー342および344が記憶するデータを合成した画像が画面表示される。各レイヤー342および344では、表示すべきデータが存在する画素についてのみ有効なものとして扱われ、表示すべきデータが存在しない画素については、いわば透明なものとして扱われる。そのため、あるレイヤーのうち透明なものとして取り扱われる画素については、より下位のレイヤーの対応する画素のデータが画面表示されることになる。
An image obtained by combining the data stored in these
また、「とる」アイコン312(図26)が選択された場合には、CPU31は、第1レイヤー342に記憶されたデータを保存用データメモリ34(図2)などに記憶される。
When the “take” icon 312 (FIG. 26) is selected, the
上述した画像オブジェクトの抽出処理としては、図33(a)に示すように、入力画像IMGに対して予め定められた領域に含まれる画素のデータを抽出した上で、この抽出したデータを上述した縮小/拡大率αに応じて縮小または拡大することで、表示される大きさを可変にするようにしてもよい。 As the above-described image object extraction processing, as shown in FIG. 33A, after extracting pixel data included in a predetermined region from the input image IMG, the extracted data is described above. The displayed size may be made variable by reducing or enlarging according to the reduction / enlargement ratio α.
あるいは、画像オブジェクトの別の抽出処理としては、図33(b)に示すように、入力画像IMGから画素のデータを抽出する領域を上述した縮小/拡大率αに応じて縮小または拡大するようにしてもよい。このような処理を採用することで、画像オブジェクトの実効サイズを同一に維持しつつ、その中に含まれる実体データ(すなわち、被写体TRGの画像)を縮小または拡大することができる。 Alternatively, as another image object extraction process, as shown in FIG. 33 (b), an area for extracting pixel data from the input image IMG is reduced or enlarged according to the reduction / enlargement ratio α described above. May be. By adopting such processing, it is possible to reduce or enlarge the actual data (that is, the image of the subject TRG) contained in the image object while maintaining the same effective size of the image object.
<処理手順>
以下、上述した本実施の形態に従う「かがみカメラ」に係る処理手順について、図34〜図36を参照して説明する。なお、図34〜図36に示す各ステップは、代表的に、CPU31が、メモリカード29に記憶されたプログラム等をメインメモリ32に読み出して実行することで実現される。
<Processing procedure>
In the following, a processing procedure related to the “camera camera” according to the above-described embodiment will be described with reference to FIGS. 34 to 36. Each step shown in FIG. 34 to FIG. 36 is typically realized by the
(1.機能選択処理)
本実施の形態に従うゲーム装置100Aにおいても、上述の図17と同様の機能選択に係る処理が実行される。
(1. Function selection process)
Also in
本実施の形態に従うゲーム装置100Aでは、図17に示すステップS8において、図25に示すように、たとえば「かがみカメラ」の機能が選択された場合には、「かがみカメラ」といった名称および各処理の内容(図25に示す例では、左右対称モード)がプレビュー表示される。
In
また、ステップS16において、「かがみカメラ」が選択されていれば、CPU31は、図34および図35に示すフローチャートに従う処理を実行する。
On the other hand, if “camera camera” is selected in step S <b> 16, the
その他のステップについては、上述した実施の形態1と同様であるので、詳細な説明は繰り返さない。 Since other steps are the same as those in the first embodiment, detailed description will not be repeated.
(2.「かがみカメラ」サブルーチン)
図34および図35は、図17に示すステップS16において「かがみカメラ」が選択されている場合に実行されるサブルーチン処理を示すフローチャートである。
(2. “Kagami Camera” subroutine)
FIG. 34 and FIG. 35 are flowcharts showing a subroutine process executed when the “camera camera” is selected in step S16 shown in FIG.
図34および図35を参照して、まず、ステップS600において、CPU31は、内部変数である前回座標値および今回座標値を初期化(ゼロクリア)する。
Referring to FIGS. 34 and 35, first, in step S600,
続くステップS602において、CPU31は、図36に示す描画処理サブルーチンを開始する。この描画処理サブルーチンは、図26〜図30に示すような「かがみカメラ」での画面表示を行なうための処理である。なお、図36に示す処理手順は、図34および図35に示される処理とは独立して、所定周期で繰り返し実行される。
In subsequent step S602,
さらに続くステップS604では、CPU31は、選択されているカメラ(内側カメラ23または外側カメラ25)からの入力画像のうち、予め定められた領域(初期値)に含まれる画素のデータを抽出することで画像オブジェクト(初期値)が生成される。さらに続くステップS606では、CPU31は、ステップS604で生成された画像オブジェクト(初期値)を予め定められた回転位置θおよび縮小/拡大率αで画面全体に展開した表示データを生成し、メインメモリ32内の第1レイヤー342に相当する領域に書き込む。そして、処理はステップS608へ進む。
In further subsequent step S604, the
続くステップS608では、CPU31は、図26に示すアイコン302〜314を表示するためのデータを、メインメモリ32内の第2レイヤー344に相当する領域に書き込む。すなわち、CPU31は、ユーザ操作を受け付けるためのアイコンを下側LCD12に表示する。
In the subsequent step S608, the
以上のようなステップS602〜S608の処理によって、「かがみカメラ」モードの初期画面が表示される。 As a result of the processing in steps S602 to S608 as described above, the initial screen of the “camera camera” mode is displayed.
続くステップS610では、CPU31は、I/F回路42を介してタッチパネル13からタッチ位置データが入力されたか否かを判断する。すなわち、CPU31は、ユーザによるタッチペン27等によるタッチ操作の有無を判断する。タッチ位置データが入力されていなければ(ステップS610においてNO)、ステップS610の処理が繰り返される。一方、タッチ位置データが入力されていれば(ステップS610においてYES)、処理はステップS612へ進む。
In subsequent step S610,
ステップS612では、CPU31は、タッチ位置データの示す座標値が「左右対称」アイコン302の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「左右対称」アイコン302が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「左右対称」アイコン302の表示範囲内の値であれば(ステップS612においてYES)、処理はステップS614へ進む。一方、タッチ位置データの示す座標値が「左右対称」アイコン302の表示範囲外の値であれば(ステップS612においてNO)、処理はステップS616へ進む。
In step S <b> 612, the
ステップS614では、CPU31は、内部フラグを「左右対称」モードに設定する。そして、処理はステップS610へ戻る。
In step S614, the
ステップS616では、CPU31は、タッチ位置データの示す座標値が「三角」アイコン304の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「三角」アイコン304が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「三角」アイコン304の表示範囲内の値であれば(ステップS616においてYES)、処理はステップS618へ進む。一方、タッチ位置データの示す座標値が「三角」アイコン304の表示範囲外の値であれば(ステップS616においてNO)、処理はステップS620へ進む。
In step S <b> 616, the
ステップS618では、CPU31は、内部フラグを「三角」モードに設定する。そして、処理はステップS610へ戻る。
In step S618, the
ステップS620では、CPU31は、タッチ位置データの示す座標値が「四角」アイコン306の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「四角」アイコン306が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「四角」アイコン306の表示範囲内の値であれば(ステップS620においてYES)、処理はステップS622へ進む。一方、タッチ位置データの示す座標値が「四角」アイコン306の表示範囲外の値であれば(ステップS620においてNO)、処理はステップS624へ進む。
In step S 620,
ステップS622では、CPU31は、内部フラグを「四角」モードに設定する。そして、処理はステップS610へ戻る。
In step S622, the
ステップS624では、CPU31は、タッチ位置データの示す座標値が「とる」アイコン312の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「とる」アイコン312が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「とる」アイコン312の表示範囲内の値であれば(ステップS624においてYES)、処理はステップS626へ進む。一方、タッチ位置データの示す座標値が「とる」アイコン312の表示範囲外の値であれば(ステップS624においてNO)、処理はステップS628へ進む。
In step S624, the
ステップS626では、CPU31は、メインメモリ32内の第1レイヤー342に相当する領域に記憶されたデータを読み出して、保存用データメモリ34などに書き込む。そして、処理はステップS610へ戻る。
In step S626, the
ステップS628では、CPU31は、タッチ位置データの示す座標値が切替アイコン314の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、切替アイコン314が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が切替アイコン314の表示範囲内の値であれば(ステップS628においてYES)、処理はステップS630へ進む。一方、タッチ位置データの示す座標値が切替アイコン314の表示範囲外の値であれば(ステップS628においてNO)、処理はステップS632へ進む。
In step S628, the
ステップS630では、CPU31は、画像撮影に使用するカメラを内側カメラ23と外側カメラ25との間で切り替える。すなわち、CPU31は、入力画像のソースを内側カメラ23と外側カメラ25との間で切り替える。そして、処理はステップS610へ戻る。
In step S <b> 630, the
ステップS632では、CPU31は、タッチ位置データの示す座標値が「やめる」アイコン310の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「やめる」アイコン310が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「やめる」アイコン310の表示範囲内の値であれば(ステップS632においてYES)、CPU31は、図36に示す描画処理サブルーチンを終了(ステップS634)させた後、本処理を終了する。一方、タッチ位置データの示す座標値が「やめる」アイコン210の表示範囲外の値であれば(ステップS632においてNO)、処理は図35に示すステップS636へ進む。すなわち、ステップS636以下の処理は、ユーザがタッチペン27等で画面上のアイコン301〜314以外の位置にタッチした場合に実行される。
In step S <b> 632, the
ステップS636では、CPU31は、今回座標値にゼロ以外の有効な値がセットされているか否かを判断する。すなわち、CPU31は、前回の演算周期において、ユーザがタッチペン27等で画面上のアイコン301〜314以外の位置にタッチしたか否かを判断する。
In step S636, the
今回座標値にゼロ以外の有効な値がセットされていなければ(ステップS636においてNO)、処理はステップS638へ進む。ステップS638では、CPU31は、タッチ位置データの示す座標値を前回座標値および今回座標値にそれぞれセットする。そして、処理はステップS650へ進む。すなわち、前回の演算周期において、ユーザが画像オブジェクトの回転および/またはサイズ変更を指示するための入力操作を行なっていなければ、当該入力操作直後の演算周期では、画像オブジェクトの回転位置θおよび縮小/拡大率αは変更されない。
If a valid value other than zero is not set for the coordinate value this time (NO in step S636), the process proceeds to step S638. In step S638, the
一方、今回座標値にゼロ以外の有効な値がセットされていれば(ステップS636においてYES)、処理はステップS640へ進む。ステップS640では、CPU31は、前回座標値を現在の今回座標値にセットした後、タッチ位置データの示す座標値を今回座標値にセットする。そして、処理はステップS642へ進む。すなわち、前回の演算周期から今回の演算周期の間に、ユーザによる何らかの入力操作が行なわれた場合には、画像オブジェクトの回転および/またはサイズ変更に係る処理が実行される。
On the other hand, if a valid value other than zero is set for the current coordinate value (YES in step S636), the process proceeds to step S640. In step S640, the
ステップS642では、CPU31は、前回座標値から今回座標値までの操作ベクトルVtpを算出する。すなわち、タッチパネル13に対する操作によって入力される座標値の変化が検出される。
In step S642, the
続くステップS644では、CPU31は、配置されている画像オブジェクトの中心点から前回座標値までのベクトルVsを算出する。さらに続くステップS646では、CPU31は、操作ベクトルVtpとベクトルVsとの外積を算出し、この算出した外積の符号(正または負)に基づいて、操作ベクトルVtpが生じた回転方向を判断する。そして、処理はステップS648へ進む。
In the subsequent step S644, the
ステップS648では、CPU31は、操作ベクトルVtpを周方向成分Vθおよび径方向成分Vrに分解する。すなわち、座標値の変化に応じた周方向成分Vθ(第1変化成分)および径方向成分Vr(第2変化成分)が取得される。
In step S648, the
続くステップS650では、CPU31は、ステップS648において算出した周方向成分Vθおよび径方向成分Vrに基づいて、画像オブジェクトの回転位置θおよび縮小/拡大率αをそれぞれ算出する。そして、処理はステップS650へ進む。
In subsequent step S650,
ステップS650では、CPU31は、選択されているカメラ(内側カメラ23または外側カメラ25)からの入力画像のうち、設定されているモードに応じた領域に含まれる画素のデータを抽出することで画像オブジェクトを更新する。さらに続くステップS652では、CPU31は、ステップS650で更新された画像オブジェクトを現在の回転位置θおよび縮小/拡大率αで画面全体に展開した表示データを生成し、メインメモリ32内の第1レイヤー342に相当する領域に書き込む。すなわち、画像オブジェクトを中心として、画像オブジェクトに含まれる画像を画面全体に展開して表示される。そして、処理はステップS654へ進む。
In step S650, the
ステップS654では、CPU31は、次の演算周期の実行タイミングまで待つ。その後、処理はステップS610へ戻る。この繰り返し処理によって、画像オブジェクトの回転位置(向き)または縮小/拡大率(サイズ)の変更に伴って、展開することで得られる表示画像は順次更新される。
In step S654, the
(3.描画処理サブルーチン)
図36は、図34に示すステップS602において実行が開始される描画処理サブルーチン処理を示すフローチャートである。
(3. Drawing processing subroutine)
FIG. 36 is a flowchart showing a drawing process subroutine process to be executed in step S602 shown in FIG.
図36を参照して、ステップS700において、CPU31は、第1レイヤー342および第2レイヤー344がそれぞれ記憶するデータを合成する。なお、第1レイヤー342に記憶されるデータは、上述の図34および図35に示すサブルーチン処理の実行に伴って、随時更新される。
Referring to FIG. 36, in step S700,
さらに続くステップS702において、CPU31は、合成したデータに基づいて、下側LCD12に画像を描画(レンダリング)する。そして、処理はステップS700へ戻る。
In further subsequent step S702,
上述の図36に示すサブルーチン処理は、図34に示すステップS602においてその実行が開始され、図36に示すステップS634においてその実行が終了される。 The subroutine processing shown in FIG. 36 is started in step S602 shown in FIG. 34, and the execution is ended in step S634 shown in FIG.
[実施の形態2の変形例]
上述の実施の形態2では、図31に示すように、操作ベクトルVtpの周方向成分Vθに応じて、画像オブジェクトの回転量がそれぞれ決定される処理について例示したが、オブジェクトの基準点に対して、操作ベクトルVtpの両頂点がなす角に応じて、オブジェクトを回転するようにしてもよい。
[Modification of Embodiment 2]
In the above-described second embodiment, as illustrated in FIG. 31, the processing for determining the rotation amount of the image object according to the circumferential component Vθ of the operation vector Vtp is illustrated, but with respect to the reference point of the object The object may be rotated according to the angle formed by both vertices of the operation vector Vtp.
すなわち、図31において、オブジェクトOBJ5の中心点308に対して、第8入力点P8と第9入力点P9とがなす角に応じて、オブジェクトの回転位置θの単位周期当たりの変化量を算出してもよい。言い換えれば、オブジェクトの向きの変更量を、その基準点に対して入力される座標値の変化前後の2つの座標値がなす角に応じて定められる。
That is, in FIG. 31, the amount of change per unit period of the rotational position θ of the object is calculated according to the angle formed by the eighth input point P8 and the ninth input point P9 with respect to the
その他の処理については、上述した実施の形態2と同様であるので、詳細な説明は繰り返さない。 Since other processes are the same as those in the second embodiment described above, detailed description will not be repeated.
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
11 下側ハウジング、12 下側LCD、13 タッチパネル、14A〜14K 操作ボタン、15A 第1LED、15B 第2LED、15C 第3LED、16 マイクロフォン用孔、21 上側ハウジング、22 上側LCD、23 内側カメラ、24 音抜き孔、25 外側カメラ、26 第4LED、27 タッチペン、28,29 メモリカード、32 メインメモリ、33 メモリ制御回路、34 保存用データメモリ、35 プリセットデータ用メモリ、36,37 メモリカードI/F、38 無線通信モジュール、39 ローカル通信モジュール、41 電源回路、42 インターフェース回路(I/F回路)、43 マイク、44 アンプ、100,100A ゲーム装置。 11 Lower housing, 12 Lower LCD, 13 Touch panel, 14A-14K Operation buttons, 15A 1st LED, 15B 2nd LED, 15C 3rd LED, 16 Microphone hole, 21 Upper housing, 22 Upper LCD, 23 Inner camera, 24 sound Hole, 25 Outside camera, 26 4th LED, 27 Touch pen, 28, 29 Memory card, 32 Main memory, 33 Memory control circuit, 34 Storage data memory, 35 Preset data memory, 36, 37 Memory card I / F, 38 wireless communication module, 39 local communication module, 41 power supply circuit, 42 interface circuit (I / F circuit), 43 microphone, 44 amplifier, 100, 100A game device.
Claims (18)
前記入力手段に対する操作によって入力される座標値を検出する座標検出ステップと、
前記検出された座標値のうちの所定の座標値を第1オブジェクト配置座標値として取得し、当該第1オブジェクト配置座標値に基づいて、前記表示手段の対応する位置に第1オブジェクトを表示する第1オブジェクト表示ステップと、
前記検出された座標値のうち前記第1オブジェクト配置座標値に引き続く座標値である継続座標値を取得する継続座標取得ステップと、
前記継続座標値に応じて、前記表示手段に表示される前記第1オブジェクトの向きを変更する向き変更ステップとを実行させる、画像処理プログラム。 An image processing program executed by a computer capable of using the input unit and the display unit, wherein the image processing program detects a coordinate value input to the computer by an operation on the input unit;
A predetermined coordinate value of the detected coordinate values is acquired as a first object arrangement coordinate value, and a first object is displayed at a corresponding position of the display unit based on the first object arrangement coordinate value. One object display step;
A continuous coordinate acquisition step of acquiring a continuous coordinate value that is a coordinate value subsequent to the first object arrangement coordinate value among the detected coordinate values;
An image processing program for executing a direction changing step of changing a direction of the first object displayed on the display unit according to the continuous coordinate value.
前記第1オブジェクト配置座標値の検出に引き続いて前記座標値の検出が継続しているか否かを判断するステップと、
前記座標値が継続して検出されている間に入力される座標値が、前記第1オブジェクトの向きを変更する条件である向き変更条件を満足するか否かを判断するステップとを含み、
前記向き変更ステップは、前記向き変更条件を満足すると判断された座標値を、前記継続座標値として用いて、当該継続座標値に応じて、前記第1オブジェクトの向きを変更する、請求項1または2に記載の画像処理プログラム。 The continuous coordinate acquisition step includes:
Determining whether the detection of the coordinate values continues following the detection of the first object arrangement coordinate values;
Determining whether a coordinate value input while the coordinate value is continuously detected satisfies an orientation changing condition that is a condition for changing the orientation of the first object,
The orientation changing step uses a coordinate value determined to satisfy the orientation changing condition as the continuing coordinate value, and changes the orientation of the first object according to the continuing coordinate value. The image processing program according to 2.
前記向き変更ステップは、前記座標値の検出が継続している間、随時取得される各前記継続座標値に応じて、前記表示手段に表示される前記第1オブジェクトの向きを随時変更する、請求項1〜6のいずれか1項に記載の画像処理プログラム。 The continuous coordinate acquisition step acquires the continuous coordinate value at any time while the detection of the coordinate value continues,
The orientation changing step changes the orientation of the first object displayed on the display unit as needed according to each of the continued coordinate values acquired at any time while the detection of the coordinate values continues. Item 7. The image processing program according to any one of Items 1 to 6.
前記向き変更ステップは、
前記向き確定条件が満足される前は、前記継続座標値が更新される毎に、それぞれの前記継続座標値に基づいて前記第1オブジェクトの向きを随時変更し、
前記向き確定条件が満足された後は、前記第1オブジェクトの向きを固定する、請求項1〜7のいずれか1項に記載の画像処理プログラム。 The image processing program further causes the computer to further execute an orientation determination condition determination step for determining whether an operation that satisfies an orientation determination condition for determining the orientation of the first object has been performed,
The direction changing step includes
Before the orientation determination condition is satisfied, whenever the continuation coordinate value is updated, the orientation of the first object is changed as needed based on the continuation coordinate value.
The image processing program according to claim 1, wherein the orientation of the first object is fixed after the orientation determination condition is satisfied.
前記向き変更ステップは、
前記向き確定条件が満足される前は、前記第1オブジェクトの向きを初期状態に維持し、
前記向き確定条件が満足されると、前記向き確定条件が満足されたときの前記継続座標値に基づいて前記第1オブジェクトの向きを変更した上で、前記第1オブジェクトを変更後の向きに固定する、請求項1〜6のいずれか1項に記載の画像処理プログラム。 The image processing program further causes the computer to further execute an orientation determination condition determination step for determining whether an operation that satisfies an orientation determination condition for determining the orientation of the first object has been performed,
The direction changing step includes
Before the orientation determination condition is satisfied, the orientation of the first object is maintained in an initial state,
When the orientation determination condition is satisfied, the orientation of the first object is changed based on the continuous coordinate value when the orientation determination condition is satisfied, and then the first object is fixed to the changed orientation. The image processing program according to any one of claims 1 to 6.
前記第2オブジェクト表示ステップは、
前記第1オブジェクト配置座標値の検出に引き続いて前記座標値が継続して検出されている間に入力される座標値が、前記第2オブジェクトを表示するか否かを判定するための第2オブジェクト表示条件を満足するか否かを判断するステップと、
前記第2オブジェクト表示条件を満足すると判断された座標値を第2オブジェクト配置座標とし、当該座標に基づいて、前記表示手段の対応する位置に前記第2オブジェクトを表示するステップとを含む、請求項1〜11のいずれか1項に記載の画像処理プログラム。 The image processing program causes the computer to further execute a second object display step of displaying a second object on the display means,
The second object display step includes
The second object for determining whether or not the coordinate value input while the coordinate value is continuously detected following the detection of the first object arrangement coordinate value displays the second object. Determining whether the display condition is satisfied;
A coordinate value determined to satisfy the second object display condition is set as a second object arrangement coordinate, and the second object is displayed at a corresponding position of the display unit based on the coordinate. The image processing program according to any one of 1 to 11.
前記オブジェクトは、表示される前記入力画像に重ねて表示される、請求項1〜12のいずれか1項に記載の画像処理プログラム。 The image processing program causes the computer to further execute an input image display step of displaying an input image on the display means,
The image processing program according to claim 1, wherein the object is displayed so as to overlap the input image to be displayed.
前記入力手段に対する操作によって連続的に入力される座標値の変化を検出するステップと、
前記座標値の変化に対応する前記表示手段上の軌跡に応じて、少なくとも1つのオブジェクトを順次表示するステップとを実行させ、
前記少なくとも1つのオブジェクトの各々の向きは、前記表示手段上の軌跡に応じて順次決定される、画像処理プログラム。 An image processing program executed by a computer capable of using an input unit and a display unit, wherein the image processing program detects a change in coordinate values continuously input to the computer by an operation on the input unit. When,
Sequentially displaying at least one object according to a trajectory on the display means corresponding to the change in the coordinate value;
An image processing program in which the orientation of each of the at least one object is sequentially determined according to a trajectory on the display means.
ユーザ操作によって入力される座標値を検出する検出手段と、
前記検出された座標値のうちの所定の座標値を第1オブジェクト配置座標値として取得し、当該第1オブジェクト配置座標値に基づいて、前記表示手段の対応する位置に第1オブジェクトを表示する第1オブジェクト表示手段と、
前記検出された座標値のうち前記第1オブジェクト配置座標値に引き続く座標値である継続座標値を取得する継続座標取得手段と、
前記継続座標値に応じて、前記表示手段に表示される前記第1オブジェクトの向きを変更する向き変更手段とを備える、画像処理装置。 An image processing apparatus in which input means and display means can be used,
Detecting means for detecting coordinate values input by a user operation;
A predetermined coordinate value of the detected coordinate values is acquired as a first object arrangement coordinate value, and a first object is displayed at a corresponding position of the display unit based on the first object arrangement coordinate value. One object display means;
Continuous coordinate acquisition means for acquiring a continuous coordinate value that is a coordinate value subsequent to the first object arrangement coordinate value among the detected coordinate values;
An image processing apparatus comprising: a direction changing unit that changes a direction of the first object displayed on the display unit according to the continuous coordinate value.
前記入力手段に対する操作によって連続的に入力される座標値の変化を検出する検出手段と、
前記座標値の変化に対応する前記表示手段上の軌跡に応じて、少なくとも1つのオブジェクトを順次表示するオブジェクト表示手段とを備え、
前記少なくとも1つのオブジェクトの各々の向きは、前記表示手段上の軌跡に応じて順次決定される、画像処理装置。 An image processing apparatus in which input means and display means can be used,
Detecting means for detecting a change in coordinate values continuously input by an operation on the input means;
Object display means for sequentially displaying at least one object according to a trajectory on the display means corresponding to the change in the coordinate value;
The image processing apparatus, wherein an orientation of each of the at least one object is sequentially determined according to a trajectory on the display unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013085669A JP5570633B2 (en) | 2013-04-16 | 2013-04-16 | Image processing program, image processing apparatus, and image processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013085669A JP5570633B2 (en) | 2013-04-16 | 2013-04-16 | Image processing program, image processing apparatus, and image processing method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008247026A Division JP5328277B2 (en) | 2008-09-26 | 2008-09-26 | Image processing program and image processing apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013149274A true JP2013149274A (en) | 2013-08-01 |
JP5570633B2 JP5570633B2 (en) | 2014-08-13 |
Family
ID=49046657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013085669A Active JP5570633B2 (en) | 2013-04-16 | 2013-04-16 | Image processing program, image processing apparatus, and image processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5570633B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001277651A (en) * | 2000-03-31 | 2001-10-09 | Ricoh Co Ltd | Method for displaying stamp figure and information input display |
JP2003037813A (en) * | 2001-04-09 | 2003-02-07 | Omron Corp | Apparatus, method and program for image processing |
JP2003141558A (en) * | 2001-08-24 | 2003-05-16 | Omron Corp | Picture seal vendor, method of creating picture seal, and program |
US20060007123A1 (en) * | 2004-06-28 | 2006-01-12 | Microsoft Corporation | Using size and shape of a physical object to manipulate output in an interactive display application |
-
2013
- 2013-04-16 JP JP2013085669A patent/JP5570633B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001277651A (en) * | 2000-03-31 | 2001-10-09 | Ricoh Co Ltd | Method for displaying stamp figure and information input display |
JP2003037813A (en) * | 2001-04-09 | 2003-02-07 | Omron Corp | Apparatus, method and program for image processing |
JP2003141558A (en) * | 2001-08-24 | 2003-05-16 | Omron Corp | Picture seal vendor, method of creating picture seal, and program |
US20060007123A1 (en) * | 2004-06-28 | 2006-01-12 | Microsoft Corporation | Using size and shape of a physical object to manipulate output in an interactive display application |
Also Published As
Publication number | Publication date |
---|---|
JP5570633B2 (en) | 2014-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2169624B1 (en) | Storage medium storing image processing program for implementing controlled image display according to input coordinate, and information processing device | |
JP5378742B2 (en) | Image processing program and image processing apparatus | |
EP2956843B1 (en) | Human-body-gesture-based region and volume selection for hmd | |
JP5638896B2 (en) | Display control program, display control device, display control system, and display control method | |
JP5732218B2 (en) | Display control program, display control device, display control system, and display control method | |
JP5415730B2 (en) | Image processing program, image processing apparatus, image processing method, and image processing system | |
JP2022537614A (en) | Multi-virtual character control method, device, and computer program | |
JP5274187B2 (en) | Image processing program, information processing apparatus, image processing method, and image processing system | |
KR20130036181A (en) | Image processing device, image processing method and program | |
JP5437726B2 (en) | Information processing program, information processing apparatus, information processing system, and coordinate calculation method | |
US20210176404A1 (en) | Electronic apparatus and method for controlling the same | |
JP2014053794A (en) | Information processing program, information processing apparatus, information processing system, and information processing method | |
JP6397171B2 (en) | Information processing apparatus and information processing system | |
JP2010273885A (en) | Game program and game apparatus | |
KR20140002009A (en) | Input device, input method and recording medium | |
JP2022027841A (en) | Electronic apparatus, program, and storage medium | |
JP5328277B2 (en) | Image processing program and image processing apparatus | |
JP2017073758A5 (en) | ||
JP2020053720A (en) | Electronic device and area selection method | |
JP6219037B2 (en) | Information processing program, information processing apparatus, information processing system, and information processing method | |
US20150145788A1 (en) | Information processing device, information processing method, and recording medium | |
CN107025049B (en) | Display control apparatus and control method thereof | |
JP5570633B2 (en) | Image processing program, image processing apparatus, and image processing method | |
JP6498153B2 (en) | Electronic device and control method thereof | |
JP6072095B2 (en) | Electronic device and control method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130422 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130422 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131119 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131120 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140109 |
|
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: 20140617 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140624 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5570633 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |