JP2013149274A - Image processing program and image processing apparatus - Google Patents

Image processing program and image processing apparatus Download PDF

Info

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
Application number
JP2013085669A
Other languages
Japanese (ja)
Other versions
JP5570633B2 (en
Inventor
Naonori Onishi
直徳 大西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2013085669A priority Critical patent/JP5570633B2/en
Publication of JP2013149274A publication Critical patent/JP2013149274A/en
Application granted granted Critical
Publication of JP5570633B2 publication Critical patent/JP5570633B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an image processing program for attaining a user interface which can display an object at an optional position and in an optional orientation by a simple operation, and to provide an image processing apparatus.SOLUTION: When a user touches a first input point P1 with a touch pen 27 or the like, touch position data indicating a coordinate of the first input point P1 are obtained. A first object OBJ21 (a stamp) is arranged in accordance with the first input point P1. When the user moves (slide operation) the touch pen 27 or the like to a second input point P2 while maintaining a touch state, an orientation of the object OBJ21 is changed in real time so that an angle reference line thereof coincides with a calculated reference line L2.

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.

特開2005−277891号公報JP 2005-277891 A 特開平10−188014号公報JP-A-10-188014 特開2003−323241号公報JP 2003-323241 A 特開2003−141558号公報JP 2003-141558 A

しかしながら、特許文献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.

この発明の実施の形態1に従うゲーム装置の外観図である。It is an external view of the game device according to the first embodiment of the present invention. この発明の実施の形態1に従うゲーム装置の内部構成の一例を示すブロック図である。It is a block diagram which shows an example of an internal structure of the game device according to Embodiment 1 of this invention. この発明の実施の形態1に従うゲーム装置の使用形態の一例を示す図である。It is a figure which shows an example of the usage pattern of the game device according to Embodiment 1 of this invention. この発明の実施の形態1に従うゲーム装置における選択画面の一例を示す図である。It is a figure which shows an example of the selection screen in the game device according to Embodiment 1 of this invention. この発明の実施の形態1に従う「らくがきカメラ」の概要について説明するための図(その1)である。It is FIG. (1) for demonstrating the outline | summary of the "graffiti camera" according to Embodiment 1 of this invention. この発明の実施の形態1に従う「らくがきカメラ」の概要について説明するための図(その2)である。It is FIG. (2) for demonstrating the outline | summary of the "graffiti camera" according to Embodiment 1 of this invention. この発明の実施の形態1に従う「らくがきカメラ」の概要について説明するための図(その3)である。It is FIG. (3) for demonstrating the outline | summary of the "graffiti camera" according to Embodiment 1 of this invention. この発明の実施の形態1に従う「らくがきカメラ」の概要について説明するための図(その4)である。It is FIG. (4) for demonstrating the outline | summary of the "graffiti camera" according to Embodiment 1 of this invention. この発明の実施の形態1に従う「らくがきカメラ」の概要について説明するための図(その5)である。It is FIG. (5) for demonstrating the outline | summary of the "graffiti camera" according to Embodiment 1 of this invention. この発明の実施の形態1に従う「らくがきカメラ」の概要について説明するための図(その6)である。It is FIG. (6) for demonstrating the outline | summary of the "graffiti camera" according to Embodiment 1 of this invention. この発明の実施の形態1に従う「らくがきカメラ」の概要について説明するための図(その7)である。It is FIG. (7) for demonstrating the outline | summary of the "graffiti camera" according to Embodiment 1 of this invention. この発明の実施の形態1に従う「らくがきカメラ」の詳細処理について説明するための図(その1)である。It is FIG. (1) for demonstrating the detailed process of the "graffiti camera" according to Embodiment 1 of this invention. この発明の実施の形態1に従う「らくがきカメラ」の詳細処理について説明するための図(その2)である。It is FIG. (2) for demonstrating the detailed process of the "graffiti camera" according to Embodiment 1 of this invention. この発明の実施の形態1に従う「らくがきカメラ」の詳細処理について説明するための図(その3)である。It is FIG. (3) for demonstrating the detailed process of the "graffiti camera" according to Embodiment 1 of this invention. この発明の実施の形態1に従うゲーム装置の描画処理を説明するための模式図である。It is a schematic diagram for demonstrating the drawing process of the game device according to Embodiment 1 of the present invention. この発明の実施の形態1に従うゲーム装置の有効範囲を説明するための図である。It is a figure for demonstrating the effective range of the game device according to Embodiment 1 of this invention. この発明の実施の形態1に従うゲーム装置における機能選択に係る処理を示すフローチャートである。It is a flowchart which shows the process which concerns on the function selection in the game device according to Embodiment 1 of this invention. 図17に示すステップS16において「らくがきカメラ」が選択されている場合に実行されるサブルーチン処理を示すフローチャート(その1)である。18 is a flowchart (No. 1) showing a subroutine process executed when “Rakugaki camera” is selected in step S16 shown in FIG. 図17に示すステップS16において「らくがきカメラ」が選択されている場合に実行されるサブルーチン処理を示すフローチャートその2)である。FIG. 18 is a flowchart (2) showing a subroutine process executed when “Rakugaki camera” is selected in step S16 shown in FIG. 図18に示すステップS100において実行が開始される描画処理サブルーチン処理を示すフローチャートである。It is a flowchart which shows the drawing process subroutine process started execution in step S100 shown in FIG. 図19に示すステップS136において実行される「えんぴつ」モードのサブルーチン処理を示すフローチャートである。FIG. 20 is a flowchart showing a “pencil” mode subroutine process executed in step S136 shown in FIG. 19. FIG. 図19に示すステップS138において実行される「消しゴム」モードのサブルーチン処理を示すフローチャートである。It is a flowchart which shows the subroutine process of the "eraser" mode performed in step S138 shown in FIG. 図19に示すステップS140において実行される「スタンプ」モードのサブルーチン処理を示すフローチャートである。FIG. 20 is a flowchart showing a “stamp” mode subroutine process executed in step S140 shown in FIG. 19. FIG. この発明の実施の形態1の変形例1における処理を説明するための図である。It is a figure for demonstrating the process in the modification 1 of Embodiment 1 of this invention. この発明の実施の形態2に従うゲーム装置における選択画面の一例を示す図である。It is a figure which shows an example of the selection screen in the game device according to Embodiment 2 of this invention. この発明の実施の形態2に従う「かがみカメラ」の概要について説明するための図(その1)である。It is FIG. (1) for demonstrating the outline | summary of the "sagging camera" according to Embodiment 2 of this invention. この発明の実施の形態2に従う「かがみカメラ」の概要について説明するための図(その2)である。It is FIG. (2) for demonstrating the outline | summary of the "Kagami camera" according to Embodiment 2 of this invention. この発明の実施の形態2に従う「かがみカメラ」の概要について説明するための図(その3)である。It is FIG. (3) for demonstrating the outline | summary of the "sagging camera" according to Embodiment 2 of this invention. この発明の実施の形態2に従う「かがみカメラ」の概要について説明するための図(その4)である。It is FIG. (4) for demonstrating the outline | summary of the "Kagami camera" according to Embodiment 2 of this invention. この発明の実施の形態2に従う「かがみカメラ」の概要について説明するための図(その5)である。It is FIG. (5) for demonstrating the outline | summary of the "Kagami camera" according to Embodiment 2 of this invention. この発明の実施の形態2に従う「かがみカメラ」の詳細処理について説明するための図である。It is a figure for demonstrating the detailed process of the "Kagami camera" according to Embodiment 2 of this invention. この発明の実施の形態2に従うゲーム装置の描画処理を説明するための模式図である。It is a schematic diagram for demonstrating the drawing process of the game device according to Embodiment 2 of the present invention. この発明の実施の形態2に従うゲーム装置における画像オブジェクトの抽出処理を説明するための模式図である。It is a schematic diagram for demonstrating the extraction process of the image object in the game device according to Embodiment 2 of the present invention. 図17に示すステップS16において「かがみカメラ」が選択されている場合に実行されるサブルーチン処理を示すフローチャートである。FIG. 18 is a flowchart showing a subroutine process that is executed when “Kagami Camera” is selected in step S <b> 16 shown in FIG. 17. 図17に示すステップS16において「かがみカメラ」が選択されている場合に実行されるサブルーチン処理を示すフローチャートである。FIG. 18 is a flowchart showing a subroutine process that is executed when “Kagami Camera” is selected in step S <b> 16 shown in FIG. 17. 図34に示すステップS602において実行が開始される描画処理サブルーチン処理を示すフローチャートである。FIG. 35 is a flowchart showing a drawing process subroutine process that is started in step S602 shown in FIG. 34. FIG. 図12に示す詳細処理に対応する内部処理を説明するための図である。It is a figure for demonstrating the internal process corresponding to the detailed process shown in FIG. 図13に示す詳細処理に対応する内部処理を説明するための図である。It is a figure for demonstrating the internal process corresponding to the detailed process shown in FIG.

この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。   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 game apparatus 100 will be described below. In addition, as an example of the image processing program according to the present invention, a program executed by the game apparatus 100 will be described. The image processing apparatus according to the present invention is not limited to a game apparatus, and may be realized as a personal computer capable of executing various applications. That is, the image processing program according to the present invention can be executed by any type of computer as long as the input unit and the display unit can be used. Note that “available” means that the input means and the display means are connected to the computer in a wired or wireless manner, and data communication is possible. The input means and the display means are integrated with the computer device. It includes both cases where there are cases and cases where they are separate bodies.

また、本発明に係る画像処理プログラムは、パーソナルコンピュータ上で実行される各種アプリケーションの機能として組み込まれてもよい。また、以下では携帯型装置について説明するが、据え置き型の装置であってもかまわない。   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 game device 100 according to the first embodiment of the present invention.

図1を参照して、本実施の形態に従うゲーム装置100は、折り畳み型の携帯ゲーム装置である。図1では、開いた状態(開状態)のゲーム装置100が示されている。ゲーム装置100は、開いた状態においてもユーザが両手または片手で把持することができるようなサイズで構成される。   Referring to FIG. 1, game device 100 according to the present embodiment is a foldable portable game device. FIG. 1 shows the game apparatus 100 in an open state (open state). The game apparatus 100 is configured in a size that allows the user to hold it with both hands or one hand even in an open state.

ゲーム装置100は、下側ハウジング11および上側ハウジング21を有する。下側ハウジング11と上側ハウジング21とは、開閉可能(折り畳み可能)に連結されている。図1に示す例では、下側ハウジング11および上側ハウジング21は、それぞれ横長の長方形の板状に形成され、互いの長辺部分で回転可能に連結されている。   The game apparatus 100 includes a lower housing 11 and an upper housing 21. The lower housing 11 and the upper housing 21 are connected so as to be openable and closable (foldable). In the example shown in FIG. 1, the lower housing 11 and the upper housing 21 are each formed in a horizontally-long rectangular plate shape, and are coupled so as to be rotatable at their long side portions.

通常、ユーザは、開状態でゲーム装置100を使用する。また、ユーザは、ゲーム装置100を使用しない場合には閉状態としてゲーム装置100を保管する。また、図1に示す例では、ゲーム装置100は、上記閉状態および開状態のみでなく、下側ハウジング11と上側ハウジング21とのなす角度が閉状態と開状態との間の任意の角度において、連結部分に発生する摩擦力などによってその開閉角度を維持することができる。つまり、上側ハウジング21を下側ハウジング11に対して任意の角度で静止させることができる。   Normally, the user uses the game apparatus 100 in the open state. Further, the user stores the game apparatus 100 in a closed state when the game apparatus 100 is not used. In the example shown in FIG. 1, the game apparatus 100 is not limited to the closed state and the open state, but the angle formed by the lower housing 11 and the upper housing 21 is an arbitrary angle between the closed state and the open state. The opening / closing angle can be maintained by a frictional force generated in the connecting portion. That is, the upper housing 21 can be made stationary with respect to the lower housing 11 at an arbitrary angle.

下側ハウジング11には、表示部(表示手段)として、下側LCD(Liquid Crystal Display:液晶表示装置)12が設けられる。下側LCD12は横長形状であり、長辺方向が下側ハウジング11の長辺方向に一致するように配置される。なお、本実施の形態では、ゲーム装置100に搭載される表示部(表示手段)としてLCDを用いているが、たとえばEL(Electro Luminescence:電界発光)を利用した表示装置等、他の任意の表示装置を利用してもよい。また、ゲーム装置100は、任意の解像度の表示装置を利用することができる。   The lower housing 11 is provided with a lower LCD (Liquid Crystal Display) 12 as a display unit (display means). The lower LCD 12 has a horizontally long shape, and is arranged such that the long side direction coincides with the long side direction of the lower housing 11. In the present embodiment, an LCD is used as a display unit (display means) mounted on game device 100, but other arbitrary displays such as a display device using EL (Electro Luminescence), for example. An apparatus may be used. In addition, the game apparatus 100 can use a display device having an arbitrary resolution.

下側ハウジング11には、入力部(入力手段)として、各操作ボタン14A〜14Hが設けられる。図1に示されるように、各操作ボタン14A〜14Hのうち、方向入力ボタン14A、操作ボタン14B、操作ボタン14C、操作ボタン14D、操作ボタン14E、電源ボタン14F、スタートボタン14G、およびセレクトボタン14Hは、上側ハウジング21と下側ハウジング11とを折りたたんだときに内側となる、下側ハウジング11の内側主面上に設けられる。   The lower housing 11 is provided with operation buttons 14A to 14H as input units (input means). As shown in FIG. 1, among the operation buttons 14A to 14H, a direction input button 14A, an operation button 14B, an operation button 14C, an operation button 14D, an operation button 14E, a power button 14F, a start button 14G, and a select button 14H. Is provided on the inner main surface of the lower housing 11 which is the inner side when the upper housing 21 and the lower housing 11 are folded.

方向入力ボタン14Aは、たとえば選択操作等に用いられる。各操作ボタン14B〜14Eは、たとえば決定操作やキャンセル操作等に用いられる。電源ボタン14Fは、ゲーム装置100の電源をオン/オフするために用いられる。図1に示す例では、方向入力ボタン14Aおよび電源ボタン14Fは、下側ハウジング11の内側主面中央付近に設けられる下側LCD12に対して、左右一方側(図1では左側)の当該主面上に設けられる。   The direction input button 14A is used for a selection operation, for example. The operation buttons 14B to 14E are used, for example, for a determination operation or a cancel operation. The power button 14F is used to turn on / off the power of the game apparatus 100. In the example shown in FIG. 1, the direction input button 14 </ b> A and the power button 14 </ b> F are on the left and right sides (left side in FIG. 1) of the main surface with respect to the lower LCD 12 provided near the center of the inner main surface of the lower housing 11. Provided on top.

また、操作ボタン14B〜14E、スタートボタン14G、およびセレクトボタン14Hは、下側LCD12に対して左右他方側(図1では右側)となる下側ハウジング11の内側主面上に設けられる。方向入力ボタン14A、操作ボタン14B〜14E、スタートボタン14G、およびセレクトボタン14Hは、ゲーム装置100に対する各種操作を行なうために用いられる。   In addition, the operation buttons 14B to 14E, the start button 14G, and the select button 14H are provided on the inner main surface of the lower housing 11 that is on the other side of the lower LCD 12 (right side in FIG. 1). Direction input button 14 </ b> A, operation buttons 14 </ b> B to 14 </ b> E, start button 14 </ b> G, and select button 14 </ b> H are used to perform various operations on game device 100.

なお、ゲーム装置100には、図1において図示されていない操作ボタン14I〜14Kがさらに設けられてもよい。たとえば、Lボタン14Iは、下側ハウジング11の上側面の左端部に設けられ、Rボタン14Jは、下側ハウジング11の上側面の右端部に設けられる。Lボタン14IおよびRボタン14Jは、ゲーム装置100に対して、たとえば撮影指示操作(シャッター操作)を行なうために用いられる。さらに、音量ボタン14Kは、下側ハウジング11の左側面に設けられる。音量ボタン14Kは、ゲーム装置100が備えるスピーカの音量を調整するために用いられる。   Note that the game device 100 may further include operation buttons 14I to 14K that are not shown in FIG. For example, the L button 14 </ b> I is provided at the left end portion of the upper side surface of the lower housing 11, and the R button 14 </ b> J is provided at the right end portion of the upper side surface of the lower housing 11. L button 14I and R button 14J are used, for example, to perform a shooting instruction operation (shutter operation) on game device 100. Furthermore, the volume button 14K is provided on the left side surface of the lower housing 11. The volume button 14K is used to adjust the volume of a speaker provided in the game apparatus 100.

また、ゲーム装置100は、各操作ボタン14A〜14Hとは別の入力部(入力手段)として、さらにタッチパネル13を備えている。タッチパネル13は、下側LCD12の画面上を覆うように装着されている。   The game apparatus 100 further includes a touch panel 13 as an input unit (input unit) different from the operation buttons 14A to 14H. The touch panel 13 is mounted so as to cover the screen of the lower LCD 12.

本実施の形態では、タッチパネル13は、下側LCD12の表示面と対応付けて配置されており、たとえば抵抗膜方式のタッチパネルが用いられる。ただし、タッチパネル13は、抵抗膜方式に限らず、任意の押圧式のタッチパネルを用いることができる。   In the present embodiment, the touch panel 13 is arranged in association with the display surface of the lower LCD 12, and for example, a resistive film type touch panel is used. However, the touch panel 13 is not limited to the resistive film type, and any pressing type touch panel can be used.

また、本実施の形態では、タッチパネル13として、たとえば下側LCD12の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル13の解像度と下側LCD12の解像度とが一致している必要はない。   In the present embodiment, for example, a touch panel 13 having the same resolution (detection accuracy) as the resolution of the lower LCD 12 is used. However, the resolution of the touch panel 13 and the resolution of the lower LCD 12 are not necessarily matched.

さらに、下側ハウジング11の右側面には、タッチペン27の挿入口(図1に示す破線)が設けられている。上記挿入口は、タッチパネル13に対する操作を行なうために用いられるタッチペン27を収納することができる。なお、タッチパネル13に対する入力は、通常タッチペン27を用いて行われるが、タッチペン27に限らずユーザの指でタッチパネル13を操作することも可能である。   Further, an insertion port (broken line shown in FIG. 1) for the touch pen 27 is provided on the right side surface of the lower housing 11. The insertion slot can accommodate a touch pen 27 used for operating the touch panel 13. In addition, although the input with respect to the touch panel 13 is normally performed using the touch pen 27, it is also possible to operate the touch panel 13 not only with the touch pen 27 but with a user's finger | toe.

さらに、下側ハウジング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 memory card 28 is provided on the right side surface of the lower housing 11. A connector (not shown) for electrically connecting the game apparatus 100 and the memory card 28 is provided inside the insertion slot. The memory card 28 is an SD (Secure Digital) memory card, for example, and is detachably attached to the connector. The memory card 28 is used, for example, for storing (storing) an image photographed and / or processed by the game apparatus 100 and reading an image generated by another apparatus into the game apparatus 100.

さらに、下側ハウジング11の上側面には、メモリカード29を収納するための挿入口(図1では、一点鎖線で示している)が設けられている。この挿入口の内側にも、ゲーム装置100とメモリカード29とを電気的に接続するためのコネクタ(図示せず)が設けられる。メモリカード29は、画像通信プログラムやゲームプログラム等を記憶した記憶媒体であり、下側ハウジング11に設けられた挿入口に着脱自在に装着される。   Further, an insertion slot (indicated by a one-dot chain line in FIG. 1) for accommodating the memory card 29 is provided on the upper side surface of the lower housing 11. A connector (not shown) for electrically connecting the game apparatus 100 and the memory card 29 is also provided inside the insertion slot. The memory card 29 is a storage medium that stores an image communication program, a game program, and the like, and is detachably attached to an insertion port provided in the lower housing 11.

下側ハウジング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 lower housing 11 and the upper housing 21. Game device 100 according to the present embodiment can perform wireless communication with other devices, and first LED 15A is lit when wireless communication is established. The second LED 15B is lit while the game apparatus 100 is being charged. The third LED 15C is lit when the game apparatus 100 is powered on. Therefore, the three LEDs 15A to 15C can notify the user of the communication establishment status, the charging status, and the power on / off status of the game apparatus 100.

一方、上側ハウジング21には、上側LCD22が設けられる。上側LCD22は横長形状であり、長辺方向が上側ハウジング21の長辺方向に一致するように配置される。なお、下側LCD12と同様、上側LCD22に代えて、他の任意の方式および任意の解像度の表示装置を利用してもよい。なお、上側LCD22上を覆うように、タッチパネルを設けてもかまわない。   On the other hand, the upper housing 21 is provided with an upper LCD 22. The upper LCD 22 has a horizontally long shape and is arranged such that the long side direction coincides with the long side direction of the upper housing 21. As in the case of the lower LCD 12, instead of the upper LCD 22, a display device having any other method and any resolution may be used. A touch panel may be provided so as to cover the upper LCD 22.

さらに、上側ハウジング21には、2つの撮像装置であるカメラ(内側カメラ23および外側カメラ25)が設けられる。図1に示されるように、内側カメラ23は、上側ハウジング21の連結部付近の内側主面に取り付けられる。一方、外側カメラ25は、内側カメラ23が取り付けられる内側主面の反対側の面、すなわち、上側ハウジング21の外側主面(ゲーム装置100が閉状態となった場合に外側となる面であり、図1に示す上側ハウジング21の背面)に取り付けられる。なお、図1においては、外側カメラ25を破線で示している。   Furthermore, the upper housing 21 is provided with two cameras (an inner camera 23 and an outer camera 25) that are imaging devices. As shown in FIG. 1, the inner camera 23 is attached to the inner main surface near the connecting portion of the upper housing 21. On the other hand, the outer camera 25 is the surface opposite to the inner main surface to which the inner camera 23 is attached, that is, the outer main surface of the upper housing 21 (the outer surface when the game apparatus 100 is closed, It is attached to the rear surface of the upper housing 21 shown in FIG. In FIG. 1, the outer camera 25 is indicated by a broken line.

これによって、内側カメラ23は、上側ハウジング21の内側主面が向く方向を撮影することが可能であり、外側カメラ25は、内側カメラ23の撮影方向の逆方向、すなわち、上側ハウジング21の外側主面が向く方向を撮影することが可能である。   As a result, the inner camera 23 can shoot in the direction in which the inner main surface of the upper housing 21 faces, and the outer camera 25 can capture the direction opposite to the shooting direction of the inner camera 23, that is, the outer main surface of the upper housing 21. It is possible to photograph the direction in which the surface faces.

このように、本実施の形態では、2つの内側カメラ23および外側カメラ25の撮影方向が互いに逆方向となるように設けられる。たとえば、ユーザは、ゲーム装置100からユーザの方を見た景色を内側カメラ23で撮影することができるとともに、ゲーム装置100からユーザの反対側の方向を見た景色を外側カメラ25で撮影することができる。   Thus, in the present embodiment, the two inner cameras 23 and the outer cameras 25 are provided so that the shooting directions are opposite to each other. For example, the user can shoot a scene viewed from the game apparatus 100 with the inner camera 23 and shoot a scene viewed from the game apparatus 100 in the direction opposite to the user with the outer camera 25. Can do.

なお、下側LCD12および/または上側LCD22は、内側カメラ23または外側カメラ25で撮影される画像をリアルタイムに表示するために用いられることもある。   Note that the lower LCD 12 and / or the upper LCD 22 may be used to display an image captured by the inner camera 23 or the outer camera 25 in real time.

さらに、上記連結部付近の内側主面には、音声入力装置としてマイク(図2に示すマイク43)が収納されている。そして、上記連結部付近の内側主面には、マイク43がゲーム装置100外部の音を検知できるように、マイクロフォン用孔16が形成される。マイク43を収納する位置およびマイクロフォン用孔16の位置は必ずしも上記連結部である必要はなく、たとえば下側ハウジング11にマイク43を収納し、マイク43の収納位置に対応させて下側ハウジング11にマイクロフォン用孔16を設けるようにしてもよい。   Furthermore, a microphone (a microphone 43 shown in FIG. 2) is accommodated as an audio input device on the inner main surface near the connecting portion. A microphone hole 16 is formed on the inner main surface near the connecting portion so that the microphone 43 can detect sound outside the game apparatus 100. The position where the microphone 43 is accommodated and the position of the microphone hole 16 do not necessarily have to be the connecting portion. For example, the microphone 43 is accommodated in the lower housing 11, and the lower housing 11 corresponds to the accommodation position of the microphone 43. A microphone hole 16 may be provided.

さらに、上側ハウジング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 upper housing 21. The fourth LED 26 is lit while the inner camera 23 or the outer camera 25 is photographing. Further, the moving image may be blinked while the moving image is shot by the inner camera 23 or the outer camera 25 (the shot image is stored as a moving image).

なお、LEDが画面に映り込むことを防ぐために、シャッターが押された瞬間から、当該シャッターが押された瞬間の撮影画像の記憶が完了するまでの間は第4LED26を消灯させてもよい。第4LED26によって、ゲーム装置100による撮影が行われていることを撮影対象者や周囲に通知することができる。   In order to prevent the LED from appearing on the screen, the fourth LED 26 may be turned off from the moment the shutter is pressed until the storage of the captured image at the moment the shutter is pressed is completed. The fourth LED 26 can notify the person to be photographed and the surroundings that photographing by the game apparatus 100 is being performed.

さらに、上側ハウジング21の内側主面中央付近に設けられる上側LCD22に対して、左右両側の当該主面に音抜き孔24がそれぞれ形成される。音抜き孔24の奥の上側ハウジング21内にはスピーカが収納されている。音抜き孔24は、スピーカからの音をゲーム装置100の外部に放出するための孔である。   Furthermore, with respect to the upper LCD 22 provided in the vicinity of the center of the inner main surface of the upper housing 21, sound release holes 24 are formed in the main surfaces on the left and right sides, respectively. A speaker is housed in the upper housing 21 behind the sound release hole 24. The sound release hole 24 is a hole for releasing sound from the speaker to the outside of the game apparatus 100.

以上に説明したように、上側ハウジング21には、画像を撮影するための構成である内側カメラ23および外側カメラ25と、各種画像を表示するための表示手段である上側LCD22とが設けられる。一方、下側ハウジング11には、ゲーム装置100に対する操作入力を行なうための入力部(タッチパネル13および各ボタン14A〜14K)と、各種画像を表示するための表示手段である下側LCD12とが設けられる。   As described above, the upper housing 21 is provided with the inner camera 23 and the outer camera 25 that are configured to capture images, and the upper LCD 22 that is a display unit for displaying various images. On the other hand, the lower housing 11 is provided with an input unit (touch panel 13 and buttons 14A to 14K) for performing an operation input to the game apparatus 100, and a lower LCD 12 which is a display means for displaying various images. It is done.

当該入力装置は、たとえば、ゲーム装置100を使用する際には、下側LCD12や上側LCD22に撮影画像(カメラによって撮影された画像)を表示しながら、下側ハウジング11をユーザが把持して入力装置に対する入力を行なうような用途に用いることができる。   For example, when the game apparatus 100 is used, the input device displays the photographed image (image photographed by the camera) on the lower LCD 12 or the upper LCD 22 while the user grasps and inputs the lower housing 11. It can be used for such purposes as inputting to the device.

<ゲーム装置の内部構成>
図2は、この発明の実施の形態1に従うゲーム装置100の内部構成の一例を示すブロック図である。
<Internal configuration of game device>
FIG. 2 is a block diagram showing an exemplary internal configuration of game device 100 according to the first embodiment of the present invention.

図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 game apparatus 100 includes a CPU 31, a main memory 32, a memory control circuit 33, a storage data memory 34, a preset data memory 35, and a memory card interface (memory card I / F). 36 and 37, a wireless communication module 38, a local communication module 39, a real-time clock (RTC) 40, a power supply circuit 41, an interface circuit (I / F circuit) 42, and other electronic components. These electronic components are mounted on an electronic circuit board and housed in the lower housing 11 (or the upper housing 21).

CPU31は、所定のプログラムを実行するための演算処理手段である。本実施の形態では、所定のプログラムがゲーム装置100内のメモリ(たとえば、保存用データメモリ34)やメモリカード28および/または29に記録されており、CPU31は、当該所定のプログラムを実行することによって、後述する画像処理を実行する。なお、CPU31によって実行されるプログラムは、ゲーム装置100内のメモリに予め記録されていてもよいし、メモリカード28および/または29から取得されてもよいし、他の機器との通信によって他の機器から取得されてもよい。   The CPU 31 is an arithmetic processing unit for executing a predetermined program. In the present embodiment, a predetermined program is recorded in a memory (for example, storage data memory 34) or memory card 28 and / or 29 in game device 100, and CPU 31 executes the predetermined program. Thus, image processing to be described later is executed. Note that the program executed by the CPU 31 may be recorded in advance in the memory in the game apparatus 100, may be acquired from the memory card 28 and / or 29, or may be obtained by communication with other devices. It may be acquired from the device.

CPU31には、メインメモリ32、メモリ制御回路33、およびプリセットデータ用メモリ35が接続される。また、メモリ制御回路33には、保存用データメモリ34が接続される。   A main memory 32, a memory control circuit 33, and a preset data memory 35 are connected to the CPU 31. In addition, a storage data memory 34 is connected to the memory control circuit 33.

メインメモリ32は、CPU31のワーク領域やバッファ領域として用いられる記憶手段である。すなわち、メインメモリ32は、上記情報処理に用いられる各種データを記憶したり、外部(メモリカード28および29や他の機器等)から取得されるプログラムを記憶したりする。本実施の形態では、メインメモリ32として、たとえばPSRAM(Pseudo-SRAM)を用いる。   The main memory 32 is a storage means used as a work area or buffer area for the CPU 31. That is, the main memory 32 stores various data used for the information processing, and stores programs acquired from the outside (memory cards 28 and 29, other devices, etc.). In the present embodiment, for example, PSRAM (Pseudo-SRAM) is used as the main memory 32.

保存用データメモリ34は、CPU31によって実行されるプログラムや内側カメラ23および外側カメラ25によって撮影された画像のデータ等を記憶するための記憶手段である。保存用データメモリ34は、不揮発性の記憶媒体によって構成されており、たとえば本実施例ではNAND型フラッシュメモリで構成される。メモリ制御回路33は、CPU31の指示に従って、保存用データメモリ34に対するデータの読み出しおよび書き込みを制御する回路である。   The storage data memory 34 is a storage unit for storing a program executed by the CPU 31, data of images taken by the inner camera 23 and the outer camera 25, and the like. The storage data memory 34 is constituted by a non-volatile storage medium, and is constituted by, for example, a NAND flash memory in this embodiment. The memory control circuit 33 is a circuit that controls reading and writing of data with respect to the storage data memory 34 in accordance with instructions from the CPU 31.

プリセットデータ用メモリ35は、ゲーム装置100において予め設定される各種パラメータ等のデータ(プリセットデータ)を記憶するための記憶手段である。プリセットデータ用メモリ35としては、SPI(Serial Peripheral Interface)バスによってCPU31と接続されるフラッシュメモリを用いることができる。   The preset data memory 35 is storage means for storing data (preset data) such as various parameters set in advance in the game apparatus 100. As the preset data memory 35, a flash memory connected to the CPU 31 by an SPI (Serial Peripheral Interface) bus can be used.

メモリカードI/F36および37は、それぞれCPU31に接続される。メモリカードI/F36は、コネクタに装着されたメモリカード28に対するデータの読み出しおよび書き込みを、CPU31の指示に応じて行なう。また、メモリカードI/F37は、コネクタに装着されたメモリカード29に対するデータの読み出しおよび書き込みを、CPU31の指示に応じて行なう。   Memory card I / Fs 36 and 37 are each connected to CPU 31. The memory card I / F 36 reads and writes data from and to the memory card 28 attached to the connector in accordance with instructions from the CPU 31. The memory card I / F 37 reads and writes data to and from the memory card 29 attached to the connector in accordance with instructions from the CPU 31.

本実施の形態では、内側カメラ23および外側カメラ25によって撮影された画像データや他の装置から受信された画像データがメモリカード28に書き込まれたり、メモリカード28に記憶された画像データがメモリカード28から読み出されて保存用データメモリ34に記憶されたり、他の装置へ送信されたりする。また、メモリカード29に記憶された各種プログラムが、CPU31によって読み出されて実行されたりする。   In the present embodiment, image data captured by the inner camera 23 and the outer camera 25 and image data received from another device are written into the memory card 28, or image data stored in the memory card 28 is stored in the memory card. The data is read from 28 and stored in the storage data memory 34 or transmitted to another device. Various programs stored in the memory card 29 are read out and executed by the CPU 31.

なお、本発明に係る画像処理プログラムは、メモリカード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 memory card 29 but also to the computer system through a wired or wireless communication line. The image processing program may be stored in advance in a nonvolatile storage device inside the computer system. The storage medium for storing the image processing program is not limited to the nonvolatile storage device, but may be a CD-ROM, a DVD, or an optical disk storage medium similar to them.

無線通信モジュール38は、たとえばIEEE802.11.b/gの規格に準拠した方式により、無線LANに接続する機能を有する。また、ローカル通信モジュール39は、所定の通信方式により同種のゲーム装置との間で無線通信を行なう機能を有する。無線通信モジュール38およびローカル通信モジュール39は、CPU31に接続される。CPU31は、無線通信モジュール38を用いてインターネットを介して他の機器との間でデータを送受信したり、ローカル通信モジュール39を用いて同種の他のゲーム装置との間でデータを送受信したりすることができる。   The wireless communication module 38 is, for example, IEEE 802.11. It has a function of connecting to a wireless LAN by a method compliant with the b / g standard. The local communication module 39 has a function of performing wireless communication with the same type of game device by a predetermined communication method. The wireless communication module 38 and the local communication module 39 are connected to the CPU 31. The CPU 31 transmits / receives data to / from other devices via the Internet using the wireless communication module 38, and transmits / receives data to / from other game devices of the same type using the local communication module 39. be able to.

さらに、CPU31には、RTC40および電源回路41が接続される。RTC40は、時間をカウントしてCPU31に出力する。たとえば、CPU31は、RTC40によって計時された時間に基づいて、現在時刻(日付)等を計算することもできる。電源回路41は、ゲーム装置100が有する電源(典型的には電池であり、下側ハウジング11に収納される)から供給される電力を制御し、ゲーム装置100の各部品に電力を供給する。   Further, an RTC 40 and a power supply circuit 41 are connected to the CPU 31. The RTC 40 counts the time and outputs it to the CPU 31. For example, the CPU 31 can calculate the current time (date) based on the time counted by the RTC 40. The power supply circuit 41 controls power supplied from a power supply (typically a battery, which is stored in the lower housing 11) of the game apparatus 100, and supplies power to each component of the game apparatus 100.

さらに、ゲーム装置100は、マイク43およびアンプ44を備えている。マイク43およびアンプ44は、それぞれI/F回路42に接続される。マイク43は、ゲーム装置100に向かって発声されたユーザの音声を検知して、当該音声を示す音声信号をI/F回路42に出力する。アンプ44は、I/F回路42から音声信号を増幅してスピーカ(図示せず)から出力させる。I/F回路42は、CPU31に接続される。   Furthermore, the game apparatus 100 includes a microphone 43 and an amplifier 44. The microphone 43 and the amplifier 44 are each connected to the I / F circuit 42. The microphone 43 detects the voice of the user uttered toward the game apparatus 100 and outputs a voice signal indicating the voice to the I / F circuit 42. The amplifier 44 amplifies the audio signal from the I / F circuit 42 and outputs it from a speaker (not shown). The I / F circuit 42 is connected to the CPU 31.

また、タッチパネル13は、I/F回路42に接続される。I/F回路42は、マイク43およびアンプ44(スピーカ)の制御を行なう音声制御回路と、タッチパネル13の制御を行なうタッチパネル制御回路とを含む。   The touch panel 13 is connected to the I / F circuit 42. The I / F circuit 42 includes a voice control circuit that controls the microphone 43 and the amplifier 44 (speaker), and a touch panel control circuit that controls the touch panel 13.

音声制御回路は、音声信号に対する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 touch panel 13 and outputs it to the CPU 31. For example, the touch position data is data indicating coordinates of a position where an input is performed on the input surface of the touch panel 13. The touch panel control circuit reads signals from the touch panel 13 and generates touch position data at a rate of once per predetermined time.

CPU31は、I/F回路42を介して、タッチ位置データを取得することにより、ユーザによるタッチパネル13に対する操作によって入力される座標を検出することができる。   The CPU 31 can detect the coordinates input by the user's operation on the touch panel 13 by acquiring the touch position data via the I / F circuit 42.

操作ボタン14は、上記各操作ボタン14A〜14Kから構成され、CPU31に接続される。操作ボタン14からCPU31へは、各操作ボタン14A〜14Kに対する入力状況(押下されたか否か)を示す操作データが出力される。CPU31は、操作ボタン14から操作データを取得することによって、操作ボタン14に対する入力に応じた処理を実行する。   The operation button 14 includes the operation buttons 14A to 14K and is connected to the CPU 31. From the operation button 14 to the CPU 31, operation data indicating an input status (whether or not the button is pressed) for each of the operation buttons 14A to 14K is output. The CPU 31 obtains operation data from the operation button 14 to execute processing corresponding to the input to the operation button 14.

内側カメラ23および外側カメラ25は、それぞれCPU31に接続される。内側カメラ23および外側カメラ25は、CPU31の指示に応じて画像を撮影し、撮影した画像データをCPU31に出力する。たとえば、CPU31は、内側カメラ23および外側カメラ25のいずれか一方に対して撮影指示を行ない、撮影指示を受けたカメラが画像を撮影して画像データをCPU31に送る。   The inner camera 23 and the outer camera 25 are each connected to the CPU 31. The inner camera 23 and the outer camera 25 capture an image in accordance with an instruction from the CPU 31 and output the captured image data to the CPU 31. For example, the CPU 31 issues a shooting instruction to one of the inner camera 23 and the outer camera 25, and the camera that has received the shooting instruction takes an image and sends the image data to the CPU 31.

また、下側LCD12および上側LCD22は、それぞれCPU31に接続される。下側LCD12および上側LCD22は、それぞれCPU31の指示に従って画像を表示する。一例として、CPU31は、内側カメラ23および外側カメラ25のいずれかから取得した画像を、下側LCD12および上側LCD22の一方に表示させ、所定の処理によって生成した操作説明画面を下側LCD12および上側LCD22の他方に表示させる。   Further, the lower LCD 12 and the upper LCD 22 are each connected to the CPU 31. The lower LCD 12 and the upper LCD 22 display images according to instructions from the CPU 31, respectively. As an example, the CPU 31 displays an image acquired from either the inner camera 23 or the outer camera 25 on one of the lower LCD 12 and the upper LCD 22, and displays an operation explanation screen generated by a predetermined process on the lower LCD 12 and the upper LCD 22. Is displayed on the other side.

<ゲーム装置の使用例>
図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 game device 100 according to the first embodiment of the present invention. Referring to FIG. 3, in game device 100, an image such as subject TRG photographed by a mounted camera (inner camera 23 or outer camera 25) is displayed in real time on lower LCD 12, and the user can use touch pen 27. It is possible to add an arbitrary object by operating the touch panel 13 arranged on the lower LCD 12 using the user's finger or the like (hereinafter referred to as “touch pen 27 etc.”). Then, the object corresponding to the user operation is displayed superimposed on the captured image. Thus, in game device 100 according to the present embodiment, the user can freely “grab” the image taken by the camera. The displayed image may be an image (still image or moving image) stored in advance in the memory card 28 (FIG. 2) or the like.

なお、図3に示す例では、外側カメラ25を用いて被写体TRGが撮影されているが、内側カメラ23を用いて被写体TRGを撮影するようにしてもよく、いずれのカメラを使用するかについては、ユーザが任意に選択できるようにしてもよい。   In the example shown in FIG. 3, the subject TRG is photographed using the outer camera 25, but the subject TRG may be photographed using the inner camera 23, and which camera is used. The user may arbitrarily select it.

図4は、この発明の実施の形態1に従うゲーム装置100における選択画面の一例を示す図である。図4を参照して、本実施の形態に従うゲーム装置100は、上述したユーザが自由に「らくがき」できる機能を含む複数の機能を搭載しており、ユーザは、図4に示す選択画面上で所望する機能を選択する。   FIG. 4 shows an example of a selection screen in game device 100 according to the first embodiment of the present invention. Referring to FIG. 4, game device 100 according to the present embodiment is equipped with a plurality of functions including the above-described functions that can be freely “written” by the user. Select the desired function.

図4に示す例では、画面上部にゲーム装置100に搭載された各機能に対応する複数のアイコン150が表示されており、ユーザは、これらのアイコン150のうち所望する機能に対応するアイコンを任意に選択することができる。また、画面の両側には、選択アイコン152および154が表示されている。ユーザが選択アイコン152または154を選択する毎に、選択される機能がアイコン150の配列に従って左側または右側に順次変更される。   In the example shown in FIG. 4, a plurality of icons 150 corresponding to each function mounted on the game apparatus 100 are displayed at the top of the screen, and the user arbitrarily selects an icon corresponding to a desired function among these icons 150. Can be selected. In addition, selection icons 152 and 154 are displayed on both sides of the screen. Each time the user selects the selection icon 152 or 154, the selected function is sequentially changed to the left or right according to the arrangement of the icons 150.

このような方法によりユーザが機能を選択した上で、「はじめる」アイコン158を選択すると、選択された機能が実行される。また、「やめる」アイコン156が選択されると、図示しないメニュー画面へ戻る。   When the user selects a function by such a method and selects the “Start” icon 158, the selected function is executed. When the “quit” icon 156 is selected, the screen returns to a menu screen (not shown).

また、図4に示すように、ユーザにより選択されたアイコン150に対応する機能の内容をユーザに提示するように、プレビュー領域160には、その選択された機能の名称(図4に示す例では「らくがきカメラ」)およびその処理の概略が示される。   Further, as shown in FIG. 4, the preview area 160 has a name of the selected function (in the example shown in FIG. 4) so that the contents of the function corresponding to the icon 150 selected by the user are presented to the user. "Rakugaki camera") and the outline of its processing is shown.

<「らくがきカメラ」の概要>
以下、図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 icons 202 to 208 for selecting a “Rakugaki” operation for this image are displayed at the top of the screen. And icons 210 to 214 for selecting various operations are displayed at the bottom of the screen.

この図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” icon 202 and then moves (slides) while touching the touch pen 27 or the like on the screen. Generated. By selecting the “pencil” icon 202, a selection submenu (not shown) is displayed. In this selection submenu, the thickness of the line, the color of the line, and the like can be arbitrarily selected.

また、ユーザは、「消しゴム」アイコン204を選択した後、タッチペン27等を画面上にタッチしたまま移動(スライド操作)させることで、その移動した軌跡(領域)に含まれるオブジェクトが消去される。さらに、「全部けす」アイコン208が選択されると、表示領域200に表示されているすべてのオブジェクトが消去される。   In addition, after selecting the “eraser” icon 204, the user moves (slides) the touch pen 27 or the like while touching the screen, thereby erasing the object included in the moved locus (area). Further, when the “all button” icon 208 is selected, all objects displayed in the display area 200 are deleted.

また、「スタンプ」アイコン206が選択されると、図6に示す選択サブメニューが表示され、この選択サブメニューで選択されたスタンプが入力可能になる。ゲーム装置100では、複数種類のスタンプ(図6に示す例では10種類)が予め用意されており、図6に示すように、「スタンプ」アイコン206が選択された場合の選択サブメニューでは、各スタンプに対応する複数のアイコン222が表示される。ユーザは、所望するスタンプに対応するアイコンを選択した後、「とじる」アイコン224を選択すると、選択されたスタンプが入力可能な状態となって、選択サブメニューの表示は消える。   When the “stamp” icon 206 is selected, a selection submenu shown in FIG. 6 is displayed, and the stamp selected in this selection submenu can be input. In the game apparatus 100, a plurality of types of stamps (10 types in the example shown in FIG. 6) are prepared in advance. As shown in FIG. 6, in the selection submenu when the “stamp” icon 206 is selected, A plurality of icons 222 corresponding to the stamp are displayed. When the user selects an icon corresponding to a desired stamp and then selects a “close” icon 224, the selected stamp can be input, and the display of the selection submenu disappears.

選択されたスタンプが入力可能な状態において、ユーザがタッチペン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 touch pen 27 or the like, one stamp selected at the position (corresponding to the first object arrangement coordinate value) is displayed. Be placed.

特に、本実施の形態に従うゲーム装置100では、配置された直後のスタンプは、その配置される向きについては未確定の状態に維持される。すなわち、ユーザが、タッチペン27等で画面上にタッチオンしてスタンプを配置した後、画面上にタッチしたまま、当該タッチペン27等を移動(スライド操作)させることで、スタンプの向きはその移動後のタッチ位置(継続座標値に相当)に応じてリアルタイムで変化する。そして、ユーザが画面上からタッチペン27等を離す、もしくはタッチペン27等をタッチオン位置から所定距離D1より多く移動させたなどの操作を行なった場合には、配置されたスタンプの向きは確定する(確定状態)。なお、後述の通り、タッチ位置がタッチオン位置から所定距離D2(D2<D1)より短いときには、スタンプの向きは変更されない。   In particular, in game device 100 according to the present embodiment, the stamp immediately after being arranged is maintained in an uncertain state with respect to the arrangement direction. That is, after the user touches on the screen with the touch pen 27 etc. to place the stamp, the user moves the touch pen 27 etc. (slide operation) while touching the screen, so that the direction of the stamp is changed after the movement. It changes in real time according to the touch position (corresponding to the continuous coordinate value). Then, when the user performs an operation such as moving the touch pen 27 etc. off the screen or moving the touch pen 27 etc. more than the predetermined distance D1 from the touch-on position, the orientation of the arranged stamp is decided (confirmed) State). As will be described later, when the touch position is shorter than the predetermined distance D2 (D2 <D1) from the touch-on position, the orientation of the stamp is not changed.

具体的な一例として、たとえば、図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 touch pen 27 or the like, as shown in FIG. In addition, the object OBJ4, which is a balloon stamp, is arranged according to the touched position. Note that the orientation of the object OBJ4 at this time is a predetermined orientation (initial value). Further, when the touch pen 27 etc. is moved while being touched on the screen with the touch pen 27 etc., as shown in FIG. . Note that a center point of rotation is determined in advance for each stamp, and the center point is rotated around the center point according to the movement of the touch pen 27 or the like. Thereafter, when the touch pen 27 or the like is moved away from the screen or the touch pen 27 or the like is moved more than the predetermined distance D1 from the touch-on position, the orientation of the arranged object 4 (stamp) is fixed.

さらに、1つ目のスタンプを配置した後、タッチペン27等を画面上にタッチしたまま移動させた場合の例について、図9〜図11を参照して説明する。なお、理解を容易にするために、図9〜図11に示す例では、葉っぱのスタンプが選択されている場合について示す。   Further, an example in which the touch pen 27 or the like is moved while being touched on the screen after the first stamp is arranged will be described with reference to FIGS. 9 to 11. In order to facilitate understanding, the example shown in FIGS. 9 to 11 shows a case where a leaf stamp is selected.

まず、ユーザがタッチペン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 touch pen 27 or the like, as shown in FIG. 9, the object OBJ21 that is a leaf stamp is arranged according to the touched position (displayed on the screen). . As described above, the stamp (object OBJ21) immediately after the placement is in an undefined state. Thereafter, when the user moves the touch pen 27 or the like more than the predetermined distance D1 from the touch-on position while touching the screen with the touch pen 27 or the like, the orientation of the object OBJ21 is determined. At the same time as or after the confirmation of the orientation of the object OBJ21, if the screen continues to be touched with the touch pen 27 or the like, an object OBJ22 that is a new stamp (second stamp) is arranged.

なお、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 touch pen 27 or the like on the screen until it is released, the orientation of the first stamp is the position of its own stamp and the stamp after it. Since the direction is determined according to the relative relationship between the positions, the direction is not determined at the time of display, and the direction changes according to the subsequent touch position. On the other hand, the orientation of the second and subsequent stamps is determined according to the relative relationship between the position of the previous stamp and the position of its own stamp. That is, during the series of operations, the stamps arranged after the second one have a fixed direction at the time of display, and therefore there is no undetermined state.

このようにして、ユーザが、タッチペン27等で画面上をタッチした状態のまま、タッチペン27等を移動させると、その軌跡に沿ってスタンプが順次配置される。このような操作は、タッチペン27等で画面にタッチしている限り継続する。そのため、ユーザは、タッチペン27等を操作することで、その軌跡に沿ったスタンプを自在に配置することができる。   In this way, when the user moves the touch pen 27 or the like while touching the screen with the touch pen 27 or the like, stamps are sequentially arranged along the locus. Such an operation continues as long as the user touches the screen with the touch pen 27 or the like. Therefore, the user can freely arrange stamps along the locus by operating the touch pen 27 or the like.

なお、タッチペン27等で画面をタッチして、タッチオン位置から所定距離D1以内でタッチオフした場合には、スタンプが1つだけ配置される。また、タッチオン位置から所定距離D2以内でタッチオフした場合は、スタンプの向きは初期状態のまま表示される。すなわち、タッチしてすぐにタッチオフした場合(タッチオン位置から所定距離D2以内でタッチオフした場合)には、1つのスタンプが初期状態の向きで表示される。   When the screen is touched with the touch pen 27 or the like and is touched off within a predetermined distance D1 from the touch-on position, only one stamp is arranged. Further, when the touch-off is performed within the predetermined distance D2 from the touch-on position, the stamp orientation is displayed in the initial state. That is, when a touch-off occurs immediately after touching (when touch-off is performed within a predetermined distance D2 from the touch-on position), one stamp is displayed in the initial state.

このように、本実施の形態に従うゲーム装置100では、タッチパネル13に対する操作によって連続的に入力される座標値の変化を検出し、この座標値の変化に対応するタッチパネル13上の軌跡に応じて、少なくとも1つのオブジェクトが順次表示される。このとき、各オブジェクトの向きは、タッチパネル13上の軌跡に応じて順次決定される。また、オブジェクトを1つだけ配置することも可能であり、また、当該1つのオブジェクトは、初期状態の向きで表示することも、向きを変更して表示することも可能である。   Thus, in game device 100 according to the present embodiment, a change in coordinate values continuously input by an operation on touch panel 13 is detected, and according to a locus on touch panel 13 corresponding to the change in coordinate values, At least one object is displayed sequentially. At this time, the direction of each object is sequentially determined according to the locus on the touch panel 13. Further, it is possible to arrange only one object, and it is possible to display the one object in the initial orientation or change the orientation.

再度図5を参照して、「やめる」アイコン210が選択されると、本「らくがきカメラ」の処理が中止され、図4に示すような選択画面へ戻る。   Referring to FIG. 5 again, when the “quit” icon 210 is selected, the processing of this “Rakugaki camera” is stopped, and the screen returns to the selection screen as shown in FIG.

