WO2015033967A1 - Emulation device, emulation method, program, and information storage medium - Google Patents
Emulation device, emulation method, program, and information storage medium Download PDFInfo
- Publication number
- WO2015033967A1 WO2015033967A1 PCT/JP2014/073220 JP2014073220W WO2015033967A1 WO 2015033967 A1 WO2015033967 A1 WO 2015033967A1 JP 2014073220 W JP2014073220 W JP 2014073220W WO 2015033967 A1 WO2015033967 A1 WO 2015033967A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- input
- input data
- program
- emulated
- touch sensor
- 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.)
- Ceased
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
- A63F13/428—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/214—Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
- A63F13/2145—Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
Definitions
- the present invention relates to an emulation apparatus, an emulation method, a program, and an information storage medium.
- Game devices are roughly classified into portable devices and stationary devices.
- Many portable game devices include a touch sensor having a detection surface that sequentially detects the position of an object.
- operation input by a touch sensor is possible.
- the operation input to the stationary game device is often performed by the controller.
- Some such controllers have an operating stick.
- operation sticks there are those that can be rotated in an inclined or inclined state, and those that can perform slide operations in the vertical and horizontal directions.
- the controller provided with the operation stick transmits a signal according to the direction and size in which the operation stick is operated to the game device.
- the inventors have developed an emulation device that emulates a game device provided with a touch sensor.
- the game device to be emulated is referred to as a target device.
- Programs executable on the target device can also be executed on the emulation device.
- the inventors have made it possible to execute the processing executed when the position of the object is detected on the detection surface by the operation on the operation stick. Then, by associating the direction in which the operation stick is operated with the direction in which the detection surface is traced by the finger or the stylus, the operation feeling of the operation on the operation stick becomes close to the operation feeling of the operation following the detection surface, and a good operation feeling is obtained.
- the operation feeling of the operation on the operation stick becomes close to the operation feeling of the operation following the detection surface, and a good operation feeling is obtained.
- the operation on the detection surface can be emulated with a good sense of operation. Further, even in the case where the controller includes the touch sensor, the operation on the detection surface can be emulated with good feeling of operation by the operation on the operation stick, and the width of the operation is expanded.
- the emulation device that emulates the target device.
- the target device includes the operation stick
- the operation on the detection surface of the touch sensor included in the target device can be emulated with good feeling of operation by the operation on the operation stick.
- the present invention has been made in view of the above problems, and one of the objects thereof is to provide an emulation apparatus, an emulation method, a program, and an information storage medium capable of emulating an operation on a detection surface with good feeling of operation. .
- an emulation apparatus is an emulation apparatus that emulates an operation on a detection surface that sequentially detects the position of an object, and input data associated with the direction in which the operation stick is operated.
- a plurality of input data acquisition units for acquiring a plurality of input data acquisition units, a determination unit for determining a relationship between a plurality of positions in the detection plane that are arranged along the direction according to the input data, And a process execution unit that executes a process to be performed when the position is sequentially detected on the detection surface.
- the emulation method according to the present invention is an emulation method that emulates an operation on a detection surface that sequentially detects the position of an object, and acquires input data that acquires input data associated with the direction in which the operation stick is operated.
- a step of determining a relation between a plurality of positions in the detection plane which is arranged along a direction according to the input data, and a plurality of positions arranged according to the relation determined are on the detection plane
- a process execution step of executing a process to be executed when sequentially detected is an emulation method that emulates an operation on a detection surface that sequentially detects the position of an object, and acquires input data that acquires input data associated with the direction in which the operation stick is operated.
- the program according to the present invention is a program that causes a computer to emulate an operation on a detection surface that sequentially detects the position of an object, and acquires input data associated with the direction in which the operation stick is operated.
- a procedure of determining a relationship between a plurality of positions in the detection surface that is disposed along a direction according to the input data; a plurality of positions disposed according to the determined relationship are sequentially detected on the detection surface And a step of executing a process to be executed at the same time.
- an information storage medium is a computer readable information storage medium storing a program to be executed by a computer emulating an operation on a detection surface which sequentially detects the position of an object, and an operation stick is operated.
- a computer-readable information storage medium storing a program that causes the computer to execute a process that is executed when a plurality of positions are sequentially detected on the detection surface.
- the relationship between a plurality of positions in the detection plane, which is an arrangement according to the input data, is determined, and the plurality of positions arranged according to the determined relationship are sequentially detected on the detection plane
- the process to be executed is executed.
- the operation on the detection surface can be emulated with a good sense of operation.
- the input data acquisition unit acquires input data associated with the direction and size in which the operation stick is operated, and the determination unit determines the size associated with the input data.
- the relationship between the plurality of positions is determined such that the larger the distance, the longer the interval.
- the determination unit determines the position in the detection plane, the input data acquisition unit sequentially acquires the input data, and the determination unit acquires the input data. Every time, a position separated along the direction determined based on the input data from the previously determined position is determined, and the processing execution unit corresponds to the position determined multiple times by the determination unit The processing to be executed when sequentially detected according to the acquisition order of the input data to be attached is executed.
- the display control unit may further include a display control unit that causes an image to be displayed at a position in the display unit that substantially matches the position in the detection plane of the position determined by the determination unit.
- the emulation device emulates an operation on the detection surface capable of multipoint detection
- the input data acquisition unit associates the input data associated with the direction in which each of the plurality of operation sticks is operated. Is sequentially acquired, and the determination unit determines a plurality of positions in the detection plane associated with any of the plurality of operation sticks each time the input data is acquired, and the process execution unit A process may be performed which is performed when a plurality of positions determined a plurality of times by the determination unit are sequentially detected according to the acquisition order of the input data associated with the plurality of positions.
- Another emulation apparatus is an emulation apparatus that emulates an input operation to a touch sensor, and includes an execution unit that executes a program, a controller that receives an operation input from an operator, and an operation input that is received.
- the conversion unit may convert the operation input to the touch sensor, and the execution unit executes the program based on the operation input after conversion by the conversion unit.
- Another emulation method is an emulation method for emulating an input operation to a touch sensor, the execution step of executing a program, and an operation input received by a controller that receives an operation input from an operator. And a conversion step of converting into an operation input to a touch sensor, wherein the execution step executes the program based on the operation input after conversion by the conversion unit.
- another program according to the present invention is a program to be executed by a computer emulating an input operation to a touch sensor, and a procedure for executing a program to be executed and an operation received by a controller that receives an operation input from an operation element Causing the computer to execute a procedure for converting an input into an operation input to the touch sensor, and executing the program to be executed based on the operation input after conversion by the converter.
- Another information storage medium is a computer-readable information storage medium storing a program to be executed by a computer emulating an input operation to a touch sensor, and the procedure for executing the program to be executed.
- a procedure for converting an operation input received by a controller that receives an operation input from an operator into an operation input for the touch sensor is executed by the computer, and in the procedure for executing, based on the operation input after conversion by the conversion unit
- a computer readable information storage medium storing a program characterized by executing the program to be executed.
- the program is a program created on the assumption of an input operation on a touch sensor.
- the received operation input is associated with at least one of the direction or the size in which the operator is tilted.
- a display unit in response to the reception of an emulation start instruction for an input operation on a touch sensor, displays an image indicating a position emulating a position at which the input operation on the touch sensor is performed. And a control unit.
- FIG. 1 is a diagram showing an example of the entire configuration of an information processing system 10 according to an embodiment of the present invention.
- an information processing system 10 according to the present embodiment includes an emulation device 12, a controller 14, and a display 16.
- the emulation apparatus 12 is an information processing apparatus that emulates a portable information processing apparatus (see FIGS. 4A and 4B) described later.
- a communication unit 24, an input / output unit 26, and a card slot 28 are included.
- the control unit 20 is, for example, a program control device such as a CPU that operates according to a program installed in the emulation apparatus 12.
- the storage unit 22 is, for example, a storage element such as a ROM or a RAM, a hard disk drive, or the like.
- the storage unit 22 stores programs executed by the control unit 20 and the like.
- the communication unit 24 is, for example, a communication interface such as a network board or a wireless LAN module.
- the input / output unit 26 is an input / output port such as a high-definition multimedia interface (HDMI (registered trademark)) port or a USB port.
- the card slot 28 is a slot capable of inserting and removing information storage media such as various memory cards.
- the card slot 28 reads programs and data recorded in an information storage medium such as a memory card inserted into the card slot 28 according to an instruction from the control unit 20, and inserts an information storage medium such as a memory card inserted therein. Write data.
- Emulation device 12 may have a plurality of card slots 28, and the plurality of card slots 28 may be capable of inserting and removing information storage media conforming to different standards.
- the controller 14 according to the present embodiment is an operation input device for performing an operation input to the emulation device 12.
- FIG. 3A is a perspective view of an example of the controller 14 according to the present embodiment.
- FIG. 3B is a plan view of the controller 14.
- FIG. 3C is a rear view of the controller 14.
- the controller 14 has grip portions GL and GR which project to the near side (the lower side in the drawing of FIG. 3B) from the left and right of the horizontally long main body portion. The user holds the grips GL and GR with the left and right hands and uses the controller 14.
- buttons B1 to B4 and an operation stick SR are provided at positions on the upper right side of the controller 14 where the user can operate the grip GR with the right hand while holding the grip GR.
- Buttons BL1 and BL2 are provided on the left side of the back of the controller 14 at positions where the user can operate the forefinger or middle finger in a state where the user grips the grip portion GL with the left hand.
- buttons BR1 and BR2 are provided at positions on the back right side of the controller 14 where the user grips the grip GR with the right hand and can be operated by the index finger or the middle finger. Further, the controller 14 according to the present embodiment is also provided with operators such as other buttons. The user performs various operation inputs using the controller 14 by pressing the direction keys DK1 to DK4, the buttons B1 to B4, the buttons BL1, BL2, BR1 and BR2 or tilting the operation sticks SL and SR. Can. Then, in the present embodiment, the controller 14 outputs input data associated with the operation input to the emulation device 12.
- the operation sticks SL and SR are stick-like operation members erected on the surface of the housing of the controller 14.
- the operation sticks SL and SR are inclinable from the upright state in all directions by a predetermined angle.
- the housing longitudinal direction of the controller 14 is the X1 axis direction (the right direction in FIG. 3B is the positive direction)
- the housing depth direction orthogonal to the X axis direction is the Y1 axis direction (FIG.
- the attitudes (operation states) of the operation sticks SL and SR are 0 to 0 as inclinations of the X1 axis direction and the Y1 axis direction (attitude data (X1, Y1)).
- Posture data according to the present embodiment is data included as a part of the above-described input data.
- the emulation device 12 can grasp the current tilt state (posture) of the operation sticks SL and SR.
- the operation sticks SL and SR are also configured as pressure-sensitive buttons, and can be pressed in the axial direction of the sticks.
- controller 14 includes sensors such as a gyro sensor that detects an angular velocity and an acceleration sensor that detects an acceleration.
- the controller 14 according to the present embodiment is provided with a USB port.
- the controller 14 can output input data to the emulation device 12 by wire connection via the input / output unit 26 by connecting the emulation device 12 with the USB cable.
- the controller 14 according to the present embodiment includes a wireless communication module or the like, and can output input data to the emulation device 12 wirelessly through the communication unit 24. Further, the controller 14 according to the present embodiment can receive power from the emulation device 12 connected by the USB cable.
- the display 16 is a liquid crystal display, an organic EL display, or the like.
- the emulation device 12 and the display 16 are connected via the input / output unit 26 by a cable such as a high-definition multimedia interface (HDMI (registered trademark)) cable.
- HDMI high-definition multimedia interface
- FIGS. 4A and 4B show an example of a portable information processing apparatus to be emulated by the emulation apparatus 12 according to the present embodiment.
- the information processing apparatus shown in FIGS. 4A and 4B is referred to as a target apparatus 30.
- FIG. 4A is a front view of an example of the target device 30.
- FIG. 4B is a rear view of the target device 30.
- FIG. 5 is a diagram showing an example of the hardware configuration of the target device 30.
- the emulation device 12 according to the present embodiment emulates the target device 30.
- the target device 30 has a substantially rectangular flat plate shape as a whole.
- the lateral direction (width direction) of the housing is taken as the X2 axis direction
- the longitudinal direction (height direction) as the Y2 axis direction.
- the direction from left to right when viewed from the front of the housing is the X2 axis positive direction
- the direction from bottom to top when viewed from the front of the housing is the Y2 axis positive direction.
- the target device 30 includes the control unit 40, the storage unit 42, the communication unit 44, the input / output unit 46, the card slot 48, the display unit 50, The touch sensor 52, the operation key 54, and the sensor unit 56 are provided.
- control unit 40 The roles of the control unit 40, the storage unit 42, the communication unit 44, the input / output unit 46, and the card slot 48 are the same as those of the control unit 20, the storage unit 22, the communication unit 24, the input / output unit 26, and the card slot 28 in the emulation device 12, respectively. Similar to the role of
- the display unit 50 is a liquid crystal display, an organic EL display, or the like.
- the touch sensor 52 is a sensor that sequentially detects the contact of an object (for example, a finger or the like) on the detection surface at predetermined time intervals.
- the target device 30 according to the present embodiment includes two touch sensors 52 (a front surface touch sensor 52a and a rear surface touch sensor 52b).
- a touch panel 58 in which the display unit 50 and the surface touch sensor 52a are integrated is provided on the front of the housing of the target device 30 according to the present embodiment.
- the touch sensor 52 according to the present embodiment may be any type of device capable of detecting the position of an object on the detection surface, such as a capacitive type, a pressure-sensitive type, or an optical type. .
- both the front surface touch sensor 52a and the back surface touch sensor 52b are multipoint detection type touch sensors capable of detecting the contact of an object at a plurality of positions (for example, up to eight positions).
- the length in the vertical direction of the back surface touch sensor 52b is shorter than the length in the vertical direction of the front surface touch sensor 52a.
- the back surface touch sensor 52b is offset upward with respect to the front surface touch sensor 52a.
- the position of the upper edge of the front surface touch sensor 52a and the position of the upper edge of the back surface touch sensor 52b are substantially coincident in the vertical direction.
- the length in the left-right direction is substantially the same between the front surface touch sensor 52a and the rear surface touch sensor 52b.
- the front surface touch sensor 52 a and the rear surface touch sensor 52 b are located at the center of the target device 30 in the left-right direction.
- the operation key 54 is a type of operation unit used for an operation input performed by the user on the target device 30.
- direction keys DK1 (T) to DK4 (T) are disposed on the front left side of the housing.
- the buttons B1 (T) to B4 (T) are disposed on the front right side of the housing.
- Two operation sticks SL (T) and SR (T) are disposed on the left and right sides of the front of the housing.
- the button BL1 (T) is disposed on the upper side left side of the housing as viewed from the front of the housing.
- the button BR1 (T) is disposed on the upper right side of the housing as viewed from the front of the housing.
- the operation sticks SL (T) and SR (T) are slidable vertically and horizontally.
- the sensor unit 56 is a device that detects the attitude of the target device 30.
- the sensor unit 56 includes, for example, a three-axis gyro sensor, a three-axis motion sensor (three-axis acceleration sensor), and an electronic compass.
- a program that can be executed by the target device 30 can be executed by the emulation device 12.
- the program is hereinafter referred to as a target program.
- the target program is supplied to the target device 30 via a memory card that can be inserted into the card slot 48 of the target device 30.
- the target program is also supplied to the emulation device 12 via a memory card that can be inserted into the card slot 28 of the emulation device 12.
- the emulation apparatus 12 acquires input data indicating an operation input to the controller 14 at a predetermined frame rate (for example, every 1/60 seconds). Then, the emulation apparatus 12 according to the present embodiment executes a target program to execute processing according to the input data or the like at a predetermined frame rate according to acquisition of the input data. For example, generation of data representing a screen corresponding to the input data and output of the data to the display 16 are performed at a predetermined frame rate. In the present embodiment, the display 16 displays a screen representing the data at a resolution of 960 pixels horizontally and 544 pixels vertically.
- the target program includes a process of determining whether the device being executed is the target device 30 or the emulation device 12. Then, according to the result of the determination, the target program performs an operation input to the controller 14 or an operation input to the touch sensor 52 or the operation key 54 of the target device 30 as a basis of the process to be executed. Decide whether to handle as input.
- whether or not the operation on the detection surface of the touch sensor 52 in the target device 30 can be emulated by the emulation device 12 can be set by performing a predetermined operation. It has become.
- the target program being executed by the emulation device 12 may be based on an operation on the detection surface of the target device 30. That is, the target program may be a program created on the assumption of an input operation on the touch sensor. In such a case, if the operation on the detection surface of the target device 30 can not be emulated in some way, the process can not proceed. In the present embodiment, even if the situation where the processing can not be advanced as described above occurs, the processing can be advanced by setting so that the operation on the detection surface can be emulated by performing the predetermined operation described above. It is possible to
- the emulation device 12 is set so that the operation on the detection surface of the touch sensor 52 in the target device 30 can be performed by the emulation device 12.
- the emulation device 12 can freely switch between two operation modes, the normal mode in which the operation on the detection surface of the touch sensor 52 can not be emulated and the touch pointer mode in which the operation can be emulated.
- the normal mode is referred to as N mode
- the touch pointer mode is referred to as TP mode.
- the operation mode is N mode
- the operation on the detection surface of the touch sensor 52 can not be emulated, but the operation on the operation sticks SL (T) and SR (T) can be emulated.
- the operation mode is the TP mode
- the operation on the detection surface of the touch sensor 52 can be emulated, the operation on the operation sticks SL (T) and SR (T) can not be emulated.
- the operation mode at the start of execution of the target program is N mode.
- pressing direction key DK1 to DK4 of controller 14 causes processing to be executed when direction key DK1 (T) to DK4 (T) is pressed on target device 30. Is executed. Further, by pressing buttons B1 to B4, BL1 or BL2 of the controller 14, the buttons B1 (T) to B4 (T), BL1 (T) or BL2 (T) are pressed on the target device 30.
- the process to be performed when the event occurs is executed. Further, by tilting the operation sticks SL and SR, the process executed when the operation sticks SL (T) and SR (T) are slid in the target device 30 in the direction corresponding to the tilted direction is executed. .
- the operation mode is the TP mode
- processing executed by the target device 30 when the position of the object on the detection surface of the touch sensor 52 of the target device 30 is detected by the touch sensor 52 is executed. Be done.
- the position of the object on the detection surface of the touch sensor 52 of the target device 30 will be referred to as a detection position.
- an operation of setting the position at which the detection position of the detection surface is emulated in the emulation device 12 can be performed.
- the position at which the detected position is emulated in the emulation device 12 will be referred to as an emulated position.
- the emulated position is a position that emulates the position where the input operation on the touch sensor 52 is performed.
- the emulated position and the detected position are associated on a one-to-one basis.
- the emulated position is associated with the position in the display 16.
- the emulated position associated with the detection position of the detection surface of the front surface touch sensor 52a takes the lower left position of the display 16 as the origin and the right direction is the X3 axis positive direction. It is expressed by coordinate values in which the upper direction is the Y3 axis positive direction.
- the X3 coordinate value of the emulated position takes any integer value from 0 to 959
- the Y3 coordinate value takes any integer value from 0 to 543.
- the detection position of the detection surface of the front surface touch sensor 52a is managed by the X2-Y2 coordinate value whose origin is the lower left coordinate value of the front surface touch sensor 52a when viewed from the front of the housing.
- the touch sensor 52 according to the present embodiment can specify the detection position in units of 0.5 pixels. Therefore, in the present embodiment, the X2 coordinate value of the detection position takes an integer value of 0 or more and 1918 or less, and the Y2 coordinate value of the detection position takes any integer value of 0 or more and 1086 or less.
- the relative position of the emulated position in the display 16 and the relative position of the detected position in the surface touch sensor 52a substantially coincide with each other.
- the operation mode is the TP mode
- a state where the situation where the detection position is detected by the touch sensor 52 is emulated is referred to as a touch state
- a state where the situation where the position of the object is not detected by the touch sensor 52 is emulated is the untouched state I will call it.
- an emulated position will be in a touch state
- by performing release operation an emulated position will be in an untouched state.
- the process executed by the target device 30 is executed when the coordinate value (x ', y') of the detection position at which the coordinate value is associated with (x, y) is detected by the surface touch sensor 52a. It becomes. Therefore, for example, when the operation of pressing and releasing the predetermined button described above is performed once with the coordinate value of the emulated position being (x, y), the detection that the coordinate value is (x ', y') When the tap operation is performed on the position, the process performed by the target device 30 is performed.
- the coordinate value of the emulated position being (x, y)
- the coordinate value is (x ', y') when the above-mentioned predetermined button is pressed and released twice in succession.
- the processing performed by the target device 30 is performed.
- the emulated position changes based on the acquired posture data (X1, Y1) for each frame. That is, the emulated position can be changed by tilting the operation stick.
- the direction in which the operation stick is inclined is associated with the direction in which the emulated position changes. For example, when the operation stick is tilted in the X1 axis direction, the emulated position changes in the X3 axis direction. When the operation stick is inclined in the Y1 axis direction, the emulated position changes in the Y3 axis direction.
- the coordinate value of the emulated position in a certain frame is (x1, y1).
- the coordinate value of the emulated position in the next frame is assumed to be (x2, y2).
- the coordinate value of the emulated position in the next frame is (x3, y3).
- the emulated position is assumed to be that the touch state is maintained.
- the coordinate values of the detection position of the detection surface of the surface touch sensor 52a corresponding to the coordinate values (x1, y1), (x2, y2), (x3, y3) are (x1 ′, y1 ′), ( It is assumed that x2 ', y2') and (x3 ', y3').
- a drag operation or flick operation in which the detection position is detected over three frames in the order of (x1 ', y1'), (x2 ', y2'), and (x3 ', y3') is emulated.
- processing performed by the target device 30 is performed when the drag operation or the flick operation is performed.
- a drag operation with an emulation position when a predetermined button is pressed as a start point and an emulation position when the button is released as an end point is emulated.
- the drag operation can be emulated by performing the pressing operation of the predetermined button, the operation of changing the emulation position while the button is held down, and the operation of releasing the predetermined button. Become.
- two emulated positions can be set.
- one emulated position is changed based on the attitude data (X1, Y1) of the operation stick SL input
- the other emulated position is changed based on the attitude data (X1, Y1) of the operation stick SR.
- the emulated position changing based on the posture data (X1, Y1) of the operation stick SL is referred to as a first emulation position
- the emulated position changing based on the posture data (X1, Y1) of the operation stick SR is referred to as a second It is called an emulated position.
- the first emulated position is in the touch state, and by performing the releasing operation, the first emulated position is in the untouched state. Then, by performing an operation of pressing the button BR2, the second emulated position is in a touch state, and by performing an operation of releasing the button BR2, the second emulated position is in an untouched state.
- the touch state and the untouch state can be switched independently for each of the first emulated position and the second emulated position.
- the coordinate value of the first emulated position in a certain frame is (x11, y11) and the coordinate value of the second emulated position is (x12, y12).
- the coordinate value of the first emulated position in the next frame is (x21, y21), and the coordinate value of the second emulated position is (x22, y22).
- the coordinate value of the first emulated position in the next frame is (x31, y31), and the coordinate value of the second emulated position is (x32, y32).
- the coordinate values of the detection position of the detection surface of the surface touch sensor 52a corresponding to the coordinate values (x11, y11), (x12, y12), (x13, y13) are (x11 ', y11'), ((11) It is assumed that x12 ', y12') and (x13 ', y13').
- the coordinate values of the detection position of the detection surface of the front surface touch sensor 52a corresponding to the coordinate values (x21, y21), (x22, y22), (x23, y23) are (x21 ', y21'), (x22 It is assumed that ', y22') and (x23 ', y23').
- FIG. 8 shows, for example, a situation where a pinch-in operation or an operation for reducing the size of a displayed image is emulated.
- a pinch out operation or an operation for enlarging and displaying the displayed image is emulated.
- an operation of pressing predetermined two buttons an operation of shortening the length between two emulated positions while the two buttons are pressed, and an operation of releasing the two buttons. By doing this, it is possible to emulate pinch-in operation and the like.
- an operation of pressing predetermined two buttons an operation of increasing the length between two emulated positions while the two buttons are pressed, and the two buttons By performing the release operation, it is possible to emulate a pinch out operation and the like.
- various operations on the detection surface can be emulated by the operations on the operation sticks SL and SR.
- a combination (vx, vy) of the value vx associated with the change amount of the value x and the value vy associated with the change amount of the value y The amount of change in the emulated position is managed by the speed parameter to be represented.
- each of the value vx and the value vy is expressed by a value of ⁇ 1 or more and 1 or less.
- the acceleration parameter represents the combination (ax, ay) of the value ax associated with the change amount of the value vx, and the value ay associated with the change amount of the value vy.
- each of the value ax and the value ay is represented by a value of ⁇ 1 or more and 1 or less.
- FIG. 9 is a view showing an example of the correspondence between the value of posture data and the value of the acceleration parameter.
- the acceleration parameter values (ax, ay) are values associated with the acceleration at which the emulated position moves.
- the relationship between the value X1 and the value ax is the same as the relationship between the value Y1 and the value ay.
- the value of the posture data X1 is any one of 0 and 15 or less, 96 or more and 160 or less, and 241 or more and 255 or less, the value ax is 0.
- the value of the posture data Y1 is any one of 0 to 15, 96 to 160, and 241 to 255
- the value ay is 0.
- the numerical range of 0 to 15 and 96 to 160, and 241 to 255 will be referred to as a dead zone.
- a numerical range of 16 or more and 95 or less and 161 or more and 240 or less will be referred to as a sensitive zone.
- the values (vx, vy) representing the velocity parameters are updated in accordance with the rules shown in FIG. Also, based on the values (vx, vy) representing the updated velocity parameter, the coordinate value (x, y) of the emulated position is updated according to the rule shown in FIG.
- the value vx is updated to the current value of the value vx plus a value obtained by multiplying the value ax by 1/45.
- the updated emulated position in the frame is determined based on the posture data (X1, Y1).
- the amount of change in the emulated position per frame is increased (see FIG. 10 (see (A1) and (A2)). Further, in the present embodiment, when the value X1 and the value Y1 of the posture data are within the numerical range of the dead zone, the emulated position does not change (see (C1) and (C2) in FIG. 10).
- the absolute value of the value ax or the value ay of the acceleration parameter becomes larger as the size (for example, the inclination) at which the operation stick is operated is larger (see FIG. 9). Therefore, in any of these cases, the larger the size at which the operation stick is operated, the larger the absolute value of the value vx (see (A1) (A2) (B1) (B2) in FIG. 10). As a result, the larger the size at which the operation stick is operated, the longer the distance between the emulated position in the immediately preceding frame and the emulated position in the frame (see (F1) and (F2) in FIG. 10). .
- the values vx and vy are adjusted so as not to exceed the range of ⁇ 1 or more and 1 or less (see (D1), (D2), (E1), and (E2) in FIG. 10).
- the value x is adjusted so as not to exceed the range of 0 or more and 959 or less, and in this case, the value vx is 0 and the change of the emulated position in the X3 axis direction is suppressed. (See (G1) in FIG. 10).
- the value y is adjusted so as not to exceed the range of 0 or more and 543 or less, and in this case, the value vy is 0, and the change of the emulated position in the Y3 axis direction is suppressed (FIG. 10). In (G2)).
- the emulated position of the back surface touch sensor 52b can be set instead of the front surface touch sensor 52a.
- the detection position of the back surface touch sensor 52b is also managed by the above-mentioned X2-Y2 coordinate value.
- the X2 coordinate value of the detection position takes an integer value of 0 or more and 1918 or less, and the Y2 coordinate value is , And any integer between 306 and 1086 inclusive. In this case, as shown in FIG.
- setting of emulated positions on both sides of the front surface touch sensor 52a and the rear surface touch sensor 52b can also be performed.
- the position associated with the same detection position when viewed along the direction perpendicular to the X2-Y2 plane is set as the emulated position for the detection surfaces of both the front surface touch sensor 52a and the rear surface touch sensor 52b.
- This is suitable, for example, in the case of emulating an operation of pinching and moving the front surface touch sensor 52a and the rear surface touch sensor 52b with a finger. It is assumed that the operation is adopted, for example, in a program that simulates opening an envelope or picking up a character.
- the back surface touch sensor 52b is offset upward with respect to the front surface touch sensor 52a. Therefore, when the Y3 coordinate value of the emulated position is small (here, for example, smaller than 153), the detection position of the detection surface of the back surface touch sensor 52b when viewed along the direction perpendicular to the X2-Y2 plane. Does not exist. Therefore, in this embodiment, when the Y3 coordinate value of the emulated position determined as described above is smaller than 153, it is corrected to 153 (see (G2) in FIG. 10).
- the TP mode capable of setting the emulated position of the front surface touch sensor 52a will be referred to as a front surface TP mode.
- a TP mode capable of setting an emulated position of the back surface touch sensor 52b is referred to as a back surface TP mode.
- the TP mode capable of setting the emulated position for both sides is referred to as a two-sided TP mode.
- the screen on which the pointer image I is arranged is It is displayed on the display 16 (see FIGS. 11 to 16).
- the pointer image I indicates the emulated position.
- the pointer image I is arranged such that the position of the center of gravity of the circular image included in the pointer image I is the emulated position.
- the relative position of the emulated position in the display 16 substantially matches the relative position of the detected position in the detection plane.
- the surface touch sensor 52a of the target device 30 and the display unit 50 have substantially the same size and the same shape. Therefore, when the operation mode is the front surface TP mode or the both surface TP mode, when the pointer image I is displayed on the display unit 50, the position of the pointer image I substantially overlaps the detection position.
- the design of the displayed pointer image I differs depending on which of the front side TP mode, the back side TP mode, and the both side TP mode. Further, in the present embodiment, the design of the displayed pointer image I also differs depending on whether it is in the touch state or the untouched state.
- FIG. 11 when the operation mode is the surface TP mode, the pointer image Ia1 (nt) is disposed at the first emulated position in the untouched state, and the pointer image Ia2 (nt) is disposed at the second emulated position in the untouched state.
- the placed screen is shown.
- FIG. 12 when the operation mode is the surface TP mode, the pointer image Ia1 (t) is disposed at the first emulated position in the touch state, and the pointer image Ia2 (t) is disposed at the second emulated position in the touch state.
- the placed screen is shown. In FIG.
- the pointer image Ic1 (nt) is arranged at the first emulated position in the untouched state and the pointer image Ic2 (nt) is arranged at the second emulated position in the untouched state when the operation mode is the double-sided TP mode.
- the placed screen is shown.
- the pointer image Ic1 (t) is disposed at the first emulated position in the touch state and the pointer image Ic2 (t) is disposed at the second emulated position in the touch state when the operation mode is the two-sided TP mode.
- the placed screen is shown. These screens are displayed on the display 16.
- the pointer image I is displayed on the display 16 in a state of being superimposed on the screen displayed by executing the target program.
- the images generated by executing the target program are omitted.
- the user can freely switch between the N mode and the TP mode by operating the controller 14.
- switching between the N mode and the TP mode will be described with reference to FIG.
- FIG. 17 is a diagram showing an example of transition rules of the operation mode.
- the N mode and the TP mode are switched according to the transition rule shown in FIG. In the following description, it is assumed that all emulated positions are untouched.
- the operation mode is changed to the TP mode and one emulated position is set.
- the operation stick SL is pressed when the operation mode is the N mode
- the surface TP mode is set.
- the pointer image Ia1 is displayed on the display 16.
- the operation stick SR is pressed when the operation mode is the N mode
- the back surface TP mode is set.
- the pointer image Ib1 is displayed on the display 16.
- the duplex TP mode is set. In this case, the pointer image Ic1 is displayed on the display 16.
- a predetermined time has elapsed with no operation input for any of the operation members in a state where two emulated positions are set.
- the operation sticks SL and SR there is no operation input that is the numerical range of the sensing zone (see FIG. 9) for any of the posture data values X1 and Y1, and there is no operation input for direction keys or buttons.
- the emulated positions to be set are reduced from two to one. In this case, for example, the pointer image Ia2, Ib2, or Ic2 is erased from the display 16.
- the operation mode is the TP mode
- the button B4 or the operation stick SL or SR is pressed in the axial direction of the stick
- the operation mode is changed to the N mode. In this case, all the pointer images I are erased from the display 16.
- FIG. 18 is a functional block diagram showing an example of functions implemented by the emulation device 12 according to the present embodiment.
- the emulation apparatus 12 according to the present embodiment not all the functions shown in FIG. 18 need to be mounted, and functions other than the functions shown in FIG. 18 may be mounted.
- the emulation apparatus 12 functionally includes, for example, an emulated position data storage unit 60, a speed parameter data storage unit 62, an operation mode data storage unit 64, and input data.
- the acquisition unit 66, the operation mode setting unit 68, the determination unit 70, the display control unit 72, and the emulation process execution unit 74 are included.
- the emulated position data storage unit 60, the speed parameter data storage unit 62, and the operation mode data storage unit 64 are mainly implemented with the storage unit 22.
- the input data acquisition unit 66 is mainly implemented with the communication unit 24 or the input / output unit 26.
- the other functions are implemented mainly by the control unit 20.
- the above functions are implemented by the control unit 20 executing a program installed in the emulation device 12 which is a computer and including a command corresponding to the above functions.
- This program is supplied to the emulation apparatus 12 via a computer readable information storage medium such as an optical disk, a magnetic disk, a magnetic tape, a magneto-optical disk, a flash memory, or a computer network such as the Internet, for example. .
- the emulated position data storage unit 60 stores emulated position data indicating coordinate values of the emulated position.
- the emulated position data storage unit 60 stores first emulated position data indicating coordinate values of the first emulated position and second emulated position data indicating coordinate values of the second emulated position.
- initial values of the coordinate value of the first emulated position and the coordinate value of the second emulated position are, for example, coordinate values (480, 272) of the center of the display 16.
- the velocity parameter data storage unit 62 stores velocity parameter data indicating velocity parameters associated with the amount of change per emulated position per frame.
- the velocity parameter data storage unit 62 indicates, for example, first velocity parameter data indicating the value of the velocity parameter for the first emulated position and a second velocity parameter indicating the value of the velocity parameter for the second emulated position.
- initial values of the first velocity parameter and the second velocity parameter are, for example, (0, 0).
- the operation mode data storage unit 64 stores operation mode data indicating the operation mode and the number of emulated positions to be set.
- the value of the operation mode data is "N", for example.
- the value of the operation mode data is, for example, “surface TP1” when the set emulation position is one, and when the value is two, the operation mode data is The value of is, for example, "surface TP2".
- the value of the operation mode data is, for example, “back surface TP1” when the set emulation position is one, and when it is two, the operation mode data is The value of is, for example, "back side TP2".
- the value of the operation mode data is, for example, “double-sided TP1” when the set emulation position is one, and when it is two, the operation mode data The value of is, for example, "both sides TP2".
- the input data acquisition unit 66 acquires input data associated with an operation input to the controller 14. In the present embodiment, the input data acquisition unit 66 sequentially acquires input data at a predetermined frame rate. In the present embodiment, the input data acquisition unit 66 acquires, for example, input data including posture data associated with at least one of the direction and the size in which the operation stick is operated. More specifically, for example, input data including posture data associated with at least one of the direction and the size in which the operation stick is tilted is acquired. In the present embodiment, the input data acquisition unit 66 acquires, for example, posture data (X1, Y1) of the operation stick SL and posture data (X1, Y1) of the operation stick SR. The input data acquisition unit 66 also acquires data indicating whether or not the direction keys DK1 to DK4, the buttons B1 to B4, BL1, BL2, BR1, BR2 and the like are pressed.
- the operation mode setting unit 68 determines the operation mode and the number of emulated positions in the frame based on the input data in accordance with the transition rule shown in FIG. 17 according to the acquisition of the input data.
- the operation mode setting unit 68 holds transition rule data indicating transition rules of the operation mode shown in FIG. Then, based on the transition rule data and the input data acquired by the input data acquisition unit 66, the operation mode setting unit 68 determines the operation mode and the number of emulated positions in the frame. Then, the operation mode setting unit 68 updates the value of the operation mode data stored in the operation mode data storage unit 64.
- the determination unit 70 determines the relationship between a plurality of positions in the detection plane, which is an arrangement along the direction according to the input data acquired by the input data acquisition unit 66. In the present embodiment, the determination unit 70 determines the emulated position based on the input data acquired by the input data acquisition unit 66. In the present embodiment, the determination unit 70 plays a role as a conversion unit that converts an operation input received by the controller 14 into an operation input to the touch sensor 52. Further, in the present embodiment, the determination unit 70 emulates, in the frame, a position away from the previously determined emulated position along the direction determined based on the posture data each time input data is acquired. Determined as a rate position. Note that the determination unit 70 may determine a plurality of emulated positions.
- the determination unit 70 determines the detection position based on the emulated position.
- the determination unit 70 may determine a plurality of detection positions each time input data is acquired.
- the determination unit 70 may determine, for example, a position vector of the emulated position in the frame when the emulated position determined last time is set as the start point based on the input data. Specifically, for example, the orientation of the emulated position in the frame with respect to the previously determined emulated position, and the length between the previously determined emulated position and the emulated position in the frame may be determined.
- the determination unit 70 holds posture / acceleration correspondence data indicating the correspondence between the value of posture data and the value of the acceleration parameter as shown in FIG. Then, the determination unit 70 determines the value of the acceleration parameter based on, for example, posture acceleration correspondence relationship data and the posture data acquired by the input data acquisition unit 66.
- the acceleration parameter whose value is determined based on the value of the posture data of the operation stick SL is called a first acceleration parameter
- the acceleration parameter whose value is determined based on the value of the posture data of the operation stick SR is a second acceleration We call it a parameter.
- the determination unit 70 holds determination rule data indicating a rule for determining the value of the velocity parameter and the coordinate value of the emulated position as shown in FIG. Then, the determination unit 70 determines the value of the velocity parameter and the coordinate value of the emulated position based on, for example, the determination rule data and the value of the determined acceleration parameter. Then, the determination unit 70 determines the value of the velocity parameter indicated by the velocity parameter data stored in the velocity parameter data storage unit 62 and the emulated position indicated by the emulated position data stored in the emulated position data storage unit 60. Update coordinate values.
- the determination unit 70 holds coordinate correspondence relationship data indicating the correspondence between the coordinate value of the emulated position and the coordinate value of the detection position on the detection surface of the touch sensor 52 as shown in FIG. ing. Then, when there is an emulated position in the touch state, the determination unit 70 determines the detected position associated with the emulated position.
- the determination unit 70 also corrects the Y3 coordinate value of the emulated position indicated by the emulated position data, which may occur when the operation mode is the two-sided TP mode (see FIG. 10).
- the display control unit 72 causes the display 16 to display the pointer image I in response to the determination of the emulated position.
- the display control unit 72 arranges the pointer image I, which is determined based on whether the operation mode data and the emulated position are in the touch state, at a position specified based on the emulated position data.
- the displayed screen is displayed on the display 16.
- the relative position of the emulated position in the display 16 and the relative position of the detected position in the surface touch sensor 52a substantially coincide with each other. Therefore, the display control unit 72 causes the pointer image I to be displayed at a position in the display 16 that substantially matches the relative position of the detection position in the detection plane.
- the display control unit 72 receives an instruction to start emulating the input operation to the touch sensor 52, for example, a pointer image in response to receiving an instruction to shift the operation mode from N mode to TP mode. Display I on the display 16.
- the instruction corresponds to, for example, at least one of the operation stick SL and the operation stick SR received when the operation mode is the N mode.
- the emulation process execution unit 74 executes a process that is executed when a plurality of positions arranged according to the relationship determined by the determination unit 70 are sequentially detected on the detection surface.
- the emulation process execution unit 74 executes the process executed by the target device 30 when the touch sensor 52 detects the detection position determined by the determination unit 70.
- the emulation process execution unit 74 is executed by the target device 30 when the detection positions of the arrangement along the direction determined based on the input data acquired by the input data acquisition unit 66 are sequentially detected. Execute the process Further, as described above, the larger the size at which the operation sticks SL and SR associated with the input data are operated, the longer the interval between detection positions detected in order. Further, in the present embodiment, the emulation process execution unit 74 executes the target program based on the operation input to the touch sensor 52 determined by the determination unit 70.
- both the first emulated position and the second emulated position are in the touch state (see FIGS. 12, 14 and 16)
- the detected position corresponding to each of them is detected by the touch sensor 52.
- processing executed by the target device 30 is executed.
- a plurality of detection positions are determined continuously over a plurality of frames, that is, a plurality of times.
- the processing performed by the target device 30 is performed when a plurality of detection positions determined for each frame are sequentially detected according to the acquisition order (frame order) of input data associated with the plurality of detection positions. Is executed (see FIG. 8).
- the process executed by the target device 30 is executed when the detection position of the detection surface of the surface touch sensor 52a is detected.
- the processing executed by the target device 30 is executed when the detection position of the detection surface of the back surface touch sensor 52 b is detected.
- the process executed by the target device 30 is executed when the detection position of the detection surface for both the front surface touch sensor 52a and the rear surface touch sensor 52b is detected.
- the input data acquisition unit 66 acquires input data (S101). Then, the operation mode setting unit 68 determines the operation mode and the number of emulated positions based on the input data and the transition rule data (S102). Then, the value of the operation mode data stored in operation mode data storage unit 64 is set such that operation mode setting unit 68 attains a value corresponding to the operation mode and the number of emulated positions determined in the process shown in S102. It updates (S103).
- the operation mode setting unit 68 confirms whether the value of the operation mode data is "N" (S104).
- N that is, when the operation mode is N mode (S104: Y)
- the target device 30 executes when the emulation process execution unit 74 acquires the input data acquired in the process shown in S101.
- the processing is executed (S105), and the processing shown in this processing example is ended. In this case, it is possible to emulate operations on the operation sticks SL (T) and SR (T) of the target device 30.
- the determination unit 70 determines an acceleration parameter based on the posture acceleration correspondence data and the posture data acquired in the process shown in S101. The value of is determined (S106). At this time, when the value of the operation mode data is “front surface TP1”, “back surface TP1”, or “both sides TP1”, the value of the first acceleration parameter is determined. Further, when the value of the operation mode data is “front surface TP2”, “back surface TP2”, or “both sides TP2”, the values of the first acceleration parameter and the second acceleration parameter are determined.
- the velocity parameter in the frame is determined.
- the value of is determined (S107).
- the determination unit 70 updates the value of the velocity parameter indicated by the velocity parameter data stored in the velocity parameter data storage unit 62 to the value determined in the process shown in S107 (S108).
- the value of the operation mode data is “front surface TP1”, “back surface TP1”, or “both sides TP1”
- the value of the first velocity parameter is determined and updated.
- determination and update of the values of the first velocity parameter and the second velocity parameter are performed.
- decision unit 70 determines the emulated position in the frame. Coordinate values are determined (S109). Then, the determination unit 70 updates the coordinate value of the emulated position indicated by the emulated position data stored in the emulated position data storage unit 60 to the coordinate value determined in the process shown in S109 (S110). At this time, when the value of the operation mode data is “front surface TP1”, “back surface TP1”, or “both sides TP1”, determination and update of coordinate values of the first emulated position are performed.
- the coordinate values of the first emulated position and the second emulated position are determined and updated.
- the operation mode is the double-sided TP mode
- the Y3 coordinate value of the emulated position determined in the process shown in S109 is corrected to 153 when it is smaller than 153.
- the display control unit 72 causes the display 16 to display a screen in which the pointer image I determined based on the operation mode data is located at the position specified based on the emulated position data (S111).
- the display control unit 72 outputs, for example, data representing the screen to the display 16.
- the display 16 displays the screen represented by the data.
- the value of the operation mode data is “front surface TP1”, “back surface TP1”, or “both sides TP1”
- one pointer image I is arranged on the screen.
- the value of the operation mode data is “front surface TP2”, “back surface TP2”, or “both sides TP2”
- two pointer images I are arranged on the screen.
- the determination unit 70 determines a detection position associated with the emulated position in the touch state (S112). Then, the emulation process execution unit 74 executes the process executed by the target device 30 when the detected position determined in the process shown in S112 is detected (S113), and ends the process shown in the present process example. .
- the present invention is not limited to the above-described embodiment.
- the operation sticks SL and SR provided in the controller 14 may not be tiltable sticks, but may be operation members that can slide vertically and horizontally. Then, posture data included in the input data may be associated with the direction and the size of the slide operation.
- the present embodiment may be applied to other than the emulation device 12 that emulates the target device 30.
- the operation on the touch sensor 52 may be emulated by the operation on the operation sticks SL (T) and SL (R).
- the emulation device 12 may incorporate the display 16. Also, the emulation device 12 may be configured from a plurality of casings. Further, the above-described specific character strings and numerical values, and the specific character strings and numerical values in the drawings are merely examples, and the present invention is not limited to these character strings and numerical values.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
Abstract
Description
本発明は、エミュレーション装置、エミュレーション方法、プログラム及び情報記憶媒体に関する。 The present invention relates to an emulation apparatus, an emulation method, a program, and an information storage medium.
ゲーム装置は、大まかに携帯型のものと据置型のものに分類される。携帯型のゲーム装置には、物体の位置を順次検出する検出面を有するタッチセンサを備えたものが多く存在する。このようなゲーム装置ではタッチセンサによる操作入力が可能となっている。一方、据置型のゲーム装置への操作入力はコントローラにより行われることが多い。このようなコントローラには操作スティックを備えたものがある。このような操作スティックには、傾けたり傾けた状態で回転させたりすることが可能なものや、上下左右にスライド操作を行うことが可能なものが存在する。操作スティックを備えたコントローラは、操作スティックが操作された向きや大きさに応じた信号をゲーム装置に送信する。 Game devices are roughly classified into portable devices and stationary devices. Many portable game devices include a touch sensor having a detection surface that sequentially detects the position of an object. In such a game device, operation input by a touch sensor is possible. On the other hand, the operation input to the stationary game device is often performed by the controller. Some such controllers have an operating stick. Among such operation sticks, there are those that can be rotated in an inclined or inclined state, and those that can perform slide operations in the vertical and horizontal directions. The controller provided with the operation stick transmits a signal according to the direction and size in which the operation stick is operated to the game device.
発明者らはタッチセンサを備えたゲーム装置をエミュレートするエミュレーション装置を開発している。以下、エミュレートの対象となるゲーム装置をターゲット装置と呼ぶこととする。ターゲット装置で実行可能なプログラムは、当該エミュレーション装置でも実行可能となる。 The inventors have developed an emulation device that emulates a game device provided with a touch sensor. Hereinafter, the game device to be emulated is referred to as a target device. Programs executable on the target device can also be executed on the emulation device.
ターゲット装置で実行可能なプログラムのなかには、タッチセンサの検出面に対する操作が必須であるものがある。このようなプログラムをエミュレーション装置でも使えるものにするためには、検出面に対する操作を何らかの形でエミュレートする必要がある。 Among the programs that can be executed by the target device, there are some programs that require an operation on the detection surface of the touch sensor. In order to make such a program usable by the emulation device, it is necessary to emulate the operation on the detection surface in some way.
ここで発明者らは、検出面上において物体の位置が検出された際に実行される処理が操作スティックに対する操作によって実行できるようにしてみた。すると、操作スティックを操作する向きを指やスタイラスで検出面をなぞる向きに対応付けることで、操作スティックに対する操作の操作感が、検出面をなぞる操作の操作感と近くなり、良好な操作感が得られることがわかった。 Here, the inventors have made it possible to execute the processing executed when the position of the object is detected on the detection surface by the operation on the operation stick. Then, by associating the direction in which the operation stick is operated with the direction in which the detection surface is traced by the finger or the stylus, the operation feeling of the operation on the operation stick becomes close to the operation feeling of the operation following the detection surface, and a good operation feeling is obtained. Was found to be
以上のようにすることで、コントローラがタッチセンサを備えていなくても、検出面に対する操作が操作感よくエミュレートできることとなる。また、コントローラがタッチセンサを備えている場合についても、検出面に対する操作が操作スティックに対する操作によって操作感よくエミュレートでき、操作の幅が広がることとなる。 By doing as described above, even if the controller does not have a touch sensor, the operation on the detection surface can be emulated with a good sense of operation. Further, even in the case where the controller includes the touch sensor, the operation on the detection surface can be emulated with good feeling of operation by the operation on the operation stick, and the width of the operation is expanded.
なおこのことは、ターゲット装置をエミュレートするエミュレーション装置だけにあてはまるものではない。例えばターゲット装置が操作スティックを備えている場合についても、以上のようにすることで、当該ターゲット装置が備えるタッチセンサの検出面に対する操作が当該操作スティックに対する操作によって操作感よくエミュレートできることとなる。 This is not only true for the emulation device that emulates the target device. For example, even in the case where the target device includes the operation stick, by performing as described above, the operation on the detection surface of the touch sensor included in the target device can be emulated with good feeling of operation by the operation on the operation stick.
本発明は上記課題に鑑みてなされたものであって、その目的の1つは、検出面に対する操作を操作感よくエミュレートできるエミュレーション装置、エミュレーション方法、プログラム及び情報記憶媒体を提供することにある。 The present invention has been made in view of the above problems, and one of the objects thereof is to provide an emulation apparatus, an emulation method, a program, and an information storage medium capable of emulating an operation on a detection surface with good feeling of operation. .
上記課題を解決するために、本発明に係るエミュレーション装置は、物体の位置を順次検出する検出面に対する操作をエミュレートするエミュレーション装置であって、操作スティックが操作された向きに対応付けられる入力データを取得する入力データ取得部と、前記入力データに応じた向きに沿った配置である前記検出面内の複数の位置の関係を決定する決定部と、決定される前記関係に従って配置された複数の位置が前記検出面上において順に検出された際に実行される処理を実行する処理実行部と、を含むことを特徴とする。 In order to solve the above problems, an emulation apparatus according to the present invention is an emulation apparatus that emulates an operation on a detection surface that sequentially detects the position of an object, and input data associated with the direction in which the operation stick is operated. A plurality of input data acquisition units for acquiring a plurality of input data acquisition units, a determination unit for determining a relationship between a plurality of positions in the detection plane that are arranged along the direction according to the input data, And a process execution unit that executes a process to be performed when the position is sequentially detected on the detection surface.
また、本発明に係るエミュレーション方法は、物体の位置を順次検出する検出面に対する操作をエミュレートするエミュレーション方法であって、操作スティックが操作された向きに対応付けられる入力データを取得する入力データ取得ステップと、前記入力データに応じた向きに沿った配置である前記検出面内の複数の位置の関係を決定する決定ステップと、決定される前記関係に従って配置された複数の位置が前記検出面上において順に検出された際に実行される処理を実行する処理実行ステップと、を含むことを特徴とする。 The emulation method according to the present invention is an emulation method that emulates an operation on a detection surface that sequentially detects the position of an object, and acquires input data that acquires input data associated with the direction in which the operation stick is operated. A step of determining a relation between a plurality of positions in the detection plane which is arranged along a direction according to the input data, and a plurality of positions arranged according to the relation determined are on the detection plane And a process execution step of executing a process to be executed when sequentially detected.
また、本発明に係るプログラムは、物体の位置を順次検出する検出面に対する操作をエミュレートするコンピュータに実行させるプログラムであって、操作スティックが操作された向きに対応付けられる入力データを取得する手順、前記入力データに応じた向きに沿った配置である前記検出面内の複数の位置の関係を決定する手順、決定される前記関係に従って配置された複数の位置が前記検出面上において順に検出された際に実行される処理を実行する手順、を含むことを特徴とする。 The program according to the present invention is a program that causes a computer to emulate an operation on a detection surface that sequentially detects the position of an object, and acquires input data associated with the direction in which the operation stick is operated. A procedure of determining a relationship between a plurality of positions in the detection surface that is disposed along a direction according to the input data; a plurality of positions disposed according to the determined relationship are sequentially detected on the detection surface And a step of executing a process to be executed at the same time.
また、本発明に係る情報記憶媒体は、物体の位置を順次検出する検出面に対する操作をエミュレートするコンピュータに実行させるプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体であって、操作スティックが操作された向きに対応付けられる入力データを取得する手順、前記入力データに応じた向きに沿った配置である前記検出面内の複数の位置の関係を決定する手順、決定される前記関係に従って配置された複数の位置が前記検出面上において順に検出された際に実行される処理を実行する手順、を前記コンピュータに実行させることを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。 Further, an information storage medium according to the present invention is a computer readable information storage medium storing a program to be executed by a computer emulating an operation on a detection surface which sequentially detects the position of an object, and an operation stick is operated. A procedure for acquiring input data associated with the direction, a procedure for determining a relationship between a plurality of positions in the detection plane that is an arrangement along the direction according to the input data, and A computer-readable information storage medium storing a program that causes the computer to execute a process that is executed when a plurality of positions are sequentially detected on the detection surface.
本発明では、入力データに応じた向きに沿った配置である検出面内の複数の位置の関係が決定されて、決定される関係に従って配置された複数の位置が検出面上において順に検出された際に実行される処理が実行される。このようにして、本発明によれば、検出面に対する操作を操作感よくエミュレートできることとなる。 In the present invention, the relationship between a plurality of positions in the detection plane, which is an arrangement according to the input data, is determined, and the plurality of positions arranged according to the determined relationship are sequentially detected on the detection plane The process to be executed is executed. Thus, according to the present invention, the operation on the detection surface can be emulated with a good sense of operation.
本発明の一態様では、前記入力データ取得部は、前記操作スティックが操作された向き及び大きさに対応付けられる入力データを取得し、前記決定部は、前記入力データに対応付けられる大きさが大きいほど間隔が長くなるよう前記複数の位置の関係を決定する。 In one aspect of the present invention, the input data acquisition unit acquires input data associated with the direction and size in which the operation stick is operated, and the determination unit determines the size associated with the input data. The relationship between the plurality of positions is determined such that the larger the distance, the longer the interval.
また、本発明の一態様では、前記決定部は、前記検出面内の位置を決定し、前記入力データ取得部は、前記入力データを順次取得し、前記決定部は、前記入力データが取得される度に、前回決定した位置から前記入力データに基づいて決定される向きに沿って離れた位置を決定し、前記処理実行部は、前記決定部により複数回決定される位置が当該位置に対応付けられる前記入力データの取得順序に従って順に検出された際に実行される処理を実行する。 In one aspect of the present invention, the determination unit determines the position in the detection plane, the input data acquisition unit sequentially acquires the input data, and the determination unit acquires the input data. Every time, a position separated along the direction determined based on the input data from the previously determined position is determined, and the processing execution unit corresponds to the position determined multiple times by the determination unit The processing to be executed when sequentially detected according to the acquisition order of the input data to be attached is executed.
この態様では、前記決定部が決定する位置の前記検出面内における位置と略一致する表示部内の位置に画像を表示させる表示制御部、をさらに含んでもよい。 In this aspect, the display control unit may further include a display control unit that causes an image to be displayed at a position in the display unit that substantially matches the position in the detection plane of the position determined by the determination unit.
またこの態様では、前記エミュレーション装置は、多点検出可能な前記検出面に対する操作をエミュレートし、前記入力データ取得部は、複数の操作スティックのそれぞれが操作された向きに対応付けられる前記入力データを順次取得し、前記決定部は、前記入力データが取得される度に、それぞれ前記複数の操作スティックのいずれかに対応付けられる前記検出面内における複数の位置を決定し、前記処理実行部は、前記決定部により複数回決定される複数の位置が、当該複数の位置に対応付けられる前記入力データの取得順序に従って順に検出された際に実行される処理を実行してもよい。 Further, in this aspect, the emulation device emulates an operation on the detection surface capable of multipoint detection, and the input data acquisition unit associates the input data associated with the direction in which each of the plurality of operation sticks is operated. Is sequentially acquired, and the determination unit determines a plurality of positions in the detection plane associated with any of the plurality of operation sticks each time the input data is acquired, and the process execution unit A process may be performed which is performed when a plurality of positions determined a plurality of times by the determination unit are sequentially detected according to the acquisition order of the input data associated with the plurality of positions.
また、本発明に係る別のエミュレーション装置は、タッチセンサに対する入力操作をエミュレートするエミュレーション装置であって、プログラムを実行する実行部と、操作子からの操作入力を受け付けるコントローラと、受け付ける操作入力を前記タッチセンサに対する操作入力に変換する変換部と、を含み、前記実行部は、前記変換部による変換後の前記操作入力に基づいて前記プログラムを実行する、ことを特徴とする。 Another emulation apparatus according to the present invention is an emulation apparatus that emulates an input operation to a touch sensor, and includes an execution unit that executes a program, a controller that receives an operation input from an operator, and an operation input that is received. The conversion unit may convert the operation input to the touch sensor, and the execution unit executes the program based on the operation input after conversion by the conversion unit.
また、本発明に係る別のエミュレーション方法は、タッチセンサに対する入力操作をエミュレートするエミュレーション方法であって、プログラムを実行する実行ステップと、操作子からの操作入力を受け付けるコントローラが受け付ける操作入力を前記タッチセンサに対する操作入力に変換する変換ステップと、を含み、前記実行ステップでは、前記変換部による変換後の前記操作入力に基づいて前記プログラムを実行する、ことを特徴とする。 Another emulation method according to the present invention is an emulation method for emulating an input operation to a touch sensor, the execution step of executing a program, and an operation input received by a controller that receives an operation input from an operator. And a conversion step of converting into an operation input to a touch sensor, wherein the execution step executes the program based on the operation input after conversion by the conversion unit.
また、本発明に係る別のプログラムは、タッチセンサに対する入力操作をエミュレートするコンピュータに実行させるプログラムであって、実行対象のプログラムを実行する手順、操作子からの操作入力を受け付けるコントローラが受け付ける操作入力を前記タッチセンサに対する操作入力に変換する手順、を前記コンピュータに実行させ、前記実行する手順では、前記変換部による変換後の前記操作入力に基づいて前記実行対象のプログラムを実行する、ことを特徴とする。 Further, another program according to the present invention is a program to be executed by a computer emulating an input operation to a touch sensor, and a procedure for executing a program to be executed and an operation received by a controller that receives an operation input from an operation element Causing the computer to execute a procedure for converting an input into an operation input to the touch sensor, and executing the program to be executed based on the operation input after conversion by the converter. It features.
また、本発明に係る別の情報記憶媒体は、タッチセンサに対する入力操作をエミュレートするコンピュータに実行させるプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体であって、実行対象のプログラムを実行する手順、操作子からの操作入力を受け付けるコントローラが受け付ける操作入力を前記タッチセンサに対する操作入力に変換する手順、を前記コンピュータに実行させ、前記実行する手順では、前記変換部による変換後の前記操作入力に基づいて前記実行対象のプログラムを実行する、ことを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。 Another information storage medium according to the present invention is a computer-readable information storage medium storing a program to be executed by a computer emulating an input operation to a touch sensor, and the procedure for executing the program to be executed. A procedure for converting an operation input received by a controller that receives an operation input from an operator into an operation input for the touch sensor is executed by the computer, and in the procedure for executing, based on the operation input after conversion by the conversion unit A computer readable information storage medium storing a program characterized by executing the program to be executed.
本発明の一態様では、前記プログラムは、タッチセンサに対する入力操作を想定して作成されたプログラムである。 In one aspect of the present invention, the program is a program created on the assumption of an input operation on a touch sensor.
また、本発明の一態様では、前記受け付ける操作入力は、操作子が傾倒された向き又は大きさの少なくとも一方に対応付けられる。 Further, in one aspect of the present invention, the received operation input is associated with at least one of the direction or the size in which the operator is tilted.
また、本発明の一態様では、タッチセンサに対する入力操作のエミュレート開始指示の受付に応じて、前記タッチセンサに対する入力操作が行われる位置をエミュレートする位置を示す画像を表示部に表示させる表示制御部、をさらに含む。 Further, according to an aspect of the present invention, in response to the reception of an emulation start instruction for an input operation on a touch sensor, a display unit displays an image indicating a position emulating a position at which the input operation on the touch sensor is performed. And a control unit.
以下、本発明の一実施形態について図面に基づき詳細に説明する。 Hereinafter, an embodiment of the present invention will be described in detail based on the drawings.
図1は、本発明の一実施形態に係る情報処理システム10の全体構成の一例を示す図である。図1に示すように、本実施形態に係る情報処理システム10は、エミュレーション装置12とコントローラ14とディスプレイ16とを含んでいる。
FIG. 1 is a diagram showing an example of the entire configuration of an
本実施形態に係るエミュレーション装置12は、後述する携帯型の情報処理装置(図4A及び図4B参照)をエミュレートする情報処理装置であり、例えば図2に示すように、制御部20、記憶部22、通信部24、入出力部26、カードスロット28を含んでいる。制御部20は、例えばエミュレーション装置12にインストールされるプログラムに従って動作するCPU等のプログラム制御デバイスである。記憶部22は、例えばROMやRAM等の記憶素子やハードディスクドライブなどである。記憶部22には、制御部20によって実行されるプログラムなどが記憶される。通信部24は、例えばネットワークボードや無線LANモジュールなどの通信インタフェースなどである。入出力部26は、HDMI(登録商標)(High-Definition Multimedia Interface)ポートやUSBポートなどの入出力ポートである。カードスロット28は、各種のメモリカード等の情報記憶媒体を挿抜可能なスロットである。カードスロット28は、制御部20からの指示に従って、カードスロット28に挿入されるメモリカード等の情報記憶媒体に記録されたプログラムやデータなどの読み取りや、挿入されるメモリカード等の情報記憶媒体へのデータの書き込みを行う。なお、エミュレーション装置12は、複数のカードスロット28を備えていてもよく、これら複数のカードスロット28が、互いに異なる規格である情報記憶媒体を挿抜可能であってもよい。
The
本実施形態に係るコントローラ14は、エミュレーション装置12に対する操作入力を行うための操作入力装置である。図3Aは、本実施形態に係るコントローラ14の一例の斜視図である。図3Bは、当該コントローラ14の平面図である。図3Cは、当該コントローラ14の背面図である。
The
これらの図に示されるように、コントローラ14は、横長の本体部分に対して、その左右から手前側(図3Bにおける紙面下側)に突出する把持部GL、GRを有している。ユーザは、把持部GL、GRをそれぞれ左右の手で把持してコントローラ14を使用する。
As shown in these drawings, the
コントローラ14の上面左側の、ユーザが把持部GLを左手で把持した状態でその親指により操作可能な位置には、4つの方向キーDK1~DK4や操作スティックSLなどが配置されている。コントローラ14の上面右側の、ユーザが把持部GRを右手で把持した状態でその親指により操作可能な位置には、4つのボタンB1~B4や操作スティックSRが設けられている。コントローラ14の背面左側の、ユーザが把持部GLを左手で把持した状態でその人差し指や中指により操作可能な位置には、ボタンBL1、BL2が設けられている。コントローラ14の背面右側の、ユーザが把持部GRを右手で把持した状態でその人差し指や中指により操作可能な位置には、背面ボタンBR1、BR2が設けられている。また、本実施形態に係るコントローラ14には、その他のボタン等の操作子も設けられている。ユーザは、方向キーDK1~DK4、ボタンB1~B4、BL1、BL2、BR1、BR2を押下したり、操作スティックSL、SRを傾けたりすることで、コントローラ14を用いて各種の操作入力を行うことができる。そして本実施形態では、コントローラ14は、操作入力に対応付けられる入力データをエミュレーション装置12に出力する。
Four directional keys DK1 to DK4, an operation stick SL, and the like are disposed at positions on the upper left side of the
操作スティックSL、SRは、コントローラ14の筐体表面に直立したスティック状の操作部材であり、この直立状態から全方位に所定角度だけ傾倒自在となっている。図3Bに示すように、コントローラ14の筐体長手方向をX1軸方向(図3Bにおいて右方向を正方向とする。)とし、このX軸方向に直交する筐体奥行き方向をY1軸方向(図3Bにおいて上方向を正方向とする。)とすると、操作スティックSL、SRの姿勢(操作状態)は、X1軸方向及びY1軸方向の傾き(姿勢データ(X1,Y1))として、それぞれ0~255のディジタル値がエミュレーション装置12に入力されるようになっている。具体的には、X1=127やX1=128付近は、操作スティックSL、SRがX1軸方向に傾いていないことを示す。また、X1=255は、操作スティックSL、SRがX1軸の正方向(図3Bにおいて右方向)に限界まで倒れていることを示す。さらに、X1=0は、操作スティックSL、SRがX1軸の負方向(図3Bにおいて左方向)に限界まで倒れていることを示す。Y1軸方向についても同様である。本実施形態に係る姿勢データは、上述の入力データにその一部として含まれるデータである。
The operation sticks SL and SR are stick-like operation members erected on the surface of the housing of the
こうして、エミュレーション装置12では、操作スティックSL、SRの現在の傾き状態(姿勢)を把握できるようになっている。また、操作スティックSL、SRは、感圧ボタンとしても構成されており、スティックの軸方向に押下できるようになっている。
Thus, the
また、本実施形態に係るコントローラ14は、角速度を検出するジャイロセンサ、加速度を検出する加速度センサ等のセンサを備えている。
Further, the
また、本実施形態に係るコントローラ14は、USBポートを備えている。コントローラ14は、USBケーブルでエミュレーション装置12と接続することで、入出力部26を介して有線で入力データをエミュレーション装置12に出力することができる。また、本実施形態に係るコントローラ14は、無線通信モジュール等を備えており、通信部24を介して無線で入力データをエミュレーション装置12に出力することができるようにもなっている。また、本実施形態に係るコントローラ14は、USBケーブルで接続されたエミュレーション装置12から給電を受けることができる。
Further, the
本実施形態に係るディスプレイ16は、液晶ディスプレイや有機ELディスプレイ等である。本実施形態では、エミュレーション装置12とディスプレイ16とは、入出力部26を介して、HDMI(登録商標)(High-Definition Multimedia Interface)ケーブル等のケーブルにより接続されている。
The
図4A及び図4Bに、本実施形態に係るエミュレーション装置12によるエミュレートの対象となる携帯型の情報処理装置の一例を示す。図4A及び図4Bに示す情報処理装置をターゲット装置30と呼ぶこととする。図4Aは、ターゲット装置30の一例の正面図である。図4Bは、当該ターゲット装置30の背面図である。図5は、当該ターゲット装置30のハードウェア構成の一例を示す図である。上述のように、本実施形態に係るエミュレーション装置12は、当該ターゲット装置30をエミュレートする。
4A and 4B show an example of a portable information processing apparatus to be emulated by the
本実施形態に係るターゲット装置30は、全体として略矩形の平板状の形状をしている。以下では、筐体の横方向(幅方向)をX2軸方向、縦方向(高さ方向)をY2軸方向とする。また、本実施形態では、筐体の前面から見て左から右へ向かう方向がX2軸正方向、筐体の前面から見て下から上へ向かう方向がY2軸正方向となっている。
The
本実施形態では、ターゲット装置30は、図4A、図4B、及び、図5に示すように、制御部40、記憶部42、通信部44、入出力部46、カードスロット48、表示部50、タッチセンサ52、操作キー54、センサ部56を備えている。
In the present embodiment, as shown in FIGS. 4A, 4B, and 5, the
制御部40、記憶部42、通信部44、入出力部46、カードスロット48の役割は、それぞれ、エミュレーション装置12における制御部20、記憶部22、通信部24、入出力部26、カードスロット28の役割と同様である。
The roles of the
表示部50は、液晶ディスプレイや有機ELディスプレイ等である。
The
タッチセンサ52は、所定の時間間隔で、検出面上における物体(例えば、指等)の接触を順次検出するセンサである。本実施形態に係るターゲット装置30は、2つのタッチセンサ52(表面タッチセンサ52a、及び、裏面タッチセンサ52b)を備えている。本実施形態に係るターゲット装置30の筐体の正面には、表示部50と表面タッチセンサ52aとが一体となったタッチパネル58が設けられている。本実施形態に係るタッチセンサ52は、例えば静電容量式や感圧式、光学式など、検出面上における物体の位置を検出可能なデバイスであれば、どのような方式のものであってもよい。なお、本実施形態では、表面タッチセンサ52aも裏面タッチセンサ52bも、複数の位置(例えば、最大8つの位置)での物体の接触を検出可能な多点検出型タッチセンサであることとする。
The
本実施形態では、裏面タッチセンサ52bの上下方向の長さは、表面タッチセンサ52aの上下方向の長さよりも短い。そして、裏面タッチセンサ52bは、表面タッチセンサ52aに対して上方向にオフセットしている。また、表面タッチセンサ52aの上縁の位置と裏面タッチセンサ52bの上縁の位置とは上下方向において概ね一致している。また、左右方向の長さについては、表面タッチセンサ52aと裏面タッチセンサ52bとで概ね一致している。また、表面タッチセンサ52aや裏面タッチセンサ52bはターゲット装置30の左右方向の中心に位置している。
In the present embodiment, the length in the vertical direction of the back
操作キー54は、ユーザがターゲット装置30に対して行う操作入力に用いる操作部の一種である。本実施形態に係る操作キー54には、例えば、方向キーDK1(T)~DK4(T)、ボタンB1(T)~B4(T)、BL1(T)、BR1(T)、操作スティックSL(T)、SR(T)、などが含まれる。方向キーDK1(T)~DK4(T)は筐体正面左側に配置されている。ボタンB1(T)~B4(T)は筐体正面右側に配置されている。操作スティックSL(T)、SR(T)は筐体正面の左右両側に2つ配置されている。ボタンBL1(T)は、筐体の正面から見て筐体の上側面左側に配置されている。ボタンBR1(T)は、筐体の正面から見て筐体の上側面右側に配置されている。操作スティックSL(T)、SR(T)は、上下左右にスライド可能となっている。
The
センサ部56は、ターゲット装置30の姿勢を検出するデバイスである。本実施形態に係るセンサ部56は、例えば、3軸ジャイロセンサ、3軸モーションセンサ(3軸加速度センサ)、電子コンパス、を含んでいる。
The
本実施形態では例えば、ターゲット装置30で実行可能なプログラムを、エミュレーション装置12で実行することができるようになっている。当該プログラムを、以下、ターゲットプログラムと呼ぶこととする。ターゲットプログラムは、ターゲット装置30のカードスロット48に挿入可能なメモリカードを介して、ターゲット装置30に供給される。また、ターゲットプログラムは、エミュレーション装置12のカードスロット28に挿入可能なメモリカードを介して、エミュレーション装置12に供給される。
In this embodiment, for example, a program that can be executed by the
本実施形態に係るエミュレーション装置12は、所定のフレームレートで(例えば1/60秒毎に)、コントローラ14に対する操作入力を示す入力データを取得する。そして、本実施形態に係るエミュレーション装置12は、ターゲットプログラムを実行することにより、所定のフレームレートで、当該入力データの取得に応じて、当該入力データ等に応じた処理を実行する。例えば、所定のフレームレートで、当該入力データに応じた画面を表すデータの生成及び当該データのディスプレイ16への出力が行われる。本実施形態では、ディスプレイ16には、横960ピクセル、縦544ピクセルの解像度で当該データが表す画面が表示されることとする。
The
また本実施形態では、ターゲットプログラムには、実行されている装置がターゲット装置30であるかエミュレーション装置12であるかを判別する処理が実装されている。そして、当該判別の結果に応じて、ターゲットプログラムは、コントローラ14に対する操作入力、又は、ターゲット装置30が備えるタッチセンサ52や操作キー54に対する操作入力のいずれを、実行される処理の基礎となる操作入力として取り扱うかを決定する。
Further, in the present embodiment, the target program includes a process of determining whether the device being executed is the
また、本実施形態に係るエミュレーション装置12では、所定の操作を行うことで、ターゲット装置30におけるタッチセンサ52の検出面に対する操作をエミュレーション装置12でエミュレートできるか否かを設定することができるようになっている。エミュレーション装置12が実行しているターゲットプログラムがターゲット装置30における検出面に対する操作を前提としたものであることがある。すなわち、ターゲットプログラムが、タッチセンサに対する入力操作を想定して作成されたプログラムであることがある。このような場合には、何らかの形でターゲット装置30における検出面に対する操作をエミュレートできないと、処理を進めることができない。本実施形態では、上述のように処理を進めることができない状況が発生しても、上述の所定の操作を行うことで、検出面に対する操作をエミュレートできるよう設定することで、処理を進めることができるようになっている。
Further, in the
以下の説明では、エミュレーション装置12が、ターゲット装置30におけるタッチセンサ52の検出面に対する操作をエミュレーション装置12で行えるように設定されていることとする。当該設定がされている際には、エミュレーション装置12は、タッチセンサ52の検出面に対する操作をエミュレートできない通常モードとエミュレートできるタッチポインタモードの2つの動作モードを自由に切り替えることができる。以下、通常モードをNモード、タッチポインタモードをTPモードと呼ぶこととする。
In the following description, it is assumed that the
動作モードがNモードである場合は、タッチセンサ52の検出面に対する操作をエミュレートすることはできないが、操作スティックSL(T)、SR(T)に対する操作をエミュレートすることはできる。一方、動作モードがTPモードである場合は、タッチセンサ52の検出面に対する操作をエミュレートすることはできるが、操作スティックSL(T)、SR(T)に対する操作をエミュレートすることができない。
When the operation mode is N mode, the operation on the detection surface of the
本実施形態では、ターゲットプログラムの実行開始時における動作モードはNモードである。動作モードがNモードである場合には、コントローラ14の方向キーDK1~DK4を押下することで、ターゲット装置30において、方向キーDK1(T)~DK4(T)を押下した際に実行される処理が実行される。また、コントローラ14のボタンB1~B4、BL1、又は、BL2を押下することで、ターゲット装置30において、ボタンB1(T)~B4(T)、BL1(T)、又は、BL2(T)を押下した際に実行される処理が実行される。また、操作スティックSL、SRを傾けることで、その傾けた向きに対応する向きへターゲット装置30において操作スティックSL(T)、SR(T)をスライドさせた際に実行される処理が実行される。
In the present embodiment, the operation mode at the start of execution of the target program is N mode. When the operation mode is N mode, pressing direction key DK1 to DK4 of
本実施形態では、動作モードがTPモードである場合には、ターゲット装置30のタッチセンサ52の検出面上における物体の位置がタッチセンサ52によって検出された際にターゲット装置30が実行する処理が実行される。以下、ターゲット装置30のタッチセンサ52の検出面上における物体の位置を検出位置と呼ぶこととする。そして本実施形態では、検出面の検出位置をエミュレーション装置12においてエミュレートする位置を設定する操作を行える。以下、当該検出位置をエミュレーション装置12においてエミュレートする位置をエミュレート位置と呼ぶこととする。本実施形態では、エミュレート位置は、タッチセンサ52に対する入力操作が行われる位置をエミュレートする位置ということとなる。
In the present embodiment, when the operation mode is the TP mode, processing executed by the
本実施形態では、エミュレート位置と検出位置とは1対1で対応付けられる。また、エミュレート位置は、ディスプレイ16内における位置に対応付けられる。例えば本実施形態では、図6に示すように、表面タッチセンサ52aの検出面の検出位置に対応付けられるエミュレート位置が、ディスプレイ16の左下の位置を原点として、右方向をX3軸正方向、上方向をY3軸正方向とした座標値で表現される。ここで、エミュレート位置のX3座標値は、0以上959以下のいずれかの整数値をとり、Y3座標値は、0以上543以下のいずれかの整数値をとる。これらの値は、本実施形態に係るディスプレイ16の解像度に対応している。
In the present embodiment, the emulated position and the detected position are associated on a one-to-one basis. Also, the emulated position is associated with the position in the
そして、本実施形態では、表面タッチセンサ52aの検出面の検出位置は、筐体の正面から見た際の表面タッチセンサ52aの左下の座標値を原点としたX2-Y2座標値で管理される。本実施形態に係るタッチセンサ52は0.5ピクセル単位で検出位置を特定することができるようになっている。そのため本実施形態では、検出位置のX2座標値は、0以上1918以下のいずれかの整数値をとり、検出位置のY2座標値は、0以上1086以下のいずれかの整数値をとる。
Then, in the present embodiment, the detection position of the detection surface of the front
そして本実施形態では、エミュレート位置のディスプレイ16内における相対位置と検出位置の表面タッチセンサ52a内における相対位置とが略一致する。具体的には例えば、エミュレート位置の座標値(x,y)と検出位置の座標値(x’,y’)との関係は、x’=2x、y’=2yとなる。
In the present embodiment, the relative position of the emulated position in the
また、動作モードがTPモードである場合は、タッチセンサ52によって検出位置が検出されている状況がエミュレートされている状態と検出されていない状況がエミュレートされている状態とを切り替えることができる。以下、タッチセンサ52によって検出位置が検出されている状況がエミュレートされている状態をタッチ状態と呼び、タッチセンサ52によって物体の位置が検出されていない状況がエミュレートされている状態をアンタッチ状態と呼ぶこととする。そして本実施形態では、所定のボタンを押下する操作を行うことで、エミュレート位置がタッチ状態となり、離す操作を行うことで、エミュレート位置がアンタッチ状態となる。
Also, when the operation mode is the TP mode, it is possible to switch between a state where the situation where the detection position is detected by the
ここで本実施形態では、エミュレート位置のX3-Y3座標値が(x,y)であり、当該エミュレート位置がタッチ状態であることとする。この場合、座標値が(x,y)に対応付けられる検出位置の座標値(x’,y’)が表面タッチセンサ52aに検出された場合にターゲット装置30が実行する処理が実行されることとなる。そのため、例えば、エミュレート位置の座標値が(x,y)である状態で、上述の所定のボタンを押下して離す操作を一度行うと、座標値が(x’,y’)である検出位置にタップ操作が行われた際にターゲット装置30が行う処理が実行されることとなる。また、エミュレート位置の座標値が(x,y)である状態で、上述の所定のボタンを押下して離す操作を連続して二度行うと、座標値が(x’,y’)である検出位置にダブルタップ操作が行われた際にターゲット装置30が行う処理が実行されることとなる。
Here, in the present embodiment, it is assumed that the X3-Y3 coordinate value of the emulated position is (x, y) and the emulated position is in the touch state. In this case, the process executed by the
また本実施形態では、フレーム毎に、取得される姿勢データ(X1,Y1)に基づいて、エミュレート位置が変化する。すなわち、操作スティックを傾けることでエミュレート位置を変化させることができる。本実施形態では、操作スティックが傾いた向きと、エミュレート位置が変化する向きと、が対応付けられている。例えば、操作スティックをX1軸方向に傾けると、エミュレート位置がX3軸方向に変化する。また、操作スティックをY1軸方向に傾けると、エミュレート位置がY3軸方向に変化する。 Further, in the present embodiment, the emulated position changes based on the acquired posture data (X1, Y1) for each frame. That is, the emulated position can be changed by tilting the operation stick. In the present embodiment, the direction in which the operation stick is inclined is associated with the direction in which the emulated position changes. For example, when the operation stick is tilted in the X1 axis direction, the emulated position changes in the X3 axis direction. When the operation stick is inclined in the Y1 axis direction, the emulated position changes in the Y3 axis direction.
ここで、図7に示すように、あるフレームにおけるエミュレート位置の座標値が(x1,y1)であることとする。そして、次のフレームにおけるエミュレート位置の座標値が(x2,y2)であることとする。そして、さらに次のフレームにおけるエミュレート位置の座標値が(x3,y3)であることとする。そして当該3フレームの間、当該エミュレート位置は、タッチ状態が維持されたこととする。ここで、座標値(x1,y1)、(x2,y2)、(x3,y3)に対応付けられる表面タッチセンサ52aの検出面の検出位置の座標値がそれぞれ(x1’,y1’)、(x2’,y2’)、(x3’,y3’)であることとする。この場合は、(x1’,y1’)、(x2’,y2’)、(x3’,y3’)の順に3フレームにわたって検出位置が検出されるドラッグ操作又はフリック操作がエミュレートされる。この場合は、当該ドラッグ操作又はフリック操作が行われた際にターゲット装置30が行う処理が実行されることとなる。
Here, as shown in FIG. 7, it is assumed that the coordinate value of the emulated position in a certain frame is (x1, y1). The coordinate value of the emulated position in the next frame is assumed to be (x2, y2). Further, it is assumed that the coordinate value of the emulated position in the next frame is (x3, y3). Then, during the three frames, the emulated position is assumed to be that the touch state is maintained. Here, the coordinate values of the detection position of the detection surface of the
また本実施形態では、所定のボタンを押下し、当該ボタンが押下されたまま、エミュレート位置を変化させて、当該ボタンを離したとする。この場合は、所定のボタンが押下された際のエミュレート位置を始点とし、当該ボタンが離された際のエミュレート位置を終点とするドラッグ操作がエミュレートされることとなる。このようにして、本実施形態では、所定のボタンの押下操作、当該ボタンが押下されたままでエミュレート位置を変える操作、当該所定のボタンを離す操作を行うことで、ドラッグ操作がエミュレートできることとなる。 Further, in the present embodiment, it is assumed that a predetermined button is pressed, the emulation position is changed while the button is pressed, and the button is released. In this case, a drag operation with an emulation position when a predetermined button is pressed as a start point and an emulation position when the button is released as an end point is emulated. As described above, in the present embodiment, the drag operation can be emulated by performing the pressing operation of the predetermined button, the operation of changing the emulation position while the button is held down, and the operation of releasing the predetermined button. Become.
また、本実施形態では、エミュレート位置を2つ設定することもできるようになっている。そして、この場合は、入力される操作スティックSLの姿勢データ(X1,Y1)に基づいて一方のエミュレート位置、操作スティックSRの姿勢データ(X1,Y1)に基づいて他方のエミュレート位置が変化する。以下、操作スティックSLの姿勢データ(X1,Y1)に基づいて変化するエミュレート位置を第1エミュレート位置、操作スティックSRの姿勢データ(X1,Y1)に基づいて変化するエミュレート位置を第2エミュレート位置と呼ぶこととする。 Further, in the present embodiment, two emulated positions can be set. In this case, one emulated position is changed based on the attitude data (X1, Y1) of the operation stick SL input, and the other emulated position is changed based on the attitude data (X1, Y1) of the operation stick SR. Do. Hereinafter, the emulated position changing based on the posture data (X1, Y1) of the operation stick SL is referred to as a first emulation position, and the emulated position changing based on the posture data (X1, Y1) of the operation stick SR is referred to as a second It is called an emulated position.
また本実施形態では、ボタンB1又はボタンBL2を押下する操作を行うことで、第1エミュレート位置がタッチ状態となり、離す操作を行うことで、第1エミュレート位置がアンタッチ状態となる。そして、ボタンBR2を押下する操作を行うことで、第2エミュレート位置がタッチ状態となり、離す操作を行うことで、第2エミュレート位置がアンタッチ状態となる。このように、本実施形態では、第1エミュレート位置と第2エミュレート位置のそれぞれについて、タッチ状態とアンタッチ状態とを独立して切り替えることができるようになっている。 Further, in the present embodiment, by performing the operation of pressing the button B1 or the button BL2, the first emulated position is in the touch state, and by performing the releasing operation, the first emulated position is in the untouched state. Then, by performing an operation of pressing the button BR2, the second emulated position is in a touch state, and by performing an operation of releasing the button BR2, the second emulated position is in an untouched state. As described above, in the present embodiment, the touch state and the untouch state can be switched independently for each of the first emulated position and the second emulated position.
ここで、図8に示すように、あるフレームにおける第1エミュレート位置の座標値が(x11,y11)であり、第2エミュレート位置の座標値が(x12,y12)であることとする。そして、次のフレームにおける第1エミュレート位置の座標値が(x21,y21)であり、第2エミュレート位置の座標値が(x22,y22)であることとする。そして、さらに次のフレームにおける第1エミュレート位置の座標値が(x31,y31)であり、第2エミュレート位置の座標値が(x32,y32)であることとする。そして当該3フレームの間、第1エミュレート位置も第2エミュレート位置もタッチ状態が維持されたこととする。ここで、座標値(x11,y11)、(x12,y12)、(x13,y13)に対応付けられる表面タッチセンサ52aの検出面の検出位置の座標値がそれぞれ(x11’,y11’)、(x12’,y12’)、(x13’,y13’)であることとする。また、座標値(x21,y21)、(x22,y22)、(x23,y23)に対応付けられる表面タッチセンサ52aの検出面の検出位置の座標値がそれぞれ(x21’,y21’)、(x22’,y22’)、(x23’,y23’)であることとする。この場合は、(x11’,y11’)及び(x12’,y12’)、(x21’,y21’)及び(x22’,y22’)、(x31’,y31’)及び(x32’,y32’)の順に検出位置が検出される操作がエミュレートされる。すなわち3フレームにわたって1フレームにつき2つの検出位置が検出される操作がエミュレートされる。この場合は、当該操作が行われた際にターゲット装置30が行う処理が実行されることとなる。
Here, as shown in FIG. 8, it is assumed that the coordinate value of the first emulated position in a certain frame is (x11, y11) and the coordinate value of the second emulated position is (x12, y12). The coordinate value of the first emulated position in the next frame is (x21, y21), and the coordinate value of the second emulated position is (x22, y22). The coordinate value of the first emulated position in the next frame is (x31, y31), and the coordinate value of the second emulated position is (x32, y32). Then, it is assumed that the touch state is maintained for the first emulated position and the second emulated position during the three frames. Here, the coordinate values of the detection position of the detection surface of the
2つのエミュレート位置間の距離が次第に近づく場合は、例えばピンチイン操作あるいは表示されている画像を縮小表示させる操作がエミュレートされる。図8には、例えば、ピンチイン操作あるいは表示されている画像を縮小表示させる操作がエミュレートされる場面が示されている。また、2つのエミュレート位置間の距離が次第に離れる場合は、例えば、ピンチアウト操作あるいは表示されている画像を拡大表示させる操作がエミュレートされる。以上のように例えば、所定の2つのボタンを押下する操作、当該2つのボタンが押下されたままの状態で2つのエミュレート位置間の長さを短くする操作、当該2つのボタンを離す操作を行うことで、ピンチイン操作等がエミュレートできることとなる。同様にして、本実施形態では、所定の2つのボタンを押下する操作、当該2つのボタンが押下されたままの状態で2つのエミュレート位置間の長さを長くする操作、当該2つのボタンを離す操作を行うことで、ピンチアウト操作等がエミュレートできることとなる。 If the distance between the two emulated positions gradually approaches, for example, a pinch-in operation or an operation for reducing the displayed image is emulated. FIG. 8 shows, for example, a situation where a pinch-in operation or an operation for reducing the size of a displayed image is emulated. In addition, when the distance between the two emulated positions gradually increases, for example, a pinch out operation or an operation for enlarging and displaying the displayed image is emulated. As described above, for example, an operation of pressing predetermined two buttons, an operation of shortening the length between two emulated positions while the two buttons are pressed, and an operation of releasing the two buttons. By doing this, it is possible to emulate pinch-in operation and the like. Similarly, in the present embodiment, an operation of pressing predetermined two buttons, an operation of increasing the length between two emulated positions while the two buttons are pressed, and the two buttons By performing the release operation, it is possible to emulate a pinch out operation and the like.
以上のようにして、本実施形態によれば、検出面に対する様々な操作を、操作スティックSL、SRに対する操作でエミュレートできることとなる。発明者らは、操作スティックSL、SRに対する操作の操作感が、検出面をなぞる操作の操作感と近く、良好な操作感が得られることがわかった。そのため、本実施形態によれば、検出面に対する操作を操作感よくエミュレートできることとなる。 As described above, according to this embodiment, various operations on the detection surface can be emulated by the operations on the operation sticks SL and SR. The inventors found that the operation feeling of the operation with respect to the operation sticks SL and SR is similar to the operation feeling of the operation of tracing the detection surface, and a good operation feeling can be obtained. Therefore, according to this embodiment, the operation on the detection surface can be emulated with a good feeling of operation.
ここで、姿勢データとエミュレート位置の変化量との関係についてさらに説明する。なお以下の説明は、第1エミュレート位置についても第2エミュレート位置についてもあてはまる。 Here, the relationship between posture data and the amount of change in emulated position will be further described. The following description applies to both the first emulated position and the second emulated position.
本実施形態では、エミュレート位置の座標値(x,y)についての、値xの変化量に対応付けられる値vxと値yの変化量に対応付けられる値vyの組合せ(vx,vy)を表す速度パラメータによって、エミュレート位置の変化量が管理される。本実施形態では、値vxと値vyのそれぞれは、-1以上1以下の値で表現される。また本実施形態では、速度パラメータの値の変化量が、値vxの変化量に対応付けられる値axと値vyの変化量に対応付けられる値ayの組合せ(ax,ay)を表す加速度パラメータによって管理される。本実施形態では、値axと値ayのそれぞれは、-1以上1以下の値で表現される。 In this embodiment, for the coordinate value (x, y) of the emulated position, a combination (vx, vy) of the value vx associated with the change amount of the value x and the value vy associated with the change amount of the value y The amount of change in the emulated position is managed by the speed parameter to be represented. In the present embodiment, each of the value vx and the value vy is expressed by a value of −1 or more and 1 or less. Further, in the present embodiment, the acceleration parameter represents the combination (ax, ay) of the value ax associated with the change amount of the value vx, and the value ay associated with the change amount of the value vy. Managed In the present embodiment, each of the value ax and the value ay is represented by a value of −1 or more and 1 or less.
そして本実施形態では、各フレームについて以下の処理が実行される。 And in this embodiment, the following processing is performed about each frame.
まず、当該フレームに取得される姿勢データ(X1,Y1)に基づいて、図9に示す関係に従って、加速度パラメータの値(ax,ay)が決定される。図9は、姿勢データの値と加速度パラメータの値との対応関係の一例を示す図である。加速度パラメータの値(ax,ay)は、エミュレート位置が移動する加速度に対応付けられる値である。本実施形態では、値X1と値axの関係も値Y1と値ayの関係も同様である。図9に示すように、姿勢データX1の値が、0以上15以下、96以上160以下、241以上255以下のいずれかである場合は、値axは0となる。また、姿勢データY1の値が、0以上15以下、96以上160以下、241以上255以下のいずれかである場合は、値ayは0となる。以下、0以上15以下、96以上160以下、241以上255以下の数値範囲を不感帯と呼ぶこととする。また、16以上95以下、161以上240以下の数値範囲を有感帯と呼ぶこととする。 First, based on the posture data (X1, Y1) acquired in the frame, the values (ax, ay) of the acceleration parameter are determined according to the relationship shown in FIG. FIG. 9 is a view showing an example of the correspondence between the value of posture data and the value of the acceleration parameter. The acceleration parameter values (ax, ay) are values associated with the acceleration at which the emulated position moves. In the present embodiment, the relationship between the value X1 and the value ax is the same as the relationship between the value Y1 and the value ay. As shown in FIG. 9, when the value of the posture data X1 is any one of 0 and 15 or less, 96 or more and 160 or less, and 241 or more and 255 or less, the value ax is 0. Further, when the value of the posture data Y1 is any one of 0 to 15, 96 to 160, and 241 to 255, the value ay is 0. Hereinafter, the numerical range of 0 to 15 and 96 to 160, and 241 to 255 will be referred to as a dead zone. Further, a numerical range of 16 or more and 95 or less and 161 or more and 240 or less will be referred to as a sensitive zone.
そして、特定される加速度パラメータの値(ax,ay)に基づいて、図10に示す規則に従って、速度パラメータを表す値(vx,vy)が更新される。また、更新された速度パラメータを表す値(vx,vy)に基づいて、図10に示す規則に従って、エミュレート位置の座標値(x,y)が更新される。 Then, based on the values (ax, ay) of the identified acceleration parameters, the values (vx, vy) representing the velocity parameters are updated in accordance with the rules shown in FIG. Also, based on the values (vx, vy) representing the updated velocity parameter, the coordinate value (x, y) of the emulated position is updated according to the rule shown in FIG.
図10に示すように、値vxの符号と値axの符号が同一である場合は、値vxは、値vxの現在の値に値axに1/45を乗じた値を加えた値に更新される(vx=vx+1/45ax)(図10における(A1))。一方、値vxの符号と値axの符号が異なる場合は、値vxは、値axに1/45を乗じた値に更新される(vx=1/45ax)(図10における(B1))。また、本実施形態では、値axが0である場合は、値vxは0に更新される(vx=0)(図10における(C1))。 As shown in FIG. 10, when the sign of the value vx and the sign of the value ax are the same, the value vx is updated to the current value of the value vx plus a value obtained by multiplying the value ax by 1/45. (Vx = vx + 1 / 45ax) ((A1) in FIG. 10). On the other hand, when the sign of the value vx and the sign of the value ax are different, the value vx is updated to a value obtained by multiplying the value ax by 1/45 (vx = 1 / 45ax) ((B1) in FIG. 10). Further, in the present embodiment, when the value ax is 0, the value vx is updated to 0 (vx = 0) ((C1) in FIG. 10).
そして、更新後の値vxが1よりも大きい場合は、当該値vxは1と設定され(vx=1)(図10における(D1))、更新後の値vxが-1よりも小さい場合は、当該値vxは-1と設定される(vx=-1)(図10における(E1))。 Then, when the updated value vx is larger than 1, the value vx is set to 1 (vx = 1) ((D1) in FIG. 10), and when the updated value vx is smaller than -1. The value vx is set to −1 (vx = −1) ((E1) in FIG. 10).
そして、値xは、値xの現在の値に値vxを100倍した値を加えた値に更新される(x=x+100vx)(図10における(F1))。なおここで、値xは、0よりも小さい値となった場合は0に設定され(x=0)(図10における(G1))、959より大きい値となった場合は959に設定される(x=959)(図10における(H1))。そして、これら場合は、値vxは0に更新される(vx=0)。 Then, the value x is updated to a value obtained by adding the value obtained by multiplying the value vx by 100 times the current value of the value x (x = x + 100 vx) ((F1) in FIG. 10). Here, the value x is set to 0 when it is smaller than 0 (x = 0) ((G1) in FIG. 10), and is set to 959 when it is larger than 959. (X = 959) ((H1) in FIG. 10). In these cases, the value vx is updated to 0 (vx = 0).
値ayに基づいて、値vy、値yを算出する場合も同様である(図10における(A2)~(H2))。ただし、値yについては、959より大きい値となった場合に959に設定されるのではなく、543より大きい値となった場合に543に設定される(y=543)(図10における(H2))。 The same applies to the case of calculating the value vy and the value y based on the value ay ((A2) to (H2) in FIG. 10). However, the value y is not set to 959 when it is larger than 959, but is set to 543 when it is larger than 543 (y = 543) ((H2 in FIG. 10) )).
以上のようにして、本実施形態では、姿勢データ(X1,Y1)に基づいて、当該フレームにおける更新後のエミュレート位置が決定されることとなる。 As described above, in the present embodiment, the updated emulated position in the frame is determined based on the posture data (X1, Y1).
本実施形態では、エミュレート位置が変化している向きと操作スティックSL、SRが操作された向きとが対応する場合は、1フレームあたりのエミュレート位置の変化量が増大することとなる(図10における(A1)(A2)参照)。また、本実施形態では、姿勢データの値X1及び値Y1が無感帯の数値範囲である場合は、エミュレート位置は変化しない(図10における(C1)(C2)参照)。 In the present embodiment, when the direction in which the emulated position is changing corresponds to the direction in which the operation sticks SL and SR are operated, the amount of change in the emulated position per frame is increased (see FIG. 10 (see (A1) and (A2)). Further, in the present embodiment, when the value X1 and the value Y1 of the posture data are within the numerical range of the dead zone, the emulated position does not change (see (C1) and (C2) in FIG. 10).
また本実施形態では、有感帯においては、操作スティックが操作された大きさ(例えば傾き)が大きいほど、加速度パラメータの値axや値ayの絶対値は大きくなる(図9参照)。そのため、これらいずれの場合も、操作スティックが操作された大きさが大きいほど、値vxの絶対値が大きくなる(図10における(A1)(A2)(B1)(B2)参照)。その結果、操作スティックが操作された大きさが大きいほど、直前のフレームにおけるエミュレート位置と当該フレームにおけるエミュレート位置との間隔は長くなることとなる(図10における(F1)(F2)参照)。 Further, in the present embodiment, in the sensing zone, the absolute value of the value ax or the value ay of the acceleration parameter becomes larger as the size (for example, the inclination) at which the operation stick is operated is larger (see FIG. 9). Therefore, in any of these cases, the larger the size at which the operation stick is operated, the larger the absolute value of the value vx (see (A1) (A2) (B1) (B2) in FIG. 10). As a result, the larger the size at which the operation stick is operated, the longer the distance between the emulated position in the immediately preceding frame and the emulated position in the frame (see (F1) and (F2) in FIG. 10). .
また、本実施形態では値vxや値vyは-1以上1以下の範囲を超えないよう調整される(図10における(D1)(D2)(E1)(E2)参照)。 Further, in the present embodiment, the values vx and vy are adjusted so as not to exceed the range of −1 or more and 1 or less (see (D1), (D2), (E1), and (E2) in FIG. 10).
また、本実施形態では、値xは、0以上959以下の範囲を超えないよう調整されるとともに、この場合は、値vxが0となり、X3軸方向のエミュレート位置の変化が抑制されることとなる(図10における(G1)参照)。また、値yは、0以上543以下の範囲を超えないよう調整されるとともに、この場合は、値vyが0となり、Y3軸方向のエミュレート位置の変化が抑制されることとなる(図10における(G2)参照)。 Further, in the present embodiment, the value x is adjusted so as not to exceed the range of 0 or more and 959 or less, and in this case, the value vx is 0 and the change of the emulated position in the X3 axis direction is suppressed. (See (G1) in FIG. 10). In addition, the value y is adjusted so as not to exceed the range of 0 or more and 543 or less, and in this case, the value vy is 0, and the change of the emulated position in the Y3 axis direction is suppressed (FIG. 10). In (G2)).
以上、表面タッチセンサ52aについてのエミュレート位置の設定について説明したが、本実施形態では、表面タッチセンサ52aの代わりに裏面タッチセンサ52bについてのエミュレート位置の設定も行える。裏面タッチセンサ52bの検出位置も上述のX2-Y2座標値で管理される。ただし、裏面タッチセンサ52bは、表面タッチセンサ52aに対して上方向にオフセットしているので、当該検出位置のX2座標値は、0以上1918以下のいずれかの整数値をとり、Y2座標値は、306以上1086以下のいずれかの整数をとることとなる。そしてこの場合は、図6に示すように、エミュレート位置の座標値(x,y)と裏面タッチセンサ52bの検出位置の座標値(x’,y’)との関係は、x’=2x、y’=780/543y+306となる。
The setting of the emulated position of the front
また本実施形態では、表面タッチセンサ52aと裏面タッチセンサ52bの両面についてのエミュレート位置の設定も行うことができる。この場合は、表面タッチセンサ52aと裏面タッチセンサ52bの両方の検出面についての、X2-Y2平面に垂直な方向に沿って見た際における同じ検出位置に対応付けられる位置がエミュレート位置として設定される。これは例えば、表面タッチセンサ52aと裏面タッチセンサ52bとを指で挟んで動かす動作をエミュレートする場合に好適である。当該動作は、例えば封筒の開封やキャラクタのつまみ上げをシミュレートするプログラムにおいて採用されることが想定される。
Further, in the present embodiment, setting of emulated positions on both sides of the front
本実施形態では、裏面タッチセンサ52bは、表面タッチセンサ52aに対して上方向にオフセットしている。そのため、エミュレート位置のY3座標値が小さい場合は(ここでは例えば153より小さい場合は)、X2-Y2平面に垂直な方向に沿って見た際における、裏面タッチセンサ52bの検出面の検出位置が存在しない。そのため、本実施形態では、上述のようにして決定されたエミュレート位置のY3座標値が153より小さい場合は153に補正される(図10における(G2)参照)。
In the present embodiment, the back
以下、表面タッチセンサ52aについてのエミュレート位置の設定が可能なTPモードを表面TPモードと呼ぶこととする。そして、裏面タッチセンサ52bについてのエミュレート位置の設定が可能なTPモードを裏面TPモードと呼ぶこととする。そして、両面についてのエミュレート位置の設定が可能なTPモードを両面TPモードと呼ぶこととする。
Hereinafter, the TP mode capable of setting the emulated position of the front
そして本実施形態では、エミュレート位置及びエミュレート位置の設定状況を視覚的に認識することができるようにするため、動作モードがTPモードである場合には、ポインタ画像Iが配置された画面がディスプレイ16に表示される(図11~図16参照)。本実施形態では、ポインタ画像Iはエミュレート位置を示す。本実施形態では、ポインタ画像Iに含まれる円形の画像の重心の位置がエミュレート位置となるようポインタ画像Iが配置される。 In the present embodiment, in order to enable visual recognition of the emulating position and the setting situation of the emulating position, when the operation mode is the TP mode, the screen on which the pointer image I is arranged is It is displayed on the display 16 (see FIGS. 11 to 16). In the present embodiment, the pointer image I indicates the emulated position. In the present embodiment, the pointer image I is arranged such that the position of the center of gravity of the circular image included in the pointer image I is the emulated position.
本実施形態では、エミュレート位置のディスプレイ16内における相対位置と検出位置の検出面内における相対位置とが略一致する。本実施形態では、ターゲット装置30の表面タッチセンサ52aと表示部50とは略同じ大きさであり略同じ形状である。そのため、動作モードが表面TPモード又は両面TPモードである場合は、ポインタ画像Iが表示部50に表示されたこととした場合におけるポインタ画像Iの位置と検出位置とは略重畳することとなる。
In the present embodiment, the relative position of the emulated position in the
また本実施形態では、表面TPモード、裏面TPモード、両面TPモードのいずれであるかによって、表示されるポインタ画像Iのデザインが異なる。また本実施形態では、タッチ状態であるのかアンタッチ状態であるのかによっても、表示されるポインタ画像Iのデザインが異なる。 Further, in the present embodiment, the design of the displayed pointer image I differs depending on which of the front side TP mode, the back side TP mode, and the both side TP mode. Further, in the present embodiment, the design of the displayed pointer image I also differs depending on whether it is in the touch state or the untouched state.
図11には、動作モードが表面TPモードである場合の、アンタッチ状態の第1エミュレート位置にポインタ画像Ia1(nt)が配置されアンタッチ状態の第2エミュレート位置にポインタ画像Ia2(nt)が配置された画面が示されている。図12には、動作モードが表面TPモードである場合の、タッチ状態の第1エミュレート位置にポインタ画像Ia1(t)が配置されタッチ状態の第2エミュレート位置にポインタ画像Ia2(t)が配置された画面が示されている。図13には、動作モードが裏面TPモードである場合の、アンタッチ状態の第1エミュレート位置にポインタ画像Ib1(nt)が配置されアンタッチ状態の第2エミュレート位置にポインタ画像Ib2(nt)が配置された画面が示されている。図14には、動作モードが裏面TPモードである場合の、タッチ状態の第1エミュレート位置にポインタ画像Ib1(t)が配置されタッチ状態の第2エミュレート位置にポインタ画像Ib2(t)が配置された画面が示されている。図15には、動作モードが両面TPモードである場合の、アンタッチ状態の第1エミュレート位置にポインタ画像Ic1(nt)が配置されアンタッチ状態の第2エミュレート位置にポインタ画像Ic2(nt)が配置された画面が示されている。図16には、動作モードが両面TPモードである場合の、タッチ状態の第1エミュレート位置にポインタ画像Ic1(t)画配置されタッチ状態の第2エミュレート位置にポインタ画像Ic2(t)が配置された画面が示されている。これらの画面は、ディスプレイ16に表示されることとなる。
In FIG. 11, when the operation mode is the surface TP mode, the pointer image Ia1 (nt) is disposed at the first emulated position in the untouched state, and the pointer image Ia2 (nt) is disposed at the second emulated position in the untouched state. The placed screen is shown. In FIG. 12, when the operation mode is the surface TP mode, the pointer image Ia1 (t) is disposed at the first emulated position in the touch state, and the pointer image Ia2 (t) is disposed at the second emulated position in the touch state. The placed screen is shown. In FIG. 13, when the operation mode is the back surface TP mode, the pointer image Ib1 (nt) is arranged at the first emulated position in the untouched state, and the pointer image Ib2 (nt) is arranged at the second emulated position in the untouched state. The placed screen is shown. In FIG. 14, when the operation mode is the back surface TP mode, the pointer image Ib1 (t) is disposed at the first emulated position in the touch state, and the pointer image Ib2 (t) is disposed at the second emulated position in the touch state. The placed screen is shown. In FIG. 15, the pointer image Ic1 (nt) is arranged at the first emulated position in the untouched state and the pointer image Ic2 (nt) is arranged at the second emulated position in the untouched state when the operation mode is the double-sided TP mode. The placed screen is shown. In FIG. 16, the pointer image Ic1 (t) is disposed at the first emulated position in the touch state and the pointer image Ic2 (t) is disposed at the second emulated position in the touch state when the operation mode is the two-sided TP mode. The placed screen is shown. These screens are displayed on the
ポインタ画像Iは、ターゲットプログラムを実行することにより表示される画面に重畳された状態でディスプレイ16に表示される。なお、図11~図16には、ターゲットプログラムを実行することにより生成される画像は省略されている。
The pointer image I is displayed on the
また本実施形態では、上述のように、ユーザは、コントローラ14を操作することでNモードとTPモードとを自由に切り替えることができるようになっている。以下、NモードとTPモードの切替について、図17を参照しながら説明する。
Further, in the present embodiment, as described above, the user can freely switch between the N mode and the TP mode by operating the
図17は、動作モードの遷移規則の一例を示す図である。本実施形態では、図17に示す遷移規則に従って、NモードとTPモードとが切り替わる。なお、以下の説明では、すべてのエミュレート位置がアンタッチ状態であることとする。 FIG. 17 is a diagram showing an example of transition rules of the operation mode. In the present embodiment, the N mode and the TP mode are switched according to the transition rule shown in FIG. In the following description, it is assumed that all emulated positions are untouched.
動作モードがNモードである場合に、操作スティックSL、SRの少なくとも一方がスティックの軸方向に押下されると、動作モードがTPモードに変更され、エミュレート位置が1つ設定される。本実施形態では、動作モードがNモードである場合に操作スティックSLが押下されると、表面TPモードとなる。この場合は、ディスプレイ16にポインタ画像Ia1が表示される。また本実施形態では、動作モードがNモードである場合に、操作スティックSRが押下されると、裏面TPモードとなる。この場合は、ディスプレイ16にポインタ画像Ib1が表示される。また本実施形態では、動作モードがNモードである場合に、操作スティックSL、SRの両方が押下されると、両面TPモードとなる。この場合は、ディスプレイ16にポインタ画像Ic1が表示される。
When at least one of the operation sticks SL and SR is pressed in the axial direction of the stick when the operation mode is the N mode, the operation mode is changed to the TP mode and one emulated position is set. In the present embodiment, when the operation stick SL is pressed when the operation mode is the N mode, the surface TP mode is set. In this case, the pointer image Ia1 is displayed on the
エミュレート位置が1つ設定されている状態で、姿勢データの値X1又は値Y1のいずれかが有感帯の数値範囲である操作スティックSRの操作入力があると(図9参照)、設定されるエミュレート位置が1つから2つに増加する。この場合は、ディスプレイ16にポインタ画像Ia2、Ib2、又は、Ic2が表示される。
Set when there is an operation input of operation stick SR (see Fig. 9), in which one emulated position is set, and either posture data value X1 or value Y1 is within the numerical range of the sensing range. The emulated position is increased from one to two. In this case, the pointer image Ia2, Ib2 or Ic2 is displayed on the
エミュレート位置が2つ設定されている状態でいずれの操作部材についても操作入力がない状態で所定時間が経過したとする。例えば操作スティックSL、SRについては姿勢データの値X1及びY1のいずれについても有感帯の数値範囲(図9参照)である操作入力がなく、方向キーやボタンの操作入力もない状態で所定時間が経過したとする。この場合は、設定されるエミュレート位置が2つから1つに減少する。この場合、例えば、ポインタ画像Ia2、Ib2、又は、Ic2がディスプレイ16から消去される。
It is assumed that a predetermined time has elapsed with no operation input for any of the operation members in a state where two emulated positions are set. For example, for the operation sticks SL and SR, there is no operation input that is the numerical range of the sensing zone (see FIG. 9) for any of the posture data values X1 and Y1, and there is no operation input for direction keys or buttons. Suppose that has passed. In this case, the emulated positions to be set are reduced from two to one. In this case, for example, the pointer image Ia2, Ib2, or Ic2 is erased from the
動作モードがTPモードである場合に、ボタンB4、操作スティックSL又はSRがスティックの軸方向に押下されると、動作モードがNモードに変更される。この場合は、ディスプレイ16からポインタ画像Iがすべて消去される。
When the operation mode is the TP mode, when the button B4 or the operation stick SL or SR is pressed in the axial direction of the stick, the operation mode is changed to the N mode. In this case, all the pointer images I are erased from the
ここで、以上で説明した内容のまとめとして、本実施形態に係るエミュレーション装置12の機能及びエミュレーション装置12で実行される処理について説明する。
Here, as a summary of the contents described above, the function of the
図18は、本実施形態に係るエミュレーション装置12で実装される機能の一例を示す機能ブロック図である。なお、本実施形態に係るエミュレーション装置12で、図18に示す機能のすべてが実装される必要はなく、また、図18に示す機能以外の機能が実装されていても構わない。
FIG. 18 is a functional block diagram showing an example of functions implemented by the
そして、本実施形態に係るエミュレーション装置12は、図18に示すように、機能的には、例えば、エミュレート位置データ記憶部60、速度パラメータデータ記憶部62、動作モードデータ記憶部64、入力データ取得部66、動作モード設定部68、決定部70、表示制御部72、エミュレーション処理実行部74、を含んでいる。エミュレート位置データ記憶部60、速度パラメータデータ記憶部62、動作モードデータ記憶部64は、記憶部22を主として実装される。入力データ取得部66は、通信部24又は入出力部26を主として実装される。その他の機能は、制御部20を主として実装される。
Then, as shown in FIG. 18, the
そして、以上の機能は、コンピュータであるエミュレーション装置12にインストールされた、以上の機能に対応する指令を含むプログラムを制御部20で実行することにより実装されている。このプログラムは、例えば、光ディスク、磁気ディスク、磁気テープ、光磁気ディスク、フラッシュメモリ等のコンピュータ読み取り可能な情報記憶媒体を介して、あるいは、インターネットなどのコンピュータネットワークを介してエミュレーション装置12に供給される。
The above functions are implemented by the control unit 20 executing a program installed in the
エミュレート位置データ記憶部60は、エミュレート位置の座標値を示すエミュレート位置データを記憶する。エミュレート位置データ記憶部60は、本実施形態では、第1エミュレート位置の座標値を示す第1エミュレート位置データと第2エミュレート位置の座標値を示す第2エミュレート位置データを記憶する。本実施形態では、第1エミュレート位置の座標値及び第2エミュレート位置の座標値の初期値は、例えばディスプレイ16の中心の座標値(480,272)である。
The emulated position
速度パラメータデータ記憶部62は、エミュレート位置の1フレームあたりの変化量に対応付けられる速度パラメータを示す速度パラメータデータを記憶する。速度パラメータデータ記憶部62は、本実施形態では例えば、第1エミュレート位置についての速度パラメータの値を示す第1速度パラメータデータと第2エミュレート位置についての速度パラメータの値を示す第2速度パラメータデータを記憶する。本実施形態では、第1速度パラメータ及び第2速度パラメータの初期値は、例えば(0,0)である。
The velocity parameter
動作モードデータ記憶部64は、動作モード及び設定されるエミュレート位置の数を示す動作モードデータを記憶する。動作モードがNモードである場合は、動作モードデータの値は例えば「N」となる。動作モードが表面TPモードである場合は、設定されるエミュレート位置が1つである際には、動作モードデータの値は例えば「表面TP1」となり、2つである際には、動作モードデータの値は例えば「表面TP2」となる。動作モードが裏面TPモードである場合は、設定されるエミュレート位置が1つである際には、動作モードデータの値は例えば「裏面TP1」となり、2つである際には、動作モードデータの値は例えば「裏面TP2」となる。動作モードが両面TPモードである場合は、設定されるエミュレート位置が1つである際には、動作モードデータの値は例えば「両面TP1」となり、2つである際には、動作モードデータの値は例えば「両面TP2」となる。
The operation mode
入力データ取得部66は、コントローラ14に対する操作入力に対応付けられる入力データを取得する。本実施形態では、入力データ取得部66は、所定のフレームレートで入力データを順次取得する。また本実施形態では、入力データ取得部66は、例えば、操作スティックが操作された向き及び大きさの少なくとも一方に対応付けられる姿勢データを含む入力データを取得する。より具体的には例えば、操作スティックが傾倒された向き及び大きさの少なくとも一方に対応付けられる姿勢データを含む入力データが取得される。入力データ取得部66は、本実施形態では、例えば、操作スティックSLの姿勢データ(X1,Y1)、操作スティックSRの姿勢データ(X1,Y1)を取得する。また、入力データ取得部66は、方向キーDK1~DK4やボタンB1~B4、BL1、BL2、BR1、BR2などが押下されているか否かを示すデータも取得する。
The input
動作モード設定部68は、入力データの取得に応じて、図17に示す遷移規則に従って、入力データに基づいて当該フレームにおける動作モード及びエミュレート位置の数を決定する。本実施形態では、動作モード設定部68は、図17に示す動作モードの遷移規則を示す遷移規則データを保持している。そして、動作モード設定部68は、遷移規則データと入力データ取得部66が取得する入力データとに基づいて、当該フレームにおける動作モード及びエミュレート位置の数を決定する。そして、動作モード設定部68は、動作モードデータ記憶部64に記憶されている動作モードデータの値を更新する。
The operation
決定部70は、入力データ取得部66が取得する入力データに応じた向きに沿った配置である検出面内の複数の位置の関係を決定する。本実施形態では、決定部70は、入力データ取得部66が取得する入力データに基づいてエミュレート位置を決定する。本実施形態では、決定部70が、コントローラ14が受け付ける操作入力をタッチセンサ52に対する操作入力に変換する変換部としての役割を担うこととなる。また、本実施形態では、決定部70は、入力データが取得される度に、前回決定したエミュレート位置から、姿勢データに基づいて決定される向きに沿って離れた位置を、当該フレームにおけるエミュレート位置として決定する。なお、決定部70は、複数のエミュレート位置を決定してもよい。そして、決定部70は、エミュレート位置に基づいて検出位置を決定する。なお、決定部70は、入力データが取得される度に複数の検出位置を決定してもよい。なお、決定部70は、例えば、入力データに基づいて、前回決定したエミュレート位置を始点とした際の、当該フレームにおけるエミュレート位置の位置ベクトルを決定してもよい。具体的には例えば、前回決定したエミュレート位置に対する当該フレームにおけるエミュレート位置の向き及び前回決定したエミュレート位置と当該フレームにおけるエミュレート位置との間の長さが決定されてもよい。
The
本実施形態では、決定部70は、図9に示すような、姿勢データの値と加速度パラメータの値との対応関係を示す姿勢加速度対応関係データを保持している。そして決定部70は、例えば姿勢加速度対応関係データと入力データ取得部66が取得する姿勢データとに基づいて、加速度パラメータの値を決定する。以下、操作スティックSLの姿勢データの値に基づいて値が決定される加速度パラメータを第1加速度パラメータと呼び、操作スティックSRの姿勢データの値に基づいて値が決定される加速度パラメータを第2加速度パラメータと呼ぶこととする。
In the present embodiment, the
また本実施形態では、決定部70は、図10に示すような、速度パラメータの値やエミュレート位置の座標値を決定する規則を示す決定規則データを保持している。そして決定部70は、例えば決定規則データと決定される加速度パラメータの値とに基づいて、速度パラメータの値及びエミュレート位置の座標値を決定する。そして、決定部70は、速度パラメータデータ記憶部62に記憶されている速度パラメータデータが示す速度パラメータの値とエミュレート位置データ記憶部60に記憶されているエミュレート位置データが示すエミュレート位置の座標値を更新する。
Further, in the present embodiment, the
また本実施形態では、決定部70は、図6に示すような、エミュレート位置の座標値とタッチセンサ52の検出面における検出位置の座標値との対応関係を示す座標対応関係データを保持している。そして決定部70は、タッチ状態であるエミュレート位置が存在する場合は、当該エミュレート位置に対応付けられる検出位置を決定する。
Further, in the present embodiment, the
決定部70はまた、動作モードが両面TPモードである場合に起こりうる、エミュレート位置データが示すエミュレート位置のY3座標値の補正を行う(図10参照)。
The
表示制御部72は、エミュレート位置の決定に応じてポインタ画像Iをディスプレイ16に表示させる。本実施形態では、表示制御部72は、動作モードデータ及びエミュレート位置がタッチ状態であるか否かに基づいて決定されるポインタ画像Iが、エミュレート位置データに基づいて特定される位置に配置された画面をディスプレイ16に表示させる。本実施形態では、エミュレート位置のディスプレイ16内における相対位置と検出位置の表面タッチセンサ52a内における相対位置とが略一致する。そのため、表示制御部72は、検出位置の検出面内における相対位置と略一致するディスプレイ16内の位置にポインタ画像Iを表示させることとなる。また本実施形態では、表示制御部72は、タッチセンサ52に対する入力操作のエミュレート開始指示の受付、ここでは例えば、動作モードをNモードからTPモードに遷移させる指示の受付に応じて、ポインタ画像Iをディスプレイ16に表示させる。当該指示は、本実施形態では例えば、動作モードがNモードである場合に受け付ける操作スティックSL及び操作スティックSRのうちの少なくとも一方の押下操作に相当する。
The
エミュレーション処理実行部74は、本実施形態では例えば、決定部70が決定する関係に従って配置された複数の位置が検出面上において順に検出された際に実行される処理を実行する。本実施形態では、エミュレーション処理実行部74は、決定部70が決定する検出位置がタッチセンサ52により検出された際にターゲット装置30で実行される処理を実行する。エミュレーション処理実行部74は、本実施形態では、入力データ取得部66が取得する入力データに基づいて決定される向きに沿った配置の検出位置が順に検出された際にターゲット装置30で実行される処理を実行する。また、上述のように、入力データに対応付けられる操作スティックSL、SRが操作された大きさが大きいほど、順に検出される検出位置の間隔は長くなる。また本実施形態では、エミュレーション処理実行部74は、決定部70により決定されるタッチセンサ52に対する操作入力に基づいて、ターゲットプログラムを実行する。
In the present embodiment, for example, the emulation
また、第1のエミュレート位置と第2のエミュレート位置の両方がタッチ状態である場合は(図12、図14、及び、図16参照)、それぞれに対応付けられる検出位置がタッチセンサ52に検出された際にターゲット装置30で実行される処理が実行される。
In addition, when both the first emulated position and the second emulated position are in the touch state (see FIGS. 12, 14 and 16), the detected position corresponding to each of them is detected by the
また、複数のフレームにわたって、すなわち複数回、連続して複数の検出位置が決定されたとする。この場合は、それぞれ複数の検出位置に対応付けられる入力データの取得順序(フレーム順)に従って、各フレームにつき決定される複数の検出位置が順に検出された際にターゲット装置30で実行される処理が実行される(図8参照)。
Further, it is assumed that a plurality of detection positions are determined continuously over a plurality of frames, that is, a plurality of times. In this case, the processing performed by the
動作モードが表面TPモードである場合は、表面タッチセンサ52aの検出面の検出位置が検出された際にターゲット装置30で実行される処理が実行される。動作モードが裏面TPモードである場合は、裏面タッチセンサ52bの検出面の検出位置が検出された際にターゲット装置30で実行される処理が実行される。動作モードが両面TPモードである場合は、表面タッチセンサ52aと裏面タッチセンサ52bの両方についての検出面の検出位置が検出された際にターゲット装置30で実行される処理が実行される。
When the operation mode is the surface TP mode, the process executed by the
ここで、本実施形態に係るエミュレーション装置12で各フレームについて行われる処理の流れの一例を、図19に示すフロー図を参照しながら説明する。
Here, an example of the flow of processing performed for each frame by the
まず、入力データ取得部66が、入力データを取得する(S101)。そして、動作モード設定部68が、当該入力データ及び遷移規則データに基づいて、動作モード、及び、エミュレート位置の数を決定する(S102)。そして、動作モード設定部68が、S102に示す処理で決定された動作モード及びエミュレート位置の数に応じた値となるよう、動作モードデータ記憶部64に記憶されている動作モードデータの値を更新する(S103)。
First, the input
そして、動作モード設定部68は、動作モードデータの値が「N」であるか否かを確認する(S104)。「N」である場合、すなわち動作モードがNモードである場合は(S104:Y)、エミュレーション処理実行部74が、S101に示す処理で取得した入力データを取得した際にターゲット装置30が実行する処理を実行して(S105)、本処理例に示す処理を終了する。この場合は、ターゲット装置30の操作スティックSL(T)、SR(T)に対する操作をエミュレートすることが可能となる。
Then, the operation
一方、「N」でない場合、すなわち動作モードがTPモードである場合は(S104:N)、決定部70は、姿勢加速度対応データとS101に示す処理で取得した姿勢データとに基づいて、加速度パラメータの値を決定する(S106)。このとき、動作モードデータの値が「表面TP1」、「裏面TP1」、又は、「両面TP1」である場合は、第1加速度パラメータの値が決定される。また、動作モードデータの値が「表面TP2」、「裏面TP2」、又は、「両面TP2」である場合は、第1加速度パラメータ及び第2加速度パラメータの値が決定される。
On the other hand, if it is not "N", that is, if the operation mode is the TP mode (S104: N), the
そして、決定部70は、決定規則データと速度パラメータデータ記憶部62に記憶されている速度パラメータデータの値とS106に示す処理で決定された加速度パラメータの値とに基づいて、当該フレームにおける速度パラメータの値を決定する(S107)。そして、決定部70は、速度パラメータデータ記憶部62に記憶されている速度パラメータデータが示す速度パラメータの値を、S107に示す処理で決定された値に更新する(S108)。S107及びS108に示す処理において、動作モードデータの値が「表面TP1」、「裏面TP1」、又は、「両面TP1」である場合は、第1速度パラメータの値の決定及び更新が行われる。また、動作モードデータの値が「表面TP2」、「裏面TP2」、又は、「両面TP2」である場合は、第1速度パラメータ及び第2速度パラメータの値の決定及び更新が行われる。
Then, based on the determination rule data, the value of the velocity parameter data stored in the velocity parameter
そして、決定部70は、エミュレート位置データ記憶部60に記憶されているエミュレート位置データと、S107に示す処理で決定された速度パラメータの値と、に基づいて、当該フレームにおけるエミュレート位置の座標値を決定する(S109)。そして、決定部70は、エミュレート位置データ記憶部60に記憶されているエミュレート位置データが示すエミュレート位置の座標値を、S109に示す処理で決定された座標値に更新する(S110)。このとき動作モードデータの値が「表面TP1」、「裏面TP1」、又は、「両面TP1」である場合は、第1エミュレート位置の座標値の決定及び更新が行われる。また、動作モードデータの値が「表面TP2」、「裏面TP2」、又は、「両面TP2」である場合は、第1エミュレート位置及び第2エミュレート位置の座標値の決定及び更新が行われる。また、動作モードが両面TPモードである場合は、S109に示す処理で決定されたエミュレート位置のY3座標値が153より小さい場合は153に補正される。
Then, based on the emulated position data stored in emulated position
そして、表示制御部72が、動作モードデータに基づいて決定されるポインタ画像Iが、エミュレート位置データに基づいて特定される位置に配置された画面をディスプレイ16に表示させる(S111)。S111に示す処理では、表示制御部72は、例えば、当該画面を表すデータをディスプレイ16に出力する。そして、ディスプレイ16は当該データが表す画面を表示する。このとき動作モードデータの値が「表面TP1」、「裏面TP1」、又は、「両面TP1」である場合は、ポインタ画像Iは画面に1つ配置される。また、動作モードデータの値が「表面TP2」、「裏面TP2」、又は、「両面TP2」である場合は、ポインタ画像Iは画面に2つ配置される。
Then, the
そして、決定部70が、タッチ状態であるエミュレート位置に対応付けられる検出位置を決定する(S112)。そして、エミュレーション処理実行部74が、S112に示す処理で決定された検出位置が検出された際にターゲット装置30で実行される処理を実行して(S113)、本処理例に示す処理を終了する。
Then, the
なお、本発明は上述の実施形態に限定されるものではない。 The present invention is not limited to the above-described embodiment.
例えば、コントローラ14が備える操作スティックSL、SRが、傾倒自在なスティックではなく上下左右にスライド可能な操作部材であっても構わない。そして、入力データに含まれる姿勢データが、当該スライド操作がされた向き及び大きさに対応付けられるものであってもよい。
For example, the operation sticks SL and SR provided in the
また本実施形態を、ターゲット装置30をエミュレートするエミュレート装置12以外に適用してもよい。例えば、ターゲット装置30において、上述のようにして、操作スティックSL(T)、SL(R)に対する操作によって、タッチセンサ52に対する操作をエミュレートできるようにしてもよい。
Further, the present embodiment may be applied to other than the
また、エミュレーション装置12がディスプレイ16を内蔵していてもよい。また、エミュレーション装置12が複数の筐体から構成されていてもよい。また、上記の具体的な文字列や数値、並びに、図面中の具体的な文字列や数値は例示であり、これらの文字列や数値には限定されない。
Also, the
Claims (15)
操作スティックが操作された向きに対応付けられる入力データを取得する入力データ取得部と、
前記入力データに応じた向きに沿った配置である前記検出面内の複数の位置の関係を決定する決定部と、
決定される前記関係に従って配置された複数の位置が前記検出面上において順に検出された際に実行される処理を実行する処理実行部と、
を含むことを特徴とするエミュレーション装置。 An emulation apparatus that emulates an operation on a detection surface that sequentially detects the position of an object, comprising:
An input data acquisition unit that acquires input data associated with the direction in which the operation stick is operated;
A determination unit configured to determine a relationship between a plurality of positions in the detection plane, which is disposed along a direction according to the input data;
A process execution unit that executes a process to be performed when a plurality of positions arranged according to the determined relationship are sequentially detected on the detection surface;
An emulation apparatus comprising:
前記決定部は、前記入力データに対応付けられる大きさが大きいほど間隔が長くなるよう前記複数の位置の関係を決定する、
ことを特徴とする請求項1に記載のエミュレーション装置。 The input data acquisition unit acquires input data associated with the direction and size in which the operation stick is operated;
The determination unit determines the relationship between the plurality of positions so that the interval becomes longer as the size associated with the input data is larger.
The emulation apparatus according to claim 1, wherein
前記入力データ取得部は、前記入力データを順次取得し、
前記決定部は、前記入力データが取得される度に、前回決定した位置から前記入力データに基づいて決定される向きに沿って離れた位置を決定し、
前記処理実行部は、前記決定部により複数回決定される位置が当該位置に対応付けられる前記入力データの取得順序に従って順に検出された際に実行される処理を実行する、
ことを特徴とする請求項1又は2に記載のエミュレーション装置。 The determination unit determines the position in the detection plane,
The input data acquisition unit sequentially acquires the input data,
The determination unit determines, each time the input data is acquired, a position away from the previously determined position along the direction determined based on the input data.
The process execution unit executes a process that is executed when a position determined a plurality of times by the determination unit is sequentially detected according to an acquisition order of the input data associated with the position.
The emulation apparatus according to claim 1 or 2, wherein
ことを特徴とする請求項3に記載のエミュレーション装置。 And a display control unit configured to display an image at a position in the display unit that substantially matches the position in the detection plane of the position determined by the determination unit.
The emulation apparatus according to claim 3, characterized in that:
前記入力データ取得部は、複数の操作スティックのそれぞれが操作された向きに対応付けられる前記入力データを順次取得し、
前記決定部は、前記入力データが取得される度に、それぞれ前記複数の操作スティックのいずれかに対応付けられる前記検出面内における複数の位置を決定し、
前記処理実行部は、前記決定部により複数回決定される複数の位置が、当該複数の位置に対応付けられる前記入力データの取得順序に従って順に検出された際に実行される処理を実行する、
ことを特徴とする請求項3又は4に記載のエミュレーション装置。 The emulation apparatus emulates an operation on the detection surface capable of multipoint detection;
The input data acquisition unit sequentially acquires the input data associated with the direction in which each of the plurality of operation sticks is operated;
The determination unit determines a plurality of positions in the detection plane associated with any of the plurality of operation sticks each time the input data is acquired.
The process execution unit executes a process to be performed when a plurality of positions determined a plurality of times by the determination unit are sequentially detected according to an acquisition order of the input data associated with the plurality of positions.
The emulation apparatus according to claim 3 or 4, characterized in that:
プログラムを実行する実行部と、
操作子からの操作入力を受け付けるコントローラと、
受け付ける操作入力を前記タッチセンサに対する操作入力に変換する変換部と、を含み、
前記実行部は、前記変換部による変換後の前記操作入力に基づいて前記プログラムを実行する、
ことを特徴とするエミュレーション装置。 An emulation apparatus that emulates an input operation to a touch sensor, comprising:
An execution unit that executes a program,
A controller that accepts an operation input from an operator,
A conversion unit that converts an operation input to be received into an operation input to the touch sensor;
The execution unit executes the program based on the operation input converted by the conversion unit.
An emulation apparatus characterized by
ことを特徴とする請求項6に記載のエミュレーション装置。 The program is a program created on the assumption of an input operation to the touch sensor,
7. The emulation apparatus according to claim 6, wherein:
ことを特徴とする請求項6又は7に記載のエミュレーション装置。 The received operation input is associated with at least one of the direction or the size in which the operator is tilted.
The emulation apparatus according to claim 6 or 7, characterized in that:
ことを特徴とする請求項6から8のいずれか一項に記載のエミュレーション装置。 And a display control unit for displaying on the display unit an image indicating a position emulating a position at which the input operation to the touch sensor is performed in response to reception of an emulation start instruction of the input operation to the touch sensor.
The emulation apparatus according to any one of claims 6 to 8, characterized in that:
操作スティックが操作された向きに対応付けられる入力データを取得する入力データ取得ステップと、
前記入力データに応じた向きに沿った配置である前記検出面内の複数の位置の関係を決定する決定ステップと、
決定される前記関係に従って配置された複数の位置が前記検出面上において順に検出された際に実行される処理を実行する処理実行ステップと、
を含むことを特徴とするエミュレーション方法。 An emulation method for emulating an operation on a detection surface that sequentially detects the position of an object, comprising:
An input data acquisition step of acquiring input data associated with the direction in which the operation stick is operated;
A determination step of determining a relationship between a plurality of positions in the detection plane, which is an arrangement along an orientation according to the input data;
A process execution step of executing a process to be performed when a plurality of positions arranged according to the determined relationship are sequentially detected on the detection surface;
An emulation method characterized by including:
操作スティックが操作された向きに対応付けられる入力データを取得する手順、
前記入力データに応じた向きに沿った配置である前記検出面内の複数の位置の関係を決定する手順、
決定される前記関係に従って配置された複数の位置が前記検出面上において順に検出された際に実行される処理を実行する手順、
を前記コンピュータに実行させることを特徴とするプログラム。 A program that is executed by a computer that emulates an operation on a detection surface that sequentially detects the position of an object.
A procedure for acquiring input data associated with the direction in which the operation stick is operated;
A procedure of determining a relationship between a plurality of positions in the detection plane, which is disposed along an orientation according to the input data;
A procedure for executing processing executed when a plurality of positions arranged according to the determined relationship are sequentially detected on the detection surface;
A program that causes the computer to execute the program.
操作スティックが操作された向きに対応付けられる入力データを取得する手順、
前記入力データに応じた向きに沿った配置である前記検出面内の複数の位置の関係を決定する手順、
決定される前記関係に従って配置された複数の位置が前記検出面上において順に検出された際に実行される処理を実行する手順、
を前記コンピュータに実行させることを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。 A computer-readable information storage medium storing a program that causes a computer to emulate an operation on a detection surface that sequentially detects the position of an object.
A procedure for acquiring input data associated with the direction in which the operation stick is operated;
A procedure of determining a relationship between a plurality of positions in the detection plane, which is disposed along an orientation according to the input data;
A procedure for executing processing executed when a plurality of positions arranged according to the determined relationship are sequentially detected on the detection surface;
A computer readable information storage medium storing a program for causing the computer to execute the program.
プログラムを実行する実行ステップと、
操作子からの操作入力を受け付けるコントローラが受け付ける操作入力を前記タッチセンサに対する操作入力に変換する変換ステップと、を含み、
前記実行ステップでは、前記変換部による変換後の前記操作入力に基づいて前記プログラムを実行する、
ことを特徴とするエミュレーション方法。 An emulation method for emulating an input operation to a touch sensor, comprising:
An execution step of executing a program,
And converting the operation input received by the controller receiving the operation input from the operation element into the operation input to the touch sensor,
In the execution step, the program is executed based on the operation input after conversion by the conversion unit.
Emulation method characterized by
実行対象のプログラムを実行する手順、
操作子からの操作入力を受け付けるコントローラが受け付ける操作入力を前記タッチセンサに対する操作入力に変換する手順、を前記コンピュータに実行させ、
前記実行する手順では、前記変換部による変換後の前記操作入力に基づいて前記実行対象のプログラムを実行する、
ことを特徴とするプログラム。 A program to be executed by a computer emulating an input operation to a touch sensor,
Steps to execute the program to be executed
Causing the computer to execute a procedure of converting an operation input received by a controller receiving an operation input from an operation element into an operation input to the touch sensor;
In the execution procedure, the execution target program is executed based on the operation input after conversion by the conversion unit.
A program characterized by
実行対象のプログラムを実行する手順、
操作子からの操作入力を受け付けるコントローラが受け付ける操作入力を前記タッチセンサに対する操作入力に変換する手順、を前記コンピュータに実行させ、
前記実行する手順では、前記変換部による変換後の前記操作入力に基づいて前記実行対象のプログラムを実行する、
ことを特徴とするプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。 A computer readable information storage medium storing a program to be executed by a computer emulating an input operation to a touch sensor, the computer readable information storage medium comprising:
Steps to execute the program to be executed
Causing the computer to execute a procedure of converting an operation input received by a controller receiving an operation input from an operation element into an operation input to the touch sensor;
In the execution procedure, the execution target program is executed based on the operation input after conversion by the conversion unit.
A computer readable information storage medium storing a program characterized by the above.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015535497A JP5997388B2 (en) | 2013-09-06 | 2014-09-03 | Emulation apparatus, emulation method, program, and information storage medium |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013-185636 | 2013-09-06 | ||
| JP2013185636 | 2013-09-06 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2015033967A1 true WO2015033967A1 (en) | 2015-03-12 |
Family
ID=52628436
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2014/073220 Ceased WO2015033967A1 (en) | 2013-09-06 | 2014-09-03 | Emulation device, emulation method, program, and information storage medium |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP5997388B2 (en) |
| WO (1) | WO2015033967A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115542827A (en) * | 2021-06-30 | 2022-12-30 | 欧姆龙株式会社 | Simulation system, method of simulation system, and computer-readable data storage medium |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001290592A (en) * | 2000-04-10 | 2001-10-19 | Sharp Corp | Finger-mounted pointing device |
| JP2001306248A (en) * | 2000-04-20 | 2001-11-02 | Cyber Sign Japan Inc | Electronic equipment equipped with signature inputting function |
| JP2009205685A (en) * | 2008-02-26 | 2009-09-10 | Apple Inc | Simulation of multi-point gesture by single pointing device |
| JP2011053770A (en) * | 2009-08-31 | 2011-03-17 | Nifty Corp | Information processing apparatus and input processing method |
| JP2011257992A (en) * | 2010-06-09 | 2011-12-22 | Fujitsu Component Ltd | Conversion device and program |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011107911A (en) * | 2009-11-16 | 2011-06-02 | Fujitsu Component Ltd | Program, apparatus and system for processing information |
-
2014
- 2014-09-03 WO PCT/JP2014/073220 patent/WO2015033967A1/en not_active Ceased
- 2014-09-03 JP JP2015535497A patent/JP5997388B2/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001290592A (en) * | 2000-04-10 | 2001-10-19 | Sharp Corp | Finger-mounted pointing device |
| JP2001306248A (en) * | 2000-04-20 | 2001-11-02 | Cyber Sign Japan Inc | Electronic equipment equipped with signature inputting function |
| JP2009205685A (en) * | 2008-02-26 | 2009-09-10 | Apple Inc | Simulation of multi-point gesture by single pointing device |
| JP2011053770A (en) * | 2009-08-31 | 2011-03-17 | Nifty Corp | Information processing apparatus and input processing method |
| JP2011257992A (en) * | 2010-06-09 | 2011-12-22 | Fujitsu Component Ltd | Conversion device and program |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115542827A (en) * | 2021-06-30 | 2022-12-30 | 欧姆龙株式会社 | Simulation system, method of simulation system, and computer-readable data storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| JPWO2015033967A1 (en) | 2017-03-02 |
| JP5997388B2 (en) | 2016-09-28 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9454834B2 (en) | Storage medium storing image processing program for implementing controlled image display according to input coordinate, and information processing device | |
| CN102317892B (en) | Method of controlling information input device, information input device, program and information storage medium | |
| CN102870069B (en) | Information storage medium, message input device and control method thereof | |
| JP5808712B2 (en) | Video display device | |
| US9433857B2 (en) | Input control device, input control method, and input control program | |
| US8098879B2 (en) | Information processing device, image movement instructing method, and information storage medium | |
| US9223422B2 (en) | Remote controller and display apparatus, control method thereof | |
| US8669937B2 (en) | Information processing apparatus and computer-readable medium | |
| JP2006146556A (en) | Image display processing program and image display processing device | |
| WO2012043079A1 (en) | Information processing device | |
| JP6483556B2 (en) | Operation recognition device, operation recognition method and program | |
| JP5374564B2 (en) | Drawing apparatus, drawing control method, and drawing control program | |
| US7922588B2 (en) | Storage medium having game program stored thereon and game apparatus | |
| US10095277B2 (en) | Electronic apparatus and display control method thereof | |
| JP5299892B2 (en) | Display control program and information processing apparatus | |
| JP6270495B2 (en) | Information processing apparatus, information processing method, computer program, and storage medium | |
| US9665232B2 (en) | Information-processing device, storage medium, information-processing method, and information-processing system for enlarging or reducing an image displayed on a display device | |
| JP6100497B2 (en) | Information processing program, information processing apparatus, information processing system, and image display method | |
| CN105453012B (en) | Cursor position control device, cursor position control method, program and information storage medium | |
| JP5997388B2 (en) | Emulation apparatus, emulation method, program, and information storage medium | |
| CN105630204A (en) | Mouse simulation system and method | |
| JP5841023B2 (en) | Information processing apparatus, information processing method, program, and information storage medium | |
| CN109426405A (en) | Display methods and display device in portable terminal | |
| US20140160039A1 (en) | Electronic Apparatus, Control Method of an Electronic Apparatus, And Computer Readable Storage Medium | |
| CN112433624A (en) | Inclination angle obtaining method and device and electronic equipment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14842283 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2015535497 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 14842283 Country of ref document: EP Kind code of ref document: A1 |