WO2014103635A1 - オブジェクト選択方法、プログラムを記憶する記憶媒体及び情報処理装置 - Google Patents

オブジェクト選択方法、プログラムを記憶する記憶媒体及び情報処理装置 Download PDF

Info

Publication number
WO2014103635A1
WO2014103635A1 PCT/JP2013/082553 JP2013082553W WO2014103635A1 WO 2014103635 A1 WO2014103635 A1 WO 2014103635A1 JP 2013082553 W JP2013082553 W JP 2013082553W WO 2014103635 A1 WO2014103635 A1 WO 2014103635A1
Authority
WO
WIPO (PCT)
Prior art keywords
screen
user
displayed
objects
group
Prior art date
Application number
PCT/JP2013/082553
Other languages
English (en)
French (fr)
Inventor
貴弘 中
俊治 矢部
Original Assignee
グリー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by グリー株式会社 filed Critical グリー株式会社
Priority to JP2014554274A priority Critical patent/JP6034878B2/ja
Publication of WO2014103635A1 publication Critical patent/WO2014103635A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus

Definitions

  • the present invention relates to an object selection method for selecting an object displayed on a screen, a storage medium for storing a program, and an information processing apparatus.
  • touch panels have been widely used as input devices that accept input operations from users.
  • This touch panel is also used for smartphones, for example.
  • the touch panel can detect the position on the screen touched by the user's fingertip.
  • an object of the present invention is to provide an object selection method, a storage medium for storing a program, and an information processing apparatus that enable selection of a plurality of objects with a simple operation.
  • an object selection method executed by an information processing apparatus including a touch panel that detects a position on a screen designated by a user.
  • this object selection method a plurality of objects are displayed on a screen, a plurality of positions on the screen are continuously detected by the touch panel, and the plurality of objects displayed on the screen are selected from the plurality of objects. At least one object displayed in the closed region of the screen specified by the locus connecting the positions of the screens is selected.
  • the present invention makes it possible to select a plurality of objects with a simple operation.
  • FIG. 1 is a diagram for explaining an environment in which an information processing apparatus according to an embodiment of the present invention is used.
  • FIG. 2 is a diagram illustrating an example of a hardware configuration of the mobile terminal 3 illustrated in FIG.
  • FIG. 3 is a block diagram mainly showing a functional configuration of the mobile terminal 3 shown in FIG.
  • FIG. 4 is a flowchart showing a processing procedure of object selection processing executed by the mobile terminal 3 according to the present embodiment.
  • FIG. 5 is a diagram illustrating an example of a screen on which a plurality of characters in a social game are displayed.
  • FIG. 6 is a flowchart illustrating a processing procedure of the mobile terminal 3 when the operation mode is set to the grouping mode.
  • FIG. 7 is a flowchart showing the processing procedure of the closed curve forming process.
  • FIG. 8 is a diagram for explaining an overview of user operations when the operation mode is set to the grouping mode.
  • FIG. 9 is a diagram for describing an overview of user operations when the operation mode is set to the grouping mode.
  • FIG. 10 is a flowchart illustrating a processing procedure of the mobile terminal 3 when the operation mode is set to the global grouping mode.
  • FIG. 11 is a diagram for explaining an overview of user operations when the operation mode is set to the global grouping mode.
  • FIG. 12 is a diagram for explaining an overview of user operations when the operation mode is set to the global grouping mode.
  • FIG. 13 is a diagram for explaining an overview of user operations when the operation mode is set to the global grouping mode.
  • FIG. 10 is a flowchart illustrating a processing procedure of the mobile terminal 3 when the operation mode is set to the global grouping mode.
  • FIG. 11 is a diagram for explaining an overview of user operations when the operation mode is set to the global grouping mode.
  • FIG. 12 is a diagram for explaining an overview
  • FIG. 14 is a flowchart illustrating a processing procedure of the mobile terminal 3 when the operation mode is set to the object selection mode.
  • FIG. 15 is a flowchart illustrating a processing procedure of the mobile terminal 3 when the operation mode is set to the object selection mode.
  • FIG. 16 is a diagram for describing an overview of user operations when the operation mode is set to the object selection mode.
  • FIG. 17 is a diagram for describing an overview of a user operation when the operation mode is set to the object selection mode.
  • FIG. 18 is a flowchart illustrating a processing procedure of the mobile terminal 3 when the operation mode is set to the menu mode.
  • FIG. 19 is a diagram for describing an overview of user operations when the operation mode is set to the menu mode.
  • FIG. 19 is a diagram for describing an overview of user operations when the operation mode is set to the menu mode.
  • FIG. 20 is a flowchart illustrating a processing procedure of the action execution unit 306 when the “send message” action is selected by the user.
  • FIG. 21 is a flowchart illustrating a processing procedure of the action execution unit 306 when the “delete” action is selected by the user.
  • FIG. 1 is a diagram for explaining an environment in which the information processing apparatus according to the present embodiment is used. Note that the information processing apparatus according to the present embodiment will be described as a mobile terminal.
  • a server group 2 and a mobile terminal 3 are connected to a network 1 such as the Internet via an access point 4 or a base station 5.
  • the server group 2 may be realized by a single computer, or may be configured by a plurality of computers such as a Web server, a processing server, and a database server for each function.
  • the mobile terminal 3 includes, for example, a smartphone and a tablet terminal.
  • the portable terminal 3 operates on an OS such as Android (registered trademark) and iOS (registered trademark).
  • the portable terminal 3 includes a touch panel that can detect a position designated by the user.
  • the mobile terminal 3 has a variety of hardware configurations specific to the model, OS employed, installed applications, and the like.
  • the server group 2 can distribute various application programs corresponding to various portable terminals 3.
  • the portable terminal 3 can realize various functions by executing application programs distributed from the server group 2.
  • the mobile terminal 3 (information processing apparatus) according to the present embodiment used in the environment as described above displays a plurality of objects corresponding to the application program executed on the mobile terminal 3 on the screen, and It has a function of executing processing (hereinafter referred to as object selection processing) for selecting a target object for the user from the plurality of objects in accordance with a user operation on the touch panel provided in the terminal 3.
  • object selection processing executing processing
  • the objects described here include game characters, icons, and the like displayed on the screen of the mobile terminal 3 (hereinafter simply referred to as “screen”) as user operation targets.
  • FIG. 2 shows an example of the hardware configuration of the mobile terminal 3 shown in FIG.
  • a storage device 32 a CPU 33, a wireless communication unit 34, a memory 35, a display 36, a touch panel 37 and the like are connected to a bus 31.
  • the storage device 32 is used to store programs and data required for executing various processes including the object selection process described above.
  • a hard disk drive HDD: Hard Disk Drive
  • an optical disk drive a DVD
  • MO mass storage devices.
  • an OS operating system
  • object selection processing a program for realizing the basic functions of the mobile terminal 3
  • object selection a program for realizing the object selection processing described above
  • the CPU 33 performs an object selection process in cooperation with the object selection program stored in the storage device 32. Note that the CPU 33 controls the entire mobile terminal 3.
  • the wireless communication unit 34 controls communication with external devices such as the server group 2 via the network 1.
  • the wireless communication unit 34 also has a wireless communication function such as a wireless LAN, Bluetooth (registered trademark), and WiFi.
  • the memory 35 is used as, for example, a work area required when executing the object selection program.
  • the display 36 has a function of displaying various data and the like by including, for example, a liquid crystal display panel and a drive circuit that performs display control.
  • a predetermined application program is executed in the mobile terminal 3
  • a plurality of objects corresponding to the application program are displayed on the display 36, for example.
  • the touch panel 37 is arranged so as to be superimposed on the front surface of the display 36, and has a function of detecting a position on the screen designated by the user's fingertip or the like.
  • the touch panel 37 outputs position information (XY coordinates) indicating the detected position on the screen to the CPU 33.
  • the CPU 33 detects various operations by the user based on the position information from the touch panel 37.
  • user operations performed via the touch panel 37 include, for example, a tap operation (an operation for tapping the screen with a finger), a drag operation (an operation for moving the finger while touching the screen), and a flick operation (for the screen).
  • the operation includes an operation in which the top is touched with a finger) and a pinch operation (an operation in which two fingers are spread or narrowed while being in contact with the screen).
  • FIG. 3 is a block diagram mainly showing a functional configuration of the mobile terminal 3 shown in FIG. Here, only functions related to object selection processing executed in the present embodiment will be described, and description of other functions of the mobile terminal 3 will be omitted for convenience.
  • the portable terminal 3 includes a storage unit 301, a display processing unit 302, a position information acquisition unit 303, a mode setting unit 304, an object selection processing unit 305, and an action execution unit 306.
  • the storage unit 301 is stored in, for example, the storage device 32 described above.
  • the display processing unit 302, the position information acquisition unit 303, the mode setting unit 304, the object selection processing unit 305, and the action execution unit 306 are the CPU 33 (computer of the portable terminal 3) and the object selection program (an application program in which the object selection program is incorporated). It is realized by executing.
  • the storage unit 301 stores various types of information necessary for object selection processing executed in the present embodiment, for example.
  • the storage unit 301 stores, for example, information on objects displayed on the screen, various lists to be described later, and the like.
  • the display processing unit 302 displays a plurality of objects on the display 36 according to the application program executed in the mobile terminal 3 with reference to the storage unit 301, for example.
  • the application program executed on the mobile terminal 3 is an application program for performing a social game or the like (hereinafter simply referred to as a game program)
  • the character of the social game is displayed as an object.
  • the position information acquisition unit 303 has a function of acquiring position information indicating a position detected by the touch panel 37 (a position designated by the user on the screen where a plurality of objects are displayed by the display processing unit 302).
  • the touch panel 37 is continuously designated on the screen according to the operation (specified continuously by the user).
  • the position information acquisition unit 303 acquires a plurality of position information indicating each position detected by the touch panel 37.
  • the position information detected by the position information acquisition unit 303 is stored in the storage unit 301, for example.
  • the mode setting unit 304 sets the operation mode of the mobile terminal 3 in accordance with a user operation on a screen on which a plurality of objects are displayed.
  • the operation modes set by the mode setting unit 304 include a standby mode, a menu mode, a grouping mode, a global grouping mode, an object selection mode, and the like. Details of these operation modes will be described later.
  • the object selection processing unit 305 When the user performs an operation of tracing a closed curve on the screen as described above, the object selection processing unit 305, among the plurality of objects displayed on the screen, according to the operation mode set by the mode setting unit 304 Are displayed in a closed region of the screen specified (defined) by a locus connecting each position indicated by the position information acquired by the position information acquisition unit 303 (that is, each position detected by the touch panel 37). Select at least one object.
  • the action execution unit 306 executes various actions on the object selected by the object selection processing unit 305. When there are a plurality of actions to be executed on the object selected by the object selection unit 303, the action execution unit 306 displays a list of the actions in the vicinity of the selected object. The action selected according to the user's operation is executed.
  • a game program in which the above-described object selection program is incorporated is executed in the mobile terminal 3, and a plurality of objects (characters) A to U and X in, for example, a social game are displayed as shown in FIG. To do.
  • each operation mode described below is set according to the user's operation.
  • the operation mode of the mobile terminal 3 is set to the standby mode.
  • the standby mode is a mode that maintains the current state and waits for a user operation.
  • the touch panel 37 detects the position on the screen specified by the user (the position touched with the user's fingertip or the like).
  • the position information acquisition unit 303 acquires position information (input coordinates) indicating the position on the screen detected by the touch panel 37 according to the user's operation (step S1).
  • the type of user operation for example, a tap operation
  • the mode setting unit 304 determines whether the type of user operation is a double tap operation based on the position information acquired by the position information acquisition unit 303 (step S2).
  • the mode setting unit 304 sets the operation mode of the mobile terminal 3 to the menu mode (step S3).
  • This menu mode is a mode for displaying a list (menu) of actions to be executed on an object selected in another mode to be described later. Details of processing (menu event) when the operation mode is set to the menu mode will be described later.
  • the operation mode is set to the menu mode when a double-tap operation is performed. However, if the operation mode is different from the operation when another operation mode is set, the operation mode is the menu mode.
  • the operation at the time of setting may be an operation other than the double tap operation.
  • the mode setting unit 304 designates an object displayed on the screen based on the position information acquired by the position information acquisition unit 303. It is determined whether or not the user has tapped the object on the screen (step S4). In this case, the mode setting unit 304 determines whether the position (input coordinates) indicated by the position information acquired by the position information acquisition unit 303 is within the area where the object is displayed (within the object collision area). Determine.
  • the mode setting unit 304 sets the operation mode of the mobile terminal 3 to the object selection mode (step S5).
  • This object selection mode is a mode in which one object specified by the user is added to or excluded from, for example, a plurality of objects (including groups) selected in the grouping mode described later. Details of the process (object selection event) when the operation mode is set to the object selection mode will be described later.
  • the mode setting unit 304 is indicated by the position information acquired by the position information acquisition unit 303.
  • the position (the position on the screen specified by the user) is specified by a trajectory connecting the positions on the screen continuously specified by the user in time series (that is, the trajectory of the user's fingertip on the screen). It is determined whether or not it is within the closed region (step S6). Note that this closed region is a region on the screen specified by the user performing an operation for drawing a closed curve on the screen in the grouping mode as described later.
  • the mode setting unit 304 sets the operation mode of the mobile terminal 3 to the global grouping mode (step S7).
  • This global grouping mode is a mode in which, for example, two different groups including a plurality of objects selected in the grouping mode are combined. Details of the processing (global grouping event) when the operation mode is set to the global grouping mode will be described later.
  • the mode setting unit 304 sets the operation mode of the mobile terminal 3 to the grouping mode (step S8).
  • This grouping mode is a mode in which a user selects a desired object from all objects displayed on the screen by performing an operation of drawing a closed curve on the screen with a fingertip. Details of processing (grouping event) when the operation mode is set to the grouping mode will be described later.
  • an instruction to end the execution of the game program in the mobile terminal 3 (hereinafter referred to as an end instruction). ) Is determined by the user (step S9).
  • step S9 If the end instruction is not given by the user (NO in step S9), the process returns to the above-described step S1 and is repeated.
  • step S9 when the end instruction is given by the user (YES in step S9), the mobile terminal 3 ends the execution of the game program.
  • the processing procedure of the mobile terminal 3 when the operation mode is set to the grouping mode will be described with reference to the flowchart of FIG.
  • this grouping mode as described above, the user performs an operation to draw a closed curve on the screen with the fingertip.
  • the position information acquisition unit 303 continuously acquires position information in accordance with the operation until the user's finger leaves the screen (panel).
  • the object selection processing unit 305 determines whether or not the position information has been acquired by the position information acquisition unit 303 (that is, the user's fingertip is touching the screen) (step S11).
  • the object selection processing unit 305 displays the position information in a list (hereinafter referred to as a position information list) stored in the storage unit 301 in advance. It adds (step S12).
  • the display processing unit 302 draws a line (hereinafter referred to as a group line) on the screen based on the position information added to the position information list (step S13). Thereby, the line which a user draws with a fingertip is displayed on the screen.
  • a line hereinafter referred to as a group line
  • the display processing unit 302 determines whether or not the distance between the start point and the end point of the group line is equal to or less than a predetermined value (hereinafter referred to as a threshold value) (step S14).
  • the display processing unit 302 displays a line connecting the start point and the end point (hereinafter referred to as an interpolation line) on the screen. (Step S15).
  • an interpolation line is preferably a line of a different type from the group line. Specifically, when the group line is drawn with a solid line, the interpolation line is drawn with a broken line, for example.
  • step S15 When the process of step S15 is executed, the process returns to the above-described step S11 and the process is repeated.
  • the group line is displayed on the screen in accordance with the locus of the fingertip of the user moving on the screen.
  • step S14 If it is determined in step S14 that the distance between the start point and end point of the group line is not less than the threshold value, the process of step S15 is not executed.
  • step S11 determines whether position information has been acquired (that is, the user's finger has moved away from the screen).
  • the object selection processing unit 305 displays a plurality of positions held in the position information list.
  • a closed curve forming process is executed (step S16).
  • a closed curve on the screen is formed based on a trajectory connecting the positions indicated by the plurality of position information held in the position information list, and closed curve data representing the closed curve is created.
  • the closed curve data may not be created as described later depending on the trajectory (shape) of the user's fingertip. Details of the closed curve forming process will be described later.
  • the object selection processing unit 305 determines whether or not the closed curve data is created by executing the closed curve forming process (step S17).
  • the object selection processing unit 305 causes the closed region on the screen surrounded by the closed curve represented by the closed curve data created by the closed curve formation process (by the closed curve). An object existing in the specified closed region) is selected (step S18). In this case, the object selection processing unit 305 determines whether each of the objects displayed on the screen is present in the closed area on the screen, and selects an object existing in the closed area.
  • the object selection processing unit 305 creates a group including the selected object (hereinafter referred to as an object group). Thereby, the object group created by the object selection processing unit 305 (objects included in the object group) can be collectively processed as a plurality of objects comprehensively selected by the user in other operation modes described later. It becomes.
  • the objects existing in the closed area on the screen include, for example, an object whose center of gravity (coordinates) exists in the closed area, in addition to the object entirely contained in the closed area.
  • step S18 When the process of step S18 is executed, the mode setting unit 304 sets the operation mode to the standby mode (step S19). After the standby mode is set, the process of step S9 shown in FIG. 4 described above is executed.
  • step S17 If it is determined that closed curve data has not been created (NO in step S17), the process in step S18 is not executed, and the process in step S19 is executed.
  • the object selection processing unit 305 is a trajectory (that is, a user's trajectory) that connects each position indicated by a plurality of pieces of positional information (position information obtained by sampling the trajectory of the user's fingertip on the screen at regular intervals). It is determined whether or not the closed region can be identified by the fingertip trajectory) (step S21). In other words, the object selection processing unit 305 determines whether the locus of the user's fingertip forms a closed curve.
  • the object selection processing unit 305 determines whether the distance between the start point and the end point of the locus of the user's fingertip is equal to or less than the threshold value. Is determined (step S22). Note that the threshold value used in the process of step S22 is the same value as the threshold value used in the process of step S14 described above.
  • the object selection processing unit 305 When it is determined that the distance between the start point and the end point of the user's fingertip locus is equal to or less than the threshold (YES in step S22), the object selection processing unit 305 includes two or more self-intersections of the user's fingertip locus. It is determined whether or not a shape is formed (step S23).
  • the object selection processing unit 305 displays a plurality of positions held in the position information list Based on the information, closed curve data representing a closed curve formed by interpolating so as to connect the start point and end point of the locus of the fingertip of the user is created (step S24). This interpolation is performed by using, for example, a spline function.
  • the object selection processing unit 305 performs the processes in and after step S23 without executing the process in step S22. Execute. If the locus of the user's fingertip can identify the closed region (that is, the locus of the user's fingertip forms a closed curve), the object selection processing unit 305 performs, for example, an interpolation process in step S24 described above. Create closed curve data without doing so.
  • the shape of the locus of the user's fingertip includes two or more self-intersections. If it is determined that the group line is present (YES in step S23), the display processing unit 302 deletes the group line drawn on the screen (step S25). In addition, the object selection processing unit 305 deletes position information in the position information list (step S26). That is, in this case, closed curve data is not created.
  • the object selection processing unit 305 determines in step S21 that the closed region can be specified. Thereby, in the closed curve forming process in the present embodiment, closed curve data is created even when a part of the closed curve intersects when the user draws the closed curve. When a simple curve is drawn (that is, when two or more self-intersections exist), it is possible to prevent closed curve data from being created.
  • the operation mode when the operation mode is set to the grouping mode, the user performs an operation of drawing a closed curve with a fingertip on the screen as shown in FIG.
  • the group line 101 is drawn on the screen according to the locus of the user's fingertip.
  • the user can clearly recognize the closed region (the range of the object to be selected) specified by the locus of the fingertip of the user.
  • the interpolation line 102 is displayed as shown in FIG.
  • the user can recognize that a closed curve can be formed by interpolation, and thus can be easily operated.
  • FIG. 9 shows.
  • an object existing in the region surrounded by the closed curve 103 represented by the closed curve data is selected (becomes selected).
  • five objects J, K, L, O, and P are selected.
  • the selected object is displayed in a manner distinguishable from other objects as shown in FIG.
  • the closed curve data is created, as shown in FIG. 9, the closed curve 103 represented by the closed curve data is drawn as a grouping line 101 on the screen.
  • this global grouping mode after an object group including a plurality of objects selected in the grouping mode described above is created, the area within the closed curve surrounding the object group (that is, the inside of the grouping line drawn on the screen)
  • This is a mode set when a position where an object is not displayed within the closed area is tapped with the fingertip of the user. That is, when the operation mode is set to the global grouping mode, at least one object group is created and the object group is displayed on the screen by the grouping line.
  • the user can perform a drag operation on the object group displayed on the screen (operation to move the finger while keeping the finger in contact with the closed area on the screen).
  • a target object group an object group in which the user performs a drag operation.
  • the display processing unit 302 recalculates the position of the target object group according to the user's drag operation (step S31). Specifically, the display processing unit 302 recalculates the position of each object included in the target object group and a closed curve (grouping line) surrounding the target object group.
  • the display processing unit 302 redraws the target object group on the screen based on the recalculated result. Accordingly, the target object group on the screen (a plurality of objects included therein) can be moved according to the user's drag operation.
  • the object selection processing unit 305 determines whether or not the user's drag operation has ended and the user's fingertip has left the screen based on the position information acquired by the position information acquisition unit 303 (step S32). ). In this case, when position information is not acquired by the position information acquisition unit 303, it is determined that the user's fingertip has left the screen. When position information is acquired by the position information acquisition unit 303, the user's fingertip is determined from the screen. It is determined that they are not separated.
  • a plurality of object groups may be created by repeating the processing in the grouping mode described above a plurality of times before the global grouping mode.
  • the object selection processing unit 305 indicates that the target object group that is moving in accordance with the user's drag operation is another screen on the screen. It is determined whether or not the object group overlaps (step S33). Specifically, the object selection processing unit 305 determines that the closed curve (grouping line) surrounding the target object group intersects the closed curve (other grouping line) surrounding the other object group, or the target object group is other When included in the object group, it is determined that the target object group overlaps with another object group.
  • the object selection processing unit 305 sets the other object group as a destination candidate for the target object group (step S34). . At this time, the color of the target object group, the other object groups, and the grouping lines surrounding these object groups are changed so that the user can recognize that the destination candidate of the target object group is another object group. It may be a configuration.
  • step S34 if the process of step S34 is performed, it will return to above-mentioned step S31 and a process will be repeated.
  • the object selection processing unit 305 does not execute the process in step S34, and returns to step S31 to perform the process. repeat.
  • the object selection processing unit 305 cancels the destination candidate. At this time, if the color or the like has been changed as described above due to the presence of the movement destination candidate, the color or the like is returned to the state before the change.
  • the object selection processing unit 305 causes the other object group (hereinafter referred to as a movement destination candidate object) that is a movement destination candidate of the target object group. It is determined whether or not there is a “group” (step S35).
  • the object selection processing unit 305 executes a process of combining (combining) the target object group and the movement destination candidate object group. Specifically, the object selection processing unit 305 adds a plurality of objects included in the target object group to the movement destination candidate object group (step S36). In this case, the target object group is deleted from the screen.
  • step S36 one object group including a plurality of objects included in the target object group and a plurality of objects included in the movement destination candidate object group is created.
  • step S36 When the process of step S36 is executed, the mode setting unit 304 sets the operation mode to the standby mode (step S37). After the standby mode is set, the process of step S9 shown in FIG. 4 described above is executed.
  • step S36 is not performed but the process of step S37 is performed.
  • the object groups 201 and 202 are created, and the object groups 201 and 202 are displayed on the screen.
  • the object group 201 includes objects B, C, and D
  • the object group 202 includes objects J, K, L, O, and P.
  • the user moves the object group 201 on the screen by performing a drag operation on the object group 201 as shown in FIG. Can be moved.
  • the object group 202 is determined as a destination candidate for the object group 201.
  • the object group 202 is selected as a destination candidate for the object group 201
  • the objects B, C, and D included in the object group 201 are added to the object group 202 as shown in FIG.
  • an object group 203 is created.
  • the object group 201 is deleted from the screen.
  • the user simply drags the object group 201 to a position overlapping the object group 202, and a plurality of objects constituting the object group 201, 202 ( ) To create one object group 203.
  • the description mainly focuses on combining two object groups.
  • a plurality of objects including object groups
  • object groups are excluded from a certain object group.
  • the other object group is moved to a position that does not overlap with the object group 202 by performing a drag operation on the other object group on the screen, the objects K and L from the object group 202 are moved. May be excluded.
  • This object selection mode is a mode that is set when an object displayed on the screen is designated (tapped) by the user.
  • the operation mode is set to the object selection mode, the object group may be created (displayed) or may not be created (displayed).
  • the user can perform a drag operation on the object displayed on the screen.
  • an object on which the user performs a drag operation is referred to as a target object.
  • the display processing unit 302 recalculates the position of the target object according to the user's drag operation (step S41).
  • the display processing unit 302 redraws the target object on the screen based on the recalculated result. Thereby, the target object on the screen can be moved according to the user's drag operation.
  • step S42 determines, based on the position information acquired by the position information acquisition unit 303, whether the user's drag operation has ended and the user's fingertip has left the screen (step S42). Note that the process of step S42 is the same as the process of step S32 shown in FIG. 10 described above.
  • the object selection processing unit 305 creates an object group created when the operation mode described above is set to the grouping mode for the target object. (That is, the target object belongs to the object group) is determined (step S43). Whether or not the target object is an object included in the object group can be determined by referring to group information or the like managed inside the portable terminal 3 when the object group is created as described above. is there.
  • the object selection processing unit 305 determines that the position of the target object moved according to the user's drag operation is the object. It is determined whether it is outside the grouping line (closed curve) surrounding the group (step S44). Note that the position of the target object can be specified by position information acquired by the position information acquisition unit 303 in accordance with the user's drag operation.
  • the object selection unit 305 selects an object candidate that excludes the target object from the object group. (Hereinafter referred to as an exclusion candidate) (step S45).
  • the configuration may be such that the color or the like of the target object is changed so that the user can recognize that the target object is an exclusion candidate.
  • an object group in which the target object is an exclusion candidate is referred to as an exclusion target object group.
  • step S45 if the process of step S45 is performed, it will return to above-mentioned step S41 and a process will be repeated.
  • the object selection processing unit 305 does not execute the process of step S45. The process returns to S41 and is repeated.
  • the object selection processing unit 305 indicates that the position of the target object moved according to the user's drag operation is the motion mode. It is determined whether it is inside a grouping line (closed curve) surrounding an arbitrary object group created when the grouping mode is set (step S47). Note that the position of the target object can be specified by the position information acquired by the position information acquisition unit 303 in accordance with the user's drag operation as described above.
  • the object selection processing unit 305 selects an object candidate (hereinafter referred to as “target object”) that adds the target object to the object group. , Expressed as an additional candidate) (step S47).
  • target object an object candidate that adds the target object to the object group.
  • the configuration may be such that the color or the like of the target object is changed so that the user can recognize that the target object is an addition candidate.
  • an object group in which the target object is an addition candidate is referred to as an addition target object group.
  • step S47 if the process of step S47 is performed, it will return to above-mentioned step S41 and a process will be repeated.
  • step S46 If it is determined that the position of the target object is not inside the grouping line surrounding the arbitrary object group (NO in step S46), the object selection processing unit 305 does not execute the process in step S47, and returns to step S41. Repeat the process.
  • the object selection processing unit 305 determines whether the target object is an exclusion candidate (step S48). If the target object is an exclusion candidate in step S45 described above, it is determined in step S48 that the target object is an exclusion candidate.
  • the object selection processing unit 305 excludes the target object from the exclusion target object group described above (step S49).
  • the object selection processing unit 305 determines whether the target object is an addition candidate (step S50). If the target object is an addition candidate in step S47 described above, it is determined in step S50 that the target object is an addition candidate.
  • the object selection processing unit 305 adds the target object to the above-described addition target object group (step S51).
  • step S49 or S51 described above the mode setting unit 304 sets the operation mode to the standby mode (step S52). After the standby mode is set, the process of step S9 shown in FIG. 4 described above is executed.
  • step S50 If it is determined in step S50 that the target object is not an additional candidate, the process of step S52 is executed.
  • the object group 401 includes objects J, K, L, O, and P.
  • the user moves the object L by dragging the object L included in the object group 401 as shown in FIG. It can be moved outside the object group 401 (the surrounding grouping line).
  • the object L is excluded from the object group 401 and displayed outside the object group 401. That is, when such an operation is performed by the user, the object group 401 becomes an object group including the objects J, K, O, and P.
  • the object group 402 includes objects J, K, L, O, and P.
  • the operation mode when the operation mode is set to the object selection mode, the user performs a drag operation on, for example, the object G other than the objects included in the object group 402 as illustrated in FIG.
  • the object G can be moved inside the object group 402 (the surrounding grouping line).
  • the object G is added to the object group 402 and displayed inside the object group 402. That is, when such an operation is performed by the user, the object group 402 becomes an object group including the objects G, J, K, L, O, and P.
  • the operation mode when the operation mode is set to the object selection mode, the user selects (specifies) one object displayed on the screen, and excludes the selected object from the object group or selects the object. It is possible to perform an operation (grouping operation) such as adding the added object to the object group.
  • This menu mode is a mode that is set when a double tap operation is performed by the user on the screen on which a plurality of objects are displayed as described above.
  • the operation mode is set to the menu mode, the object group may be created (displayed) or may not be created (displayed).
  • the object selection processing unit 305 determines whether or not a single object displayed on the screen is designated by a double tap operation based on the position information acquired by the position information acquisition unit 303 (step S61).
  • the object selection processing unit 305 adds the designated object to a list (hereinafter referred to as an object list) (step S62).
  • the object selection processing unit 305 determines that the operation mode described above is the grouping mode based on the position information acquired by the position information acquisition unit 303. Determines whether an object group created when set to (or an object group created by merging two object groups when the operation mode is set to global grouping mode) is specified (Step S63). If the position indicated by the position information acquired by the position information acquisition unit 303 is within an area (closed area) inside the grouping line surrounding the object group, for example, it is determined that the object group is specified. .
  • the object selection processing unit 305 adds an object included in the designated object group to the object list (step S64).
  • the object unit may be specified, or the object group is specified. Also good.
  • step S62 or step S64 the display processing unit 302 is executed for the object held in the object list on the screen (for example, in the vicinity of the specified object or object group).
  • a list of actions (menu) is displayed (step S65).
  • the content of the action displayed as a list on the menu differs depending on the application program or the like being executed on the mobile terminal 3.
  • an example of actions displayed as a list on the menu is a message to a user who owns a character (object) held in the object list, for example. "Send a message” to execute the action to send the character, "Attack” to execute the action to cause the character to attack, "Run away” to execute the action to escape the character, and the character on the screen “Delete” for executing an action to be deleted from
  • the user can select a desired action from the actions displayed as a list on the menu by tapping the desired action.
  • the object selection processing unit 305 performs the tap operation on the menu displayed by the display processing unit 302 based on the position information acquired by the position information acquisition unit 303. Is determined (ie, the user has tapped the menu) (step S66).
  • step S66 When it is determined that a tap operation has been performed on the menu (YES in step S66), the action execution unit 306 determines the action selected by the user (that is, among the actions displayed as a list on the menu, by the user). The tapped action) is executed (step S67). A specific example of the process (action) of the action execution unit 306 in step S67 will be described later.
  • step S67 When the process of step S67 is executed, the mode setting unit 304 sets the operation mode to the standby mode (step S68). After the standby mode is set, the process of step S9 shown in FIG. 4 described above is executed.
  • step S66 if it is determined that the tap operation has not been performed on the menu (that is, the outside of the menu has been tapped) (NO in step S66), the display processing unit 302 sets the displayed menu to non-display. (Step S69). When the process of step S69 is executed, the process of step S68 described above is executed.
  • step S68 If it is determined that no object group is specified (NO in step S63), the process in step S68 is executed.
  • the menu is not displayed when the tap operation is not performed on the menu.
  • an item “Close Menu” is provided in the menu.
  • the menu may be hidden.
  • the object group 401 includes objects J, K, L, O, and P.
  • the operation mode is set to the menu mode as described above, the user performs a double tap operation on an object alone or an object group displayed on the screen.
  • the user when the user performs a double-tap operation on the object group 501 (the area inside the surrounding grouping line), it is executed on the objects J, K, L, O, and P included in the object group 501.
  • a list of actions to be displayed is displayed as a menu 402 on the screen.
  • the menu 502 displays “send message”, “attack”, “escape”, “delete”, and “close menu” as actions.
  • the user can cause the action execution unit 306 to execute the action by tapping (selecting) a desired action from the actions displayed on the menu 502.
  • the “send message” action is an action for sending a message to a user who owns an object (character) held in the object list.
  • the action execution unit 306 displays a message creation screen on the display 36 of the mobile terminal 3, for example, via the display processing unit 302.
  • the action execution unit 306 creates a message in response to a user operation on the displayed message creation screen (step S71).
  • the action execution unit 306 executes the following steps S72 to S75 for each object held in the object list.
  • an object to be processed is referred to as a target object.
  • the action execution unit 306 transmits the created message to a portable terminal or the like used by a user who owns the target object (character) (hereinafter referred to as a transmission target user) (step S72).
  • Information necessary for this transmission processing may be managed, for example, inside the mobile terminal 3 or may be acquired from the server group 2.
  • the action execution unit 306 determines whether or not the transmission of the message to the transmission target user is successful (step S73).
  • the action execution unit 306 adds 1 to the number of transmissions (success) (step S74).
  • step S73 when it is determined that the transmission of the message to the transmission target user is not successful due to the occurrence of a failure or the like (NO in step S73), the action execution unit 306 adds 1 to the number of errors (step S75).
  • step S74 and the number of errors in step S75 are set to 0 as initial values when the action execution unit 306 starts processing.
  • step S76 the action execution unit 306 determines whether or not the processes of steps S72 to S75 described above have been executed for all objects held in the object list.
  • step S76 If it is determined that processing has not been executed for all objects (NO in step S76), the action execution unit 306 returns to step S72 and repeats the processing. In this case, among the objects held in the object list, the processing for which the processing of steps S72 to S75 has not been performed is performed as the target object.
  • the action execution unit 306 displays the number of transmissions and the number of errors on the screen via the display processing unit 302.
  • This “deletion” action is an action for deleting an object (character) held in the object list from the screen.
  • the action execution unit 306 executes the following steps S81 to S83 for each of the objects held in the object list.
  • an object to be processed is referred to as a target object.
  • the action execution unit 306 determines whether the target object is an object that can be deleted (step S81). Whether or not the object can be deleted is determined in advance by an application program executed in the mobile terminal 3, for example. Specifically, when the application program executed on the mobile terminal 3 is a game program, the object (character) X shown in FIG. 5 or the like described above is an enemy character (boss character) in the game. Stipulates that the object X is not a deletable object.
  • the action execution unit 306 deletes the target object from the screen (step S82).
  • step S83 the action execution unit 306 adds 1 to the number of deletions. Note that the number of deletions in step S83 is set to 0 as an initial value at the start of processing of the action execution unit 306.
  • step S83 determines whether or not the processes of steps S81 to S83 described above have been executed for all objects held in the object list (step S84).
  • step S84 If it is determined that the process has not been executed for all objects (NO in step S84), the action execution unit 306 returns to the above-described step S81 and repeats the process. In this case, among the objects held in the object list, the processing for which the processing of steps S81 to S83 has not been performed is performed as the target object.
  • the action execution unit 306 displays the number of deletions on the screen via the display processing unit 302 (step S85).
  • the action execution unit 306 When it is determined that the target object is not an object that can be deleted (NO in step S81), the action execution unit 306 does not execute the processes in steps S82 and S83, but performs the process in step S84.
  • step S85 only the number of deletions is displayed in step S85.
  • the number of objects that are not deleted because it is determined that they are not deleteable objects in step S81 may be displayed. .
  • each position on the screen continuously designated by the user is detected, and a locus connecting the detected positions among a plurality of objects displayed on the screen.
  • the user can display the screen on the screen by a simple operation such as tracing (drawing) a closed curve on the screen. It is possible to select a plurality of objects.
  • the user can easily recognize the selected object on the screen.
  • a line representing a locus connecting positions on the screen continuously designated by the user (that is, positions detected by the touch panel). The user can easily recognize the locus of the fingertip of the user and the closed region specified by the locus.
  • the closed region is not specified by a trajectory connecting positions on the screen continuously designated by the user, and the start point and end point of the trajectory are predetermined on the screen. If it exists within the range, the user interpolates to connect the start point and the end point, and selects at least one object displayed in the closed region on the screen specified by the interpolated trajectory. Even when an appropriate closed curve is not drawn in the operation on the screen according to the above, it becomes possible to specify the closed region by interpolation, so that the user's operation can be simplified.
  • the object group when an object group including at least one selected object is created and the created object group is designated by the user, the object group is included in the vicinity of the object group. Included in the object group specified by the user by displaying a list of actions executed on the object and executing an action selected according to the user's operation from the displayed list of actions Since the same action can be executed on the objects all at once, the complexity of performing an operation for executing the action on each of the objects can be eliminated.
  • an object specified by a user among objects included in an object group is excluded from the object group, or an object specified by a user other than an object included in the object group is excluded from the object group. It is possible for the user to perform operations such as adding to the screen.
  • the game program is mainly executed on the mobile terminal 3, but another application program may be executed.
  • an application program hereinafter referred to as a file management program
  • an address book such as an email address registered in the mobile terminal 3
  • an application program hereinafter referred to as an address management program or the like may be executed on the mobile terminal 3.
  • a file management program when executed in the mobile terminal 3, icons of various files held in the mobile terminal 3 are displayed as objects on the screen, and the user performs an operation for drawing a closed curve on the screen.
  • a plurality of files (icons) can be selected comprehensively.
  • deletion or copying of a plurality of files selected comprehensively is displayed as a list of actions. For example, when thumbnail images are displayed as objects, a plurality of thumbnail images are selected from the thumbnail images to create an album (folder) made up of the selected images. It is also possible.
  • the address management program When the address management program is executed on the mobile terminal 3, the user registered in the address book (user name, address, e-mail address, telephone number, etc.) is displayed as an object on the screen. By performing an operation for drawing a closed curve on the screen, it is possible to comprehensively select users registered in the address book. Furthermore, in the menu displayed when the address management program is executed, transmission of mails to a plurality of users selected in a comprehensive manner, invitation to a game, and the like are displayed as a list of actions.
  • this embodiment can be applied to a case where an application program in which a plurality of objects are displayed on the screen is executed.
  • the portable terminal 3 is described as executing the object selection process alone.
  • a computer for example, a Web server included in the server group 2 cooperates with the portable terminal 3 to select the object selection process. May be executed.
  • the Web server information processing apparatus
  • the wireless communication unit 34 illustrated in FIG. 2 controls not only wireless communication but also wired communication with an external device such as the mobile terminal 3 via the network 1.
  • each unit storage unit 301, display processing unit 302, position information acquisition unit 303, mode setting unit 304, object selection processing unit 305, and action execution unit 306 shown in FIG. It is realized by executing a selection program (an application program in which is incorporated).
  • a selection program an application program in which is incorporated.
  • the storage unit 301 stores various types of information necessary for object selection processing executed in the present embodiment, for example.
  • the storage unit 301 stores, for example, information on objects displayed on the screen, various lists to be described later, and the like.
  • the display processing unit 302 displays a plurality of objects on the mobile terminal 3 through the network 1 according to an application program executed on the mobile terminal 3 with reference to the storage unit 301, for example. For example, when a social game is executed on the mobile terminal 3, the display processing unit 302 causes the mobile terminal 3 to display the social game character as an object.
  • the position information acquisition unit 303 has a function of inputting position information indicating a position detected by the touch panel 37 included in the mobile terminal 3. For example, when the user performs an operation on the touch panel 37 to trace an arbitrary closed curve (for example, a circle), the mobile terminal 3 continuously detects the position on the screen according to the operation.
  • the position information acquisition unit 303 acquires a plurality of position information indicating each position detected by the touch panel 37 from the mobile terminal 3.
  • the position information detected by the position information acquisition unit 303 is stored in the storage unit 301, for example.
  • the mode setting unit 304 sets the operation mode of the mobile terminal 3 in accordance with a user operation on a screen on which a plurality of objects are displayed.
  • the operation modes set by the mode setting unit 304 include a standby mode, a menu mode, a grouping mode, a global grouping mode, an object selection mode, and the like, as described above.
  • the object selection processing unit 305 displays on the screen of the mobile terminal 3 according to the operation mode set by the mode setting unit 304 when the user performs an operation of tracing a closed curve on the screen (touch panel). Select at least one object displayed in the closed region of the screen specified by the locus connecting the plurality of positions indicated by the position information acquired by the position information acquisition unit 303 among the plurality of objects being processed .
  • the action execution unit 306 executes various actions on the object selected by the object selection processing unit 305. When there are a plurality of actions to be executed on the object selected by the object selection unit 303, the action execution unit 306 displays a list of the actions in the vicinity of the selected object, and the list The action selected according to the user's operation is executed.
  • the web server executes the processing of the flowcharts shown in FIGS. 4, 6, 7, 10, 14, 15, 18, 20, and 21, and performs the same processing as described above for the mobile terminal 3. Is executed. Thereby, the object selection processing by the Web server can obtain the same effect as the case where the portable terminal 3 executes the object selection processing alone.
  • the present invention is not limited to the above-described embodiment as it is, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage.
  • various inventions can be formed by appropriately combining a plurality of constituent elements disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

 実施形態によれば、情報処理装置は、簡易な操作で複数のオブジェクトの選択を可能にする。情報処理装置は、ユーザによって指定された画面上の位置を検出するタッチパネルを備える。情報処理装置は、画面上に複数のオブジェクトを表示し、タブレットによって連続的に画面上の複数の位置を検出し、画面に表示されている複数のオブジェクトのうち、前記複数の位置を結ぶ軌跡によって特定される画面上の閉領域内に表示されている少なくとも1つのオブジェクトを選択する。