また、「とる」アイコン212が選択されることで、選択されたタイミングにおいてカメラで撮影されている画像と、ユーザが「らくがき」したオブジェクトOBJ2〜OBJ4とを合成した静止画像が生成され、保存用データメモリ34(図2)などに記憶される。   In addition, when the “take” icon 212 is selected, a still image is generated by combining the image captured by the camera at the selected timing with the objects OBJ2 to OBJ4 “written” by the user. It is stored in the data memory 34 (FIG. 2) or the like.

また、切替アイコン214が選択されると、画像撮影に使用するカメラが、内側カメラ23と外側カメラ25との間で切り替えられる。   When the switch icon 214 is selected, the camera used for image capturing is switched between the inner camera 23 and the outer camera 25.

<「らくがきカメラ」の詳細処理>
以下、図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 touch pen 27 or the like, the touch panel 13 (FIGS. 1 and 2) outputs touch position data indicating coordinates of a position where an input is performed on the input surface. For example, as shown in FIG. 12A, when the first input point P1 is touched with the touch pen 27 or the like (touch-on), touch position data indicating the coordinates of the first input point P1 is obtained.

続いて、この第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 touch pen 27 or the like moves to the second input point P2 while being in the touched state, a reference line L2 passing through the first input point P1 and the second input point P2 is calculated. The reference line L2 is updated in real time every time the coordinate value of the touch position data changes with the movement of the touch pen 27 or the like. That is, the reference line L2 changes according to the latest touch position until the orientation of the object OBJ21 is determined. Specifically, the reference line L2 is a line passing through the center position C1 of the arranged object OBJ21 and the latest touch position. Updated from time to time. As the reference line L2 is calculated (updated), as shown in FIG. 37A, the direction of the object OBJ21 is changed in real time so that the angle reference line SL1 coincides with the latest reference line L2. Is done. That is, the object OBJ21 rotates from the initial direction about the center point C1 by the size of the angle θ formed by the reference line L1 and the angle reference line SL1. In the state shown in FIG. 12B and FIG. 37A, the orientation of the object OBJ21 is in an undetermined state.

この未確定状態においては、第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 touch pen 27 and the like move from the first input point P1 to the third input point P3 while being in a touch state, and the first input point P1 and the third input at this time are moved. If it is determined that the distance ΔL1 between the point P3 exceeds the predetermined threshold Th1, the direction of the object OBJ21 is determined. That is, the orientation of the object OBJ21 is determined so that the angle reference line SL1 coincides with the reference line L3 passing through the first input point P1 and the third input point P3, as shown in FIG. That is, the direction of the object OBJ21 shifts from the unconfirmed state to the confirmed state.

なお、オブジェクトの向きが未確定状態から確定状態に移行するための条件(向き確定条件に相当)としては、上述した距離Δ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 touch pen 27 etc. has exceeded a predetermined time, (2) the touch operation with the touch pen 27 etc. has been made on an area outside the effective range (3) The operation buttons 14A to 14H may be selected, or (4) the touch-off may be used.

以上のような処理に従って、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 touch pen 27 and the like continues from the third input point P3 in the touched state, a new object OBJ22 is arranged at the same time as or after the direction of the object OBJ21 has shifted to the confirmed state.

なお、オブジェクト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 touch pen 27 or the like moves to the third input point P3 in the touched state and the orientation of the object OBJ21 shifts to the fixed state, at the same time, in FIG. As shown, a second stamp (object OBJ22) is arranged.

このオブジェクト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 touch pen 27 and the like in the touched state and the first input point P1 is calculated in real time even after the transition of the object OBJ21 to the confirmed state, The calculated magnitude of the distance ΔL2 is compared with a predetermined threshold value Th2. The threshold value Th2 is set larger than the threshold value Th1 used to determine the determination of the orientation of the object OBJ21.

そして、図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 touch pen 27 and the like move to the fourth input point P4 while in the touch state, and the distance ΔL2 between the first input point P1 and the fourth input point P4 at this time is If it is determined that the predetermined threshold value Th2 has been exceeded, a new object OBJ22 is placed. At this time, a reference line L4 passing through the first input point P1 and the fourth input point P4 is calculated, and the center point C2 of the object OBJ22 is the fourth as shown in FIGS. 13B and 38B. They are arranged so as to coincide with the input point P4 (at this time, the position of the object OBJ22 is determined). Further, as shown in FIG. 38B, the object OBJ22 is arranged in such a direction that its angle reference line SL2 coincides with the reference line L4 (at this time, the direction of the object OBJ is also determined).

さらに、オブジェクト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 touch pen 27 etc. in the touched state and the input point at the timing when the second object OBJ22 is arranged (in the example shown in FIG. 13A, the third input point). Whether or not the third object OBJ23 is to be arranged is determined based on the positional relationship with P3 and the third input point P4) in the example shown in FIG. 13B.

すなわち、たとえば、図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 touch pen 27 and the like remain in the touched state from the third input point P3. When the fifth input point P5 located far from the value Th1 is reached, the third object OBJ23 is arranged at the fifth input point P5 (see FIG. 13C). As shown in FIG. 38C, the object OBJ23 is arranged in such an orientation that its angle reference line SL3 coincides with the reference line L5.

あるいは、図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 touch pen 27 and the like in the touched state.

さらに、ユーザに対する操作性を向上させるためには、未確定状態のオブジェクトの向きを変更するに際して、ある程度の不感範囲を設けることが好ましい。より具体的には、図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 touch pen 27 or the like and the object OBJ21 is arranged, the touch pen 27 or the like exists in the vicinity of the first input point P1. During this time, the orientation (initial value) of the object OBJ21 is maintained. That is, when the touch pen 27 or the like is within the dead zone DA centered on the first input point P1, the above-described processing for changing the orientation of the object OBJ21 in real time is not performed. Then, when the touch pen 27 or the like moves out of the insensitive range DA in the touched state, a process for changing the orientation of the object OBJ21 is started for the first time.

上述したように、ユーザが画面上からタッチペン27等を離すと、未確定状態のオブジェクトは確定状態に移行するが、この際、取得されるタッチペン27等の位置が微妙に変化する場合がある。不感範囲を設けることによって、このようなユーザの意図しない操作によりオブジェクトの向きが変化することを抑制できる。例えば、オブジェクトを1つだけ初期状態の向きに配置したいときに有効である。   As described above, when the user removes the touch pen 27 or the like from the screen, the object in the unconfirmed state shifts to the confirmed state. At this time, the position of the acquired touch pen 27 or the like may slightly change. By providing the insensitive range, it is possible to prevent the orientation of the object from changing due to such an operation not intended by the user. For example, this is effective when it is desired to arrange only one object in the initial state.

なお、上述の説明では、第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 game device 100 according to the present embodiment, an image photographed by a camera is displayed in real time, and the orientation of an object in an undetermined state is also real-time according to the position of an operation input by touch pen 27 or the like. It changes with. Therefore, a drawing process for performing such image display will be described with reference to FIG.

図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 game device 100 according to the first embodiment of the present invention. Referring to FIG. 15, game device 100 according to the present embodiment uses four layers 242, 244, 246, and 248 to generate video signals for screen display. Each of the layers 242, 244, 246 and 248 is realized by forming in the main memory 32 a memory area having a size corresponding to at least the resolution of the lower LCD 12.

第1レイヤー242は、カメラで撮影された画像(静止画像もしくは動画像)、またはメモリカード28(図2)などから読出された画像(静止画像もしくは動画像)を表示するためのメモリ領域である。CPU31(図2)は、内側カメラ23、外側カメラ25、およびメモリカード28のいずれかから入力される画像を展開し、メインメモリ32内の第1レイヤー242に相当する領域に書き込む。なお、静止画像が入力される場合には、ラスタデータに展開した上で書き込みを行なえばよいが、動画像が入力される場合には、表示のリアルタイム性を向上させるために、ポリゴン処理などを用いてレンダリングを行なってもよい。   The first layer 242 is a memory area for displaying an image (still image or moving image) taken by the camera or an image (still image or moving image) read from the memory card 28 (FIG. 2) or the like. . The CPU 31 (FIG. 2) develops an image input from any one of the inner camera 23, the outer camera 25, and the memory card 28 and writes it in an area corresponding to the first layer 242 in the main memory 32. When a still image is input, it is only necessary to write it after raster data is developed. However, when a moving image is input, polygon processing or the like is performed in order to improve real-time display. May be used for rendering.

第2レイヤー244は、ユーザが「らくがき」して配置されたオブジェクトを表示するためのメモリ領域である。CPU31は、ユーザ操作に応じて配置されるオブジェクトのキャラクタデータやラスタデータを、メモリカード29などから読み出して、メインメモリ32内の第2レイヤー244に相当する領域に書き込む。なお、後述するように、未確定状態のオブジェクトのデータについては、第3レイヤー246においてレンダリングされるため、第2レイヤー244には、確定状態に移行後のオブジェクトのみについてのデータが書き込まれる。   The second layer 244 is a memory area for displaying an object arranged by the user “writing”. The CPU 31 reads character data and raster data of an object arranged according to a user operation from the memory card 29 or the like and writes it in an area corresponding to the second layer 244 in the main memory 32. As will be described later, since the data of the object in the undetermined state is rendered in the third layer 246, the data for only the object after shifting to the confirmed state is written in the second layer 244.

第3レイヤー246は、未確定状態のオブジェクトを表示するためのメモリ領域である。上述したスタンプを表示するためのデータは、代表的にポリゴンデータとしてメモリカード29に予め記憶されている。CPU31は、ユーザ操作に応じて、必要なスタンプのポリゴンデータを読み出した上で、スタンプを構成する各ポリゴンの座標値をリアルタイムで算出する。そして、CPU31は、算出されたポリゴンによってレンダリングされた結果をメインメモリ32内の第3レイヤー246に相当する領域に書き込む。   The third layer 246 is a memory area for displaying an object in an undetermined state. Data for displaying the above-described stamp is typically stored in advance in the memory card 29 as polygon data. In response to a user operation, the CPU 31 reads polygon data of a necessary stamp and calculates coordinate values of each polygon constituting the stamp in real time. Then, the CPU 31 writes the result rendered by the calculated polygon in an area corresponding to the third layer 246 in the main memory 32.

また、CPU31は、未確定状態のオブジェクトが確定状態に移行すると、そのときの第3レイヤー246上の画像データを第2レイヤー244の対応する位置へ転送する。すなわち、未確定状態のオブジェクトについては、ポリゴン処理を用いてその画像を動的に生成するが、確定状態に移行し、その表示がそれ以上変更されなくなると、そのオブジェクトを表示するためのデータは、第2レイヤー244に記憶される。   Further, when the object in the unconfirmed state shifts to the confirmed state, the CPU 31 transfers the image data on the third layer 246 at that time to a corresponding position in the second layer 244. That is, for an object in an indeterminate state, its image is dynamically generated using polygon processing. However, when the display is changed to a confirmed state and the display is no longer changed, the data for displaying the object is , Stored in the second layer 244.

第4レイヤー248は、ユーザ操作を受け付けるためのアイコンを表示するためのメモリ領域である。CPU31は、ユーザ操作によって選択された機能や動作モードに応じて、必要なアイコンを表示するためのデータをメインメモリ32内の第4レイヤー248に相当する領域に書き込む。   The fourth layer 248 is a memory area for displaying an icon for accepting a user operation. The CPU 31 writes data for displaying necessary icons in an area corresponding to the fourth layer 248 in the main memory 32 according to the function and operation mode selected by the user operation.

これらのレイヤー242,244,246,248が記憶するデータを合成した画像が画面表示される。各レイヤー242,244,246,248では、表示すべきデータが存在する画素についてのみ有効なものとして扱われ、表示すべきデータが存在しない画素については、いわば透明なものとして扱われる。そのため、あるレイヤーのうち透明なものとして取り扱われる画素については、より下位のレイヤーの対応する画素のデータが画面表示されることになる。   An image obtained by combining the data stored in these layers 242, 244, 246 and 248 is displayed on the screen. In each of the layers 242, 244, 246 and 248, only pixels having data to be displayed are treated as effective, and pixels having no data to be displayed are treated as transparent. Therefore, for pixels handled as transparent in a certain layer, the data of the corresponding pixels in the lower layer is displayed on the screen.

また、「とる」アイコン212(図5)が選択された場合には、CPU31は、第1レイヤー242および第2レイヤー244に記憶されたデータに基づいて、合成画像を生成し、この生成した合成画像を保存用データメモリ34(図2)などに記憶される。   When the “take” icon 212 (FIG. 5) is selected, the CPU 31 generates a composite image based on the data stored in the first layer 242 and the second layer 244, and the generated composite The image is stored in the storage data memory 34 (FIG. 2) or the like.

<入力範囲>
また、ユーザ入力可能な範囲をタッチパネル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 touch panel 13. For example, as shown in FIG. 16, in the “graffiti camera” according to the present embodiment, an effective range 260 for an operation input by the user using the touch pen 27 or the like may be determined in advance in the process of placing a stamp. By defining such an effective range 260, it is possible to prevent the object from being “written” on an icon or the like for accepting a user operation.

また、上述したように、未確定状態のオブジェクトを確定状態に移行するための条件の一つとして、タッチペン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 touch pen 27 or the like is within the effective range 260 may be included. That is, if any of the objects is in the unconfirmed state and the operation input by the touch pen 27 or the like is outside the valid range 260, the object is shifted to the confirmed state.

<処理手順>
以下、上述した本実施の形態に従う「らくがきカメラ」に係る処理手順について、図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 CPU 31 reading out the program stored in the memory card 29 to the main memory 32 and executing it.

(1.機能選択処理)
図17は、この発明の実施の形態1に従うゲーム装置100における機能選択に係る処理を示すフローチャートである。図17に示す機能選択に係る処理は、ゲーム装置100の電源が投入され、あるいはスタートボタンが押下された後、ユーザが図示しないメニュー画面から所定のアイコンを選択することで実行される。
(1. Function selection process)
FIG. 17 is a flowchart showing processing relating to function selection in game device 100 according to the first embodiment of the present invention. The process related to function selection shown in FIG. 17 is executed by the user selecting a predetermined icon from a menu screen (not shown) after the game apparatus 100 is turned on or the start button is pressed.

図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, CPU 31 displays a selection screen as shown in FIG. 4 on lower LCD 12. In subsequent step S <b> 4, the CPU 31 determines whether touch position data is input from the touch panel 13 via the I / F circuit 42. That is, the CPU 31 determines whether or not the user performs a touch operation with the touch pen 27 or the like. If touch position data has not been input (NO in step S4), the process of step S4 is repeated. On the other hand, if touch position data has been input (YES in step S4), the process proceeds to step S6.

ステップS6では、CPU31は、タッチ位置データの示す座標値がいずれかのアイコン150の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、アイコン150のいずれかが選択されたか否かを判断する。そして、タッチ位置データの示す座標値がいずれかのアイコン150の表示範囲内の値であれば(ステップS6においてYES)、処理はステップS8へ進む。一方、タッチ位置データの示す座標値がいずれのアイコン150の表示範囲外であれば(ステップS6においてNO)、処理はステップS10へ進む。   In step S <b> 6, the CPU 31 determines whether the coordinate value indicated by the touch position data is a value within the display range of any icon 150. That is, the CPU 31 determines whether any of the icons 150 has been selected. If the coordinate value indicated by the touch position data is a value within the display range of any icon 150 (YES in step S6), the process proceeds to step S8. On the other hand, if the coordinate value indicated by the touch position data is outside the display range of any icon 150 (NO in step S6), the process proceeds to step S10.

ステップS8では、CPU31は、表示中の選択画面を選択されたアイコン150に対応する表示内容に更新する。すなわち、図4に示すように、たとえば「らくがきカメラ」の機能が選択された場合には、「らくがきカメラ」といった名称および各処理の内容をプレビュー表示する。そして、処理はステップS4へ戻る。   In step S <b> 8, the CPU 31 updates the selection screen being displayed to display contents corresponding to the selected icon 150. That is, as shown in FIG. 4, for example, when the function of “Rakugaki Camera” is selected, the name “Rakugaki Camera” and the contents of each process are displayed as a preview. Then, the process returns to step S4.

ステップS10では、CPU31は、タッチ位置データの示す座標値が選択アイコン152または154の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、選択アイコン152または154が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が選択アイコン152または154の表示範囲内の値であれば(ステップS10においてYES)、処理はステップS12へ進む。一方、タッチ位置データの示す座標値が選択アイコン152および154の表示範囲外の値であれば(ステップS10においてNO)、処理はステップS14へ進む。   In step S <b> 10, the CPU 31 determines whether the coordinate value indicated by the touch position data is a value within the display range of the selection icon 152 or 154. That is, the CPU 31 determines whether the selection icon 152 or 154 has been selected. If the coordinate value indicated by the touch position data is a value within the display range of selection icon 152 or 154 (YES in step S10), the process proceeds to step S12. On the other hand, if the coordinate value indicated by the touch position data is a value outside the display range of selection icons 152 and 154 (NO in step S10), the process proceeds to step S14.

ステップS12では、CPU31は、表示中の選択画面を選択された選択アイコン152または154に対応する表示内容に更新する。そして、処理はステップS4へ戻る。   In step S <b> 12, the CPU 31 updates the displayed selection screen to display contents corresponding to the selected selection icon 152 or 154. Then, the process returns to step S4.

