Information processing program, information processing device, and information processing method
The information processing device enhances cursor movement and page scrolling responsiveness by integrating image generation, reference point movement, and condition determination mechanisms, resulting in a seamless and intuitive user interface.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- NINTENDO CO LTD
- Filing Date
- 2024-11-19
- Publication Date
- 2026-05-29
AI Technical Summary
Conventional information processing apparatuses lack improvements in cursor movement and page scrolling responsiveness to user input operations.
The information processing device incorporates an image generation mechanism that generates content images with selectable elements, a reference point movement system, a display area movement system, and a control area movement system, along with condition determination mechanisms to enhance user interface interactions.
The solution provides a user interface with improved cursor movement and scrolling responsiveness, ensuring seamless and intuitive element selection based on user input, maintaining consistent cursor speed before and after scrolling initiation.
Smart Images

Figure 2026088678000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technology of user interfaces.
Background Art
[0002] Conventionally, an information processing apparatus that moves a cursor and scrolls a page in response to an operation of a direction input key has been known (Patent Document 1).
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In a conventional information processing apparatus, there has been room for improvement in the behavior of cursor movement and page scrolling in response to a user's operation input. Therefore, in view of the above background, an object of the present invention is to provide a new user interface.
Means for Solving the Problems
[0005] (Configuration 1) The program according to Configuration 1 causes the computer of the information processing device to function as an image generation means that generates a content image of the portion of content containing multiple elements that overlaps with the display area; a reference point movement means that moves a reference point based on user input; a display area movement means that moves the display area relative to the content based on the position of the reference point within the control area; a control area movement means that moves the control area relative to the content based on the position of the reference point; and a selection target determination means that determines the element of the multiple elements that has a predetermined positional relationship with the reference point as a selection target, and the image generation means further generates the content image in which it can be visually confirmed that the selected element has been selected.
[0006] (Configuration 2) The information processing program of configuration 1 further causes the computer of the information processing device to function as a first condition determination means for determining whether a first condition is met based on user input; the display area moving means further moves the display area based on the fact that the reference point has moved at least from a first range to a second range within the control area; the control area moving means further moves the control area based on the fact that the reference point has moved at least from the first range to a second range within the control area; and the reference point moving means may further move the reference point at a predetermined speed regardless of its position within the control area if the first condition is met.
[0007] (Composition 3) The information processing program of configuration 2 may further cause the computer of the information processing device to function as a second condition determination means that determines whether a second condition different from the first condition is met based on user input, and the reference point moving means may stop moving the reference point when the second condition is no longer met.
[0008] (Composition 4) The information processing program of configuration 3 is further configured as a third condition determination means that determines whether a third condition is met when a predetermined direction input is made by a user, and when the same direction input was not made immediately before the said direction input was made. The first condition determination means determines that the first condition is met if, after a predetermined time has elapsed since it has been determined that the third condition is met based on the predetermined direction input, an input in the same direction as the predetermined direction input is made. The second condition determination means determines that the second condition is met if, when a predetermined direction input is made, the same direction input was not made immediately before the said direction input was made. The second condition determination means may determine that the second condition is no longer met if, after it has been determined that the second condition is met, it is determined that no direction input has been made.
[0009] (Composition 5) The information processing program of configuration 3 may further function as a third condition determination means that determines whether a third condition is met when a predetermined direction input is made by a user, and when the same direction input was not made immediately before the said direction input was made. The first condition determination means determines that the first condition is met if, after determining that the third condition is met based on the predetermined direction input, an input in the same direction as the predetermined direction input is made after a predetermined time has elapsed. The second condition determination means may determine that the second condition is met if, after determining that the third condition is met based on the predetermined direction input, an input in the same direction as the predetermined direction input is made after a second predetermined time, which is shorter than the predetermined time, has elapsed.
[0010] (Composition 6) In any of the information processing programs in configurations 2 to 5, the reference point moving means may move the reference point to a position corresponding to the element located in the direction based on the user's direction input, based on the determination that a predetermined condition is met based on the user's direction input. Here, the "predetermined condition" may be that when a predetermined direction input is made by the user, no direction input of the same direction input was made immediately before that direction input was made.
[0011] (Composition 7) In the information processing program of configuration 6, when the reference point moving means moves the reference point based on the fulfillment of the predetermined conditions, it may move the reference point at a speed faster than the predetermined speed.
[0012] (Composition 8) The information processing program of configuration 6 may, upon the fulfillment of the predetermined conditions, and subsequently the fulfillment of the first condition, move the reference point moving means, based on the determination that the predetermined conditions have been met, to a position corresponding to the element located in the direction based on the direction input, at a speed faster than the predetermined speed, and then move the reference point in the input direction at the predetermined speed.
[0013] (Composition 9) In any of the information processing programs of configurations 1 to 8, the selection target determination means may determine an element as a selection target if it satisfies a first selection condition, which is satisfied when the collision detection area of the element and the reference point overlap due to the movement of the reference point. If the first selection condition is not satisfied due to the movement of the reference point, the element may be determined as a selection target if it satisfies a second selection condition, which is satisfied when the collision detection area of the element and an area extended in a direction perpendicular to the direction of movement of the reference point overlap.
[0014] (Composition 10) In any of the information processing programs of configurations 1 to 9, the image generation means may further generate the content image that does not include the reference point.
[0015] (Composition 11) In any of the information processing programs of configurations 1 to 10, the reference point moving means may move the reference point at a speed corresponding to the size of the element if the content is of a predetermined type.
[0016] (Composition 12) The information processing apparatus of Configuration 12 includes an image generation means for generating, as a content image, a range overlapping with the display area among contents including a plurality of elements, a reference point moving means for moving a reference point based on a user's operation input, a display area moving means for moving the display area with respect to the content based on a position within a control area of the reference point, a control area moving means for moving the control area with respect to the content based on the position of the reference point, and a selection target determination means for determining, as a selection target, an element having a predetermined positional relationship with the reference point among the plurality of elements. The image generation means further generates the content image in which it is possible to visually recognize that the element that is the selection target is selected.
[0017] (Configuration 13) The information processing method of Configuration 13 includes steps in which an information processing apparatus generates, as a content image, a range overlapping with the display area among contents including a plurality of elements, the information processing apparatus moves a reference point based on a user's operation input, the information processing apparatus moves the display area with respect to the content based on a position within a control area of the reference point, the information processing apparatus moves the control area with respect to the content based on the position of the reference point, the information processing apparatus determines, as a selection target, an element having a predetermined positional relationship with the reference point among the plurality of elements, and the information processing apparatus generates the content image in which it is possible to visually recognize that the element that is the selection target is selected.
Brief Description of the Drawings
[0018] [Figure 1] It is a diagram showing the hardware configuration of an information processing apparatus. [Figure 2] It is a diagram showing the functional configuration of an information processing apparatus. [Figure 3] It is a diagram showing a flowchart of input determination by an input determination unit. [Figure 4] It is a diagram showing a content, a display area, and a control area. [Figure 5]It is a flowchart showing the ON / OFF operation of constant-speed movement. [Figure 6] It is a flowchart of the movement process of the reference point. [Figure 7] It is a diagram showing an example of reference point movement. [Figure 8] It is a diagram showing an example of reference point movement. [Figure 9] It is a diagram showing an example of reference point movement. [Figure 10] It is a diagram showing an example of reference point movement. [Figure 11] It is a diagram showing the reference point movement process for the slide list. [Figure 12] It is a flowchart showing the scroll process. [Figure 13] It is a diagram for explaining the hit determination of the reference point. [Figure 14] It is a diagram showing an example of a content image where it can be visually recognized that an element is selected. [Figure 15] It is a flowchart showing the operation of determining the selection target and generating an image.
Embodiments for Carrying Out the Invention
[0019] Hereinafter, the information processing apparatus and information processing program of the present embodiment will be described with reference to the drawings. Note that the following description shows only an example of a preferred embodiment and is not intended to limit the invention described in the claims.
[0020] [Hardware Configuration of Information Processing Apparatus] FIG. 1 is a diagram showing the hardware configuration of the information processing apparatus 1. Physically, the information processing apparatus 1 is configured as a computer including a processor 101, a memory 102, a storage 103, a communication device 104, an input device 105, an output device 106, and a bus connecting these. The information processing apparatus 1 may be a game machine, a smartphone, a tablet terminal, or the like.
[0021] Each function of the information processing device 1 is realized by loading predetermined software (programs) onto hardware such as the processor 101 and memory 102, which allows the processor 101 to perform calculations, control communication by the communication device 104, and control at least one of the reading and writing of data in the memory 102 and storage 103.
[0022] The processor 101 controls the entire computer, for example, by running an operating system. The processor 101 may consist of a central processing unit (CPU) that includes interfaces with peripheral devices, control units, arithmetic units, registers, and so on.
[0023] Memory 102 is a computer-readable recording medium and may consist of at least one of the following: ROM (Read Only Memory), EPROM (Erasable Programmable ROM), EEPROM (Electrically Erasable Programmable ROM), RAM (Random Access Memory), etc. Memory 102 may also be called registers, cache, main memory, etc.
[0024] The storage 103 is a computer-readable recording medium and may consist of at least one of the following: an optical disc such as a CD-ROM (Compact Disc ROM), a hard disk drive, a flexible disk, a magneto-optical disk (e.g., a compact disc, a digital multipurpose disc, a Blu-ray® disc), a smart card, flash memory (e.g., a card, a stick, a key drive), a floppy® disk, a magnetic strip, etc. The storage 103 may also be called an auxiliary storage device.
[0025] The communication device 104 is hardware (transceiver / receiver device) for communicating between computers via at least one of a wired network and a wireless network, and is also referred to as a network device, network controller, network card, communication module, etc. The communication device 104 enables communication with a user terminal.
[0026] The input device 105 has a function to accept user input, such as a directional pad, joystick, or buttons. The input device 105 may also be a touch panel. The output device 106 has a function to display images, specifically a liquid crystal screen or display.
[0027] [Functional Configuration of Information Processing Equipment] Figure 2 shows the functional configuration of the information processing device 1 implemented by the information processing program of this embodiment. The information processing device 1 has the following functions: input determination unit 10, reference point movement unit 14, display area movement unit 15, control area movement unit 16, selection target determination unit 17, and image generation unit 18.
[0028] [Input Judgment Unit] The input determination unit 10 has the function of determining the input content based on the direction input to the input device 105. There are three types of content that the input determination unit 10 determines: Repeat, Hold, and Trig. The input determination unit 10 includes a first condition determination unit 11 that determines whether there was a Repeat, a second condition determination unit 12 that determines whether there was a Hold, and a third condition determination unit 13 that determines whether there was a Trig.
[0029] A Trig indicates that there has been input in a new direction. This includes not only a change in input direction, but also a new input occurring after a period of no input. The input determination unit 10 receives operation input data from the input device 105 every frame. When the third condition determination unit 13 receives input direction data from the input device 105, it determines whether a different direction input occurred one frame prior. If a different direction input occurred one frame prior, it determines that it is a Trig input. The third condition determination unit 13 also determines that it is a Trig input if there was no direction input one frame prior. When a Trig input is received, the input determination unit 10 activates the Trig. Specifically, the input determination unit 10 sets a flag indicating that the Trig is active and stores data identifying the frame in which the Trig was activated.
[0030] Hold indicates that the input direction is being maintained. In this embodiment, when the second condition determination unit 12 receives input direction data from the input device 105, it determines whether a different direction input was made one frame prior to the current direction input, and determines that it is a Hold input if there was an input to a different direction one frame prior. The second condition determination unit 12 also determines that it is a Hold input if there was no direction input one frame prior. When a Hold input is received, the input determination unit 10 enables Hold. Specifically, the input determination unit 10 sets a flag indicating that Hold is enabled and stores data identifying the frame in which Hold was first enabled. The second condition determination unit 12 also determines that Hold is disabled if there is no direction input and turns off the Hold flag.
[0031] Repeat indicates that the input direction is maintained for a longer period than Hold. The first condition determination unit 11 has a Repeat counter, which is incremented when it receives input direction data. The first condition determination unit 11 resets the Repeat counter when there is input in a different direction than the previous frame or when there is a frame in which no direction input is given. The first condition determination unit 11 makes a Repeat determination when the Repeat counter reaches a first value. Here, the Repeat counter is used to make the Repeat determination, which determines whether the number of times the same direction input has been detected consecutively has reached a first value, and is equivalent to checking whether the same direction input has been given for a predetermined period of time.
[0032] Figure 3 is a flowchart showing the input determination process performed by the input determination unit 10. The input determination unit 10 determines whether or not a direction input has been received based on the signal received from the input device 105 (S10). The series of operations shown in the flowchart of Figure 3 are performed every frame. If a direction input has been received (YES in S10), the input determination unit 10 increments the Repeat counter (S11).
[0033] Next, the input determination unit 10 determines whether or not there was input in the same direction in the previous frame (S12). If it is determined that there was no input in the same direction in the previous frame (NO in S11), the input determination unit 10 determines that there was Trig and Hold input (S17). The input determination unit 10 stores the direction input and frame for which Trig was determined (S18). The input determination unit also disables Repeat and resets the Repeat counter (S19).
[0034] In the determination in step S12, if it is determined that there was input in the same direction in the previous frame (YES in S12), the input determination unit 10 determines whether Repeat is enabled or disabled (S13). If it is determined that Repeat is disabled or disabled (NO in S13), the input determination unit 10 determines whether the Repeat counter is at the first value or disabled (S14).
[0035] If the Repeat counter is determined to be the first value (YES in S14), the input determination unit 10 determines that it is a Repeat (S15) and enables Repeat.
[0036] If the determination in step S13 determines that Repeat is enabled (YES in S13), the input determination unit 10 determines whether the difference between the Repeat counter at the time of the last Repeat determination and the current Repeat counter is the second value (S16). Here, the difference represents the time elapsed since the last Repeat determination. If the difference is determined to be the second value (YES in S16), the input determination unit 10 determines that Repeat is enabled (S15) and keeps Repeat enabled. Here, comparing the first value used to determine Repeat initially with the second value used to determine Repeat when Repeat is enabled, the second value is smaller than the first value. In other words, once Repeat is enabled, Repeat will be determined even if the input time in the same direction is short. Note that an example is given where the second value is smaller than the first value, but the second value does not necessarily have to be smaller than the first value; for example, the first value and the second value may be equal.
[0037] If the determination in step S16 determines that the difference between the Repeat counter at the time of the last Repeat determination and the current Repeat counter is not the second value (NO in S16), the input determination unit 10 returns to the input and waits for data input from the input device 105.
[0038] If the judgment in step S10 determines that there is no directional input (NO in S10), the input judgment unit 10 disables Hold (S20). Subsequently, the input judgment unit 10 disables Repeat and resets the Repeat counter (S21).
[0039] [Reference point moving part] The reference point movement unit 14 has the function of moving the reference point based on user input. Here, the "reference point" is the point that serves as the reference for scrolling and cursor movement. The reference point is invisible and is not displayed as content.
[0040] Here, we will explain the overview of scroll control and cursor movement control based on a reference point. The function implemented by executing the information processing program according to this embodiment has a control area for controlling whether or not to scroll. The control area has a range where scrolling is not performed and a range where scrolling is performed. Scrolling is not performed when the reference point is in the range where scrolling is performed, and scrolling is performed when the reference point is in the range where scrolling is performed. In addition, the function implemented by executing the information processing program according to this embodiment places the cursor on an element when the reference point moves to a predetermined positional relationship with that element. In other words, the cursor moves in conjunction with the movement of the reference point.
[0041] Figure 4 shows the content C, display area D, and control area SC. Content C is the data to be displayed by scrolling. Examples of content C include pages, items, lists, etc. Figure 4 shows an example of content C for a page, and the page contains several elements. Elements are user interfaces that can be selected by buttons, etc. For example, to "swap A and B", you can perform the action "swap A and B" by placing the cursor over the "swap A and B" element (element 3) and pressing the button. In this embodiment, an example of when the cursor is placed over an element is given.
[0042] Display area D is the portion of content C that is displayed on the screen. In the example shown in Figure 4, content C contains multiple elements related to settings. The portion of content C displayed in display area D is called the content image. The portion of content that does not overlap with display area D is not output as an image and cannot be seen by the user.
[0043] The control area SC is separate from the display area D. In the example shown in Figure 4, the control area SC overlaps with the display area D, but the control area SC does not necessarily have to overlap with the display area D. Also, the sizes of the control area SC and the display area D do not have to be the same, and one of them may be larger than the other. The control area SC has a non-scrolling area SC1 in the center and a scrolling area SC2 above and below. When the reference point R is in the non-scrolling area SC1, the display area D does not move and does not scroll. When the reference point R is in the scrolling area SC2, the display area D moves. For example, when the reference point R enters the scrolling area SC2 below, the display area D moves downward and scrolls downwards. In this example, the scrolling area SC2 is located at the top and bottom edges of the control area SC, but the scrolling area SC2 may be located not only at the top and bottom edges of the control area SC but also at the left and right edges, or the scrolling area SC2 may be located only at the left and right edges without being located at the top and bottom edges.
[0044] The reference point movement unit 14 moves the reference point R based on user input. The initial position of the reference point R is the center of the topmost element of content C. This ensures that when the content is opened, the cursor is positioned over the topmost element. Another example of the initial position of the reference point is the center of the control area SC or the top of the control area SC. Alternatively, the reference point R may not be placed until user input is made, and the reference point may only appear when a direction input is made by the user. In this case, when the content is opened, the cursor will not be positioned over any element.
[0045] The reference point movement unit 14 moves the reference point R downwards if there is a downward input, and moves the reference point R upwards if there is an upward input. The reference point R may also move left or right. If there are continuous directional inputs in the same direction, the reference point movement unit 14 performs a process to move the reference point R at a constant speed. It should be noted that, as can be seen from the fact that the display area D does not move when the reference point R is in the non-scrolling range SC1, the constant speed movement of the reference point does not mean that the display area D scrolls at a constant speed.
[0046] Figure 5 is a flowchart showing the operation of switching whether or not to perform constant velocity movement. The reference point movement unit 14 determines whether or not the constant velocity movement mode is ON (S30). Here, the constant velocity movement mode is a mode in which the reference point R is moved at a constant velocity in a certain direction. If the constant velocity movement mode is not ON (NO in S30), the reference point movement unit 14 determines whether or not Repeat is enabled (S31). If Repeat is enabled (YES in S31), the reference point movement unit 14 turns on the constant velocity movement mode (S32). That is, the reference point movement unit 14 moves the reference point R at a constant velocity in the input direction. If it is determined in step S31 that Repeat is not enabled (NO in S31), the reference point movement unit 14 returns the process.
[0047] If the determination in step S30 is that the constant speed movement mode is ON (YES in S30), the reference point movement unit 14 determines whether Hold is enabled or not (S33). If Hold is enabled, the reference point movement unit 14 returns the process. That is, the reference point movement unit 14 continues the constant speed movement mode. If the determination in step S33 is that Hold is not enabled (NO in S33), the reference point movement unit 14 turns off the constant speed movement mode (S34). That is, if there is input in a different direction than the previous frame, or if no direction input was received in the previous frame, the constant speed movement mode is immediately stopped. This makes it possible to enable the constant speed movement mode of the reference point R without requiring a long press, while quickly stopping the reference point movement when the long press is released.
[0048] When the constant-velocity movement mode is stopped in this way, the position of the reference point R remains at the stopping position. However, as an alternative example, the reference point R may be returned to the center of the element the cursor is pointing to, or it may be moved to the center of the nearest element.
[0049] Next, with reference to Figure 6, the process of moving the reference point R to achieve scrolling with improved operability will be explained. The reference point movement unit 14 determines whether the constant speed movement mode is ON or OFF (S40). If it is determined that the constant speed movement mode is not ON (NO in S40), the reference point movement unit 14 determines whether a Trig check has been performed or OFF (S41). If a Trig check has not been performed, the reference point movement unit 14 returns the process. If a Trig check has been performed (YES in S41), it determines whether a cursor is displayed within the display area D (S42). If a cursor is not displayed within the display area D (NO in S42), the reference point movement unit 14 places the reference point at the topmost cursor target within the display area D (S47).
[0050] In the determination in step S42, if it is determined that the cursor is already displayed (YES in S42), the reference point movement unit 14 determines whether or not there is a cursor target in the non-scrolling range SC1 (S43). If it is determined that there is a cursor target in the non-scrolling range SC1 (YES in S43), the reference point movement unit 14 moves the reference point R to the element of the cursor target (S46).
[0051] Figure 7 shows an example of reference point movement in this case. As shown in Figure 7, initially, the reference point R is at position A, just below element 3, and in this state, a downward direction input is made. Element 4, the target of the cursor, is located in the direction corresponding to the input and within the non-scrolling range SC1. In this case, the reference point R moves to position B of element 4 within one frame. That is, the reference point R, which was at position A in one frame, moves to position B in the next frame. For example, if the direction input button is pressed once, the reference point R moves to the position of element 4. If a downward direction input is continuously made, the reference point R moves downward according to the direction input, and when Repeat is enabled, the reference point R moves downward at a constant speed.
[0052] If the determination in step S43 determines that there is no cursor target in the non-scrolling area SC1 (NO in S43), the reference point movement unit 14 determines whether there is a cursor target element outside the non-scrolling area SC1 in the direction corresponding to the direction input (S44). If the result of this determination determines that there is a cursor target element (YES in S44), the reference point movement unit 14 determines whether there is a cursor target element within the display area D in the direction corresponding to the direction input (S45). If the result of this determination determines that there is a cursor target element within the display area D (YES in S45), the reference point movement unit 14 moves the reference point R to the cursor target element (S46). Here, the reference point R is moved to the cursor target element in one frame.
[0053] Here, in step S46, the reference point R moves to the cursor target element in one frame, so its movement speed is faster than the speed at which the reference point R moves in constant-velocity movement mode. By performing this movement process, if the cursor target element is in the direction corresponding to the direction input, the system immediately moves to the position of that cursor target element, and if a Repeat judgment is made based on subsequent input, the system switches to constant-velocity movement mode, enabling convenient scrolling for users who want to check the next element. Note that here we have given an example where the reference point R moves all at once in one frame in step S46, but if the goal is to move to the position of the next element quickly, the movement does not necessarily have to occur within one frame. In this case, it is desirable that the movement speed to the position of the next element is faster than the speed at which the reference point R moves in constant-velocity movement mode.
[0054] In the determination in step S45, if it is determined that the direction corresponds to the direction input and there is no element to be cursored within the display area D (NO in S45), the reference point movement unit 14 moves the reference point outside the non-scrolling range SC1 (S48). In this embodiment, it moves to the edge of the non-scrolling range SC1, that is, to the boundary between the non-scrolling range SC1 and the scrollable range SC2. Subsequently, the reference point movement unit 14 turns ON the constant speed movement mode (S49).
[0055] Figure 9 shows an example of reference point movement in this case. As shown in Figure 9, the reference point R is at position A, just below element 3, and in this state, a downward direction input is assumed. The cursor target element does not exist within the display area D in the direction corresponding to the direction input. The cursor target element 4 is outside the display area D. In this case, the reference point R moves in one frame to the boundary between the non-scrolling area SC1 and the scrolling area SC2. Since the reference point R enters the scrolling area SC2, the display area D scrolls, and as the reference point R moves, the control area SC moves as shown in Figure 10. Subsequently, the constant velocity movement mode starts, and the reference point R moves downward at a constant velocity.
[0056] Returning to Figure 6, let's continue the explanation of the reference point movement. If the determination in step S40 determines that the constant speed movement mode is ON (YES in S40), the reference point movement unit 14 determines whether content C is a slide list or not (S49). Whether content is a slide list or not is determined at the time the content is created. Alternatively, content type data may be associated with the content, and the reference point movement unit 14 may determine the content type data. Alternatively, the reference point movement unit 14 may determine whether elements within the content are arranged in a manner that satisfies predetermined conditions, and if the predetermined conditions are met, it may determine that it is a slide list.
[0057] If content C is not a slide list (NO in S49), the reference point movement unit 14 moves the reference point R by a predetermined amount in the direction corresponding to the direction input (S50). If content C is a slide list (YES in S49), the reference point movement process for a slide list is performed (S51).
[0058] Figure 11 shows the reference point movement process for a slide list. When content C is a slide list, the movement speed of the reference point R is changed according to the element size. Slide L2 is larger than slides L1, L3-L5. When the reference point R passes through slide list L2, it moves faster than L3-L5. If the reference point R is moved at a constant speed across the entire screen, the time required to pass through a large slide will be longer than the time required to pass through a small slide. As a result, the cursor movement accompanying the movement of the reference point will feel slow. By moving the reference point at a speed that matches the element size, a comfortable cursor movement can be achieved.
[0059] [Display area moving section] The display area movement unit 15 has the function of moving the display area D relative to the content C based on the position of the reference point R within the control area SC. Basically, when the reference point R is within the non-scrolling range SC1, the display area D is not moved, and when the reference point R is within the scrolling range SC2, the display area D is moved. When the reference point R is in the upper scrolling range SC2, the display area D is moved upward, and when the reference point R is in the lower scrolling range SC2, the display area D is moved downward.
[0060] Figure 12 is a flowchart showing the scrolling process. The display area movement unit 15 determines whether the reference point R is within the scrolling range SC2 (S60). If this determination determines that the reference point R is not within the scrolling range SC2 (NO in S60), the display area movement unit 15 returns without moving the display area D.
[0061] If the determination in step S60 is that the reference point R is within the scrolling range SC2 (YES in S60), the display area movement unit 15 determines whether or not there is an element to be targeted by the cursor in the direction of movement of the reference point R (S61). If there is an element to be targeted by the cursor in the direction of movement of the reference point R (YES in S61), the display area movement unit 15 moves the display area D according to the position of the reference point R (S62). If the determination in step S51 is that there is no element to be targeted by the cursor in the direction of movement of the reference point R (NO in S61), the display area movement unit 15 plays a limit animation (S63). The limit animation is an animation that indicates that further scrolling is not possible. Subsequently, the display area movement unit 15 turns OFF the constant speed movement mode (S64).
[0062] [Control area movement unit] The control area movement unit 16 has the function of moving the control area SC based on the position of the reference point R. If the control area SC does not move at all, the reference point R will move outside the control area SC, making it impossible to properly control whether or not to scroll. The control area movement unit 16 moves the control area SC in conjunction with the movement of the reference point R. In the information processing program of this embodiment, the control area SC is moved in the same way as the display area D.
[0063] [Selection Target Determination Section] The selection target determination unit 17 has the function of determining an element from among multiple elements in content C that has a predetermined positional relationship with the reference point R as the selection target. Multiple elements in content C have collision detection areas. When the reference point R moves and the reference point R overlaps with the collision detection area of an element, it is determined that the selection conditions for that element are met, and that element is determined to be the selection target.
[0064] However, if the collision detection area of an element does not lie on the trajectory of the reference point R, the element will not be selected. Therefore, if the collision detection area does not overlap with the reference point R even after moving it a predetermined distance, the selection target determination unit 17 expands the collision search area and determines whether there is any overlap with the collision detection area. Specifically, the selection target determination unit 17 sets an area extended in a direction perpendicular to the direction of movement of the reference point R, and determines that the second selection condition is met if this area overlaps with the collision detection area, and selects the element as a selection target.
[0065] Figure 13 is a diagram illustrating collision detection using a reference point R. As shown in Figure 13, each element of content C has a collision detection area H1 to H7. When the reference point R overlaps with the collision detection area of an element, that element is determined to be the cursor target.
[0066] When the reference point R is at position A, the reference point R overlaps with the collision detection area H4 of element 4, so element 4 is determined to be the cursor target. When the reference point R moves downward from position A to position B, the reference point R itself does not overlap with the collision detection area of any element. When it reaches position B, a reference line RL is extended perpendicular to the direction of movement of the reference point R, and it is determined whether the reference line RL overlaps with a collision detection area. As a result, the reference line RL overlaps with the collision detection area H5 of element 5, so element 5 is determined to be the cursor target. In this embodiment, an example was given in which collision detection is performed by extending the reference line RL when the reference point R does not overlap with the collision detection area of any element, but it is also possible to use the reference line RL from the beginning and perform collision detection by moving the reference line RL in a direction perpendicular to the reference point RL.
[0067] The image generation unit 18 has the function of generating content images of the portion of content C that is included in the display area D. Furthermore, if the element to be selected has been determined by the selection target determination unit 17, it generates a content image that makes it visible that the selected element has been identified. As a display method to make it visible that an element has been selected, the selected element may be decorated, or the display of the selected element itself may be modified to make it stand out.
[0068] Figure 14 shows examples of content images where it is visually apparent that element 3 is selected. In Figure 14(a), the cursor is hovering over element 3. In Figure 14(b), an arrow is displayed to the left of element 3. In Figure 14(c), the text of element 3 is enlarged. In all of these embodiments, it is immediately clear that element 3 is selected. Although not shown in Figure 14, the color of the selected element may also be changed.
[0069] Figure 15 is a flowchart illustrating the process of determining the selection target and generating the image. This flowchart uses a cursor as an example to show that the selection has been made visible. The selection target determination unit 17 determines whether the reference point R overlaps with the cursor target (S70). That is, it determines whether the reference point R overlaps with the collision detection area of the element. If it is determined that the reference point R overlaps with the cursor target (YES in S70), the image generation unit 18 generates a content image with the overlapping cursor target superimposed (S72).
[0070] If it is determined that the reference point R does not overlap with the cursor target (NO in S70), the selection target determination unit 17 determines whether the cursor target overlaps with the reference line RL, which is an extension of the reference point R in the direction perpendicular to the direction of movement (S71). If it is determined in this determination that the reference line RL and the cursor target overlap (YES in S71), a content image is generated with the cursor superimposed on the overlapping cursor target (S72). The selection target determination unit 17 performs the determination in step S71 at intervals that are sufficiently smaller than the width of the element in the direction of movement of the reference point R. For example, if the width of the element is 10 pixels, the determination in step S71 is performed every 3 pixels the reference point R moves.
[0071] If the determination in step S71 is that the reference line RL and the cursor target do not overlap (NO in S71), the image generation unit 18 maintains an image with the cursor superimposed on the current cursor target (S73).
[0072] In the user interface implemented by the information processing program of this embodiment, the reference point R moves in response to user input, and when the reference point R overlaps with the collision detection area of an element, that element is selected. With this configuration, when a direction is input by user operation, elements are selected at a timing that reflects the distance between them. In the example above, the cursor moves between elements according to the distance between them.
[0073] In the user interface according to this embodiment, scrolling begins when the reference point R moves from the non-scrolling range SC1 to the scrolling range SC2. Therefore, scrolling begins when the cursor moves in a predetermined direction and approaches the edge of the display area. Since both cursor movement and scrolling movement are controlled by the reference point R, the cursor movement speed remains unchanged before and after scrolling begins, regardless of whether scrolling is occurring or not, thus maintaining the continuity of cursor movement.
[0074] In the user interface according to this embodiment, if there are no elements within the non-scrolling range in the direction of the input, and the element targeted by the cursor is within the display area D, the cursor moves to the next element in the input direction, thereby enabling highly operable cursor movement and scrolling that aligns with the user's intentions.
[0075] Although the information processing program, information processing apparatus, and information processing method of the present invention have been described in detail with reference to embodiments, the present invention is not limited to the embodiments described above.
[0076] In the embodiment described above, an example was given in which the input determination unit 10 enables Hold when it receives an operation input in a direction different from the input direction in the previous frame, and disables Hold when there is no direction input. However, Hold determination may also be made based on the time that input in the same direction continues after Trig determination. For example, the input determination unit 10 may determine Hold if, after a predetermined time has elapsed (however, the predetermined time is shorter than the time for Repeat determination), the same direction input as the predetermined direction input is performed after Trig determination based on a predetermined direction input. Here, the elapsed time may be measured by resetting the counter when Trig determination is made and counting up the counter as the frame elapses. [Explanation of symbols]
[0077] 1. Information Processing Device 10 Input determination unit 11 First condition judgment section 12 Second condition judgment section 13 Third condition judgment section 14 Reference point moving part 15 Display area moving part 16 Control area movement unit 17 Selection Target Determination Section 18 Image generation unit 101 Processors 102 memory 103 Storage 104 Communication equipment 105 Input device 106 Output device
Claims
1. The computer of the information processing device, An image generation means that generates a content image from the portion of content containing multiple elements that overlaps with the display area, A means for moving a reference point based on user input, A display area moving means for moving the display area relative to the content based on the position of the reference point within the control area, A control area moving means for moving the control area relative to the content based on the position of the reference point, A selection target determination means for determining, among the plurality of elements, the element that has a predetermined positional relationship with the reference point as the selection target, and make it work The image generation means further, To generate a content image in which it is visually apparent that the selected element has been selected. Information processing program.
2. It further functions as a first condition determination means that determines whether the first condition is met based on the user's input. The aforementioned display area moving means further, Based on the fact that the reference point has moved from the first range to the second range within the control area, the display area is moved. The control region moving means further, Based on the fact that the reference point has moved from the first range to the second range within the control area, the control area is moved. The aforementioned reference point moving means further, If the first condition is met, the reference point is moved at a predetermined speed regardless of its position within the control area. The information processing program according to claim 1.
3. It is further configured to function as a second condition determination means that determines whether a second condition different from the first condition is met based on the user's input, The aforementioned reference point moving means is The movement of the reference point is stopped when the second condition is no longer met. The information processing program according to claim 2.
4. When a user makes a predetermined directional input, it further functions as a third condition determination means to determine whether a third condition is met, which is satisfied when the same directional input was not made immediately before that directional input was made. The first condition determination means is, If, after it is determined that the third condition is met based on a predetermined directional input, an input in the same direction as the predetermined directional input is made after a predetermined time has elapsed, it is determined that the first condition is met. The second condition determination means described above is: When a predetermined directional input is made, if the same directional input was not made immediately before that directional input, it is determined that the second condition is met. If it is determined that no directional input has been performed after it has been determined that the second condition is met, it is determined that the second condition is no longer met. The information processing program according to claim 3.
5. When a user makes a predetermined directional input, it further functions as a third condition determination means to determine whether a third condition is met, which is satisfied when the same directional input was not made immediately before that directional input was made. The first condition determination means is, If, after it is determined that the third condition is met based on a predetermined directional input, an input in the same direction as the predetermined directional input is made after a predetermined time has elapsed, it is determined that the first condition is met. The second condition determination means described above is: If, after it is determined that the third condition is met based on a predetermined directional input, the second condition is met if the same directional input as the predetermined directional input is performed after a second predetermined time that is shorter than the predetermined time, The information processing program according to claim 3.
6. The aforementioned reference point moving means is Based on the determination that predetermined conditions are met based on the user's direction input, the reference point is moved to a position corresponding to the element located in the direction based on the direction input. The information processing program according to claim 2.
7. The aforementioned reference point moving means is The information processing program according to claim 6, wherein when the reference point is moved based on the fulfillment of the predetermined conditions, the reference point is moved at a speed faster than the predetermined speed.
8. If the first condition is met following the fulfillment of the aforementioned predetermined conditions, The aforementioned reference point moving means is The information processing program according to claim 6, which, based on the determination that the predetermined conditions are met, moves the reference point at a speed faster than the predetermined speed to a position corresponding to the element located in the direction based on the direction input, and then moves the reference point at the predetermined speed in the input direction.
9. The aforementioned means for determining the target of selection is: When the reference point moves and the collision detection area of the element overlaps with the reference point, the first selection condition is met, and the element is selected as the target of selection. The information processing program according to claim 1, which determines an element to be selected if the first selection condition is not met by the movement of the reference point, and the second selection condition is met when the collision detection area of the element and the area extended in a direction perpendicular to the direction of movement of the reference point overlap.
10. The image generation means further, The information processing program according to claim 1, which generates the content image that does not include the reference point.
11. The aforementioned reference point moving means is The information processing program according to any one of claims 1 to 10, wherein the content is of a predetermined type, the reference point is moved at a speed corresponding to the size of the element.
12. An image generation means that generates a content image from the portion of content containing multiple elements that overlaps with the display area, A means for moving a reference point based on user input, A display area moving means for moving the display area relative to the content based on the position of the reference point within the control area, A control area moving means for moving the control area relative to the content based on the position of the reference point, A selection target determination means for determining, among the plurality of elements, the element that has a predetermined positional relationship with the reference point as the selection target, Equipped with, The image generation means further, To generate a content image in which it is visually apparent that the selected element has been selected. Information processing device.
13. The information processing device generates a content image from the portion of the content containing multiple elements that overlaps with the display area, The information processing device moves a reference point based on user input, The information processing device moves the display area relative to the content based on the position of the reference point within the control area, The information processing device moves the control area relative to the content based on the position of the reference point, The information processing device performs the step of selecting an element from among the plurality of elements that has a predetermined positional relationship with the reference point, The information processing device generates a content image that allows visual confirmation that the element to be selected has been selected, An information processing method comprising the following: