A touch display is a display that serves the dual function of visually presenting information and receiving user input. Touch displays may be utilized with a variety of different devices to provide a user with an intuitive input mechanism that can be directly linked to information visually presented by the touch display. A user may use touch input to push soft buttons, turn soft dials, size objects, orientate objects, or perform a variety of different inputs.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.
A rubber-band gesture for controlling a touch display is disclosed. The rubber-band gesture begins with a source touching the touch display at a touch-down location of the touch display. The rubber-band gesture continues until the source stops touching the touch display at a lift-up location of the touch display. An action is displayed on the touch display in response to the rubber-band gesture. The action is displayed in a direction parallel to a vector pointing from the lift-up location to the touch-down location. The action is displayed with an action amplitude derived from a distance from the touch-down location to the lift-up location.
Computing device 10 is shown visually presenting a game 22 in which each user controls a tower that is capable of shooting cannonballs at towers controlled by other users. In particular, the users are utilizing a rubber-band gesture as a form of input to control the firing of cannonballs at the towers of their opponents. While the firing of cannonballs provides an example use of a rubber-band gesture, such a use should not be considered in a limiting sense. A rubber-band gesture may be used to perform of a variety of different actions on a computing system that utilizes a touch display. While described here in the context of a cannonball game, it is to be understood that a touch display may visually present a variety of different games and/or other types of operating environments. The herein described rubber-band gestures can be used to operate virtually any type of computing device including a touch display.
Turning to
A rubber-band gesture is analogous to the loading and shooting of a rubber band. The dragging of finger 40 away from touch-down location 44 is analogous to the stretching of a rubber band. The distance finger 40 drags away from touch-down location 44 is analogous to the degree to which the rubber band is stretched. The relative positioning of lift-up location 46 to touch-down location 44 is analogous to the direction in which a stretched rubber band is being aimed. As described below, a rubber-band gesture can be used to effectuate virtually any action that has a variable amplitude and a variable direction. Much like a rubber band can be shot in a variety of different directions with a variety of different velocities (depending on how far the rubber band is stretched before it is shot), actions resulting from rubber-band gestures can be carried out in a variety of different directions with a variety of different amplitudes.
Turning back to
At time t1,
A user may change the amplitude or the direction of an action by moving a source (e.g., finger) to a different area of the touch display before lifting the source and ending the rubber-band gesture. As the user moves the source, the aimer provides visual feedback as to how the amplitude (e.g., range) and/or the direction (e.g., aim) changes. Because the rubber-band gesture does not end until a user stops touching the touch display, a user can take considerable care while aiming and/or setting the amplitude of the action that will result from the completed rubber-band gesture. An aimer may assist a user in achieving an intended amplitude and/or direction of the resulting action. On the other hand, a user may execute the rubber-band gesture relatively quickly, choosing speed with the chance of sacrificing at least some accuracy.
Turning back to
At 38, method 30 includes displaying a game action on the touch display in response to the rubber-band gesture. A variety of different game actions can be displayed in response to a rubber-band gesture without departing from the scope of this disclosure. As a nonlimiting example, as shown in
In some embodiments, the game action originates at a game object on the touch display. Further, in some embodiments, the game action is the moving of the game object. As an example,
The firing of a projectile and the moving of an object are two nonlimiting examples of actions that can be carried out responsive to a rubber-band gesture. Virtually any action that has a variable amplitude and/or a variable direction can be carried out responsive to a rubber-band gesture.
In some embodiments, an action can originate from any location on a touch display. In other embodiments, an action is constrained to originate from a finite number of predetermined locations, which may correspond to where certain objects are located. As an example, a cannonball may only be fired from a tower in a cannonball game. In such scenarios, the touch-down location can automatically be set to a predetermined location.
The amplitude of an action resulting from a rubber-band gesture can be derived from a distance between the touch-down location and the lift-up location of the rubber-band gesture (i.e., the gesture distance), which may be embodied in a vector magnitude as discussed with reference to 36 of
Two or more rubber-band gestures can be performed at the same time (i.e., temporally overlapping rubber-band gestures). Computing devices in accordance with the present disclosure can be configured to recognize a plurality of temporally overlapping rubber-band gestures on the touch display, and for each recognized rubber-band gesture, determine a corresponding action vector and display a corresponding game action.
For example, at time t0,
It should be understood that a computing device may be configured to recognize virtually any number of temporally overlapping rubber-band gestures. Temporally overlapping rubber-band gestures may be performed by a single user. For example, a user may use both and/or two or more fingers from the same hand to perform temporally overlapping gestures. Temporally overlapping rubber-band gestures may additionally or alternatively be performed by two or more different users.
In some embodiments, a computing device can be configured to differentiate between two or more different sources performing the different temporally overlapping rubber-band gestures. For example, returning to the scenario shown in
In some embodiments, the above described methods and processes may be tied to a computing system. As an example,
Logic subsystem 92 may include one or more physical devices configured to execute one or more instructions. For example, the logic subsystem may be configured to execute one or more instructions that are part of one or more programs, routines, objects, components, data structures, or other logical constructs. Such instructions may be implemented to perform a task, implement a data type, transform the state of one or more devices, or otherwise arrive at a desired result. The logic subsystem may include one or more processors that are configured to execute software instructions. Additionally or alternatively, the logic subsystem may include one or more hardware or firmware logic machines configured to execute hardware or firmware instructions. The logic subsystem may optionally include individual components that are distributed throughout two or more devices, which may be remotely located in some embodiments.
Data-holding subsystem 94 may include one or more physical devices configured to hold data and/or instructions executable by the logic subsystem to implement the herein described methods and processes. When such methods and processes are implemented, the state of data-holding subsystem 94 may be transformed (e.g., to hold different data). Data-holding subsystem 94 may include removable media and/or built-in devices. Data-holding subsystem 94 may include optical memory devices, semiconductor memory devices, and/or magnetic memory devices, among others. Data-holding subsystem 94 may include devices with one or more of the following characteristics: volatile, nonvolatile, dynamic, static, read/write, read-only, random access, sequential access, location addressable, file addressable, and content addressable. In some embodiments, logic subsystem 92 and data-holding subsystem 94 may be integrated into one or more common devices, such as an application specific integrated circuit or a system on a chip.
Touch display 96 may be used to present a visual representation of data held by data-holding subsystem 94. As the herein described methods and processes change the data held by the data-holding subsystem, and thus transform the state of the data-holding subsystem, the state of touch display 96 may likewise be transformed to visually represent changes in the underlying data. Touch display 96 may be combined with logic subsystem 92 and/or data-holding subsystem 94 in a shared enclosure, or touch display 96 may be a peripheral display device.
It is to be understood that the configurations and/or approaches described herein are exemplary in nature, and that these specific embodiments or examples are not to be considered in a limiting sense, because numerous variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. As such, various acts illustrated may be performed in the sequence illustrated, in other sequences, in parallel, or in some cases omitted. Likewise, the order of the above-described processes may be changed.
The subject matter of the present disclosure includes all novel and nonobvious combinations and subcombinations of the various processes, systems and configurations, and other features, functions, acts, and/or properties disclosed herein, as well as any and all equivalents thereof.