ステップS14では、CPU31は、タッチ位置データの示す座標値が「はじめる」アイコン158の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「はじめる」アイコン158が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「はじめる」アイコン158の表示範囲内の値であれば(ステップS14においてYES)、処理はステップS16へ進む。一方、タッチ位置データの示す座標値が「はじめる」アイコン158の表示範囲外の値であれば(ステップS14においてNO)、処理はステップS18へ進む。   In step S <b> 14, the CPU 31 determines whether the coordinate value indicated by the touch position data is a value within the display range of the “begin” icon 158. That is, the CPU 31 determines whether or not the “start” icon 158 has been selected. If the coordinate value indicated by the touch position data is a value within the display range of “begin” icon 158 (YES in step S14), the process proceeds to step S16. On the other hand, if the coordinate value indicated by the touch position data is a value outside the display range of “begin” icon 158 (NO in step S14), the process proceeds to step S18.

ステップS16では、CPU31は、選択中の機能を実行する。ここで、「らくがきカメラ」が選択されていれば、CPU31は、図18および図19に示すフローチャートに従う処理を実行する。   In step S16, the CPU 31 executes the selected function. Here, if “Rakugaki camera” is selected, the CPU 31 executes processing according to the flowcharts shown in FIGS. 18 and 19.

ステップS18では、CPU31は、タッチ位置データの示す座標値が「やめる」アイコン156の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「やめる」アイコン156が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「やめる」アイコン156の表示範囲内の値であれば(ステップS18においてYES)、本処理は終了する。一方、タッチ位置データの示す座標値が「やめる」アイコン156の表示範囲外の値であれば(ステップS18においてNO)、処理はステップS4へ戻る。   In step S <b> 18, the CPU 31 determines whether the coordinate value indicated by the touch position data is a value within the display range of the “stop” icon 156. That is, the CPU 31 determines whether or not the “stop” icon 156 has been selected. If the coordinate value indicated by the touch position data is a value within the display range of the “stop” icon 156 (YES in step S18), the process ends. On the other hand, if the coordinate value indicated by the touch position data is outside the display range of “stop” icon 156 (NO in step S18), the process returns to step S4.