Description

オブジェクト選択方法、プログラムを記憶する記憶媒体及び情報処理装置
 本発明は、画面に表示されているオブジェクトを選択するオブジェクト選択方法、プログラムを記憶する記憶媒体及び情報処理装置に関する。
 近年では、ユーザからの入力操作を受け付ける入力装置としてタッチパネルが広く用いられている。このタッチパネルは、例えばスマートフォン等にも採用されている。
 タッチパネルは、ユーザの指先等で触れられた画面上の位置を検出することができる。
 これにより、スマートフォンのようなタッチパネルを備えた情報処理装置の画面にユーザによる操作の対象として各種オブジェクト(例えば、ゲームのキャラクタやアイコン等)が表示されている場合に、ユーザは、当該画面上において例えば指先で所望のオブジェクトを選択することができる。
 なお、このような技術に関連して、タッチパネルを用いた際にプレイヤーであるユーザが所望の項目を選択しやすくするための技術が開示されている(例えば、特許文献1を参照)。
特開2012-198924号公報
 しかしながら、タッチパネルを備えた情報処理装置において、当該情報処理装置の画面に表示されたオブジェクトの中から複数のオブジェクトを包括的に選択する場合、その操作は煩雑となる。
 具体的には、例えばオブジェクトが表示された画面上で複数のオブジェクトを選択可能なモードを設定した上で、所望の複数のオブジェクトを1つずつ指先で選択していくような操作が必要となる。
 そこで、本発明の目的は、簡易な操作で複数のオブジェクトの選択を可能とするオブジェクト選択方法、プログラムを記憶する記憶媒体及び情報処理装置を提供することにある。
 本発明の1つの態様によれば、ユーザによって指定された画面上の位置を検出するタッチパネルを備える情報処理装置が実行するオブジェクト選択方法が提供される。このオブジェクト選択方法は、画面上に複数のオブジェクトを表示し、前記前記タッチパネルによって連続的に前記画面上の複数の位置を検出するし、前記画面に表示されている複数のオブジェクトのうち、前記複数の位置を結ぶ軌跡によって特定される前記画面の閉領域内に表示されている少なくとも1つのオブジェクトを選択する。
 本発明は、簡易な操作で複数のオブジェクトの選択を可能とする。
図1は、本発明の実施形態に係る情報処理装置が使用される環境を説明するための図である。 図2は、図1に示す携帯端末3のハードウェア構成の一例を示す図である。 図3は、図1に示す携帯端末3の主として機能構成を示すブロック図である。 図4は、本実施形態に係る携帯端末3によって実行されるオブジェクト選択処理の処理手順を示すフローチャートである。 図5は、ソーシャルゲームにおける複数のキャラクタが表示された画面の一例を示す図である。 図6は、動作モードがグルーピングモードに設定されている場合における携帯端末3の処理手順を示すフローチャートである。 図7は、閉曲線形成処理の処理手順を示すフローチャートである。 図8は、動作モードがグルーピングモードに設定されている場合におけるユーザの操作の概要について説明するための図である。 図9は、動作モードがグルーピングモードに設定されている場合におけるユーザの操作の概要について説明するための図である。 図10は、動作モードが大域グルーピングモードに設定されている場合における携帯端末3の処理手順を示すフローチャートである。 図11は、動作モードが大域グルーピングモードに設定されている場合におけるユーザの操作の概要について説明するための図である。 図12は、動作モードが大域グルーピングモードに設定されている場合におけるユーザの操作の概要について説明するための図である。 図13は、動作モードが大域グルーピングモードに設定されている場合におけるユーザの操作の概要について説明するための図である。 図14は、動作モードがオブジェクト選択モードに設定されている場合における携帯端末3の処理手順を示すフローチャートである。 図15は、動作モードがオブジェクト選択モードに設定されている場合における携帯端末3の処理手順を示すフローチャートである。 図16は、動作モードがオブジェクト選択モードに設定されている場合におけるユーザの操作の概要について説明するための図。 図17は、動作モードがオブジェクト選択モードに設定されている場合におけるユーザの操作の概要について説明するための図である。 図18は、動作モードがメニューモードに設定されている場合における携帯端末3の処理手順を示すフローチャートである。 図19は、動作モードがメニューモードに設定されている場合におけるユーザの操作の概要について説明するための図である。 図20は、ユーザによって「メッセージを送る」のアクションが選択された場合におけるアクション実行部306の処理手順を示すフローチャートである。 図21は、ユーザによって「削除」のアクションが選択された場合におけるアクション実行部306の処理手順を示すフローチャートである。
 以下、図面を参照して、本発明の実施形態について説明する。
 図1は、本実施形態に係る情報処理装置が使用される環境を説明するための図である。なお、本実施形態に係る情報処理装置は携帯端末であるものとして説明する。
 図1に示すように、インターネット等のネットワーク1には、サーバ群2及び携帯端末3がアクセスポイント4または基地局5を介して接続されている。
 サーバ群2は、1つのコンピュータで実現されてもよいし、その機能毎に、例えばWebサーバ、処理サーバ、データベースサーバ等の複数のコンピュータで構成されてもよい。
 携帯端末3は、例えばスマートフォン及びタブレット型端末等を含む。この携帯端末3は、例えばアンドロイド(登録商標)及びiOS(登録商標)等のOS上で動作する。携帯端末3は、ユーザによって指定された位置を検出可能なタッチパネルを備える。
 なお、携帯端末3は、その機種固有のハードウェア構成、採用しているOS、インストールされているアプリケーション等が多岐に渡る。サーバ群2は、多様な携帯端末3に対応した各種アプリケーションプログラムを配信可能である。携帯端末3は、サーバ群2から配信されたアプリケーションプログラムを実行することによって各種機能を実現することができる。
 上記したような環境で使用される本実施形態に係る携帯端末3(情報処理装置)は、当該携帯端末3上で実行されるアプリケーションプログラムに応じた複数のオブジェクトをその画面に表示し、当該携帯端末3に備えられているタッチパネルに対するユーザの操作に応じて当該複数のオブジェクトの中から当該ユーザが目的とするオブジェクトを選択する処理(以下、オブジェクト選択処理と表記)を実行する機能を有する。なお、ここで説明するオブジェクトには、ユーザの操作対象として携帯端末3の画面(以下、単に画面と表記)に表示されるゲームのキャラクタやアイコン等が含まれる。
 図2は、図1に示す携帯端末3のハードウェア構成の一例を示す。図2に示すように、携帯端末3においては、バス31に記憶装置32、CPU33、無線通信部34、メモリ35、ディスプレイ36及びタッチパネル37等が接続されている。
 記憶装置32は、上記したオブジェクト選択処理を含む各種処理を実行するために必要とされるプログラムやデータを格納するためのものであり、例えばハードディスクドライブ(HDD:Hard Disk Drive)、光ディスクドライブ、DVD、MOなどの大容量記憶装置である。具体的には、記憶装置32には、例えば携帯端末3の基本的な機能を実現するためのプログラムであるOS(オペレーティングシステム)及び上記したオブジェクト選択処理を実現するためのプログラム(以下、オブジェクト選択プログラムと表記)等が記憶されている。
 CPU33は、記憶装置32に記憶されたオブジェクト選択プログラムと協働して、オブジェクト選択処理を行う。なお、CPU33は、携帯端末3全体の制御を司るものである。
 無線通信部34は、ネットワーク1を介したサーバ群2等の外部装置との通信の制御を司る。また、無線通信部34は、無線LAN、Bluetooth(登録商標)、WiFi等の無線通信機能をも有する。
 メモリ35は、例えばオブジェクト選択プログラムを実行する際に必要とされるワークエリア等として使用される。
 ディスプレイ36は、例えば液晶表示パネル及び表示制御を行う駆動回路を備えることにより、各種データ等を表示する機能を有する。携帯端末3において所定のアプリケーションプログラムが実行された場合、ディスプレイ36には、例えば当該アプリケーションプログラムに対応した複数のオブジェクトが表示される。
 タッチパネル37は、ディスプレイ36の前面に重畳して配置され、ユーザの指先等で指定された画面上の位置を検出する機能を有する。タッチパネル37は、検出された画面上の位置を示す位置情報(XY座標)をCPU33に出力する。CPU33は、タッチパネル37からの位置情報に基づいて、ユーザによる各種操作を検出する。なお、タッチパネル37を介して行われるユーザの操作には、例えばタップ操作(画面を指で軽く叩く操作)、ドラッグ操作(指を画面に接触させた状態のまま移動させる操作)、フリック操作(画面上を指で払うような操作)及びピンチ操作(2本の指を画面に接触させた状態のまま広げるまたは狭める操作)等が含まれる。
 図3は、図1に示す携帯端末3の主として機能構成を示すブロック図である。ここでは、本実施形態において実行されるオブジェクト選択処理に関する機能についてのみ説明し、携帯端末3が有する他の機能について便宜的に説明を省略する。
 携帯端末3は、格納部301、表示処理部302、位置情報取得部303、モード設定部304、オブジェクト選択処理部305及びアクション実行部306を含む。本実施形態において、格納部301は、例えば上記した記憶装置32に格納される。また、表示処理部302、位置情報取得部303、モード設定部304、オブジェクト選択処理部305及びアクション実行部306は、CPU33(携帯端末3のコンピュータ)がオブジェクト選択プログラム(が組み込まれたアプリケーションプログラム)を実行することにより実現されるものとする。
 格納部301には、例えば本実施形態において実行されるオブジェクト選択処理に必要な各種情報が格納される。格納部301には、例えば画面に表示されるオブジェクトに関する情報や後述する各種リスト等が格納される。
 表示処理部302は、例えば格納部301を参照して携帯端末3において実行されたアプリケーションプログラムに応じた複数のオブジェクトをディスプレイ36に表示する。携帯端末3において実行されたアプリケーションプログラムが例えばソーシャルゲーム等を行うためのアプリケーションプログラム(以下、単にゲームプログラムと表記)である場合には、当該ソーシャルゲームのキャラクタがオブジェクトとして表示される。
 位置情報取得部303は、タッチパネル37によって検出された位置(表示処理部302によって複数のオブジェクトが表示された画面上のユーザによって指定された位置)を示す位置情報を取得する機能を有する。
 なお、ユーザが例えば画面上において任意の閉曲線(例えば、円等)をなぞるような操作をした場合、タッチパネル37は、当該操作に応じて連続的に画面上の位置(ユーザによって連続的に指定された画面上の各位置)を検出する。この場合、位置情報取得部303は、タッチパネル37によって検出された各位置を示す複数の位置情報を取得する。位置情報取得部303によって検出された位置情報は、例えば格納部301に格納される。
 モード設定部304は、複数のオブジェクトが表示された画面に対するユーザの操作に応じて、携帯端末3の動作モードを設定する。モード設定部304によって設定される動作モードには、待機モード、メニューモード、グルーピングモード、大域グルーピングモード及びオブジェクト選択モード等が含まれる。これらの動作モードの詳細については後述する。
 オブジェクト選択処理部305は、上記したようにユーザが画面上において閉曲線をなぞるような操作をした場合、モード設定部304によって設定された動作モードに従って、当該画面に表示されている複数のオブジェクトのうち、位置情報取得部303によって取得された位置情報によって示される各位置(つまり、タッチパネル37によって検出された各位置)を結ぶ軌跡によって特定(規定)される当該画面の閉領域内に表示されている少なくとも1つのオブジェクトを選択する。
 アクション実行部306は、オブジェクト選択処理部305によって選択されたオブジェクトに対して各種アクションを実行する。また、オブジェクト選択部303によって選択されたオブジェクトに対して実行されるアクションが複数存在する場合には、アクション実行部306は、当該アクションの一覧を当該選択されたオブジェクトの近傍に表示し、当該一覧の中からユーザの操作に応じて選択されたアクションを実行する。
 次に、図4のフローチャートを参照して、本実施形態に係る携帯端末3によって実行されるオブジェクト選択処理の処理手順について説明する。
 ここでは、携帯端末3において上記したオブジェクト選択プログラムが組み込まれたゲームプログラムが実行され、図5に示すように例えばソーシャルゲームにおける複数のオブジェクト(キャラクタ)A~U及びXが表示されているものとする。
 ここで、ユーザは、図5に示すような複数のオブジェクトが表示されている画面上で各種操作を行うことができる。携帯端末3においては、ユーザの操作に応じて以下に説明する各動作モードが設定される。なお、図5に示すような画面に対してユーザが操作を行っていない場合には、携帯端末3の動作モードは待機モードに設定されているものとする。待機モードは、現在の状態を保持し、ユーザの操作を待つモードである。
 上記したように画面上でユーザによる操作が行われた場合、タッチパネル37は、当該ユーザによって指定された当該画面上の位置(当該ユーザの指先等で触れられた位置)を検出する。
 この場合、位置情報取得部303は、ユーザの操作に応じてタッチパネル37によって検出された画面上の位置を示す位置情報(入力座標)を取得する(ステップS1)。なお、この位置情報取得部303によって取得される位置情報に基づいてユーザの操作(例えば、タップ操作等)の種類を判別することができる。
 次に、モード設定部304は、位置情報取得部303によって取得された位置情報に基づいてユーザの操作の種類がダブルタップ操作であるか否かを判定する(ステップS2)。
 ダブルタップ操作であると判定された場合(ステップS2のYES)、モード設定部304は、携帯端末3の動作モードをメニューモードに設定する(ステップS3)。このメニューモードは、後述する他のモードにおいて選択されたオブジェクトに対して実行されるアクションの一覧(メニュー)を表示するモードである。動作モードがメニューモードに設定された場合の処理(メニューイベント)の詳細については後述する。
 ここでは、ダブルタップ操作が行われた場合に動作モードがメニューモードに設定されるものとして説明したが、他の動作モードが設定される際の操作と異なる操作であれば、動作モードがメニューモードに設定される際の操作は、ダブルタップ操作以外の操作であっても構わない。
 一方、ダブルタップ操作でないと判定された場合(ステップS2のNO)、モード設定部304は、位置情報取得部303によって取得された位置情報に基づいて、画面に表示されているオブジェクトが指定された(ユーザが画面上においてオブジェクトをタップした)か否かを判定する(ステップS4)。この場合、モード設定部304は、位置情報取得部303によって取得された位置情報によって示される位置(入力座標)がオブジェクトが表示されている領域内である(オブジェクトコリジョン領域内である)か否かを判定する。
 オブジェクトが指定されたと判定された場合(ステップS4のYES)、モード設定部304は、携帯端末3の動作モードをオブジェクト選択モードに設定する(ステップS5)。このオブジェクト選択モードは、例えば後述するグルーピングモードにおいて選択された複数のオブジェクト(を含むグループ)に対して、ユーザによって指定された1つのオブジェクトを追加するまたは除外するモードである。動作モードがオブジェクト選択モードに設定された場合の処理(オブジェクト選択イベント)の詳細については後述する。
 一方、オブジェクトが指定されていない場合、つまり、オブジェクト以外の領域が指定されたと判定された場合(ステップS4のNO)、モード設定部304は、位置情報取得部303によって取得された位置情報によって示される位置(ユーザによって指定された画面上の位置)が、ユーザによって連続的に指定された画面上の各位置を時系列的に結ぶ軌跡(つまり、画面上におけるユーザの指先の軌跡)によって特定される閉領域内であるか否かを判定する(ステップS6)。なお、この閉領域は、後述するようにグルーピングモードにおいてユーザが画面上で閉曲線を描くような操作を行うことによって特定される画面上の領域である。
 ユーザによって指定された画面上の位置が閉領域内であると判定された場合(ステップS6のYES)、モード設定部304は、携帯端末3の動作モードを大域グルーピングモードに設定する(ステップS7)。この大域グルーピングモードは、グルーピングモードにおいて選択された複数のオブジェクトを含む例えば2つの異なるグループを組み合わせるモードである。動作モードが大域グルーピングモードに設定された場合の処理(大域グルーピングイベント)の詳細については後述する。
 一方、ユーザによって指定された画面上の位置が閉領域内でないと判定された場合(ステップS6のNO)、モード設定部304は、携帯端末3の動作モードをグルーピングモードに設定する(ステップS8)。このグルーピングモードは、ユーザが指先で画面上に閉曲線を描くような操作を行うことによって、画面に表示されている全てのオブジェクトの中から所望のオブジェクトを選択するモードである。動作モードがグルーピングモードに設定された場合の処理(グルーピングイベント)の詳細については後述する。
 上記したようにモード設定部304によって各動作モードが設定され、当該動作モードに応じた処理が実行されると、携帯端末3におけるゲームプログラムの実行を終了させる旨の指示(以下、終了指示と表記)がユーザによってされたか否かを判定する(ステップS9)。
 終了指示がユーザによってされていない場合(ステップS9のNO)、上記したステップS1に戻って処理が繰り返される。
 一方、終了指示がユーザによってされた場合(ステップS9のYES)、携帯端末3ではゲームプログラムの実行が終了される。
 次に、上記した各動作モードが設定されている場合における携帯端末3の動作について詳細に説明する。
 まず、図6のフローチャートを参照して、動作モードがグルーピングモードに設定されている場合における携帯端末3の処理手順について説明する。このグルーピングモードにおいては、上記したようにユーザが指先で画面上に閉曲線を描くような操作が行われる。このような操作がユーザによって行われる場合、位置情報取得部303は、ユーザの指が画面(パネル)から離れるまで当該操作に応じて連続的に位置情報を取得する。
 まず、オブジェクト選択処理部305は、位置情報取得部303によって位置情報が取得されている(つまり、ユーザの指先が画面に触れている状態である)か否かを判定する(ステップS11)。
 位置情報が取得されていると判定された場合(ステップS11のYES)、オブジェクト選択処理部305は、当該位置情報を予め格納部301に格納されているリスト(以下、位置情報リストと表記)に追加する(ステップS12)。
 次に、表示処理部302は、位置情報リストに追加された位置情報に基づいてライン(以下、グループラインと表記)を画面上で描画する(ステップS13)。これにより、画面上にユーザが指先で描くラインが表示される。
 表示処理部302は、グループラインの始点と終点との距離が予め定められた値(以下、閾値と表記)以下であるか否かを判定する(ステップS14)。
 グループラインの始点と終点との距離が閾値以下であると判定された場合(ステップS14のYES)、表示処理部302は、当該始点と終点を結ぶライン(以下、補間ラインと表記)を画面上に描画する(ステップS15)。このような補間ラインが表示されることにより、ユーザは、後述する補間可能距離であることを認識できる。なお、補間ラインは、グループラインとは種類の異なるラインであることが好ましい。具体的には、グループラインが実線で描画されている場合には、補間ラインは例えば破線等によって描画される。
 ステップS15の処理が実行されると、上記したステップS11に戻って処理が繰り返される。このように処理が繰り返されることによって、画面上で移動するユーザの指先の軌跡に合わせてグループラインが画面上に表示されることになる。
 なお、ステップS14においてグループラインの始点と終点との距離が閾値以下でないと判定された場合には、ステップS15の処理は実行されない。
 一方、上記したステップS11において位置情報が取得されていない(つまり、ユーザの指が画面から離れた)と判定された場合、オブジェクト選択処理部305は、位置情報リストに保持されている複数の位置情報(つまり、画面上におけるユーザの指先の軌跡)に基づいて、閉曲線形成処理を実行する(ステップS16)。この閉曲線形成処理によれば、位置情報リストに保持されている複数の位置情報によって示される各位置を結ぶ軌跡に基づいて画面上の閉曲線を形成し、当該閉曲線を表す閉曲線データが作成される。なお、閉曲線形成処理では、ユーザの指先の軌跡(の形状)によっては後述するように閉曲線データが作成されない場合もある。この閉曲線形成処理の詳細については後述する。
 オブジェクト選択処理部305は、閉曲線形成処理が実行されることによって閉曲線データが作成されたか否かを判定する(ステップS17)。
 閉曲線データが作成されたと判定された場合(ステップS17のYES)、オブジェクト選択処理部305は、閉曲線形成処理によって作成された閉曲線データによって表される閉曲線によって囲まれる画面上の閉領域(当該閉曲線によって特定される閉領域)内に存在するオブジェクトを選択する(ステップS18)。この場合、オブジェクト選択処理部305は、画面に表示されているオブジェクトの各々について画面上の閉領域内に存在するか否かを判定し、当該閉領域内に存在するオブジェクトを選択する。
 なお、オブジェクト選択処理部305は、選択されたオブジェクトを含むグループ(以下、オブジェクトグループと表記)を作成する。これにより、オブジェクト選択処理部305によって作成されたオブジェクトグループ(に含まれるオブジェクト)を、ユーザによって包括的に選択された複数のオブジェクトとして後述する他の動作モード等において一括して処理することが可能となる。
 なお、画面上の閉領域内に存在するオブジェクトには、全体が当該閉領域内に内包されているオブジェクト以外に、例えば重心(の座標)が当該閉領域内に存在するオブジェクトが含まれる。
 このようにグルーピングモードにおいて複数のオブジェクトを含むオブジェクトグループが作成された場合、携帯端末3の内部ではこれらのオブジェクトがオブジェクトグループに含まれることを示す情報(グループ情報)が管理される。
 ステップS18の処理が実行されると、モード設定部304は、動作モードを待機モードに設定する(ステップS19)。待機モードに設定された後は、上述した図4に示すステップS9の処理が実行される。
 なお、閉曲線データが作成されていないと判定された場合(ステップS17のNO)、ステップS18の処理は実行されず、ステップS19の処理が実行される。
 次に、図7のフローチャートを参照して、上述した閉曲線形成処理(図6に示すステップS16の処理)の処理手順について説明する。
 オブジェクト選択処理部305は、位置情報リストに保持されている複数の位置情報(画面上におけるユーザの指先の軌跡を一定間隔でサンプリングした位置情報)によって示される各位置を結ぶ軌跡(つまり、ユーザの指先の軌跡)によって閉領域が特定可能であるか否かを判定する(ステップS21)。換言すれば、オブジェクト選択処理部305は、ユーザの指先の軌跡が閉曲線を形成しているか否かを判定する。
 ユーザの指先の軌跡によって閉領域が特定可能でないと判定された場合(ステップS21のNO)、オブジェクト選択処理部305は、ユーザの指先の軌跡の始点と終点との距離が閾値以下であるか否かを判定する(ステップS22)。なお、このステップS22の処理において用いられる閾値は、上述したステップS14の処理において用いられる閾値と同じ値であるものとする。
 ユーザの指先の軌跡の始点と終点との距離が閾値以下であると判定された場合(ステップS22のYES)、オブジェクト選択処理部305は、ユーザの指先の軌跡が2箇所以上の自己交差を含む形状を形成しているか否かを判定する(ステップS23)。
 ユーザの指の軌跡が2箇所以上の自己交差を含む形状を形成していないと判定された場合(ステップS23のNO)、オブジェクト選択処理部305は、位置情報リストに保持されている複数の位置情報に基づいてユーザの指先の軌跡の始点と終点とを結ぶように補間することによって形成された閉曲線を表す閉曲線データを作成する(ステップS24)。なお、この補間は、例えばスプライン関数等を用いることによって行われる。
 一方、ユーザの指先の軌跡によって閉領域を特定可能であると判定された場合(ステップS21のYES)、オブジェクト選択処理部305は、ステップS22の処理を実行することなく、ステップS23以降の処理を実行する。なお、ユーザの指先の軌跡が閉領域を特定可能である(つまり、ユーザの指先の軌跡が閉曲線を形成している)場合、オブジェクト選択処理部305は、上記したステップS24において、例えば補間処理をすることなく、閉曲線データを作成する。
 上記したように閉曲線データが作成された場合、画面上には、当該閉曲線データによって表される閉曲線を表すグルーピングラインが描画される。
 また、ユーザの指先の軌跡の始点と終点との距離が閾値以下でないと判定された場合(ステップS22のNO)、及びユーザの指先の軌跡が2箇所以上の自己交差を含む形状を形成していると判定された場合(ステップS23のYES)、表示処理部302は、画面上に描画されているグループラインを削除する(ステップS25)。また、オブジェクト選択処理部305は、位置情報リスト内の位置情報を削除する(ステップS26)。つまり、この場合には閉曲線データは作成されない。
 なお、ユーザの指先の軌跡が1箇所の自己交差を含む形状である場合、オブジェクト選択処理部305は、上記したステップS21において、閉領域を特定可能であると判定する。これにより、本実施形態における閉曲線形成処理においては、ユーザが閉曲線を描いた際に当該閉曲線の一部が交差した場合であっても閉曲線データが作成される一方で、例えばユーザが作為的に複雑な曲線を描いた場合(つまり、自己交差が2箇所以上存在する場合)には閉曲線データが作成されないようにすることができる。
 ここで、図8及び図9を参照して、動作モードがグルーピングモードに設定されている場合におけるユーザの操作の概要について説明する。
 上記したように、動作モードがグルーピングモードに設定されている場合には、ユーザは、図8に示すように画面上に指先で閉曲線を描くような操作を行う。このとき、画面上ではユーザの指先の軌跡に応じてグループライン101が描画される。これにより、ユーザは、当該ユーザの指先の軌跡によって特定される閉領域(選択しようとしているオブジェクトの範囲)を明確に認識することが可能となる。
 また、グループライン101の始点と終点との距離が閾値以下である場合には、図8に示すように補間ライン102が表示される。このように補間ライン102が表示された場合には、ユーザは、補間によって閉曲線を形成することができることを認識可能となるため、簡易に操作することができる。
 また、上述した閉曲線形成処理によってユーザの指先の軌跡(位置情報リストに保持されている複数の位置情報によって示される各位置を結ぶ軌跡)に応じて閉曲線データが作成されると、図9に示すように当該閉曲線データによって表される閉曲線103で囲まれる領域内に存在するオブジェクトが選択される(選択されている状態となる)。図9に示す例では、5つのオブジェクトJ,K,L,O及びPが選択されている。なお、この場合、図9に示すように選択されたオブジェクトは、他のオブジェクトと区別可能な態様で表示されることが好ましい。また、閉曲線データが作成されると、図9に示すように、画面上には当該閉曲線データによって表される閉曲線103がグルーピングライン101として描画される。
 次に、図10のフローチャートを参照して、動作モードが大域グルーピングモードに設定されている場合における携帯端末3の処理手順について説明する。
 この大域グルーピングモードは、上述したグルーピングモードにおいて選択された複数のオブジェクトを含むオブジェクトグループが作成された後に、当該オブジェクトグループを囲む閉曲線内の領域(つまり、画面上に描画されているグルーピングラインの内部の閉領域)内であってオブジェクトが表示されていない位置がユーザの指先でタップされた際に設定されるモードである。つまり、動作モードが大域グルーピングモードに設定される場合には、少なくとも1つのオブジェクトグループが作成され、当該オブジェクトグループがグルーピングラインによって画面に表示されている状態となっている。
 ここで、ユーザは、画面に表示されているオブジェクトグループに対してドラッグ操作(画面上の閉領域内に指を接触させた状態のまま移動させる操作)を行うことができる。以下、ユーザがドラッグ操作を行っているオブジェクトグループを対象オブジェクトグループと称する。
 表示処理部302は、ユーザのドラッグ操作に応じて、対象オブジェクトグループの位置を再計算する(ステップS31)。具体的には、表示処理部302は、対象オブジェクトグループに含まれる各オブジェクト及び当該対象オブジェクトグループを囲む閉曲線(グルーピングライン)等の位置を再計算する。
 表示処理部302は、再計算された結果に基づいて画面上に対象オブジェクトグループを再描画する。これにより、画面上の対象オブジェクトグループ(に含まれる複数のオブジェクト)をユーザのドラッグ操作に応じて移動させることができる。
 次に、オブジェクト選択処理部305は、位置情報取得部303によって取得される位置情報に基づいて、ユーザのドラッグ操作が終了し、当該ユーザの指先が画面から離れたか否かを判定する(ステップS32)。この場合、位置情報取得部303によって位置情報が取得されない場合にはユーザの指先が画面から離れたと判定され、位置情報取得部303によって位置情報が取得されている場合にはユーザの指先が画面から離れていないと判定される。
 ここで、動作モードが大域グルーピングモードに設定されている場合、当該大域グルーピングモードの前に上述したグルーピングモードにおける処理が複数回繰り返されることによって、複数のオブジェクトグループが作成されている場合がある。
 そこで、ユーザの指先が画面から離れていないと判定された場合(ステップS32のNO)、オブジェクト選択処理部305は、ユーザのドラッグ操作に応じて移動している対象オブジェクトグループが画面上で他のオブジェクトグループと重複しているか否かを判定する(ステップS33)。具体的には、オブジェクト選択処理部305は、対象オブジェクトグループを囲む閉曲線(グルーピングライン)が他のオブジェクトグループを囲む閉曲線(他のグルーピングライン)と交差している場合、または対象オブジェクトグループが他のオブジェクトグループに内包されている場合に、対象オブジェクトグループが他のオブジェクトグループと重複していると判定する。
 対象オブジェクトグループが他のオブジェクトグループと重複していると判定された場合(ステップS33のYES)、オブジェクト選択処理部305は、他のオブジェクトグループを対象オブジェクトグループの移動先候補とする(ステップS34)。このとき、対象オブジェクトグループの移動先候補が他のオブジェクトグループであることがユーザに認識可能なように、対象オブジェクトグループ及び他のオブジェクトグループやこれらのオブジェクトグループを囲むグルーピングラインの色等を変更させる構成であっても構わない。
 なお、ステップS34の処理が実行されると、上記したステップS31に戻って処理が繰り返される。
 また、対象オブジェクトグループが他のオブジェクトグループと重複していないと判定された場合(ステップS33のNO)、オブジェクト選択処理部305は、ステップS34の処理を実行せず、ステップS31に戻って処理を繰り返す。なお、対象オブジェクトグループが他のオブジェクトグループと重複していないと判定された場合において、上記したように対象オブジェクトグループの移動先候補となっている他のオブジェクトグループが存在していた場合には、オブジェクト選択処理部305は、当該移動先候補を解除する。このとき、移動先候補の存在によって上記したように色等が変更されていた場合には、当該色等については変更前の状態に戻される。
 一方、ユーザの指先が画面から離れたと判定された場合(ステップS35のYES)、オブジェクト選択処理部305は、対象オブジェクトグループの移動先候補とされている他のオブジェクトグループ(以下、移動先候補オブジェクトグループと表記)があるか否かを判定する(ステップS35)。
 移動先候補オブジェクトグループがあると判定された場合、オブジェクト選択処理部305は、対象オブジェクトグループ及び移動先候補オブジェクトグループを組み合わせる(結合する)処理を実行する。具体的には、オブジェクト選択処理部305は、対象オブジェクトグループに含まれる複数のオブジェクトを移動先候補オブジェクトグループに追加する(ステップS36)。この場合、対象オブジェクトグループについては、画面上から削除される。
 すなわち、ステップS36の処理が実行されることによって、対象オブジェクトグループに含まれる複数のオブジェクト及び移動先候補オブジェクトグループに含まれる複数のオブジェクトからなる1つのオブジェクトグループが作成される。
 ステップS36の処理が実行されると、モード設定部304は、動作モードを待機モードに設定する(ステップS37)。待機モードに設定された後は、上述した図4に示すステップS9の処理が実行される。
 なお、移動先候補オブジェクトグループがないと判定された場合(ステップS35のNO)、ステップS36の処理は実行されず、ステップS37の処理が実行される。
 ここで、図11~図13を参照して、動作モードが大域グルーピングモードに設定されている場合におけるユーザの操作の概要について説明する。
 ここでは、図11に示すように、2つのオブジェクトグループ201及び202が作成されており、当該オブジェクトグループ201及び202が画面に表示されているものとする。なお、図11に示す例では、オブジェクトグループ201はオブジェクトB,C,Dを含み、オブジェクトグループ202はオブジェクトJ,K、L,O及びPを含む。
 上記したように、動作モードがグルーピングモードに設定されている場合には、ユーザは、図12に示すように例えばオブジェクトグループ201に対してドラッグ操作を行うことによって、当該オブジェクトグループ201を画面上で移動させることができる。
 ここで、ユーザのドラッグ操作に応じてオブジェクトグループ201がオブジェクトグループ202と重複する位置に移動された場合、当該オブジェクトグループ202は、オブジェクトグループ201の移動先候補とされる。
 オブジェクトグループ202がオブジェクトグループ201の移動先候補とされた後、ユーザの指先が画面から離れると、図13に示すように当該オブジェクトグループ201に含まれるオブジェクトB,C,Dがオブジェクトグループ202に追加されて、オブジェクトグループ203が作成される。この場合、オブジェクトグループ201は画面上から削除される。
 このように動作モードが大域グルーピングモードに設定されている場合、ユーザは、オブジェクトグループ201をオブジェクトグループ202と重複する位置にドラッグ操作するのみで、当該オブジェクトグループ201,202(を構成する複数のオブジェクト)を結合し、1つのオブジェクトグループ203を作成することができる。
 なお、ここでは2つのオブジェクトグループを結合することについて主に述べたが、動作モードが大域グルーピングモードに設定されている場合において、あるオブジェクトグループから複数のオブジェクト(を含むオブジェクトグループ)を除外するような構成とすることも可能である。具体的に説明すると、例えば図11に示すオブジェクトグループ202の他に、当該オブジェクトグループ202に含まれる例えばオブジェクトK及びLを含む他のオブジェクトグループが存在する場合を想定する。この場合において、画面上で他のオブジェクトグループに対してドラッグ操作を行うことによって、当該他のオブジェクトグループがオブジェクトグループ202と重複しない位置に移動された場合には、オブジェクトグループ202からオブジェクトK及びLが除外されるようにしてもよい。
 また、動作モードが大域グルーピングモードに設定されている場合には、画面上において単にオブジェクトグループを移動させることも可能である。
 次に、図14及び図15のフローチャートを参照して、動作モードがオブジェクト選択モードに設定されている場合における携帯端末3の処理手順について説明する。
 このオブジェクト選択モードは、画面に表示されているオブジェクトがユーザによって指定(タップ)された際に設定されるモードである。なお、動作モードがオブジェクト選択モードに設定される場合、オブジェクトグループが作成(表示)されていてもよいし、作成(表示)されていなくてもよい。
 ここで、ユーザは、画面に表示されているオブジェクトに対してドラッグ操作を行うことができる。以下、ユーザがドラッグ操作を行っているオブジェクトを対象オブジェクトと称する。
 表示処理部302は、ユーザのドラッグ操作に応じて、対象オブジェクトの位置を再計算する(ステップS41)。表示処理部302は、再計算された結果に基づいて画面上に対象オブジェクトを再描画する。これにより、画面上の対象オブジェクトをユーザのドラッグ操作に応じて移動させることができる。
 次に、オブジェクト選択処理部305は、位置情報取得部303によって取得される位置情報に基づいて、ユーザのドラッグ操作が終了し、当該ユーザの指先が画面から離れたか否かを判定する(ステップS42)。なお、このステップS42の処理は、上述した図10に示すステップS32の処理と同様の処理である。
 ユーザの指先が画面から離れていないと判定された場合(ステップS42のNO)、オブジェクト選択処理部305は、対象オブジェクトが上述した動作モードがグルーピングモードに設定されている場合に作成されたオブジェクトグループに含まれる(つまり、対象オブジェクトがオブジェクトグループに所属している)オブジェクトであるか否かを判定する(ステップS43)。なお、対象オブジェクトがオブジェクトグループに含まれるオブジェクトであるか否かは、前述したようにオブジェクトグループが作成された際に携帯端末3の内部で管理されるグループ情報等を参照することによって判定可能である。
 ここで、対象オブジェクトがオブジェクトグループに含まれるオブジェクトであると判定された場合(ステップS43のYES)、オブジェクト選択処理部305は、ユーザのドラッグ操作に応じて移動された対象オブジェクトの位置が当該オブジェクトグループを囲むグルーピングライン(閉曲線)の外側であるか否かを判定する(ステップS44)。なお、対象オブジェクトの位置は、ユーザのドラッグ操作に応じて位置情報取得部303によって取得される位置情報によって特定することができる。
 対象オブジェクトの位置が当該対象オブジェクトを含むオブジェクトグループを囲むグルーピングラインの外側であると判定された場合(ステップS44のYES)、オブジェクト選択部305は、対象オブジェクトを当該オブジェクトグループから除外するオブジェクトの候補(以下、除外候補と表記)とする(ステップS45)。このとき、対象オブジェクトが除外候補となっていることをユーザが認識可能とするために、対象オブジェクトの色等を変更させる構成であっても構わない。以下の説明では、対象オブジェクトが除外候補とされたオブジェクトグループを除外対象オブジェクトグループと称する。
 なお、ステップS45の処理が実行されると、上記したステップS41に戻って処理が繰り返される。
 また、対象オブジェクトの位置が当該対象オブジェクトを含むオブジェクトグループを囲むグルーピングラインの外側でないと判定された場合(ステップS44のNO)、オブジェクト選択処理部305は、ステップS45の処理を実行せず、ステップS41に戻って処理を繰り返す。
 一方、対象オブジェクトがオブジェクトグループに含まれるオブジェクトでないと判定された場合(ステップS43のNO)、オブジェクト選択処理部305は、ユーザのドラッグ操作に応じて移動された対象オブジェクトの位置が、動作モードがグルーピングモードに設定されている場合に作成された任意のオブジェクトグループを囲むグルーピングライン(閉曲線)の内側であるか否かを判定する(ステップS47)。なお、対象オブジェクトの位置は、上記したようにユーザのドラッグ操作に応じて位置情報取得部303によって取得される位置情報によって特定することができる。
 対象オブジェクトの位置が任意のオブジェクトグループを囲むグルーピングラインの内側であると判定された場合(ステップS46のYES)、オブジェクト選択処理部305は、対象オブジェクトを当該オブジェクトグループに追加するオブジェクトの候補(以下、追加候補と表記)とする(ステップS47)。このとき、対象オブジェクトが追加候補となっていることをユーザが認識可能とするために、対象オブジェクトの色等を変更させる構成であっても構わない。以下の説明では、対象オブジェクトが追加候補とされたオブジェクトグループを追加対象オブジェクトグループと称する。
 なお、ステップS47の処理が実行されると、上記したステップS41に戻って処理が繰り返される。
 また、対象オブジェクトの位置が任意のオブジェクトグループを囲むグルーピングラインの内側でないと判定された場合(ステップS46のNO)、オブジェクト選択処理部305は、ステップS47の処理を実行せず、ステップS41に戻って処理を繰り返す。
 一方、ユーザの指先が画面から離れたと判定された場合(ステップS42のYES)、オブジェクト選択処理部305は、対象オブジェクトが除外候補であるか否かを判定する(ステップS48)。上記したステップS45において対象オブジェクトが除外候補とされている場合、ステップS48において対象オブジェクトが除外候補であると判定される。
 対象オブジェクトが除外候補であると判定された場合(ステップS48のYES)、オブジェクト選択処理部305は、対象オブジェクトを上記した除外対象オブジェクトグループから除外する(ステップS49)。
 一方、対象オブジェクトが除外候補でないと判定された場合(ステップS48のNO)、オブジェクト選択処理部305は、対象オブジェクトが追加候補であるか否かを判定する(ステップS50)。上記したステップS47において対象オブジェクトが追加候補とされている場合、ステップS50において対象オブジェクトが追加候補であると判定される。
 対象オブジェクトが追加候補であると判定された場合(ステップS50のYES)、オブジェクト選択処理部305は、対象オブジェクトを上記した追加対象オブジェクトグループに追加する(ステップS51)。
 なお、上記したステップS49またはS51の処理が実行されると、モード設定部304は、動作モードを待機モードに設定する(ステップS52)。待機モードに設定された後は、上述した図4に示すステップS9の処理が実行される。
 また、ステップS50において対象オブジェクトが追加候補でないと判定された場合には、ステップS52の処理が実行される。
 ここで、図16及び図17を参照して、動作モードがオブジェクト選択モードに設定されている場合におけるユーザの操作の概要について説明する。
 まず、図16に示すように、オブジェクトグループ401が作成されており、当該オブジェクトグループ401が画面に表示されているものとする。図16に示す例では、オブジェクトグループ401は、オブジェクトJ,K,L,O及びPを含む。
 ここで、動作モードがオブジェクト選択モードに設定されている場合には、ユーザは、図16に示すようにオブジェクトグループ401に含まれる例えばオブジェクトLに対してドラッグ操作を行うことによって、当該オブジェクトLをオブジェクトグループ401(を囲むグルーピングライン)の外側に移動させることができる。
 この場合、オブジェクトLは、オブジェクトグループ401から除外され、オブジェクトグループ401の外側に表示されることになる。つまり、ユーザによってこのような操作が行われることによって、オブジェクトグループ401は、オブジェクトJ、K、O及びPを含むオブジェクトグループとなる。
 次に、図17に示すように、オブジェクトグループ402が作成されており、当該オブジェクトグループ402が画面に表示されているものとする。図17に示す例では、オブジェクトグループ402は、オブジェクトJ,K,L,O及びPを含む。
 ここで、動作モードがオブジェクト選択モードに設定されている場合には、ユーザは、図17に示すようにオブジェクトグループ402に含まれるオブジェクト以外の例えばオブジェクトGに対してドラッグ操作を行うことによって、当該オブジェクトGをオブジェクトグループ402(を囲むグルーピングライン)の内側に移動させることができる。
 この場合、オブジェクトGは、オブジェクトグループ402に追加され、オブジェクトグループ402の内側に表示されることになる。つまり、ユーザによってこのような操作が行われることによって、オブジェクトグループ402は、オブジェクトG、J,K,L,O及びPを含むオブジェクトグループとなる。
 このように動作モードがオブジェクト選択モードに設定されている場合、ユーザは、画面に表示されている1つのオブジェクトを選択(指定)し、当該選択されたオブジェクトをオブジェクトグループから除外する、または当該選択されたオブジェクトをオブジェクトグループに追加するといった操作(グルーピング操作)を行うことが可能となる。
 なお、ここではオブジェクトの除外または追加について主に述べたが、単にユーザによって選択されたオブジェクトを別の位置に移動するような操作も可能である。
 また、上記したオブジェクトの除外及び追加を組み合わせて、任意のオブジェクトグループに含まれるオブジェクトを他のオブジェクトグループに移動させる構成とすることも可能である。具体的には、上述したステップS44及びS45の処理の後にステップS46及びS47に相当する処理が実行され、対象オブジェクトを除外候補かつ追加候補とすることによって、対象オブジェクトを除外対象オブジェクトグループから除外した後に、当該対象オブジェクトを追加対象オブジェクトグループに追加することができる。
 次に、図18のフローチャートを参照して、動作モードがメニューモードに設定されている場合における携帯端末3の処理手順について説明する。
 このメニューモードは、上記したように複数のオブジェクトが表示されている画面上においてユーザによってダブルタップ操作が行われた際に設定されるモードである。なお、動作モードがメニューモードに設定される場合、オブジェクトグループが作成(表示)されていてもよいし、作成(表示)されていなくてもよい。
 まず、オブジェクト選択処理部305は、位置情報取得部303によって取得された位置情報に基づいて、画面に表示されているオブジェクト単体がダブルタップ操作によって指定されたか否かを判定する(ステップS61)。
 オブジェクト単体が指定されたと判定された場合(ステップS61のYES)、オブジェクト選択処理部305は、当該指定されたオブジェクトをリスト(以下、オブジェクトリストと表記)に追加する(ステップS62)。
 一方、オブジェクト単体が指定されていないと判定された場合(ステップS61のNO)、オブジェクト選択処理部305は、位置情報取得部303によって取得された位置情報に基づいて、上述した動作モードがグルーピングモードに設定されている場合に作成されたオブジェクトグループ(または動作モードが大域グルーピングモードに設定されている場合に2つのオブジェクトグループを結合することによって作成されたオブジェクトグループ)が指定されたか否かを判定する(ステップS63)。なお、位置情報取得部303によって取得された位置情報によって示される位置が例えばオブジェクトグループを囲むグルーピングラインの内側の領域(閉領域)内である場合には、当該オブジェクトグループが指定されたと判定される。
 オブジェクトグループが指定されたと判定された場合(ステップS63のYES)、オブジェクト選択処理部305は、当該指定されたオブジェクトグループに含まれるオブジェクトをオブジェクトリストに追加する(ステップS64)。
 なお、オブジェクトグループが作成されている場合において、当該オブジェクトグループに含まれるオブジェクト単体が指定された場合には、当該オブジェクト単体が指定されたものとしてもよいし、当該オブジェクトグループが指定されたものとしてもよい。
 ステップS62またはステップS64の処理が実行されると、表示処理部302は、画面上(例えば、指定されたオブジェクトまたはオブジェクトグループの近傍)に、オブジェクトリストに保持されているオブジェクトに対して実行されるアクションの一覧(メニュー)を表示する(ステップS65)。
 ここでメニューに一覧として表示されるアクションの内容は、携帯端末3において実行されているアプリケーションプログラム等に応じて異なる。なお、携帯端末3においてゲームプログラムが実行されている場合には、メニューに一覧として表示されるアクションの一例としては、例えばオブジェクトリストに保持されているキャラクタ(オブジェクト)を所有するユーザに対してメッセージを送るアクションを実行するための「メッセージを送る」、当該キャラクタに攻撃させるアクションを実行するための「攻撃する」、当該キャラクタを逃亡させるアクションを実行するための「逃げる」及び当該キャラクタを画面上から削除するアクションを実行するための「削除」等がある。
 ここで、ユーザは、メニューに一覧として表示されているアクションの中から所望のアクションをタップすることによって選択することができる。
 このようにユーザによってタップ操作が行われた場合、オブジェクト選択処理部305は、位置情報取得部303によって取得された位置情報に基づいて、表示処理部302によって表示されたメニューに対して当該タップ操作が行われた(つまり、ユーザがメニュー内をタップした)か否かを判定する(ステップS66)。
 メニューに対してタップ操作が行われたと判定された場合(ステップS66のYES)、アクション実行部306は、ユーザによって選択されたアクション(つまり、メニューに一覧として表示されているアクションのうち、ユーザによってタップされたアクション)を実行する(ステップS67)。なお、このステップS67におけるアクション実行部306の処理(アクション)の具体例については後述する。
 ステップS67の処理が実行されると、モード設定部304は、動作モードを待機モードに設定する(ステップS68)。待機モードに設定された後は、上述した図4に示すステップS9の処理が実行される。
 一方、メニューに対してタップ操作が行われていない(つまり、メニュー外がタップされた)と判定された場合(ステップS66のNO)、表示処理部302は、表示されているメニューを非表示とする(ステップS69)。なお、ステップS69の処理が実行されると、上記したステップS68の処理が実行される。
 また、オブジェクトグループが指定されていないと判定された場合(ステップS63のNO)、ステップS68の処理が実行される。
 なお、ここではメニューに対してタップ操作が行われていない場合にメニューが非表示とされるものとして説明したが、例えばメニューに「メニューを閉じる」の項目が設けられており、当該「メニューを閉じる」の項目がタップされた場合に当該メニューを非表示としても構わない。
 ここで、図19を参照して、動作モードがメニューモードに設定されている場合におけるユーザの操作の概要について説明する。
 ここでは、図19に示すように、オブジェクトグループ501が作成されており、当該オブジェクトグループ501が画面に表示されているものとする。図19に示す例では、オブジェクトグループ401は、オブジェクトJ,K,L、O及びPを含む。
 上記したように動作モードをメニューモードに設定する場合、ユーザは、画面上に表示されているオブジェクト単体またはオブジェクトグループに対してダブルタップ操作を行う。
 ここで、ユーザがオブジェクトグループ501(を囲むグルーピングラインの内側の領域)に対してダブルタップ操作をした場合、当該オブジェクトグループ501に含まれるオブジェクトJ,K,L,O及びPに対して実行されるアクションの一覧がメニュー402として画面に表示される。
 図19に示す例では、メニュー502には、アクションとして「メッセージを送る」、「攻撃する」、「逃げる」、「削除」及び「メニューを閉じる」が表示されている。
 ユーザは、メニュー502に表示されているアクションの中から所望のアクションをタップ(選択)することによって、アクション実行部306に当該アクションを実行させることができる。
 以下、アクション実行部306によって実行されるアクションについて具体的に説明する。
 まず、図20のフローチャートを参照して、ユーザによって例えば図19に示す「メッセージを送る」のアクションが選択された場合におけるアクション実行部306の処理手順(アクション実行部306によって実行されるアクション)について説明する。なお、この「メッセージを送る」のアクションは、オブジェクトリストに保持されているオブジェクト(キャラクタ)を所有するユーザに対してメッセージを送信するためのアクションである。
 この場合、アクション実行部306は、表示処理部302を介して、例えば携帯端末3のディスプレイ36にメッセージの作成画面を表示する。アクション実行部306は、表示されたメッセージの作成画面に対するユーザの操作に応じて、メッセージを作成する(ステップS71)。
 次に、アクション実行部306は、オブジェクトリストに保持されているオブジェクトの各々に対して以下のステップS72~S75の処理を実行する。以下、この処理の対象となるオブジェクトを対象オブジェクトと称する。
 まず、アクション実行部306は、作成されたメッセージを対象オブジェクト(キャラクタ)を所有するユーザ(以下、送信対象ユーザと表記)によって利用される携帯端末等に送信する(ステップS72)。なお、この送信処理に必要な情報は、例えば携帯端末3の内部で管理されていてもよいし、サーバ群2から取得されても構わない。
 ここで、アクション実行部306は、送信対象ユーザに対するメッセージの送信が成功したか否かを判定する(ステップS73)。
 送信対象ユーザに対するメッセージの送信が成功したと判定された場合(ステップS73のYES)、アクション実行部306は、送信(成功)数に1を加算する(ステップS74)。
 一方、送信対象ユーザに対するメッセージの送信が例えば障害等の発生により成功しないと判定された場合(ステップS73のNO)、アクション実行部306は、エラー数に1を加算する(ステップS75)。
 なお、ステップS74における送信数及びステップS75におけるエラー数は、アクション実行部306の処理の開始時には初期値として0が設定されているものとする。
 次に、ステップS74またはステップS75の処理が実行されると、アクション実行部306は、オブジェクトリストに保持されている全てのオブジェクトについて上記したステップS72~S75の処理が実行されたか否かを判定する(ステップS76)。
 全てのオブジェクトについて処理が実行されていないと判定された場合(ステップS76のNO)、アクション実行部306は、上記したステップS72に戻って処理を繰り返す。この場合、オブジェクトリストに保持されているオブジェクトのうち、ステップS72~S75の処理が実行されていないオブジェクトを対象オブジェクトとして処理が実行される。
 一方、全てのオブジェクトについて処理が実行されたと判定された場合(ステップS76のYES)、アクション実行部306は、表示処理部302を介して、送信数及びエラー数を画面に表示する。
 このように例えば図19に示すメニューにおいて「メッセージを送る」のアクションがユーザによって選択された場合には、ユーザによって指定されたオブジェクトグループに含まれるオブジェクト(キャラクタ)の各々を所有する全てのユーザに対して一括で同一のメッセージを送信することが可能となる。
 次に、図21のフローチャートを参照して、ユーザによって例えば図19に示す「削除」のアクションが選択された場合におけるアクション実行部306の処理手順(アクション実行部306によって実行されるアクション)について説明する。なお、この「削除」のアクションは、オブジェクトリストに保持されているオブジェクト(キャラクタ)を画面上から削除するためのアクションである。
 この場合、アクション実行部306は、オブジェクトリストに保持されているオブジェクトの各々に対して以下のステップS81~S83の処理を実行する。以下、この処理の対象となるオブジェクトを対象オブジェクトと称する。
 まず、アクション実行部306は、対象オブジェクトが削除可能なオブジェクトであるか否かを判定する(ステップS81)。削除可能なオブジェクトであるか否かは、例えば携帯端末3において実行されているアプリケーションプログラムによって予め定められているものとする。具体的には、携帯端末3において実行されているアプリケーションプログラムがゲームプログラムである場合において、前述した図5等に示すオブジェクト(キャラクタ)Xが当該ゲームにおける敵キャラクタ(ボスキャラクタ)であるような場合には、当該オブジェクトXは削除可能なオブジェクトでないと規定されている。
 対象オブジェクトが削除可能なオブジェクトであると判定された場合(ステップS81のYES)、アクション実行部306は、対象オブジェクトを画面上から削除する(ステップS82)。
 次に、アクション実行部306は、削除数に1を加算する(ステップS83)。なお、このステップS83における削除数は、アクション実行部306の処理の開始時には初期値として0が設定されているものとする。
 ステップS83の処理が実行されると、アクション実行部306は、オブジェクトリストに保持されている全てのオブジェクトについて上記したステップS81~S83の処理が実行されたか否かを判定する(ステップS84)。
 全てのオブジェクトについて処理が実行されていないと判定された場合(ステップS84のNO)、アクション実行部306は、上記したステップS81に戻って処理を繰り返す。この場合、オブジェクトリストに保持されているオブジェクトのうち、ステップS81~S83の処理が実行されていないオブジェクトを対象オブジェクトとして処理が実行される。
 一方、全てのオブジェクトについて処理が実行されたと判定された場合(ステップS84のYES)、アクション実行部306は、表示処理部302を介して、削除数を画面に表示する(ステップS85)。
 なお、対象オブジェクトが削除可能なオブジェクトでないと判定された場合(ステップS81のNO)、アクション実行部306は、ステップS82及びS83の処理を実行せず、ステップS84の処理を実行する。
 ここでは、ステップS85において削除数のみが表示されるものとして説明したが、例えばステップS81において削除可能なオブジェクトでないと判定されたことにより削除されなかったオブジェクトの数をも表示する構成としても構わない。
 このように例えば図19に示すメニューにおいて「削除」のアクションがユーザによって選択された場合には、ユーザによって指定されたオブジェクトグループに含まれる複数のオブジェクトの全てを一括で削除することができる。
 上記したように本実施形態においては、ユーザによって連続的に指定された画面上の各位置を検出し、当該画面上に表示されている複数のオブジェクトのうち、当該検出された各位置を結ぶ軌跡によって特定される当該画面上の閉領域内に表示されている少なくとも1つのオブジェクトを選択する構成により、ユーザは、画面上において例えば閉曲線をなぞる(描く)ような簡易な操作で、画面に表示されている複数のオブジェクトを選択することが可能となる。
 また、本実施形態においては、選択されたオブジェクトを他のオブジェクトと識別可能に表示することにより、ユーザは選択されているオブジェクトを画面上で容易に認識することができる。
 また、本実施形態においては、ユーザによって連続的に指定された画面上の各位置(つまり、タッチパネルによって検出された各位置)を結ぶ軌跡を表すライン(グルーピングライン)を画面上に描画することにより、ユーザは当該ユーザの指先の軌跡及び当該軌跡によって特定される閉領域等を容易に認識することができる。
 また、本実施形態においては、ユーザによって連続的に指定された画面上の各位置を結ぶ軌跡によって閉領域が特定されない場合であって、当該軌跡の始点と終点とが画面上の予め定められた範囲内に存在する場合、当該始点と終点とを結ぶように補間し、当該補間された軌跡によって特定される画面上の閉領域内に表示されている少なくとも1つのオブジェクトを選択することにより、ユーザによる画面上における操作において適切な閉曲線が描かれていない場合であっても補間によって閉領域を特定することができるようにするため、ユーザの操作をより簡易にすることが可能となる。
 また、本実施形態においては、選択された少なくとも1つのオブジェクトを含むオブジェクトグループを作成し、当該作成されたオブジェクトグループがユーザによって指定された場合に、当該オブジェクトグループの近傍に当該オブジェクトグループに含まれるオブジェクトに対して実行されるアクションの一覧を表示し、当該表示されたアクションの一覧の中からユーザの操作に応じて選択されたアクションを実行する構成により、ユーザによって指定されたオブジェクトグループに含まれるオブジェクトに対して一括して同一のアクションを実行することができるため、当該オブジェクトの各々に対してアクションを実行するための操作を行うという煩雑さを解消することができる。
 また、本実施形態においては、オブジェクトグループに含まれるオブジェクトのうちのユーザによって指定されたオブジェクトを当該オブジェクトグループから除外する、またはオブジェクトグループに含まれるオブジェクト以外のユーザによって指定されたオブジェクトを当該オブジェクトグループに追加するような操作を画面上でユーザが行うことが可能となる。
 なお、本実施形態においては、画面上でユーザが閉曲線を描くような操作を行うものとして説明したが、画面上の閉領域を特定可能なものであれば閉曲線に限られない。具体的には、ユーザによって例えば矩形や多角形等が描かれても構わない。
 また、本実施形態においては、携帯端末3においてゲームプログラムが実行されるものとして主に説明したが、他のアプリケーションプログラムが実行されても構わない。具体的には、携帯端末3内部で保持されている各種ファイル(データ)等を管理するアプリケーションプログラム(以下、ファイル管理プログラムと表記)や当該携帯端末3において登録されているメールアドレス等のアドレス帳を管理するアプリケーションプログラム(以下、アドレス管理プログラムと表記)等が携帯端末3において実行されても構わない。
 例えば携帯端末3においてファイル管理プログラムが実行された場合には、画面に携帯端末3内部で保持されている各種ファイルのアイコンがオブジェクトとして表示され、ユーザは当該画面上において閉曲線を描くような操作を行うことで複数のファイル(のアイコン)を包括的に選択することができる。更に、ファイル管理プログラムが実行されている場合に表示されるメニューには、包括的に選択された複数のファイルの削除やコピー等がアクションの一覧として表示される。例えばサムネイル画像がオブジェクトとして表示されている場合には、当該サムネイル画像の中から複数のサムネイル画像が選択されることによって、当該選択された画像からなるアルバム(フォルダ)を作成するような構成とすることも可能である。
 また、携帯端末3においてアドレス管理プログラムが実行された場合には、画面にアドレス帳に登録されているユーザ(ユーザ名、住所、メールアドレスまたは電話番号等)がオブジェクトとして表示され、ユーザは、当該画面上において閉曲線を描くような操作を行うことでアドレス帳に登録されているユーザを包括的に選択することができる。更に、アドレス管理プログラムが実行されている場合に表示されるメニューには、包括的に選択された複数のユーザに対するメールの送信やゲームへの招待等がアクションの一覧として表示される。
 すなわち、本実施形態は、複数のオブジェクトが画面上に表示されるようなアプリケーションプログラムを実行するような場合であれば適用可能である。
 なお、前述した説明では、携帯端末3が単独でオブジェクト選択処理を実行するものとして説明しているが、サーバ群2に含まれるコンピュータ(例えばWebサーバ)が携帯端末3と共同してオブジェクト選択処理を実行するようにしても良い。この場合、Webサーバ(情報処理装置)は、図2に示すハードウェア構成、図3に示す機能構成と同等の構成を有するものとする。ただし、図2に示す無線通信部34は、無線通信に限らず、ネットワーク1を介した携帯端末3等の外部装置との有線通信の制御を司る。また、図3に示す各部(格納部301、表示処理部302、位置情報取得部303、モード設定部304、オブジェクト選択処理部305及びアクション実行部306)は、WebサーバのCPU(コンピュータ)がオブジェクト選択プログラム(が組み込まれたアプリケーションプログラム)を実行することにより実現されるものとする。以下、Webサーバ(情報処理装置)により実現される各機能部について説明する。
 格納部301には、例えば本実施形態において実行されるオブジェクト選択処理に必要な各種情報が格納される。格納部301には、例えば画面に表示されるオブジェクトに関する情報や後述する各種リスト等が格納される。
 表示処理部302は、例えば格納部301を参照して携帯端末3において実行されるアプリケーションプログラムに応じた複数のオブジェクトを、ネットワーク1を通じて、携帯端末3において表示させる。例えば、携帯端末3においてソーシャルゲームが実行される場合には、表示処理部302は、ソーシャルゲームのキャラクタをオブジェクトとして携帯端末3において表示させる。
 位置情報取得部303は、携帯端末3が有するタッチパネル37によって検出された位置を示す位置情報を入力する機能を有する。例えば、携帯端末3は、タッチパネル37に対して、ユーザにより任意の閉曲線(例えば、円等)をなぞるような操作がされた場合、当該操作に応じて連続的に画面上の位置を検出する。位置情報取得部303は、タッチパネル37によって検出された各位置を示す複数の位置情報を携帯端末3から取得する。位置情報取得部303によって検出された位置情報は、例えば格納部301に格納される。
 モード設定部304は、複数のオブジェクトが表示された画面に対するユーザの操作に応じて、携帯端末3の動作モードを設定する。モード設定部304によって設定される動作モードには、前述と同様にして、待機モード、メニューモード、グルーピングモード、大域グルーピングモード及びオブジェクト選択モード等が含まれる。
 オブジェクト選択処理部305は、携帯端末3において、ユーザにより画面(タッチパネル)上において閉曲線をなぞるような操作がされた場合、モード設定部304によって設定された動作モードに従って、携帯端末3の画面に表示させている複数のオブジェクトのうち、位置情報取得部303によって取得された位置情報によって示される複数の位置を結ぶ軌跡によって特定される画面の閉領域内に表示されている少なくとも1つのオブジェクトを選択する。
 アクション実行部306は、オブジェクト選択処理部305によって選択されたオブジェクトに対して各種アクションを実行する。また、オブジェクト選択部303によって選択されたオブジェクトに対して実行されるアクションが複数存在する場合には、アクション実行部306は、当該アクションの一覧を当該選択されたオブジェクトの近傍に表示させ、当該一覧の中からユーザの操作に応じて選択されたアクションを実行する。
 Webサーバは、図4、図6、図7、図10、図14、図15図18、図20、図21に示すフローチャートの処理を実行し、携帯端末3に対して、前述と同様の処理を実行させる。これにより、Webサーバによるオブジェクト選択処理は、携帯端末3が単独でオブジェクト選択処理を実行する場合と同様の効果を得ることが可能である。
 なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。