(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, CPU 31 starts a drawing process subroutine shown in FIG. This drawing processing subroutine is a process for performing screen display with a “Rakugaki camera” as shown in FIGS. Note that the processing procedure shown in FIG. 20 is repeatedly executed at a predetermined cycle independently of the processing shown in FIGS. 18 and 19.

続くステップS102では、CPU31は、図5に示すアイコン202〜214を表示するためのデータを、メインメモリ32内の第4レイヤー248に相当する領域に書き込む。すなわち、CPU31は、ユーザ操作を受け付けるためのアイコンを下側LCD12に表示する。   In subsequent step S <b> 102, the CPU 31 writes data for displaying the icons 202 to 214 shown in FIG. 5 in an area corresponding to the fourth layer 248 in the main memory 32. That is, the CPU 31 displays an icon for accepting a user operation on the lower LCD 12.

続くステップS104では、CPU31は、I/F回路42を介してタッチパネル13からタッチ位置データが入力されたか否かを判断する。すなわち、CPU31は、ユーザによるタッチペン27等によるタッチ操作の有無を判断する。言い換えれば、CPU31は、タッチパネル13に対するユーザ操作によって入力される座標値が検出されるか否かを判断する。タッチ位置データが入力されていなければ(ステップS104においてNO)、ステップS104の処理が繰り返される。一方、タッチ位置データが入力されていれば(ステップS104においてYES)、処理はステップS106へ進む。   In subsequent step S <b> 104, the CPU 31 determines whether touch position data is input from the touch panel 13 via the I / F circuit 42. That is, the CPU 31 determines whether or not the user performs a touch operation with the touch pen 27 or the like. In other words, the CPU 31 determines whether a coordinate value input by a user operation on the touch panel 13 is detected. If touch position data has not been input (NO in step S104), the process of step S104 is repeated. On the other hand, if touch position data has been input (YES in step S104), the process proceeds to step S106.

ステップS106では、CPU31は、タッチ位置データの示す座標値が「えんぴつ」アイコン202の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「えんぴつ」アイコン202が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「えんぴつ」アイコン202の表示範囲内の値であれば(ステップS106においてYES)、処理はステップS110へ進む。一方、タッチ位置データの示す座標値が「えんぴつ」アイコン202の表示範囲外の値であれば(ステップS106においてNO)、処理はステップS116へ進む。   In step S <b> 106, the CPU 31 determines whether the coordinate value indicated by the touch position data is a value within the display range of the “pencil” icon 202. That is, the CPU 31 determines whether or not the “pencil” icon 202 has been selected. If the coordinate value indicated by the touch position data is within the display range of the “pencil” icon 202 (YES in step S106), the process proceeds to step S110. On the other hand, if the coordinate value indicated by the touch position data is a value outside the display range of “pencil” icon 202 (NO in step S106), the process proceeds to step S116.

ステップS110では、CPU31は、内部フラグを「えんぴつ」モードに設定する。続くステップS112では、CPU31は、「えんぴつ」モードの選択サブメニューを表示するためのデータを、メインメモリ32内の第4レイヤー248に相当する領域に書き込む。すなわち、CPU31は、「えんぴつ」モードにおける属性(線の太さおよび線の色など)を選択するためのサブメニューを下側LCD12に表示する。さらに、ステップS114では、CPU31は、ユーザ選択に応じて、「えんぴつ」モードで使用する属性値を内部フラグに設定する。そして、処理はステップS104へ戻る。   In step S110, the CPU 31 sets the internal flag to the “pencil” mode. In the subsequent step S112, the CPU 31 writes data for displaying the selection submenu of the “pencil” mode in an area corresponding to the fourth layer 248 in the main memory 32. That is, the CPU 31 displays a submenu for selecting attributes (line thickness, line color, etc.) in the “pencil” mode on the lower LCD 12. Further, in step S114, the CPU 31 sets an attribute value used in the “pencil” mode in the internal flag in accordance with the user selection. Then, the process returns to step S104.

ステップS116では、CPU31は、タッチ位置データの示す座標値が「消しゴム」アイコン204の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「消しゴム」アイコン204が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「消しゴム」アイコン204の表示範囲内の値であれば(ステップS116においてYES)、処理はステップS118へ進む。一方、タッチ位置データの示す座標値が「消しゴム」アイコン204の表示範囲外の値であれば(ステップS116においてNO)、処理はステップS120へ進む。   In step S <b> 116, the CPU 31 determines whether the coordinate value indicated by the touch position data is a value within the display range of the “eraser” icon 204. That is, the CPU 31 determines whether or not the “eraser” icon 204 has been selected. If the coordinate value indicated by the touch position data is within the display range of “eraser” icon 204 (YES in step S116), the process proceeds to step S118. On the other hand, if the coordinate value indicated by the touch position data is a value outside the display range of “eraser” icon 204 (NO in step S116), the process proceeds to step S120.

ステップS118では、CPU31は、内部フラグを「消しゴム」モードに設定する。そして、処理はステップS104へ戻る。   In step S118, the CPU 31 sets the internal flag to the “eraser” mode. Then, the process returns to step S104.

ステップS120では、CPU31は、タッチ位置データの示す座標値が「スタンプ」アイコン206の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「スタンプ」アイコン206が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「スタンプ」アイコン206の表示範囲内の値であれば(ステップS120においてYES)、処理はステップS122へ進む。一方、タッチ位置データの示す座標値が「スタンプ」アイコン206の表示範囲外の値であれば(ステップS120においてNO)、処理はステップS128へ進む。   In step S <b> 120, the CPU 31 determines whether or not the coordinate value indicated by the touch position data is a value within the display range of the “stamp” icon 206. That is, the CPU 31 determines whether or not the “stamp” icon 206 has been selected. If the coordinate value indicated by the touch position data is a value within the display range of “stamp” icon 206 (YES in step S120), the process proceeds to step S122. On the other hand, if the coordinate value indicated by the touch position data is a value outside the display range of “stamp” icon 206 (NO in step S120), the process proceeds to step S128.

ステップS122では、CPU31は、内部フラグを「スタンプ」モードに設定する。続くステップS124では、CPU31は、「スタンプ」モードの選択サブメニューを表示するためのデータを、メインメモリ32内の第4レイヤー248に相当する領域に書き込む。すなわち、CPU31は、図6に示すような、「スタンプ」モードにおける属性(スタンプの種類など)を選択するためのサブメニューを下側LCD12に表示する。さらに、ステップS126では、CPU31は、ユーザ選択に応じて、「スタンプ」モードで使用する種類を内部フラグに設定する。そして、処理はステップS104へ戻る。   In step S122, the CPU 31 sets the internal flag to the “stamp” mode. In subsequent step S <b> 124, the CPU 31 writes data for displaying the selection submenu of the “stamp” mode in an area corresponding to the fourth layer 248 in the main memory 32. That is, the CPU 31 displays on the lower LCD 12 a submenu for selecting attributes (such as the type of stamp) in the “stamp” mode as shown in FIG. Further, in step S126, the CPU 31 sets the type used in the “stamp” mode in the internal flag according to the user selection. Then, the process returns to step S104.

ステップS128では、CPU31は、タッチ位置データの示す座標値が「全部けす」アイコン208の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「全部けす」アイコン208が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「全部けす」アイコン208の表示範囲内の値であれば(ステップS128においてYES)、処理はステップS130へ進む。一方、タッチ位置データの示す座標値が「全部けす」アイコン208の表示範囲外の値であれば(ステップS128においてNO)、処理はステップS132(図19)へ進む。   In step S <b> 128, the CPU 31 determines whether or not the coordinate value indicated by the touch position data is a value within the display range of the “all delete” icon 208. In other words, the CPU 31 determines whether or not the “Keep all” icon 208 has been selected. Then, if the coordinate value indicated by the touch position data is a value within the display range of “all delete” icon 208 (YES in step S128), the process proceeds to step S130. On the other hand, if the coordinate value indicated by the touch position data is a value outside the display range of “all delete” icon 208 (NO in step S128), the process proceeds to step S132 (FIG. 19).

ステップS130では、CPU31は、メインメモリ32内の第2レイヤー244に記憶されているデータをリセット(ゼロクリア)する。すなわち、CPU31は、ユーザにより「らくがき」されることで配置されているすべてのオブジェクトを消去する。   In step S130, the CPU 31 resets (zero clears) the data stored in the second layer 244 in the main memory 32. That is, the CPU 31 erases all the objects arranged by being “written” by the user.

ステップS132では、CPU31は、タッチ位置データの示す座標値が有効範囲260(図16)内の値であるか否かを判断する。すなわち、CPU31は、ユーザが「らくがき」の操作を行なったか否かを判断する。そして、タッチ位置データの示す座標値が有効範囲260内の値であれば(ステップS132においてYES)、処理はステップS134へ進む。一方、タッチ位置データの示す座標値が有効範囲260外の値であれば(ステップS132においてNO)、処理はステップS142へ進む。   In step S132, the CPU 31 determines whether or not the coordinate value indicated by the touch position data is a value within the effective range 260 (FIG. 16). That is, the CPU 31 determines whether or not the user has performed the “Rakugaki” operation. If the coordinate value indicated by the touch position data is within the effective range 260 (YES in step S132), the process proceeds to step S134. On the other hand, if the coordinate value indicated by the touch position data is a value outside effective range 260 (NO in step S132), the process proceeds to step S142.

ステップS134では、CPU31は、内部フラグを参照して、現在設定されているモードを判断する。すなわち、CPU31は、直前のユーザ操作によって、「えんぴつ」アイコン202、「消しゴム」アイコン204、および「スタンプ」アイコン206のいずれが選択されているかを判断する。そして、現在設定されているモードが「えんぴつ」モードであれば(ステップS134において「えんぴつ」)、処理はステップS136に進み、「えんぴつ」モードのサブルーチン処理(図21)が実行される。また、現在設定されているモードが「消しゴム」モードであれば(ステップS134において「消しゴム」)、処理はステップS138に進み、「消しゴム」モードのサブルーチン処理(図22)が実行される。また、現在設定されているモードが「スタンプ」モードであれば(ステップS134において「スタンプ」)、処理はステップS140に進み、「スタンプ」モードのサブルーチン処理(図23)が実行される。   In step S134, the CPU 31 refers to the internal flag to determine the currently set mode. That is, the CPU 31 determines which of the “pencil” icon 202, the “eraser” icon 204, and the “stamp” icon 206 has been selected by the previous user operation. If the currently set mode is the “pencil” mode (“pencil” in step S134), the process proceeds to step S136, and the “pencil” mode subroutine process (FIG. 21) is executed. If the currently set mode is the “eraser” mode (“eraser” in step S134), the process proceeds to step S138, and the “eraser” mode subroutine process (FIG. 22) is executed. If the currently set mode is the “stamp” mode (“stamp” in step S134), the process proceeds to step S140, and the “stamp” mode subroutine process (FIG. 23) is executed.

一方、ステップS142では、CPU31は、タッチ位置データの示す座標値が「とる」アイコン212の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「とる」アイコン212が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「とる」アイコン212の表示範囲内の値であれば(ステップS142においてYES)、処理はステップS144へ進む。一方、タッチ位置データの示す座標値が「とる」アイコン212の表示範囲外の値であれば(ステップS142においてNO)、処理はステップS146へ進む。   On the other hand, in step S <b> 142, the CPU 31 determines whether the coordinate value indicated by the touch position data is a value within the display range of the “take” icon 212. That is, the CPU 31 determines whether or not the “take” icon 212 has been selected. If the coordinate value indicated by the touch position data is a value within the display range of “take” icon 212 (YES in step S142), the process proceeds to step S144. On the other hand, if the coordinate value indicated by the touch position data is a value outside the display range of “take” icon 212 (NO in step S142), the process proceeds to step S146.

ステップS144では、CPU31は、メインメモリ32内の第1レイヤー242および第2レイヤー244にそれぞれ相当する領域に記憶されたデータをそれぞれ読み出して、合成画像を生成する。さらに、CPU31は、合成画像を保存用データメモリ34などに書き込む。そして、処理はステップS104へ戻る。   In step S144, the CPU 31 reads out data stored in areas corresponding to the first layer 242 and the second layer 244 in the main memory 32, and generates a composite image. Further, the CPU 31 writes the composite image in the storage data memory 34 or the like. Then, the process returns to step S104.

ステップS146では、CPU31は、タッチ位置データの示す座標値が切替アイコン214の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、切替アイコン214が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が切替アイコン214の表示範囲内の値であれば(ステップS146においてYES)、処理はステップS148へ進む。一方、タッチ位置データの示す座標値が切替アイコン214の表示範囲外の値であれば(ステップS146においてNO)、処理はステップS150へ進む。   In step S146, the CPU 31 determines whether or not the coordinate value indicated by the touch position data is a value within the display range of the switching icon 214. That is, the CPU 31 determines whether or not the switching icon 214 has been selected. If the coordinate value indicated by the touch position data is within the display range of switching icon 214 (YES in step S146), the process proceeds to step S148. On the other hand, if the coordinate value indicated by the touch position data is a value outside the display range of switching icon 214 (NO in step S146), the process proceeds to step S150.

ステップS148では、CPU31は、画像撮影に使用するカメラを内側カメラ23と外側カメラ25との間で切り替える。すなわち、CPU31は、メインメモリ32内の第1レイヤー242に入力される画像のソースを内側カメラ23と外側カメラ25との間で切り替える。そして、処理はステップS104へ戻る。   In step S <b> 148, the CPU 31 switches the camera used for image shooting between the inner camera 23 and the outer camera 25. That is, the CPU 31 switches the source of the image input to the first layer 242 in the main memory 32 between the inner camera 23 and the outer camera 25. Then, the process returns to step S104.

ステップS150では、CPU31は、タッチ位置データの示す座標値が「やめる」アイコン210の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「やめる」アイコン210が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「やめる」アイコン210の表示範囲内の値であれば(ステップS150においてYES)、CPU31は、図20に示す描画処理サブルーチンを終了(ステップS152)させた後、本処理を終了する。一方、タッチ位置データの示す座標値が「やめる」アイコン210の表示範囲外の値であれば(ステップS150においてNO)、処理はステップS104へ戻る。   In step S <b> 150, the CPU 31 determines whether or not the coordinate value indicated by the touch position data is a value within the display range of the “stop” icon 210. That is, the CPU 31 determines whether or not the “quit” icon 210 has been selected. If the coordinate value indicated by the touch position data is within the display range of the “stop” icon 210 (YES in step S150), the CPU 31 ends the drawing processing subroutine shown in FIG. 20 (step S152). This process is terminated. On the other hand, if the coordinate value indicated by the touch position data is a value outside the display range of “stop” icon 210 (NO in step S150), the process returns to step S104.

(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, CPU 31 expands an image input from the selected camera (inner camera 23 or outer camera 25), and corresponds to the first layer 242 in main memory 32. Write to. That is, the CPU 31 updates the image captured by the camera.

続くステップ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 CPU 31 combines the data stored in the first layer 242, the second layer 244, the third layer 246, and the fourth layer 248, respectively. The data stored in the second layer 244, the third layer 246, and the fourth layer 248 is associated with the execution of the subroutine processing shown in FIGS. 18 and 19 and the subroutine processing shown in FIGS. It is updated from time to time.

さらに続くステップS204において、CPU31は、合成したデータに基づいて、下側LCD12に画像を描画(レンダリング)する。そして、処理はステップS200へ戻る。   In further subsequent step S204, CPU 31 renders (renders) an image on lower LCD 12 based on the combined data. Then, the process returns to step S200.

上述の図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 CPU 31 converts the pixel data of the second layer 244 in the main memory 32 corresponding to the operation input from the user into the internal flag. Change according to the set value. That is, the CPU 31 adds data indicating the object to be “written” to the second layer 244 according to the attribute value used in the “pencil” mode set in step S114 of FIG.

続くステップS302では、CPU31は、I/F回路42を介してタッチパネル13からタッチ位置データの入力が継続しているか否かを判断する。すなわち、CPU31は、ユーザによるタッチペン27等によるタッチ操作の継続の有無を否かを判断する。タッチ位置データの入力が継続していれば(ステップS302においてYES)、ステップS300の処理が繰り返される。一方、タッチ位置データの入力が継続していなければ(ステップS302においてNO)、処理は、図18のステップS104にリターンする。   In subsequent step S <b> 302, the CPU 31 determines whether or not input of touch position data from the touch panel 13 is continued via the I / F circuit 42. That is, the CPU 31 determines whether or not the user continues the touch operation with the touch pen 27 or the like. If the input of the touch position data is continued (YES in step S302), the process of step S300 is repeated. On the other hand, if the input of touch position data has not continued (NO in step S302), the process returns to step S104 in FIG.

(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, CPU 31 zero-clears the pixel data of second layer 244 in main memory 32 corresponding to the operation input from the user, based on the coordinate value indicated by the touch position data. That is, the CPU 31 erases a portion of the already arranged objects where the user touches the touch pen 27 or the like on the screen.

続くステップS402では、CPU31は、I/F回路42を介してタッチパネル13からタッチ位置データの入力が継続しているか否かを判断する。すなわち、CPU31は、ユーザによるタッチペン27等によるタッチ操作の継続の有無を否かを判断する。タッチ位置データの入力が継続していれば(ステップS402においてYES)、ステップS400の処理が繰り返される。一方、タッチ位置データの入力が継続していなければ(ステップS402においてNO)、処理は、図18のステップS104にリターンする。   In subsequent step S <b> 402, the CPU 31 determines whether or not input of touch position data from the touch panel 13 is continued via the I / F circuit 42. That is, the CPU 31 determines whether or not the user continues the touch operation with the touch pen 27 or the like. If the input of the touch position data is continued (YES in step S402), the process of step S400 is repeated. On the other hand, if the input of touch position data is not continued (NO in step S402), the process returns to step S104 in FIG.

(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, CPU 31 initializes (zero-clears) the first coordinate value and the second coordinate value, which are internal variables. In subsequent step S502, CPU 31 sets the coordinate value indicated by the touch position data to the first coordinate value. That is, the first coordinate value among the detected coordinate values is acquired. Here, the coordinate value immediately after the detection of the coordinate value is started (that is, the touch-on coordinate) is regarded as the first coordinate value. Then, the process proceeds to step S504.

ステップS504において、CPU31は、ステップS502においてセットされた第1座標値を通る基準線を算出する。続くステップS506において、CPU31は、図18のステップS126において選択された種類のスタンプのオブジェクトを内部フラグの参照により特定し、選択されたスタンプを表示するためのデータ(代表的に、ポリゴンデータ)をメモリカード29から読出す。さらに続くステップS508において、CPU31は、選択されたスタンプが、第1座標値を基準する位置に、かつ基準線に応じた向きで配置されるように、レンダリングされた結果をメインメモリ32内の第3レイヤー246に相当する領域に書き込む。すなわち、ステップS506およびS508では、第1座標値に基づいて、下側LCD12の対応する位置にスタンプ(オブジェクト)を表示するための処理が実行される。そして、処理はステップS510へ進む。   In step S504, the CPU 31 calculates a reference line passing through the first coordinate value set in step S502. In the subsequent step S506, the CPU 31 identifies the stamp object of the type selected in step S126 of FIG. 18 by referring to the internal flag, and displays data (typically polygon data) for displaying the selected stamp. Reading from the memory card 29. In further subsequent step S508, the CPU 31 displays the rendered result in the main memory 32 so that the selected stamp is arranged at a position based on the first coordinate value and in an orientation corresponding to the reference line. Write to the area corresponding to 3 layers 246. That is, in steps S506 and S508, processing for displaying a stamp (object) at a corresponding position on the lower LCD 12 is executed based on the first coordinate value. Then, the process proceeds to step S510.

ステップS510では、CPU31は、I/F回路42を介してタッチパネル13からタッチ位置データの入力が継続しているか否かを判断する。すなわち、CPU31は、ユーザによるタッチペン27等によるタッチ操作の継続の有無を否かを判断する。言い換えれば、座標値の検出が継続しているか否かが判断される。タッチ位置データの入力が継続していれば(ステップS510においてYES)、処理はステップS512へ進む。   In step S <b> 510, the CPU 31 determines whether or not the input of touch position data from the touch panel 13 via the I / F circuit 42 is continued. That is, the CPU 31 determines whether or not the user continues the touch operation with the touch pen 27 or the like. In other words, it is determined whether or not the detection of coordinate values continues. If the input of touch position data continues (YES in step S510), the process proceeds to step S512.

一方、タッチ位置データの入力が継続していなければ(ステップ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 CPU 31 sets the coordinate value indicated by the current touch position data as the second coordinate value. That is, the second coordinate value subsequent to the first coordinate value among the detected coordinate values is acquired. In the subsequent step S514, the CPU 31 determines whether or not the distance between the first coordinate value and the second coordinate value is larger than a threshold value indicating the dead range. That is, it is determined whether or not the coordinate value input while the coordinate value is continuously detected satisfies the first condition (corresponding to the direction change condition). If the distance between the first coordinate value and the second coordinate value is equal to or less than the threshold value indicating the dead range (NO in step S514), the processing in step S510 and subsequent steps is repeated.

一方、第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 CPU 31 calculates a reference line that passes through the first coordinate value and the second coordinate value. In the subsequent step S518, the CPU 31 renders an area corresponding to the third layer 246 in the main memory 32 so that the arranged stamp is arranged in an orientation corresponding to the reference line newly calculated in step S516. Update with updated results. That is, the orientation of the object displayed on the lower LCD 12 is changed. Here, the orientation of the object is determined based on a line passing through the first coordinate value and the second coordinate value. Then, the process proceeds to step S520.

ステップS520では、CPU31は、第1座標値と第2座標値との間の距離が所定のしきい値Th1より大きいか否かを判断する。すなわち、CPU31は、未確定状態のオブジェクトを確定状態に移行させるための条件が成立したか否かを判断する。第1座標値と第2座標値との距離がしきい値Th1より大きければ(ステップS520においてYES)、処理はステップS522へ進む。   In step S520, the CPU 31 determines whether or not the distance between the first coordinate value and the second coordinate value is greater than a predetermined threshold value Th1. That is, the CPU 31 determines whether or not a condition for shifting the object in the unconfirmed state to the confirmed state is satisfied. If the distance between the first coordinate value and the second coordinate value is greater than threshold value Th1 (YES in step S520), the process proceeds to step S522.

一方、第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 CPU 31 writes the data stored in the area corresponding to the third layer 246 in the main memory 32 to the area in the second layer 244 in the main memory 32 and the area corresponding to the third layer 246. Is cleared to zero. That is, the CPU 31 shifts the object in the undetermined state to the confirmed state. Thus, when the condition for shifting the object in the unconfirmed state to the confirmed state is satisfied, the direction of the object is fixed.

なお、確定状態に移行させるための条件が満足された後は、その後の第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 CPU 31 determines whether or not the input of touch position data from the touch panel 13 via the I / F circuit 42 is continued. That is, the CPU 31 determines whether or not the user continues the touch operation with the touch pen 27 or the like. If the input of the touch position data is continued (YES in step S524), the process proceeds to step S526. On the other hand, if the input of touch position data is not continued (NO in step S524), the process returns to step S104 in FIG.

ステップS526では、CPU31は、新たなスタンプが、第2座標値を基準とする位置(典型的には、第2座標値の位置)に、かつステップS516において新たに算出された基準線に応じた向きで配置されるように、レンダリングされた結果をメインメモリ32内の第2レイヤー244に相当する領域に書き込む。すなわち、入力される座標値の変化に応じて、さらなるオブジェクトが下側LCD12に表示される。なお、操作ボタン14A〜14Hが選択された場合にも、さらなるオブジェクトを表示するようにしてもよい。   In step S526, the CPU 31 responds to the position where the new stamp is based on the second coordinate value (typically, the position of the second coordinate value) and the reference line newly calculated in step S516. The rendered result is written in an area corresponding to the second layer 244 in the main memory 32 so as to be arranged in the orientation. That is, further objects are displayed on the lower LCD 12 in accordance with changes in the input coordinate values. Even when the operation buttons 14A to 14H are selected, a further object may be displayed.

続くステップS528において、CPU31は、タッチ位置データの示す座標値を第1座標値にセットする。すなわち、新たなスタンプの基準となったタッチ位置データを新たな第1座標値とみなす。そして、処理はステップS530へ進む。   In subsequent step S528, CPU 31 sets the coordinate value indicated by the touch position data to the first coordinate value. That is, the touch position data that becomes the reference for the new stamp is regarded as a new first coordinate value. Then, the process proceeds to step S530.

ステップS530では、CPU31は、I/F回路42を介してタッチパネル13からタッチ位置データの入力が継続しているか否かを判断する。すなわち、CPU31は、ユーザによるタッチペン27等によるタッチ操作の継続の有無を否かを判断する。タッチ位置データの入力が継続していれば(ステップS530においてYES)、処理はステップS532へ進む。一方、タッチ位置データの入力が継続していなければ(ステップS530においてNO)、処理は、図18のステップS104にリターンする。   In step S530, the CPU 31 determines whether or not the input of touch position data from the touch panel 13 via the I / F circuit 42 is continued. That is, the CPU 31 determines whether or not the user continues the touch operation with the touch pen 27 or the like. If the input of touch position data is continued (YES in step S530), the process proceeds to step S532. On the other hand, if the input of the touch position data is not continued (NO in step S530), the process returns to step S104 in FIG.

ステップS532では、CPU31は、現在のタッチ位置データの示す座標値を第2座標値にセットする。続くステップS534では、CPU31は、第1座標値と第2座標値との間の距離が所定のしきい値Th1より大きいか否かを判断する。すなわち、CPU31は、座標値が継続して検出されている間に入力される座標値が、さらに新たなオブジェクトを配置すべきか否かを決定する第3条件を満足するか否かを判断する。   In step S532, the CPU 31 sets the coordinate value indicated by the current touch position data as the second coordinate value. In subsequent step S534, CPU 31 determines whether or not the distance between the first coordinate value and the second coordinate value is greater than a predetermined threshold value Th1. That is, the CPU 31 determines whether or not the coordinate value input while the coordinate value is continuously detected satisfies the third condition for determining whether or not a new object should be placed.

第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 CPU 31 sets a new stamp at a position relative to the second coordinate value (typically at the position of the second coordinate value), and on the new reference line calculated in step S536. The rendered result is written in an area corresponding to the second layer 244 in the main memory 32 so as to be arranged in a corresponding direction. That is, the orientation of the newly displayed object is based on a line that passes through the coordinate value used to determine the position of the most recently displayed object and the coordinate value used to determine the position of the newly displayed object. Determined. And the process after step S528 is repeated.

本実施の形態によれば、ユーザは、タッチパネル13に対する一連の操作によって、所望する位置にオブジェクトを配置することができるとともに、当該オブジェクトを所望する向きに変更することができる。このように、ユーザは、いわゆる「ワンアクション」によって、オブジェクトを自在に配置し、かつその向きも変更ができるので、より直感的にオブジェクトを表示させることができる。   According to the present embodiment, the user can place an object at a desired position by a series of operations on the touch panel 13 and can change the object to a desired orientation. In this way, the user can freely arrange objects and change their orientations by so-called “one action”, so that the objects can be displayed more intuitively.

[実施の形態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 touch pen 27 or the like. Good. Hereinafter, with reference to FIG. 24, characteristic processing in the present modification will be described.

なお、以下に説明する処理を除いて、そのハードウェア構成や処理手順などについては、上述した実施の形態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 touch pen 27 or the like, the second input point P2 passes through the second input point P2 while touching the touch pen 27 or the like on the screen. Consider a case where the touch pen 27 or the like is moved to six input points P6. Further, it is assumed that the objects OBJ21 and OBJ22 are arranged at positions based on the first input point P1 and the second input point P2 by this user operation, respectively. It is assumed that the distance between the second input point P2 and the sixth input point P6 is equal to or less than a threshold value Th1 for moving the object to the finalized state.

本変形例では、このような状態において、オブジェクト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 touch pen 27 at each time point, and the like Is changed in real time with a line passing through the position input by the user (sixth input point P6 in the example shown in FIG. 24A) as a reference line. As a method for calculating the reference line passing through the three points as described above, Bezier approximation or the like can be typically used. Note that when determining such a reference line, the reference line may be calculated based on the reference positions of a plurality of objects placed ahead, not limited to one object placed ahead.

その後、図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 touch pen 27 or the like to the seventh input point P7 where the distance from the second input point P2 exceeds the threshold Th1, the object OBJ22. Shifts from the unconfirmed state to the confirmed state. The orientation of the object OBJ22 that has shifted to the finalized state is determined based on a reference line that passes through the three points of the first input point P1, the second input point P2, and the seventh input point P3.

[実施の形態1の変形例2]
上述の実施の形態1では、第2入力点P2が更新される毎に、未確定状態のオブジェクトの向きがリアルタイムに変更される構成について説明したが、オブジェクトが未確定状態から確定状態に移行するための条件が満足されるまでの間、オブジェクトの向きを初期値に維持するとともに、当該条件が満足された後に、当該条件が満たされた時点の第2入力点P2に応じた向きにオブジェクトの向きを変更した上で、確定状態に移行させてもよい。この確定状態に移行した後は、オブジェクトの向きは変更後の向きに固定される。
[Modification 2 of Embodiment 1]
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 game device 100A according to the present embodiment are the same as those in FIGS. 1 and 2 described above, detailed description will not be repeated.

<ゲーム装置の使用例>
本実施の形態に従うゲーム装置100Aについても、上述の実施の形態1に従うゲーム装置100と同様の使用形態で使用される。すなわち、たとえば図3に示すように、ゲーム装置100Aに搭載されたカメラ(内側カメラ23または外側カメラ25)で撮影された画像(あるいは、その一部)が万華鏡のように敷き詰められて、下側LCD12にリアルタイムに表示される。ユーザは、タッチペン27等の操作により、この下側LCD12に表示される態様を自由に変化させることが可能である。なお、表示される画像は、メモリカード28(図2)などに予め記憶された画像(静止画像もしくは動画像)であってもよい。
<Usage example of game device>
Game device 100A according to the present embodiment is also used in the same usage pattern as game device 100 according to the first embodiment. That is, for example, as shown in FIG. 3, an image (or a part thereof) taken by a camera (inner camera 23 or outer camera 25) mounted on game device 100A is spread like a kaleidoscope, Displayed on the LCD 12 in real time. The user can freely change the mode displayed on the lower LCD 12 by operating the touch pen 27 or the like. The displayed image may be an image (still image or moving image) stored in advance in the memory card 28 (FIG. 2) or the like.

なお、図3に示す例では、外側カメラ25を用いて被写体TRGが撮影されているが、内側カメラ23を用いて被写体TRGを撮影するようにしてもよく、いずれのカメラを使用するかについては、ユーザが任意に選択できる。   In the example shown in FIG. 3, the subject TRG is photographed using the outer camera 25, but the subject TRG may be photographed using the inner camera 23, and which camera is used. The user can arbitrarily select.

図25は、この発明の実施の形態2に従うゲーム装置100Aにおける選択画面の一例を示す図である。図25を参照して、本実施の形態に従うゲーム装置100Aは、上述した画像を万華鏡のように表示することができる機能を含む複数の機能を搭載しており、ユーザは、図25に示す選択画面上で所望する機能を選択する。   FIG. 25 shows an example of a selection screen in game device 100A according to the second embodiment of the present invention. Referring to FIG. 25, game device 100A according to the present embodiment is equipped with a plurality of functions including a function capable of displaying the above-described image like a kaleidoscope, and the user selects as shown in FIG. Select the desired function on the screen.

図25に示す例では、画面上部にゲーム装置100に搭載された各機能に対応する複数のアイコン150が表示されており、ユーザは、これらのアイコン150のうち所望する機能に対応するものを任意に選択することができる。また、画面の両側には、選択アイコン152および154が表示されている。ユーザが選択アイコン152または154を選択する毎に、選択される機能がアイコン150の配列に従って左側または右側に順次変更される。   In the example shown in FIG. 25, a plurality of icons 150 corresponding to each function mounted on the game apparatus 100 are displayed at the top of the screen, and the user arbitrarily selects one of these icons 150 corresponding to a desired function. Can be selected. In addition, selection icons 152 and 154 are displayed on both sides of the screen. Each time the user selects the selection icon 152 or 154, the selected function is sequentially changed to the left or right according to the arrangement of the icons 150.

このような方法によりユーザが機能を選択した上で、「はじめる」アイコン158を選択すると、選択された機能が実行される。また、「やめる」アイコン156が選択されると、図示しないメニュー画面へ戻る。   When the user selects a function by such a method and selects the “Start” icon 158, the selected function is executed. When the “quit” icon 156 is selected, the screen returns to a menu screen (not shown).

また、図25に示すように、ユーザにより選択されたアイコン150に対応する機能の
内容をユーザに提示するように、プレビュー領域160には、その選択された機能の名称(図25に示す例では「かがみカメラ」)およびその処理の内容が示される。
Also, as shown in FIG. 25, in the preview area 160, the name of the selected function (in the example shown in FIG. 25, the function content corresponding to the icon 150 selected by the user is presented to the user). "Kagami Camera") and the contents of the processing are shown.

<「かがみカメラ」の概要>
以下、図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 memory card 28, etc. (hereinafter, these images are also collectively referred to as “input images”). It is a function that can be displayed freely like a kaleidoscope. “Kagami Camera” mainly has a function to freely change the orientation and size of an image object obtained by extracting a part of an input image according to a user operation, and a screen to be displayed according to the changed image object. And a function that can be updated in real time.

図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 icons 302 to 306 for selecting an operation on the display image are displayed at the top of the screen. Icons 310 to 314 for selecting various operations are displayed.

ユーザが「左右対称」アイコン302を選択(タッチ)すると、図25に示すように、入力画像と当該入力画像を画面に対して左右反転させた画像とが同時に表示される。さらに、ユーザのタッチペン27等によるタッチ操作に応じて、画面上に表示される画像の向きがリアルタイムで変化する。   When the user selects (touches) the “right / left symmetrical” icon 302, an input image and an image obtained by horizontally inverting the input image with respect to the screen are simultaneously displayed as shown in FIG. Furthermore, the orientation of the image displayed on the screen changes in real time in response to a user's touch operation with the touch pen 27 or the like.

ユーザが「三角」アイコン304をタッチすると、図26に示すように、入力画像から三角形状の部分が、画像オブジェクトOBJ5として抽出され、この画像オブジェクトOBJ5を隣接する各辺についてそれぞれ線対称となるように順次展開していったような画像が表示される。   When the user touches the “triangle” icon 304, as shown in FIG. 26, a triangular portion is extracted from the input image as an image object OBJ5, and the image object OBJ5 is line-symmetric with respect to each adjacent side. Images that are developed sequentially are displayed.

また、図27に示すように、ユーザがタッチペン27等を画面上にタッチしたまま回転移動させると、画像オブジェクトOBJ5は、当該タッチ操作に応じた角度だけ、予め定められた中心点308を中心に回転する。すなわち、画像オブジェクトOBJ5の向きは、ユーザ入力に応じてリアルタイムで変化する。なお、図27で示すように、この画像オブジェクトOBJ5の回転に伴って、画像オブジェクトOBJ5を中心に展開される画像の位置も変化する。   As shown in FIG. 27, when the user rotates and moves the touch pen 27 etc. on the screen, the image object OBJ5 is centered on a predetermined center point 308 by an angle corresponding to the touch operation. Rotate. That is, the orientation of the image object OBJ5 changes in real time according to the user input. As shown in FIG. 27, as the image object OBJ5 rotates, the position of the image developed around the image object OBJ5 also changes.

さらに、図28に示すように、ユーザがタッチペン27等を画面上にタッチしたまま、画像オブジェクトOBJ5の中心点308から遠ざかる、もしくは近づく方向に移動させると、画像オブジェクトOBJ5は、当該タッチ操作に応じて拡大もしくは縮小する。すなわち、画像オブジェクトOBJ5のサイズは、ユーザ入力に応じてリアルタイムで変化する。なお、図28で示すように、この画像オブジェクトOBJ5のサイズの変化に伴って、画像オブジェクトOBJ5を中心に展開される画像の配置やサイズも変化する。   Further, as shown in FIG. 28, when the user moves away from or approaches the center point 308 of the image object OBJ5 while touching the touch pen 27 or the like on the screen, the image object OBJ5 responds to the touch operation. To zoom in or out. That is, the size of the image object OBJ5 changes in real time according to the user input. As shown in FIG. 28, with the change in the size of the image object OBJ5, the arrangement and size of the image developed around the image object OBJ5 also changes.

また、ユーザが「四角」アイコン306をタッチすると、図29に示すように、入力画像から四角形状の部分が、画像オブジェクトOBJ6として抽出され、この画像オブジェクトOBJ6を隣接する各辺についてそれぞれ線対称となるように順次展開していったような画像が表示される。   When the user touches the “square” icon 306, as shown in FIG. 29, a quadrangular portion is extracted from the input image as an image object OBJ6, and the image object OBJ6 is line-symmetric with respect to each adjacent side. An image that is developed sequentially is displayed.

また、図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 touch pen 27 etc. on the screen, the image object OBJ6 is centered on a predetermined center point 308 by an angle corresponding to the touch operation. Rotate. That is, the orientation of the image object OBJ6 changes in real time according to the user input. As the image object OBJ6 rotates, the position of the image developed around the image object OBJ6 also changes. Further, as in FIG. 28, when the user moves away from or approaches the center point 308 of the image object OBJ6 while touching the touch pen 27 or the like on the screen, the image object OBJ6 is moved according to the touch operation. Zoom in or out. As the size of the image object OBJ6 changes, the arrangement and size of the image developed around the image object OBJ6 also changes.

このように、画像オブジェクトには、その回転および/またはサイズ変更に係る基準点となる中心点が予め定められている。後述するように、この基準点とタッチ操作に伴う座標の変化を示すベクトルとこの基準点との相対関係に応じて、オブジェクトの回転量(回転位置)および縮小/拡大率(サイズ)の度合いが算出される。   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” icon 310 is selected, the processing of the “Kagami Camera” is stopped, and the screen returns to the selection screen as shown in FIG.

また、「とる」アイコン312が選択されることで、選択されたタイミングにおいて表示されている画像に対応する静止画像が生成され、保存用データメモリ34(図2)などに記憶される。   When the “take” icon 312 is selected, a still image corresponding to the image displayed at the selected timing is generated and stored in the storage data memory 34 (FIG. 2) or the like.

また、切替アイコン314が選択されると、画像撮影に使用するカメラが、内側カメラ23と外側カメラ25との間で切り替えられる。   When the switch icon 314 is selected, the camera used for image capturing is switched between the inner camera 23 and the outer camera 25.

<「かがみカメラ」の詳細処理>
以下、図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 touch pen 27 or the like. For this reason, when the user operates the touch pen 27 or the like, the rotation speed of the image object becomes faster or is greatly enlarged, so that the user can freely change the image object in response to his / her operation. You can get a sense of being done.

より詳細には、図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 touch pen 27 and the like from the eighth input point P8 to the ninth input point P9 in a touched state. It is assumed that the user's operation of moving the touch pen 27 or the like (change in coordinate values) is performed during the calculation period Δt (so-called frame period). In the following description, it is assumed that the eighth input point is input at time t and the ninth input point is input at time t + Δt.

画像オブジェクト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 center point 308 of the image object OBJ5.

この周方向および径方向については、画像オブジェクト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 center point 308 of the image object OBJ5 can be defined. However, in the example shown in FIG. 31, the center point 308 of the image object OBJ5 and the start point of the operation vector Vtp ( For the straight line L8 passing through the eighth input point P8), the operation vector Vtp is decomposed into a circumferential component and a radial component. That is, the operation vector Vtp is decomposed into a component (circumferential component vθ) perpendicular to the straight line L8 and a component (radial component vr) parallel to the straight line L8.

さらに、周方向成分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 center point 308 and enlarged / reduced by α is displayed at the position of the center point 308. Note that θ is a rotation angle from the standard direction, and α is an enlargement / reduction ratio from the standard size.

なお、上述の例では、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 center point 308 of the image object OBJ5 to the touch-on coordinate and the distance from the center point 308 to the current touch coordinate. ) May be used. In this case, the reduction / enlargement ratio α (t) at time t is calculated by the following mathematical formula. Δd (t) is a negative value when the current touch coordinate is closer to the center point than the touch-on coordinate.

α(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 center point 308 of the image object OBJ5 is determined as the positive direction of the rotation position θ, the operation vector Vtp is generated in the counterclockwise direction with respect to the center point 308. The sign of the second term on the left side of equation (1) is “+”. On the other hand, if the operation vector Vtp occurs in the clockwise direction with respect to the center point 308, the sign of the second term on the left side of equation (1) is “ -".

さらに、操作ベクトル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 center point 308 of the image object OBJ5 to the eighth input point P8 is used. be able to. That is, in the example shown in FIG. 31, when the operation vector Vtp occurs in the counterclockwise direction, the outer product of the operation vector Vtp and the vector Vs takes a positive value, while the operation vector Vtp occurs in the clockwise direction. And the outer product of the operation vector Vtp and the vector Vs takes a negative value. Therefore, in which direction the operation vector Vtp is generated can be determined according to the sign of such an outer product.

また、(2)式において、径方向成分Vrは、画像オブジェクトOBJ5の中心点308から遠ざかる方向を+(プラス)とし、近づく方向を−(マイナス)としている。   In the equation (2), the radial direction component Vr is defined as + (plus) when moving away from the center point 308 of the image object OBJ5 and − (minus) when approaching.

なお、当然のことながら、画像オブジェクトOBJ5の中心点308および操作ベクトルVtpの終点(第9入力点P9)を通る直線L9について、操作ベクトルVtpを周方向成分および径方向成分に分解してもよい。また、中心点308と操作ベクトルVtpの中間点を通る直線を用いてもよい。   Of course, for the straight line L9 passing through the center point 308 of the image object OBJ5 and the end point (the ninth input point P9) of the operation vector Vtp, the operation vector Vtp may be decomposed into a circumferential component and a radial component. . A straight line passing through the center point 308 and the intermediate point between the operation vectors Vtp may be used.

<描画処理>
上述したように、本実施の形態に従うゲーム装置100Aでは、カメラで撮影された画像の一部が画像オブジェクトとして抽出され、この抽出された画像オブジェクトを画面全体に複数展開した画像がリアルタイムに表示される。さらに、ユーザがタッチペン27等を画面上にタッチしたまま操作を行なうと、画像オブジェクトは、この操作に応じた回転角およびサイズでリアルタイムに変化する。そのため、このような画像表示を行なうための描画処理について図32および図33を用いて説明する。
<Drawing process>
As described above, in game device 100A according to the present embodiment, a part of an image captured by a camera is extracted as an image object, and an image in which a plurality of extracted image objects are developed on the entire screen is displayed in real time. The Furthermore, when the user performs an operation while touching the touch pen 27 or the like on the screen, the image object changes in real time with a rotation angle and a size corresponding to the operation. Therefore, a drawing process for performing such image display will be described with reference to FIGS. 32 and 33. FIG.

図32は、この発明の実施の形態2に従うゲーム装置100Aの描画処理を説明するための模式図である。図33は、この発明の実施の形態2に従うゲーム装置100Aにおける画像オブジェクトの抽出処理を説明するための模式図である。   FIG. 32 is a schematic diagram for describing a drawing process of game device 100A according to the second embodiment of the present invention. FIG. 33 is a schematic diagram for describing an image object extraction process in game device 100A according to the second embodiment of the present invention.

図32を参照して、本実施の形態に従うゲーム装置100Aでは、2つのレイヤー342および344を用いて、画面表示するための映像信号を生成している。なお、レイヤー342および344の各々は、少なくとも下側LCD12の解像度に相当する大きさのメモリ領域をメインメモリ32内に形成することで実現される。   Referring to FIG. 32, game device 100A according to the present embodiment uses two layers 342 and 344 to generate a video signal for screen display. Each of the layers 342 and 344 is realized by forming in the main memory 32 a memory area having a size corresponding to at least the resolution of the lower LCD 12.

第1レイヤー342は、カメラで撮影された画像(静止画像もしくは動画像)、またはメモリカード28(図2)などから読出された画像(静止画像もしくは動画像)から抽出された画像オブジェクトを展開して表示するためのメモリ領域である。   The first layer 342 expands an image object extracted from an image (still image or moving image) captured by a camera or an image (still image or moving image) read from the memory card 28 (FIG. 2) or the like. This is a memory area for display.

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 inner camera 23, the outer camera 25, and the memory card 28, and extracts the image object OBJ5 from the input image IMG. Then, data obtained by developing the image object OBJ5 according to a predetermined rule is written in an area corresponding to the first layer 342 in the main memory 32. When a still image is input, it is only necessary to write it after raster data is developed. However, when a moving image is input, polygon processing or the like is performed in order to improve real-time display. May be used for rendering.

第2レイヤー344は、ユーザ操作を受け付けるためのアイコンを表示するためのメモリ領域である。CPU31は、ユーザ操作によって選択された機能や動作モードに応じて、必要なアイコンを表示するためのデータをメインメモリ32内の第2レイヤー344に相当する領域に書き込む。   The second layer 344 is a memory area for displaying an icon for accepting a user operation. The CPU 31 writes data for displaying necessary icons in an area corresponding to the second layer 344 in the main memory 32 in accordance with the function and operation mode selected by the user operation.

これらのレイヤー342および344が記憶するデータを合成した画像が画面表示される。各レイヤー342および344では、表示すべきデータが存在する画素についてのみ有効なものとして扱われ、表示すべきデータが存在しない画素については、いわば透明なものとして扱われる。そのため、あるレイヤーのうち透明なものとして取り扱われる画素については、より下位のレイヤーの対応する画素のデータが画面表示されることになる。   An image obtained by combining the data stored in these layers 342 and 344 is displayed on the screen. In each of the layers 342 and 344, only pixels having data to be displayed are treated as effective, and pixels having no data to be displayed are treated as transparent. Therefore, for pixels handled as transparent in a certain layer, the data of the corresponding pixels in the lower layer is displayed on the screen.

また、「とる」アイコン312(図26)が選択された場合には、CPU31は、第1レイヤー342に記憶されたデータを保存用データメモリ34(図2)などに記憶される。   When the “take” icon 312 (FIG. 26) is selected, the CPU 31 stores the data stored in the first layer 342 in the storage data memory 34 (FIG. 2) or the like.

上述した画像オブジェクトの抽出処理としては、図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 CPU 31 reading out the program stored in the memory card 29 to the main memory 32 and executing it.

(1.機能選択処理)
本実施の形態に従うゲーム装置100Aにおいても、上述の図17と同様の機能選択に係る処理が実行される。
(1. Function selection process)
Also in game device 100A according to the present embodiment, processing related to function selection similar to that in FIG. 17 described above is executed.

本実施の形態に従うゲーム装置100Aでは、図17に示すステップS8において、図25に示すように、たとえば「かがみカメラ」の機能が選択された場合には、「かがみカメラ」といった名称および各処理の内容(図25に示す例では、左右対称モード)がプレビュー表示される。   In game device 100A according to the present embodiment, in step S8 shown in FIG. 17, as shown in FIG. 25, for example, when the function of “camera camera” is selected, the name “camera camera” and each process. The content (in the example shown in FIG. 25, a left-right symmetric mode) is displayed as a preview.

また、ステップS16において、「かがみカメラ」が選択されていれば、CPU31は、図34および図35に示すフローチャートに従う処理を実行する。   On the other hand, if “camera camera” is selected in step S <b> 16, the CPU 31 executes processing according to the flowcharts shown in FIGS. 34 and 35.

その他のステップについては、上述した実施の形態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, CPU 31 initializes (zero-clears) the previous coordinate value and the current coordinate value, which are internal variables.

続くステップS602において、CPU31は、図36に示す描画処理サブルーチンを開始する。この描画処理サブルーチンは、図26〜図30に示すような「かがみカメラ」での画面表示を行なうための処理である。なお、図36に示す処理手順は、図34および図35に示される処理とは独立して、所定周期で繰り返し実行される。   In subsequent step S602, CPU 31 starts a drawing processing subroutine shown in FIG. This drawing processing subroutine is a process for displaying a screen with a “camera camera” as shown in FIGS. Note that the processing procedure shown in FIG. 36 is repeatedly executed at a predetermined cycle independently of the processing shown in FIGS. 34 and 35.

さらに続くステップS604では、CPU31は、選択されているカメラ(内側カメラ23または外側カメラ25)からの入力画像のうち、予め定められた領域(初期値)に含まれる画素のデータを抽出することで画像オブジェクト(初期値)が生成される。さらに続くステップS606では、CPU31は、ステップS604で生成された画像オブジェクト(初期値)を予め定められた回転位置θおよび縮小/拡大率αで画面全体に展開した表示データを生成し、メインメモリ32内の第1レイヤー342に相当する領域に書き込む。そして、処理はステップS608へ進む。   In further subsequent step S604, the CPU 31 extracts pixel data included in a predetermined region (initial value) from the input image from the selected camera (the inner camera 23 or the outer camera 25). An image object (initial value) is generated. In further subsequent step S606, the CPU 31 generates display data in which the image object (initial value) generated in step S604 is expanded on the entire screen at a predetermined rotational position θ and reduction / enlargement ratio α, and the main memory 32 The area corresponding to the first layer 342 is written. Then, the process proceeds to step S608.

続くステップS608では、CPU31は、図26に示すアイコン302〜314を表示するためのデータを、メインメモリ32内の第2レイヤー344に相当する領域に書き込む。すなわち、CPU31は、ユーザ操作を受け付けるためのアイコンを下側LCD12に表示する。   In the subsequent step S608, the CPU 31 writes data for displaying the icons 302 to 314 shown in FIG. 26 in an area corresponding to the second layer 344 in the main memory 32. That is, the CPU 31 displays an icon for accepting a user operation on the lower LCD 12.

以上のようなステップ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, CPU 31 determines whether touch position data is input from touch panel 13 via I / F circuit 42 or not. That is, the CPU 31 determines whether or not the user performs a touch operation with the touch pen 27 or the like. If touch position data has not been input (NO in step S610), the process of step S610 is repeated. On the other hand, if touch position data has been input (YES in step S610), the process proceeds to step S612.

ステップS612では、CPU31は、タッチ位置データの示す座標値が「左右対称」アイコン302の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「左右対称」アイコン302が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「左右対称」アイコン302の表示範囲内の値であれば(ステップS612においてYES)、処理はステップS614へ進む。一方、タッチ位置データの示す座標値が「左右対称」アイコン302の表示範囲外の値であれば(ステップS612においてNO)、処理はステップS616へ進む。   In step S <b> 612, the CPU 31 determines whether the coordinate value indicated by the touch position data is a value within the display range of the “right / left symmetrical” icon 302. That is, the CPU 31 determines whether or not the “symmetrical” icon 302 has been selected. If the coordinate value indicated by the touch position data is a value within the display range of “right / left symmetrical” icon 302 (YES in step S612), the process proceeds to step S614. On the other hand, if the coordinate value indicated by the touch position data is a value outside the display range of “symmetrical” icon 302 (NO in step S612), the process proceeds to step S616.

ステップS614では、CPU31は、内部フラグを「左右対称」モードに設定する。そして、処理はステップS610へ戻る。   In step S614, the CPU 31 sets the internal flag to the “right / left symmetrical” mode. Then, the process returns to step S610.

ステップS616では、CPU31は、タッチ位置データの示す座標値が「三角」アイコン304の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「三角」アイコン304が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「三角」アイコン304の表示範囲内の値であれば(ステップS616においてYES)、処理はステップS618へ進む。一方、タッチ位置データの示す座標値が「三角」アイコン304の表示範囲外の値であれば(ステップS616においてNO)、処理はステップS620へ進む。   In step S <b> 616, the CPU 31 determines whether the coordinate value indicated by the touch position data is a value within the display range of the “triangle” icon 304. That is, the CPU 31 determines whether or not the “triangle” icon 304 has been selected. If the coordinate value indicated by the touch position data is a value within the display range of “triangle” icon 304 (YES in step S616), the process proceeds to step S618. On the other hand, if the coordinate value indicated by the touch position data is a value outside the display range of “triangle” icon 304 (NO in step S616), the process proceeds to step S620.

ステップS618では、CPU31は、内部フラグを「三角」モードに設定する。そして、処理はステップS610へ戻る。   In step S618, the CPU 31 sets the internal flag to the “triangular” mode. Then, the process returns to step S610.

ステップS620では、CPU31は、タッチ位置データの示す座標値が「四角」アイコン306の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「四角」アイコン306が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「四角」アイコン306の表示範囲内の値であれば(ステップS620においてYES)、処理はステップS622へ進む。一方、タッチ位置データの示す座標値が「四角」アイコン306の表示範囲外の値であれば(ステップS620においてNO)、処理はステップS624へ進む。   In step S 620, CPU 31 determines whether the coordinate value indicated by the touch position data is a value within the display range of “square” icon 306. That is, the CPU 31 determines whether or not the “square” icon 306 has been selected. If the coordinate value indicated by the touch position data is a value within the display range of “square” icon 306 (YES in step S620), the process proceeds to step S622. On the other hand, if the coordinate value indicated by the touch position data is outside the display range of “square” icon 306 (NO in step S620), the process proceeds to step S624.

ステップS622では、CPU31は、内部フラグを「四角」モードに設定する。そして、処理はステップS610へ戻る。   In step S622, the CPU 31 sets the internal flag to the “square” mode. Then, the process returns to step S610.

ステップS624では、CPU31は、タッチ位置データの示す座標値が「とる」アイコン312の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、「とる」アイコン312が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が「とる」アイコン312の表示範囲内の値であれば(ステップS624においてYES)、処理はステップS626へ進む。一方、タッチ位置データの示す座標値が「とる」アイコン312の表示範囲外の値であれば(ステップS624においてNO)、処理はステップS628へ進む。   In step S624, the CPU 31 determines whether the coordinate value indicated by the touch position data is a value within the display range of the “take” icon 312. That is, the CPU 31 determines whether or not the “take” icon 312 has been selected. If the coordinate value indicated by the touch position data is within the display range of “take” icon 312 (YES in step S624), the process proceeds to step S626. On the other hand, if the coordinate value indicated by the touch position data is a value outside the display range of “take” icon 312 (NO in step S624), the process proceeds to step S628.

ステップS626では、CPU31は、メインメモリ32内の第1レイヤー342に相当する領域に記憶されたデータを読み出して、保存用データメモリ34などに書き込む。そして、処理はステップS610へ戻る。   In step S626, the CPU 31 reads data stored in an area corresponding to the first layer 342 in the main memory 32, and writes it in the storage data memory 34 or the like. Then, the process returns to step S610.

ステップS628では、CPU31は、タッチ位置データの示す座標値が切替アイコン314の表示範囲内の値であるか否かを判断する。すなわち、CPU31は、切替アイコン314が選択されたか否かを判断する。そして、タッチ位置データの示す座標値が切替アイコン314の表示範囲内の値であれば(ステップS628においてYES)、処理はステップS630へ進む。一方、タッチ位置データの示す座標値が切替アイコン314の表示範囲外の値であれば(ステップS628においてNO)、処理はステップS632へ進む。   In step S628, the CPU 31 determines whether or not the coordinate value indicated by the touch position data is a value within the display range of the switching icon 314. That is, the CPU 31 determines whether or not the switching icon 314 has been selected. If the coordinate value indicated by the touch position data is a value within the display range of switching icon 314 (YES in step S628), the process proceeds to step S630. On the other hand, if the coordinate value indicated by the touch position data is a value outside the display range of switching icon 314 (NO in step S628), the process proceeds to step S632.

ステップS630では、CPU31は、画像撮影に使用するカメラを内側カメラ23と外側カメラ25との間で切り替える。すなわち、CPU31は、入力画像のソースを内側カメラ23と外側カメラ25との間で切り替える。そして、処理はステップS610へ戻る。   In step S <b> 630, the CPU 31 switches the camera used for image shooting between the inner camera 23 and the outer camera 25. That is, the CPU 31 switches the source of the input image between the inner camera 23 and the outer camera 25. Then, the process returns to step S610.

ステップ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 CPU 31 determines whether the coordinate value indicated by the touch position data is a value within the display range of the “stop” icon 310. That is, the CPU 31 determines whether or not the “quit” icon 310 has been selected. If the coordinate value indicated by the touch position data is within the display range of “stop” icon 310 (YES in step S632), CPU 31 ends the drawing processing subroutine shown in FIG. 36 (step S634). This process is terminated. On the other hand, if the coordinate value indicated by the touch position data is a value outside the display range of “stop” icon 210 (NO in step S632), the process proceeds to step S636 shown in FIG. That is, the processing in step S636 and subsequent steps is executed when the user touches a position other than the icons 301 to 314 on the screen with the touch pen 27 or the like.

ステップS636では、CPU31は、今回座標値にゼロ以外の有効な値がセットされているか否かを判断する。すなわち、CPU31は、前回の演算周期において、ユーザがタッチペン27等で画面上のアイコン301〜314以外の位置にタッチしたか否かを判断する。   In step S636, the CPU 31 determines whether a valid value other than zero is set for the current coordinate value. That is, the CPU 31 determines whether or not the user has touched a position other than the icons 301 to 314 on the screen with the touch pen 27 or the like in the previous calculation cycle.

今回座標値にゼロ以外の有効な値がセットされていなければ(ステップ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 CPU 31 sets the coordinate value indicated by the touch position data as the previous coordinate value and the current coordinate value, respectively. Then, the process proceeds to step S650. That is, if the user has not performed an input operation for instructing rotation and / or size change of the image object in the previous calculation cycle, in the calculation cycle immediately after the input operation, the rotation position θ and reduction / The enlargement ratio α is not changed.

一方、今回座標値にゼロ以外の有効な値がセットされていれば(ステップ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 CPU 31 sets the previous coordinate value to the current current coordinate value, and then sets the coordinate value indicated by the touch position data to the current coordinate value. Then, the process proceeds to step S642. That is, when any input operation is performed by the user during the previous calculation cycle to the current calculation cycle, processing relating to rotation and / or size change of the image object is executed.

ステップS642では、CPU31は、前回座標値から今回座標値までの操作ベクトルVtpを算出する。すなわち、タッチパネル13に対する操作によって入力される座標値の変化が検出される。   In step S642, the CPU 31 calculates an operation vector Vtp from the previous coordinate value to the current coordinate value. That is, a change in coordinate value input by an operation on the touch panel 13 is detected.

続くステップS644では、CPU31は、配置されている画像オブジェクトの中心点から前回座標値までのベクトルVsを算出する。さらに続くステップS646では、CPU31は、操作ベクトルVtpとベクトルVsとの外積を算出し、この算出した外積の符号(正または負)に基づいて、操作ベクトルVtpが生じた回転方向を判断する。そして、処理はステップS648へ進む。   In the subsequent step S644, the CPU 31 calculates a vector Vs from the center point of the arranged image object to the previous coordinate value. In further subsequent step S646, CPU 31 calculates the outer product of operation vector Vtp and vector Vs, and determines the rotation direction in which operation vector Vtp is generated based on the sign (positive or negative) of the calculated outer product. Then, the process proceeds to step S648.

ステップS648では、CPU31は、操作ベクトルVtpを周方向成分Vθおよび径方向成分Vrに分解する。すなわち、座標値の変化に応じた周方向成分Vθ(第1変化成分)および径方向成分Vr(第2変化成分)が取得される。   In step S648, the CPU 31 decomposes the operation vector Vtp into a circumferential component Vθ and a radial component Vr. That is, the circumferential component Vθ (first variation component) and the radial component Vr (second variation component) corresponding to the change in the coordinate value are acquired.

続くステップS650では、CPU31は、ステップS648において算出した周方向成分Vθおよび径方向成分Vrに基づいて、画像オブジェクトの回転位置θおよび縮小/拡大率αをそれぞれ算出する。そして、処理はステップS650へ進む。   In subsequent step S650, CPU 31 calculates rotation position θ and reduction / enlargement ratio α of the image object based on circumferential component Vθ and radial component Vr calculated in step S648, respectively. Then, the process proceeds to step S650.

ステップS650では、CPU31は、選択されているカメラ(内側カメラ23または外側カメラ25)からの入力画像のうち、設定されているモードに応じた領域に含まれる画素のデータを抽出することで画像オブジェクトを更新する。さらに続くステップS652では、CPU31は、ステップS650で更新された画像オブジェクトを現在の回転位置θおよび縮小/拡大率αで画面全体に展開した表示データを生成し、メインメモリ32内の第1レイヤー342に相当する領域に書き込む。すなわち、画像オブジェクトを中心として、画像オブジェクトに含まれる画像を画面全体に展開して表示される。そして、処理はステップS654へ進む。   In step S650, the CPU 31 extracts image data by extracting pixel data included in an area corresponding to the set mode from the input image from the selected camera (the inner camera 23 or the outer camera 25). Update. In further subsequent step S652, the CPU 31 generates display data in which the image object updated in step S650 is expanded on the entire screen at the current rotation position θ and reduction / enlargement ratio α, and the first layer 342 in the main memory 32 is generated. Write in the area corresponding to. That is, the image included in the image object is displayed on the entire screen with the image object as the center. Then, the process proceeds to step S654.

ステップS654では、CPU31は、次の演算周期の実行タイミングまで待つ。その後、処理はステップS610へ戻る。この繰り返し処理によって、画像オブジェクトの回転位置(向き)または縮小/拡大率(サイズ)の変更に伴って、展開することで得られる表示画像は順次更新される。   In step S654, the CPU 31 waits until the execution timing of the next calculation cycle. Thereafter, the process returns to step S610. By this iterative process, the display image obtained by developing is sequentially updated in accordance with the change in the rotation position (orientation) or reduction / enlargement ratio (size) of the image object.

(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, CPU 31 combines the data stored in first layer 342 and second layer 344, respectively. Note that the data stored in the first layer 342 is updated as needed in accordance with the execution of the subroutine processing shown in FIGS. 34 and 35 described above.

さらに続くステップS702において、CPU31は、合成したデータに基づいて、下側LCD12に画像を描画(レンダリング)する。そして、処理はステップS700へ戻る。   In further subsequent step S702, CPU 31 renders (renders) an image on lower LCD 12 based on the combined data. Then, the process returns to step S700.

上述の図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 center point 308 of the object OBJ5. May be. In other words, the change amount of the orientation of the object is determined according to the angle formed by the two coordinate values before and after the change of the coordinate value input with respect to the reference point.

その他の処理については、上述した実施の形態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に記載の画像処理プログラム。   The image processing program according to claim 1, wherein in the first object display step, a coordinate value immediately after the detection of the coordinate value is started as the first object arrangement 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オブジェクト配置座標値と前記継続座標値との間の距離が予め定められたしきい値を超えることを含む、請求項3に記載の画像処理プログラム。   The image processing program according to claim 3, wherein the orientation change condition includes that a distance between the first object arrangement coordinate value and the continuation coordinate value exceeds a predetermined threshold value. 前記向き変更ステップは、前記第1オブジェクトの向きを、前記第1オブジェクト配置座標値と前記継続座標値との間の位置関係に基づいて決定する、請求項1〜4のいずれか1項に記載の画像処理プログラム。   The direction change step determines the direction of the first object based on a positional relationship between the first object arrangement coordinate value and the continuation coordinate value. Image processing program. 前記向き変更ステップは、前記第1オブジェクト配置座標値と前記継続座標値とを通る線に基づいて、前記第1オブジェクトの向きを決定する、請求項5に記載の画像処理プログラム。   The image processing program according to claim 5, wherein 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. 前記継続座標取得ステップは、前記座標値の検出が継続している間、前記継続座標値を随時取得し、
前記向き変更ステップは、前記座標値の検出が継続している間、随時取得される各前記継続座標値に応じて、前記表示手段に表示される前記第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オブジェクトの向きを固定する、請求項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オブジェクトを変更後の向きに固定する、請求項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.
前記向き確定条件は、前記第1オブジェクト配置座標値と前記継続座標値との間の距離が所定値以上になることを含む、請求項8または9に記載の画像処理プログラム。   The image processing program according to claim 8 or 9, wherein the orientation determination condition includes that a distance between the first object arrangement coordinate value and the continuation coordinate value is equal to or greater than a predetermined value. 前記向き確定条件は、前記第1オブジェクト配置座標値の取得後、前記座標値の検出が途絶えることを含む、請求項7〜9のいずれか1項に記載の画像処理プログラム。   The image processing program according to any one of claims 7 to 9, wherein the orientation determination condition includes that the detection of the coordinate value stops after the acquisition of the first object arrangement coordinate value. 前記画像処理プログラムは、前記コンピュータに、第2オブジェクトを前記表示手段に表示する第2オブジェクト表示ステップをさらに実行させ、
前記第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.
前記第2オブジェクト表示条件は、前記向き確定条件と同一であり、当該条件を満足すると判断された座標値に基づいて、前記第1オブジェクトの向きが確定され、かつ、当該座標値に対応する位置に前記第2オブジェクトが表示される、請求項12に記載の画像処理プログラム。   The second object display condition is the same as the orientation determination condition, and based on the coordinate value determined to satisfy the condition, the orientation of the first object is determined and the position corresponding to the coordinate value The image processing program according to claim 12, wherein the second object is displayed on the screen. 前記第2オブジェクト表示ステップは、前記第2オブジェクトの向きを、前記第1オブジェクト配置座標値と前記第2オブジェクト配置座標値の位置関係に基づいて決定する、請求項12または13に記載の画像処理プログラム。   The image processing according to claim 12 or 13, wherein the second object display step determines an orientation of the second object based on a positional relationship between the first object arrangement coordinate value and the second object arrangement coordinate value. program. 前記画像処理プログラムは、前記コンピュータに、入力画像を前記表示手段に表示する入力画像表示ステップをさらに実行させ、
前記オブジェクトは、表示される前記入力画像に重ねて表示される、請求項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.
JP2013085669A 2013-04-16 2013-04-16 Image processing program, image processing apparatus, and image processing method Active JP5570633B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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