Claims (10)

  1.  ユーザによって指定された画面上の位置を検出するタッチパネルを備える情報処理装置が実行するオブジェクト選択方法であって、
     画面上に複数のオブジェクトを表示し、
     前記タッチパネルによって連続的に前記画面上の複数の位置を検出し、
     前記画面に表示されている複数のオブジェクトのうち、前記複数の位置を結ぶ軌跡によって特定される前記画面の閉領域内に表示されている少なくとも1つのオブジェクトを選択するオブジェクト選択方法。
  2.  更に、前記選択されたオブジェクトを他のオブジェクトと識別可能に表示する請求項1記載のオブジェクト選択方法。
  3.  更に、前記軌跡を表すラインを前記画面上に描画する請求項1記載のオブジェクト選択方法。
  4.  更に、前記軌跡によって閉領域が特定されない場合であって、当該軌跡の始点と終点とが前記画面の予め定められた範囲内に存在する場合、前記始点と前記終点とを結ぶ軌跡を補間し、
     前記始点と前記終点とを結ぶ軌跡によって特定される前記画面の閉領域内に表示されている少なくとも1つのオブジェクトを選択する請求項1記載のオブジェクト選択方法。
  5.  更に、
     前記選択された少なくとも1つのオブジェクトを含むオブジェクトグループを作成し、
     前記オブジェクトグループが前記ユーザによって指定された場合に、当該オブジェクトグループの近傍に当該オブジェクトグループに含まれるオブジェクトに対して実行されるアクションの一覧を表示し、
     前記アクションの一覧の中から前記ユーザの操作に応じて選択されたアクションを実行する請求項1記載のオブジェクト選択方法。
  6.  更に、
     前記選択された少なくとも1つのオブジェクトを含むオブジェクトグループを作成し、
     前記オブジェクトグループに含まれるオブジェクトのうちの前記ユーザによって指定されたオブジェクトを、前記オブジェクトグループから除外する請求項1記載のオブジェクト選択方法。
  7.  前記選択された少なくとも1つのオブジェクトを含むオブジェクトグループを作成し、
     前記画面に表示されているオブジェクトのうち、前記オブジェクトグループに含まれるオブジェクト以外の前記ユーザによって指定されたオブジェクトを前記オブジェクトグループに追加する請求項1記載のオブジェクト選択方法。
  8.  ユーザによって指定された画面上の位置を検出するタッチパネルを備える情報処理装置のコンピュータが実行するプログラムを記憶するコンピュータ読み取り可能な記録媒体であって、上記プログラムは、前記コンピュータが、
     画面上に複数のオブジェクトを表示し、
     前記タッチパネルによって連続的に前記画面上の複数の位置を検出し、
     前記画面に表示されている複数のオブジェクトのうち、前記複数の位置を結ぶ軌跡によって特定される前記画面の閉領域内に表示されている少なくとも1つのオブジェクトを選択する機能を実行するように制御する。
  9.  ユーザによって指定された画面上の位置を検出するタッチパネルを備える情報処理装置において、
     画面上に複数のオブジェクトを表示する表示ユニットと、
     前記タッチパネルによって連続的に前記画面上の複数の位置を検出する検出ユニットと、
     前記画面に表示されている複数のオブジェクトのうち、前記複数の位置を結ぶ軌跡によって特定される前記画面の閉領域内に表示されている少なくとも1つのオブジェクトを選択する選択ユニットと
     を具備する情報処理装置。
  10.  情報処理装置が実行するオブジェクト選択方法であって、
     端末装置の画面に複数のオブジェクトを表示させ、
     前記端末装置が有するタッチパネルによって連続的に検出される前記画面上の複数の位置を入力し、
     前記画面に表示される複数のオブジェクトのうち、前記複数の位置を結ぶ軌跡によって特定される前記画面の閉領域内に含まれる少なくとも1つのオブジェクトを選択するオブジェクト選択方法。
PCT/JP2013/082553 2012-12-27 2013-12-04 オブジェクト選択方法、プログラムを記憶する記憶媒体及び情報処理装置 WO2014103635A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014554274A JP6034878B2 (ja) 2012-12-27 2013-12-04 オブジェクト選択方法、プログラムを記憶する記憶媒体及び情報処理装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012-285747 2012-12-27
JP2012285747 2012-12-27

Publications (1)

Publication Number Publication Date
WO2014103635A1 true WO2014103635A1 (ja) 2014-07-03

Family

ID=51020729

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/082553 WO2014103635A1 (ja) 2012-12-27 2013-12-04 オブジェクト選択方法、プログラムを記憶する記憶媒体及び情報処理装置

Country Status (2)

Country Link
JP (2) JP6034878B2 (ja)
WO (1) WO2014103635A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101727533B1 (ko) * 2015-10-12 2017-04-17 유지훈 바지 다림질 장치
KR101715057B1 (ko) * 2015-12-15 2017-03-10 유지훈 바지 다림질 장치
JP7561606B2 (ja) 2020-12-23 2024-10-04 フォルシアクラリオン・エレクトロニクス株式会社 情報処理装置及び表示制御方法
KR102441018B1 (ko) * 2022-05-30 2022-09-06 (주) 아하 전자 칠판에서의 이동 궤적에 따른 가변식 크기 변경 방식의 지우개 기능 작동 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010044151A1 (ja) * 2008-10-15 2010-04-22 富士通株式会社 選択入力受付プログラム、情報処理装置および選択入力受付方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5861886A (en) * 1996-06-26 1999-01-19 Xerox Corporation Method and apparatus for grouping graphic objects on a computer based system having a graphical user interface
JP2004110734A (ja) * 2002-09-20 2004-04-08 Ricoh Co Ltd 情報処理装置、情報処理方法、及び情報処理プログラム
JP4759743B2 (ja) * 2006-06-06 2011-08-31 国立大学法人 東京大学 オブジェクト表示処理装置、オブジェクト表示処理方法、およびオブジェクト表示処理用プログラム
JP4675855B2 (ja) * 2006-07-25 2011-04-27 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、ユーザインタフェース方法及びプログラム
JP2010113217A (ja) * 2008-11-07 2010-05-20 Sony Corp 表示状態設定装置、表示状態設定方法及び表示状態設定プログラム
JP4951128B1 (ja) * 2011-01-25 2012-06-13 株式会社エヌ・ティ・ティ・ドコモ 端末装置およびアイコン管理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010044151A1 (ja) * 2008-10-15 2010-04-22 富士通株式会社 選択入力受付プログラム、情報処理装置および選択入力受付方法

Also Published As

Publication number Publication date
JP2017021859A (ja) 2017-01-26
JPWO2014103635A1 (ja) 2017-01-12
JP6145550B2 (ja) 2017-06-14
JP6034878B2 (ja) 2016-11-30

Similar Documents

Publication Publication Date Title
KR101485787B1 (ko) 단말 및 그의 컨텐츠 저장 및 실행 방법
JP4951128B1 (ja) 端末装置およびアイコン管理方法
EP2613238A2 (en) Method and apparatus for managing icon in portable terminal
JP2016533556A (ja) パン及び選択ジェスチャの検出
JP6145550B2 (ja) オブジェクト処理方法、プログラムを記録する記録媒体及び情報処理装置
JP6448639B2 (ja) テキスト選択方法、装置および端末
KR102253453B1 (ko) 그룹을 생성하기 위한 방법 및 디바이스
CN102985904A (zh) 跳转、复选标记和删除姿势
JP5925046B2 (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP6026363B2 (ja) 情報処理装置および制御プログラム
CN106354378B (zh) 一种快速选中多个目标的方法和装置
JP5908046B1 (ja) 複数領域を結合して表示する方法、装置及びプログラム。
JP2016170613A (ja) 会議支援装置、会議支援システム、会議支援プログラム、及び会議支援方法
JP5906344B1 (ja) 情報処理装置、情報表示プログラムおよび情報表示方法
JP6445777B2 (ja) オブジェクトを管理する情報処理装置およびその制御方法
JP6050992B2 (ja) 情報処理プログラム、表示制御装置、表示制御システム及び表示方法
US11010046B2 (en) Method and apparatus for executing function on a plurality of items on list
JP2014203202A (ja) 情報処理装置、情報処理装置の制御方法、およびプログラム
JP5905550B1 (ja) 情報処理装置、情報表示プログラムおよび情報表示方法
KR102031104B1 (ko) 웹 브라우저 표시 장치 및 웹 브라우저 표시 방법
JP6129220B2 (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム
KR101325535B1 (ko) 화면 출력을 제어하는 방법, 단말기 및 기록매체
JP6305476B2 (ja) 情報処理装置、情報処理方法、及びコンピュータプログラム
JP6194383B2 (ja) 情報処理装置、情報表示プログラムおよび情報表示方法
JP2015225126A (ja) 情報処理装置、方法、及びプログラム

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: 13867912

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014554274

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: 13867912

Country of ref document: EP

Kind code of ref document: A1