Interface list interaction control method and device, equipment and medium
Patent Information
- Application Number
- CN202611127198.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-28
- Publication Date
- 2026-10-13
AI Technical Summary
然而,这类方案采用的单一固定速度阈值在面对不同用户的操作习惯和不同设备的屏幕特性时,容易出现临界速度下的误判,即用户以中等速度操作时,难以准确判断其意图是拖拽还是滑动,从而导致操作响应与用户预期不符
[0013]本申请通过将操作锚点的瞬时滑动速度与动向偏离角度相结合作为操作意图的判定依据,依据速度所处的不同区间分别进入拖拽状态、跟随状态或滚动状态,有效解决了界面列表在同方向操作下拖拽与滚动意图难以准确区分的问题。具体而言,通过第一速度阈值和第二速度阈值将速度划分为三个区间,使得低速区间下直接进入拖拽状态、高速区间下直接进入滚动状态、中速区间可用于过渡,避免了单一阈值硬性切割导致的临界误判。同时,将拖拽状态锁定至拖滑操作结束,避免了因速度波动导致的拖拽中断。此外,低速区间直接映射为拖拽状态,无需等待停留时长即可立即触发拖拽操作,提升了交互的流畅性和效率。进一步地,本申请通过根据历史累积的属于拖拽状态或滚动状态的速度值样本动态更新所述第一速度阈值和第二速度阈值,使得速度区间的划分能够自适应于不同用户的操作习惯和不同设备的屏幕特性,有效解决了“一人一速”或“一设备一速”所带来的自适应缺失问题,进一步降低了跨用户、跨设备场景下的临界误判率。由此可见,本申请在提升操作识别准确性、降低临界误判率、加快拖拽响应速度、增强拖拽稳定性以及提升自适应能力等方面均取得了长足的进步,有助于提供人机交互过程的用户体验。
Smart Images

Figure CN122902928A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of human-computer interaction technology, and in particular to an interface list interaction control method, apparatus, device, and medium thereof. Background Technology
[0002] Interface lists are widely used UI components in human-computer interaction, used to display a large number of selectable or operable items within a limited display area. Users can browse the list content by swiping on the list area, or drag and drop items to perform functions such as placement, crafting, equipping, or sorting. Both of these operations are widely used on input devices such as touchscreens, mice, and gamepads.
[0003] In traditional list interaction schemes, when a user performs a swipe within the same list area, computer devices often struggle to accurately distinguish whether the user intends to browse the list or drag an item from it. To address this issue, some solutions differentiate the operation type by detecting the angle between the user's movement and the list axis. For example, a movement direction significantly deviating from the list axis is identified as a drag operation, while a movement direction roughly aligned with the list axis is further analyzed. However, in practical use, the user's dragging direction is often roughly the same as the list axis, especially in scenarios like game inventory where items need to be frequently dragged. Users need to perform both swipe browsing and drag-to-remove operations vertically. In such cases, relying solely on direction and angle is insufficient to accurately distinguish between the two operations, and these solutions lack adaptive adjustment capabilities for different user grip postures and swiping habits.
[0004] Other solutions introduce operation duration as an auxiliary criterion, such as distinguishing between dragging and swiping by detecting the length of time a user presses and holds their finger on the list. However, these solutions have significant drawbacks in scenarios requiring rapid dragging. Users must remain in the same position for a sufficient amount of time to trigger a drag, resulting in a delayed response and impacting the smoothness and efficiency of the interaction. Furthermore, different users have significantly different perceptions of long-press duration, and a fixed threshold for dwell time cannot accommodate the operating habits of all users, lacking adaptability to different user groups.
[0005] Some solutions use operation speed detection to aid in judgment, for example, classifying an operation as a swipe when the speed exceeds a certain fixed threshold, and a dragging operation otherwise. However, this type of solution, using a single fixed speed threshold, is prone to misjudgment at critical speeds when faced with different user operating habits and screen characteristics of different devices. That is, when a user operates at a moderate speed, it is difficult to accurately determine whether their intention is to drag or swipe, resulting in an operation response that does not match the user's expectations. More importantly, this type of solution cannot dynamically adjust the threshold according to the user's actual operation behavior, that is, it cannot solve the problem of lack of adaptability caused by speed differences between users and devices, resulting in a persistently high critical misjudgment rate for the same set of thresholds on different users or different devices.
[0006] Therefore, how to effectively distinguish between dragging and swiping intentions in the same direction of operations in the interface list, improve the adaptability to different user operating habits and device characteristics, avoid critical misjudgments caused by fixed thresholds, and provide users with a better human-computer interaction experience for list operations has become a technical problem that urgently needs to be solved in this field. Summary of the Invention
[0007] The purpose of this application is to solve the above-mentioned problems by providing an interface list interactive control method and its corresponding apparatus, device, non-volatile readable storage medium, and computer program product.
[0008] According to one aspect of this application, a method for interactive control of an interface list is provided, comprising: In response to dragging operations applied to the interface list, continuously acquire the instantaneous sliding speed and the directional deviation angle of the operation anchor point of the dragging operation from the vertical axis of the interface list during the operation. Based on historically accumulated speed value samples belonging to drag or scroll states, update the first and second speed thresholds used to determine the speed range. When the deviation angle of the movement is within a preset angle range, the speed range is determined based on the comparison result between the instantaneous sliding speed and the first speed threshold and the second speed threshold; When the instantaneous sliding speed is in the first speed range below the first speed threshold, it enters the drag state and follows the operation anchor point to drag the target object in the interface list that is hit by the initial position of the operation anchor point until the drag operation ends. When the instantaneous sliding speed is in the third speed range above the second speed threshold, it enters the scrolling state and controls the interface list to scroll along the sliding direction of the operation anchor point.
[0009] According to another aspect of this application, an interface list interaction control device is provided, comprising: The operation response module is configured to respond to drag and slide operations applied to the interface list, and continuously acquire the instantaneous sliding speed and the directional deviation angle of the operation anchor point of the drag and slide operation from the vertical axis of the interface list during the operation. The threshold update module is configured to update the first and second speed thresholds used to determine the speed range based on historically accumulated speed value samples belonging to drag or scroll states. The interval identification module is configured to determine the speed interval based on the comparison result between the instantaneous sliding speed and the first speed threshold and the second speed threshold when the deviation angle of the movement is within a preset angle range; The drag control module is configured to enter drag state when the instantaneous sliding speed is in a first speed range below the first speed threshold, and follow the operation anchor point to drag the target object in the interface list that is hit by the initial position of the operation anchor point until the drag operation ends. The scrolling control module is configured to enter a scrolling state when the instantaneous sliding speed is in a third speed range above the second speed threshold, and control the interface list to scroll along the sliding direction of the operation anchor point.
[0010] According to another aspect of this application, an electronic device is provided, including a central processing unit and a memory, wherein the central processing unit is configured to invoke and run a computer program stored in the memory to perform the steps of the method described in this application.
[0011] According to another aspect of this application, a non-volatile readable storage medium is provided, which stores a computer program implemented according to the interface list interaction control method in the form of computer-readable instructions, wherein the computer program, when invoked by a computer, executes the steps included in the method.
[0012] According to another aspect of this application, a computer program product is provided, comprising a computer program / instructions that, when executed by a processor, implement the steps of the method.
[0013] This application combines the instantaneous sliding speed of the operation anchor point with the deviation angle of the movement as the basis for determining the operation intention. Depending on the speed range, it enters drag mode, follow mode, or scroll mode respectively, effectively solving the problem of accurately distinguishing drag and scroll intentions in the same direction of the interface list. Specifically, the speed is divided into three ranges using a first speed threshold and a second speed threshold. This allows for direct entry into drag mode in the low-speed range, direct entry into scroll mode in the high-speed range, and a medium-speed range for transition, avoiding critical misjudgments caused by rigid segmentation using a single threshold. Simultaneously, the drag mode is locked until the end of the drag operation, preventing drag interruption due to speed fluctuations. Furthermore, the low-speed range is directly mapped to the drag mode, allowing for immediate triggering of the drag operation without waiting for a dwell time, improving the smoothness and efficiency of the interaction. Furthermore, this application dynamically updates the first and second speed thresholds based on historically accumulated speed value samples belonging to dragging or scrolling states. This allows the speed range division to adapt to the operating habits of different users and the screen characteristics of different devices, effectively solving the adaptation deficiency problem caused by "one speed per person" or "one speed per device," and further reducing the critical misjudgment rate in cross-user and cross-device scenarios. Therefore, this application has made significant progress in improving operation recognition accuracy, reducing the critical misjudgment rate, accelerating drag response speed, enhancing drag stability, and improving adaptability, thus contributing to a better user experience in human-computer interaction. Attached Figure Description
[0014] Figure 1 This is an exemplary network architecture used in this application to run the game; Figure 2 This is a flowchart illustrating one embodiment of the interface list interaction control method of this application; Figure 3 This is an exemplary game scene interface diagram of this application, including an interface list and a resource configuration area; Figure 4 This is a schematic block diagram of the interface list interaction control device of this application; Figure 5 This is a schematic diagram of the structure of an electronic device used in this application. Detailed Implementation
[0015] The technical solution of this application can be deployed on client computing devices that run various graphical user interface applications, and is especially suitable for scenarios that need to support drag and drop operations and scrolling operations in the same interface area, such as game backpack interfaces, item shop interfaces, equipment management interfaces, and various file managers and settings panels. Figure 1This diagram illustrates a typical runtime architecture, where client 80 is the primary carrier for executing the interface list interaction control method of this application. Client 80 can be a device such as a personal computer, game console, mobile terminal, or tablet computer, and the operating system or application framework running on it provides the basic capabilities for interface rendering and user input processing. Client 80 connects to game server 81 via a network to obtain game status, resource configuration information, or data updates, but its local interface interaction processing is entirely completed within the client and does not depend on real-time communication with the server.
[0016] This application is particularly applicable to backpack or item list interactions in game scenarios. In such applications, the interface list typically displays a large number of game resource items arranged vertically. Users need to both quickly swipe to browse the numerous items in the list and slowly drag to retrieve specific items for operations such as crafting, selling, equipping, or sorting. This application aims to provide a method that can dynamically and accurately identify the user's operational intent based on the swipe speed and direction angle during continuous dragging operations. This allows for efficient list browsing and precise item dragging within the same interface area, improving the overall smoothness of game operations and the user experience.
[0017] The interface list interaction control method described in this application can be implemented collaboratively by hardware components such as a central processing unit (CPU), graphics processing unit (GPU), memory, touch sensor, and network interface included in the client. Specifically, the CPU is responsible for executing core logic tasks, including continuously collecting user input events, calculating the sliding speed and direction angle of the operation anchor point, determining the speed range, managing state switching, and controlling the scrolling or dragging behavior of the interface list. The GPU is responsible for rendering and drawing the elements in the interface list, including the following movement of target objects, the scrolling animation of the list, and the frame-by-frame deceleration effect of inertial scrolling. The memory is used to store runtime data such as the configuration data of the interface list, current state information, speed threshold parameters, and collected speed value samples. The touch sensor or mouse sensor is responsible for detecting user input operations, including the position of the touch point, the movement trajectory of the mouse cursor, and the pushing and pulling amplitude of the gamepad joystick. Through the network interface, the client can obtain initial resource configuration information or incremental update data.
[0018] Through specific programming and collaboration of the aforementioned hardware components, the method of this application transforms the traditional operation intent determination method based on a single condition or fixed threshold into a refined control process based on speed range division and state mapping. This process can dynamically switch between dragging, following, and scrolling states according to the user's real-time swiping speed, thereby simultaneously meeting the requirements of dragging accuracy and scrolling efficiency within the same interface area, significantly improving the accuracy and smoothness of human-computer interaction at the physical level.
[0019] To facilitate understanding of the following embodiments, some basic concepts involved in this application are explained in a unified manner.
[0020] In this application, the interface list refers to a list component arranged vertically or horizontally in the application interface to display multiple operable items, on which users can perform swiping or dragging operations. A drag-and-swipe operation is a continuous contact and displacement input operation performed by the user on the interface list area through touching and swiping with a finger on the touchscreen, pressing and moving with the left mouse button, or pushing and pulling with a gamepad joystick, which is different from scrolling with a scroll wheel. The operation anchor point is the point of application of the drag-and-swipe operation on the interface; in touch input, it is the touch point of the finger; in mouse input, it is the position of the mouse cursor; and in gamepad input, it is the position of the focus indicator. The instantaneous swipe speed is the displacement of the operation anchor point per unit time, which can be determined using the original pixel speed or a normalized speed value. The directional deviation angle is the angle between the swiping direction of the operation anchor point and the vertical axis of the interface list, used to measure the degree of directional deviation of the user's operation. The speed range consists of three continuous speed ranges divided by a first speed threshold and a second speed threshold, namely the first speed range, the second speed range, and the third speed range.
[0021] In this application, the drag state is an operation mode in which the target object moves with the operation anchor point and can be placed in a specified area. The follow state is an operation mode in which the interface list moves with the operation anchor point in a restricted manner, while continuously monitoring speed changes to determine subsequent state transitions. The scroll state is an operation mode in which the interface list scrolls freely with the operation anchor point, and at the end of the operation, it determines whether to perform inertial scrolling based on the final speed. The first speed threshold and the second speed threshold are two preset speed values used to divide speed intervals, where the second speed threshold is not lower than the first speed threshold. Both can be fixed values or dynamically updated adaptively. When the second speed threshold is higher than the first speed threshold, a second speed interval is formed between them; when the second speed threshold is equal to the first speed threshold, the speed interval degenerates into two intervals, and no second speed interval is generated.
[0022] After providing a general overview of the technical architecture, application scenarios, and basic concepts of this application, the specific implementation methods of this application will be described in detail below with reference to the accompanying drawings.
[0023] Please see Figure 2 The interface list interaction control method of this application can be installed and run on a computer program product in an electronic device used by a player as a client. In some embodiments, it includes the following steps: Step S3100: In response to the drag operation applied to the interface list, continuously acquire the instantaneous sliding speed and the directional deviation angle of the operation anchor point of the drag operation during the operation. Please refer to the following: Figure 3 , Figure 3 An exemplary game scene interface is shown, including an interface list on the left and a resource configuration area (configuration window) on the right. The interface list displays multiple game resource items arranged vertically, each corresponding to an operable item or prop. The resource configuration area contains multiple slots for accommodating game resource items, some of which are already occupied. In this game scene, users can browse game resource items in the interface list by dragging and swiping, and can also drag specific game resource items from the interface list to slots in the resource configuration area to perform functions such as crafting, selling, equipping, or sorting items.
[0024] Users can, for example Figure 3 The example human-computer interaction interface implements drag-and-swipe operations in the interface list, which are responded to by the client. In response to the drag-and-swipe operation applied by the user, the client continuously obtains the instantaneous sliding speed of the operation anchor point during the operation and the angle of deviation of the movement from the vertical axis of the interface list.
[0025] Drag and slide operations include, but are not limited to, actions performed by users touching and sliding their fingers on a touchscreen, pressing and moving the left mouse button, or pushing and pulling with a gamepad joystick. These operations involve continuous contact and displacement within the interface list area. It is easy to understand that the drag and slide operations described in this application differ from scrolling operations triggered by a mouse wheel. The operation anchor point of a drag and slide operation is the point of application on the interface; for touch input, this is the touch point of the finger; for mouse input, it is the mouse cursor position; and for gamepad input, it is the position of the focus indicator.
[0026] As the swipe operation is performed, the operation anchor point begins to move within the interface, resulting in an instantaneous swipe speed and a deviation angle. The instantaneous swipe speed is the displacement of the operation anchor point per unit time, representing the speed of the user's current swipe operation. The deviation angle is the angle by which the swipe direction of the operation anchor point deviates from the vertical axis of the interface list. Using the vertical axis as a reference, a deviation to the left is negative, and a deviation to the right is positive, measuring the degree of directional deviation of the user's operation. When the user swipes vertically, this angle is close to 0 degrees; when the user swipes horizontally, this angle is close to ±90 degrees.
[0027] During the drag-and-swipe operation, the client continuously receives input events through the operating system's input event interface (e.g., touch events on a touchscreen, pointer movement events on a mouse, or joystick events on a gamepad). Whenever a new input event is received, the client obtains the displacement and time interval between the operation anchor point and the previous input event. The original sliding speed is determined based on the ratio of the displacement to the time interval; this original sliding speed is the instantaneous sliding speed. It should be noted that the input events referred to in this application are discrete events reported by the underlying input device. Their reporting interval is not fixed and is affected by the hardware sampling rate, system scheduling, and operation speed, unlike the rendering frames of the graphics rendering pipeline; in subsequent embodiments, this will be used as the standard whenever a new input event is received.
[0028] In one embodiment, the client receives user input through the operating system's input event interface. When a user presses or touches an area within the interface list, the initial position of the operation anchor point is recorded, and continuous tracking of its position changes begins. During the drag-and-swipe operation, whenever a new input event is received, the client obtains the displacement and time interval of the operation anchor point between the current and previous input events. The original swipe speed is determined based on the ratio of the displacement to the time interval; this original swipe speed is the instantaneous swipe speed. Simultaneously, the client calculates the angle between the displacement vector of the operation anchor point between the current and previous input events and the vertical axis of the interface list, defining this angle as the directional deviation angle. Through this continuous input event-based acquisition method, the client can continuously obtain the latest instantaneous swipe speed and directional deviation angle throughout the entire drag-and-swipe operation, providing real-time data support for subsequent speed range determination and state switching.
[0029] In one embodiment, when calculating the directional deviation angle, the client first obtains the displacement vector of the operation anchor point between the current input event and the previous input event. This displacement vector consists of a horizontal component and a vertical component. The client uses the vertical axis of the interface list as the reference direction and calculates the angle between this displacement vector and the vertical axis. Specifically, the client calculates the ratio of the horizontal to the vertical components of the displacement vector using the arctangent function to obtain the deviation angle of the displacement vector relative to the vertical axis. When the user slides vertically, the horizontal component is close to zero, and the calculated deviation angle is close to zero degrees; when the user slides horizontally, the vertical component is close to 0, and the calculated deviation angle is close to 90 degrees. The client determines the calculated deviation angle as the directional deviation angle for subsequent comparison with a preset angle range. In this way, the client can accurately quantify the degree of directional deviation of the user's operation, providing a reliable basis for angle determination.
[0030] In another embodiment, after receiving an input event and obtaining the displacement and time interval of the operation anchor point between the current input event and the previous input event, the client does not directly use the ratio of displacement to time interval as the instantaneous sliding speed. Instead, it smooths this ratio. Specifically, the client maintains a smoothing filter based on an exponential moving average. Whenever a new instantaneous sliding speed value of the operation anchor point is obtained, the client weights and fuses this new value with the smoothed value from the previous moment to obtain the smoothed sliding speed at the current moment. The weight of the new value is determined according to a preset smoothing coefficient, which determines the filter's sensitivity to speed changes. This exponential moving average method effectively suppresses sudden changes in instantaneous speed values caused by touch sampling jitter or uneven input event intervals, thus making speed range determination more stable and reliable.
[0031] In another embodiment, after obtaining the instantaneous scrolling speed, the client can normalize this instantaneous scrolling speed with the display area height of the interface list to eliminate the influence of different screen sizes and display resolutions on the speed value. Specifically, the normalization process can be achieved by dividing the display area height of the interface list by the original scrolling speed, and using the resulting ratio as the normalized instantaneous scrolling speed in subsequent determinations. The physical meaning of the normalized instantaneous scrolling speed is the time required to scroll the entire display area height at the current original scrolling speed; a shorter time indicates a faster scrolling speed, and a longer time indicates a slower scrolling speed. Through normalization, devices with different screen sizes and resolutions can use a unified speed threshold for determination, thereby ensuring consistency across devices.
[0032] Step S3200: Update the first speed threshold and the second speed threshold used to determine the speed range based on the historically accumulated speed value samples belonging to the drag state or the scroll state. The first and second speed thresholds are two pre-set benchmark values used to divide speed ranges. They already exist and can be either factory default values or values from the last update. This step does not require recalculating the thresholds for each drag-and-swipe operation. Instead, it can adaptively adjust these two thresholds in the background using speed value samples accumulated from historical operations, either periodically or conditionally.
[0033] Specifically, the client continuously collects drag speed samples when the action is identified as dragging and scroll speed samples when the action is identified as scrolling within the game interface, which is either a preset calibration interface or a list of normal user interfaces. These samples are instantaneous swipe speed values recorded during past dragging or scrolling operations that have been clearly identified as dragging or scrolling intentions. The client filters these samples according to preset confidence rules, excluding low-confidence or abnormal samples, and counts the cumulative number of valid samples since the last threshold update. When this cumulative increment reaches a preset increment threshold, a threshold update process is triggered.
[0034] During the update process, the client uses a preset statistical method, such as the interquartile range (IMR), to remove outliers from the sample. Then, it takes the quantile values of the speed distribution of the drag speed sample and the scroll speed sample to obtain representative drag speed values and representative scroll speed values, thereby determining a baseline speed value. Finally, based on this baseline speed value, new first speed thresholds and second speed thresholds are calculated according to a preset ratio, where the first speed threshold is lower than the baseline speed value and the second speed threshold is higher than the baseline speed value.
[0035] Through updates, the first and second speed thresholds can be progressively and adaptively adjusted as user operating habits evolve or device characteristics differ, thus providing a more suitable benchmark for speed range determination in subsequent steps. This update process can occur between two drag-and-swipe operations, or it can be triggered during game loading or scene switching, ensuring continuous optimization of the determination model's accuracy without interfering with the user's current operation.
[0036] Step S3300: When the deviation angle of the movement is within a preset angle range, determine the speed range based on the comparison result between the instantaneous sliding speed and the first speed threshold and the second speed threshold. After continuously acquiring instantaneous swipe speed and deviation angle, the client can combine the instantaneous swipe speed and deviation angle for judgment. In one embodiment, the client first judges the deviation angle. A preset angle range is used to define the situation where the user's operation direction is basically consistent with the list axis. This angle range is based on the vertical axis of the interface list, extending to the left and right by preset angle values. When the deviation angle is within the preset angle range, the client enters the speed range judgment process; when the deviation angle exceeds the preset angle range, it is considered that the user's operation direction is significantly deviated from the list axis, and the client does not enter the speed range judgment, but directly triggers other processing logic.
[0037] The preset angle range can be set according to the actual application scenario and user operating habits. In one embodiment, the angle range can be set to a range within 30 degrees to the left and right of the vertical axis. In another embodiment, the angle range can be set to a range within 15 degrees to the left and right of the vertical axis. Experiments show that this value can achieve good differentiation effect in most game scenarios. In yet another embodiment, the angle range can also be set to a range within 10 degrees to the left and right of the vertical axis to adapt to application scenarios with higher requirements for direction sensitivity.
[0038] When the deviation angle of the movement is within a preset angle range, the client compares the instantaneous swipe speed with a first speed threshold and a second speed threshold. The first and second speed thresholds are two pre-defined speed values, with the second speed threshold being higher than the first speed threshold. These two speed thresholds divide the speed range into at least two speed intervals. Specifically, the range where the instantaneous swipe speed is less than or equal to the first speed threshold is defined as the first speed interval, and the range where the instantaneous swipe speed is greater than or equal to the second speed threshold is defined as the third speed interval. When the second speed threshold is higher than the first speed threshold, the range where the instantaneous swipe speed is between the first and second speed thresholds is defined as the second speed interval, resulting in a total of three speed intervals. When the second speed threshold is equal to the first speed threshold, the first and third speed intervals are directly adjacent, and no second speed interval is generated, resulting in a total of two speed intervals. Through this division method, the client can map the user's continuous swipe operations to two or three different speed intervals, with each speed interval corresponding to an operation state.
[0039] The first and second speed thresholds can be fixed values or dynamically updated adaptively. In one embodiment, the first and second speed thresholds are determined by collecting speed value samples generated by the user during the dragging and swiping operation, performing statistical analysis and outlier removal, and dynamically updating as user habits change. The dynamic update mechanism for the thresholds will be described in detail in subsequent embodiments.
[0040] The client determines the subsequent operation state based on the instantaneous swipe speed's location within a specific speed range. When the instantaneous swipe speed falls within the first speed range, the client enters a drag state; when it falls within the third speed range, the client enters a scroll state. When the second speed threshold is higher than the first speed threshold and the instantaneous swipe speed falls within the second speed range, the client enters a follow state. These three states can correspond to different interface control behaviors, which will be explained in detail in subsequent steps. In other embodiments, when the second speed threshold equals the first speed threshold, no second speed range is generated, and the client only switches between the drag and scroll states, i.e., a two-state solution; alternatively, the follow state, as an intermediate state, may not have any business logic, or it may directly apply the business logic of the drag or scroll states to effectively switch between the two states. In one embodiment, before determining the speed range, the client can also normalize the instantaneous swipe speed to eliminate the influence of different screen sizes and display resolutions on the speed value. The normalization process involves dividing the height of the display area of the interface list by the instantaneous scrolling speed, a first speed threshold, and a second speed threshold, respectively, to obtain the normalized scrolling speed, the normalized first threshold, and the normalized second threshold. After normalization, the judgment logic changes accordingly: when the normalized scrolling speed is greater than the normalized first threshold, it is determined to be in the first speed range; when the normalized scrolling speed is less than the normalized second threshold, it is determined to be in the third speed range; and when the normalized scrolling speed is between the normalized first threshold and the normalized second threshold, it is determined to be in the second speed range. The physical meaning of the normalized instantaneous scrolling speed is the time required to scroll the entire height of the display area at the current original scrolling speed. The shorter the time, the faster the scrolling speed; the longer the time, the slower the scrolling speed. Through normalization, devices with different screen sizes and resolutions can use a unified speed threshold for judgment, thus ensuring consistency across devices.
[0041] Step S3400: When the instantaneous sliding speed is in the first speed range below the first speed threshold, enter the drag state, follow the operation anchor point to drag the target object in the interface list that is hit by the initial position of the operation anchor point, until the drag operation ends. When the client determines that the instantaneous sliding speed is within a first speed range below the first speed threshold based on a comparison between the instantaneous sliding speed and a first speed threshold and a second speed threshold, the client judges the user's current dragging operation intention as a drag operation and then enters the drag state. After entering the drag state, the client can first determine the target object hit by the initial position of the manipulated anchor point. In one embodiment, the target object is as follows: Figure 3The example shown is a game resource item in the interface list, such as an item or prop in the game inventory. The client performs collision detection between the initial position of the operation anchor point and the placeholder area of each game resource item in the interface list, and identifies the game resource item located below the initial position of the operation anchor point as the target object.
[0042] Once the target object is identified, the client controls it to move along with the current position of the operation anchor point. In one embodiment, the client obtains the latest position coordinates of the operation anchor point each time it receives an input event, and updates the display position of the target object to these latest coordinates, thereby achieving synchronized movement between the target object and the operation anchor point. During the movement, the target object may appear to detach from its original position in the interface list and move along with the operation anchor point as an independent visual element, such as a semi-transparent prop icon that follows the finger or mouse cursor.
[0043] During drag-and-drop, the client can also adjust the display status of the interface list to reduce interference with the user's drag-and-drop operation. In one embodiment, the client hides or grays out other game resource items in the interface list that are unrelated to the drag-and-drop operation, allowing the user's attention to focus on the currently dragged target object, while preventing the user from accidentally touching other game resource items during dragging. In another embodiment, the client reduces the scroll sensitivity of the interface list or completely disables the scrolling function of the interface list to prevent the list from scrolling accidentally due to slight finger movements during dragging.
[0044] In one embodiment, the drag state may include a locking mechanism. Once the client enters the drag state, this state can be maintained until the drag operation ends, and it will not automatically exit due to subsequent instantaneous changes in sliding speed. That is, even if the user's sliding speed temporarily exceeds a first speed threshold during the dragging process, the client remains in the drag state and continues to drag the target object following the operation anchor point. This locking mechanism avoids dragging interruption due to minor fluctuations in user operation speed, thereby improving the stability and reliability of the drag operation. The drag state exits only when the drag operation ends, i.e., when the user lifts their finger, releases the mouse button, or releases the gamepad joystick.
[0045] When a drag-and-drop operation ends, the client determines the final destination of the target object based on the ending position of the operation anchor point. In one embodiment, when the ending position of the operation anchor point is located outside the resource configuration area of the interface list, the client places the target object into that resource configuration area to complete operations such as item placement, crafting, or equipping. When the ending position of the operation anchor point is not within the resource configuration area, the client returns the target object to its initial position in the interface list, indicating that the drag-and-drop operation has been canceled and the target object returns to its original position. The specific processing logic at the end of a drag-and-drop operation will be further explained in subsequent embodiments.
[0046] Step S3500: When the instantaneous sliding speed is in the third speed range above the second speed threshold, the scrolling state is entered, and the interface list is controlled to scroll along the sliding direction of the operation anchor point.
[0047] When the client determines that the instantaneous swipe speed falls within the third speed range (above the second speed threshold) based on a comparison between the instantaneous swipe speed and the first and second speed thresholds, the client interprets the user's current swipe operation as a scrolling operation and immediately enters scrolling mode. Once in scrolling mode, the client's control interface list scrolls synchronously with the swipe direction of the operation anchor point.
[0048] In scrolling mode, the client obtains the displacement between the current and previous positions of the operation anchor point each time an input event is received. This displacement is used as the scroll offset of the interface list corresponding to the current input event, controlling the interface list to move a corresponding distance along the sliding direction of the operation anchor point. Through this frame-by-frame synchronization, the scrolling of the interface list and the movement of the operation anchor point maintain real-time linkage, allowing users to experience a smooth interactive experience where the interface list scrolls smoothly following their finger or mouse cursor. In scrolling mode, the scrolling speed of the interface list is basically consistent with the movement speed of the operation anchor point, without any obvious damping or speed limiting effect, which contrasts sharply with the speed-limited displacement in follow mode.
[0049] In scrolling mode, the client can continuously monitor changes in instantaneous swipe speed. When the instantaneous swipe speed drops below a second speed threshold, the client can exit scrolling mode and enter follow mode; when the instantaneous swipe speed further drops below a first speed threshold, the client exits scrolling mode and enters drag mode. This dynamic switching mechanism allows users to smoothly transition between scrolling, follow, and drag modes based on speed changes within a single drag operation.
[0050] When the drag-and-swipe operation ends, i.e. when the user lifts their finger, releases the mouse button, or releases the joystick, the client obtains the instantaneous sliding speed of the operation anchor point at the end moment, and determines the subsequent behavior of the interface list after the operation ends based on the relationship between the instantaneous sliding speed at the end moment and the second speed threshold.
[0051] In one embodiment, when the instantaneous sliding speed at the end of the operation exceeds a second speed threshold, it indicates that the user's sliding speed was relatively fast when ending the operation, and the interface list has significant motion inertia. In this case, the client determines the initial speed and frame decay coefficient of the inertial scrolling based on the instantaneous sliding speed at the end of the operation. The initial speed is directly taken as the instantaneous sliding speed at the end of the operation, while the frame decay coefficient is used to control the rate at which the speed decreases frame by frame during the inertial scrolling process. The frame decay coefficient can be determined based on the display area height or the number of list items in the interface list. After determining the initial speed and frame decay coefficient, the client controls the scrolling speed of the interface list to decrease frame by frame with the frame decay coefficient. That is, in each rendering frame cycle, the current scrolling speed is multiplied by the frame decay coefficient to obtain the scrolling speed of the next frame, until the scrolling speed drops to zero, and the interface list stops scrolling. Through this frame-by-frame decay method, the interface list can continue scrolling a distance with a smooth deceleration after the user ends the operation, simulating the effect of inertial motion in the physical world and providing the user with a natural scrolling experience.
[0052] In another embodiment, if the instantaneous swipe speed at the end does not exceed the second speed threshold, it indicates that the user's swipe speed at the end of the operation was slow, and the inertia of the interface list was small. In this case, the client does not perform inertial scrolling and directly stops the scrolling of the interface list, making the interface list immediately stationary at the current display position. This approach avoids unnecessary inertial swipes at the end of slow scrolling, making the stopping behavior of the interface list more in line with the user's expectations.
[0053] As can be seen from the above embodiments, this application uses the combination of sliding speed and direction angle as the basis for determining the operation intention. Depending on the speed range, it enters a dragging state, a following state, or a scrolling state. The following state takes effect when the second speed threshold is higher than the first speed threshold. Furthermore, by dynamically updating the speed threshold based on historical operation samples, this effectively solves many problems existing in traditional technologies when distinguishing between dragging and sliding intentions in the same direction, achieving various beneficial technical effects, including but not limited to: First, this application effectively improves the accuracy of distinguishing between dragging and scrolling intentions under unidirectional operations. In traditional solutions, when the user's operation direction is basically consistent with the list axis, it is difficult to accurately determine the user's intention by relying solely on angle or a single fixed speed threshold, especially since systematic deviations can easily occur between different users or different devices. This application, on the one hand, divides the speed into at least two intervals by introducing a first speed threshold and a second speed threshold. When the second speed threshold is higher than the first speed threshold, three intervals are formed. This allows the user to directly enter the dragging state in the low-speed interval, the scrolling state in the high-speed interval, and the following state with speed-limited displacement in the medium-speed interval, thus providing a differentiated response mechanism for operation intentions at different speeds. On the other hand, by dynamically updating the first and second speed thresholds based on historically accumulated speed value samples, the division of speed intervals can adapt to the operating habits of different users and the screen characteristics of different devices. This avoids the problem of insufficient adaptability of a single fixed threshold when facing "one person, one speed" or "one device, one speed," significantly improving the accuracy of operation recognition in cross-user and cross-device scenarios.
[0054] Secondly, this application can reduce the false judgment rate at critical speeds. In traditional solutions, when a user operates at a moderate speed, a fixed threshold is insufficient to accurately determine whether the intention is dragging or scrolling, easily leading to misjudgments. This application sets a following state between a first speed threshold and a second speed threshold, controlling the interface list to generate a speed-limited displacement along the sliding direction. It neither immediately determines whether it is dragging or scrolling, but waits for the user's subsequent speed change trend before deciding on the final recognition result. Simultaneously, the dynamically updated threshold allows the range of the moderate speed interval to adaptively adjust according to the user's actual operation, further narrowing the width of the critical ambiguity region, enabling the following state to function within the most appropriate speed range. This collaborative mechanism, consisting of dynamic thresholds and a buffer state, effectively avoids hard cutting at critical speeds, thereby significantly reducing the false judgment rate.
[0055] Furthermore, this application significantly improves the response speed of drag-and-drop operations. In some traditional solutions, users need to remain in the same position for a sufficient amount of time before dragging can be triggered, resulting in a delayed response. This application directly maps the low-speed range to the drag-and-drop state, allowing users to immediately initiate a drag-and-drop operation without waiting for any pause time while swiping slowly. In addition, the dynamically updated first speed threshold ensures that the upper limit of the low-speed range matches the user's current slow-speed operating habits, preventing operations that should enter the drag-and-drop state from being misinterpreted as following or scrolling due to an excessively high threshold setting. This further ensures the rapid triggering of drag-and-drop operations, improving the smoothness and efficiency of the interaction.
[0056] Furthermore, this application enhances the stability of drag-and-drop operations. In traditional solutions, once a drag-and-drop operation begins, fluctuations in the user's finger speed may be misinterpreted as scrolling, interrupting the drag and causing operation failure. This application locks the drag state until the drag-and-drop operation ends, ensuring that even if the sliding speed changes instantaneously after entering the drag state, the system will not exit the drag state, thus avoiding drag interruptions caused by speed fluctuations. Simultaneously, dynamically updated thresholds allow the system to more accurately identify user intent, reducing the possibility of incorrectly interpreting drag intent as scrolling intent due to threshold mismatch, further improving the reliability of drag-and-drop operations and user experience.
[0057] Based on any embodiment of the method in this application, the process of continuously acquiring the instantaneous sliding speed and the directional deviation angle of the operation anchor point of the drag-and-swipe operation from the vertical axis of the interface list during the operation includes: Step S3110: Divide the height of the display area of the interface list by the instantaneous sliding speed, the first speed threshold and the second speed threshold respectively to obtain the normalized sliding speed, the normalized first threshold and the normalized second threshold, wherein the second speed threshold is higher than the first speed threshold. After obtaining the instantaneous sliding speed of the operation anchor point, the client can normalize the instantaneous sliding speed, as well as the first and second speed thresholds, to eliminate the influence of different screen sizes and display resolutions on the speed value. Specifically, the normalization process can be achieved by using the display area height of the interface list as the normalization benchmark, dividing it by the instantaneous sliding speed, the first speed threshold, and the second speed threshold, respectively, to obtain three normalized values. Specifically, dividing the display area height by the instantaneous sliding speed yields the normalized sliding speed; dividing the display area height by the first speed threshold yields the normalized first threshold; and dividing the display area height by the second speed threshold yields the normalized second threshold.
[0058] In one embodiment, assuming the display area height of the interface list is H in pixels, the instantaneous scrolling speed is v in pixels per second, the first speed threshold is T1 in pixels per second, and the second speed threshold is T2 in pixels per second, then the normalized scrolling speed is H divided by v, the normalized first threshold is H divided by T1, and the normalized second threshold is H divided by T2. All three normalized values are in seconds, and their physical meaning is the time required to scroll the entire display area height at the current speed. For example, when the instantaneous scrolling speed v is 100 pixels per second and the display area height H is 800 pixels, the normalized scrolling speed is 8 seconds, meaning it takes 8 seconds to scroll the entire list at the current speed; when the instantaneous scrolling speed v is 800 pixels per second, the normalized scrolling speed is 1 second, meaning it only takes 1 second to scroll the entire list at the current speed. Therefore, a larger normalized scrolling speed indicates a slower scrolling speed, and a smaller normalized scrolling speed indicates a faster scrolling speed.
[0059] Step S3120: When the normalized sliding speed is greater than the normalized first threshold, it is determined to be in the first speed range; when the normalized sliding speed is less than the normalized second threshold, it is determined to be in the third speed range; when the normalized sliding speed is between the normalized first threshold and the normalized second threshold, it is determined to be in the second speed range.
[0060] After normalization, the instantaneous sliding speed, the first speed threshold, and the second speed threshold are unified to the same time dimension, allowing for direct comparison. Since the normalized value is inversely proportional to the original speed value, the judgment logic changes accordingly. Specifically, when the normalized sliding speed is greater than the normalized first threshold, it indicates that the original instantaneous sliding speed is less than the first speed threshold, thus determining it to be in the first speed range, corresponding to the dragging state; when the normalized sliding speed is less than the normalized second threshold, it indicates that the original instantaneous sliding speed is greater than the second speed threshold, thus determining it to be in the third speed range, corresponding to the scrolling state; when the normalized sliding speed is between the normalized first and second thresholds, it indicates that the original instantaneous sliding speed is between the first and second speed thresholds, thus determining it to be in the second speed range, corresponding to the following state.
[0061] In one embodiment, assuming a first speed threshold T1 of 200 pixels per second, a second speed threshold T2 of 600 pixels per second, and a display area height H of 800 pixels, then the normalized first threshold is 800 divided by 200, which equals 4 seconds, and the normalized second threshold is 800 divided by 600, which is approximately 1.33 seconds. When the instantaneous sliding speed v is 100 pixels per second, the normalized sliding speed is 800 divided by 100, which equals 8 seconds, greater than the normalized first threshold of 4 seconds. Therefore, it is determined to be within the first speed range, and the system enters the dragging state. When the instantaneous sliding speed v is 400 pixels per second, the normalized sliding speed is 800 divided by 400, which equals 2 seconds, falling between the normalized first threshold of 4 seconds and the normalized second threshold of 1.33 seconds. Therefore, it is determined to be within the second speed range, and the system enters the following state. When the instantaneous sliding speed v is 800 pixels per second, the normalized sliding speed is 800 divided by 800, which equals 1 second. This is less than the second normalized threshold of 1.33 seconds. Therefore, it is determined to be in the third speed range and enters the scrolling state.
[0062] In this embodiment, normalization eliminates the impact of different screen sizes and display resolutions on speed values, ensuring that the same speed threshold produces consistent judgment results across different devices, thereby guaranteeing a consistent cross-device interactive experience. Simultaneously, the normalized speed value has an intuitive physical meaning—the time required to swipe through the entire list at the current speed. This makes setting and adjusting the speed threshold more intuitive and easier to understand, reducing the difficulty of threshold debugging and maintenance. Furthermore, normalization transforms speed judgment into a comparison in the time dimension, avoiding speed value deviations caused by differences in device pixel density, further improving the accuracy and robustness of speed range determination.
[0063] Based on any embodiment of the method in this application, dragging the target object in the interface list that is hit by the initial position of the operation anchor point along the operation anchor point until the drag operation ends includes: Step S3410: When entering the drag state, determine the game resource item in the interface list that is hit by the initial position of the operation anchor point as the target object; Once the client enters the drag state based on the speed range determination result, it first needs to determine the specific target object that the user intends to drag. The client records the initial position of the operation anchor point when entering the drag state, performs collision detection between this initial position and the placeholder area of each game resource item in the interface list, and determines the game resource item located below the initial position of the operation anchor point as the target object.
[0064] In one embodiment, such as Figure 3As shown, each game resource item in the interface list has a rectangular placeholder area, defined by the coordinates of its top-left and bottom-right corners. The client iterates through all game resource items in the interface list, checking whether the initial position coordinates of the operation anchor point fall within the rectangular placeholder area of that game resource item. When the initial position coordinates of the operation anchor point fall within the rectangular placeholder area of a game resource item, that game resource item is identified as the target object.
[0065] In one embodiment, when the initial position of the operation anchor point falls within the occupied area of multiple game resource items simultaneously, for example, when the operation anchor point is located at the intersection of two game resource items, the client selects the game resource item with the highest level or the game resource item closest to the operation anchor point as the target object.
[0066] Step S3420: In the drag state, hide or gray out game resource items in the interface list that are unrelated to the drag operation, and control the target object to move with the operation anchor point to the current position of the game interface where the interface list is located; After entering drag-and-drop mode and identifying the target object, the client adjusts the display of the interface list to minimize interference with the user's drag-and-drop operation. The client hides or grays out other game resource items in the interface list that are unrelated to the drag-and-drop operation, allowing the user's attention to focus on the currently dragged target object and preventing accidental touches on other game resource items during dragging. In one embodiment, the client sets the transparency of all game resource items in the interface list except the target object to a low value, such as 30%, making them semi-transparent and visually weakening the presence of these irrelevant items. In another embodiment, the client reduces the color saturation of all game resource items in the interface list except the target object to a low level, such as 20%, making them grayscale, thus visually distinguishing the target object from irrelevant items. In yet another embodiment, the client directly hides all game resource items in the interface list except the target object, making them invisible on the interface, thus providing the user with a clean drag-and-drop environment.
[0067] Meanwhile, the client controls the target object to move along with the operation anchor point to its current position on the game interface. In one embodiment, the client obtains the latest position coordinates of the operation anchor point each time it receives an input event, converts these latest coordinates into coordinates in the game interface coordinate system, and then updates the display position of the target object to these latest coordinates, thereby achieving synchronized movement between the target object and the operation anchor point. During the movement, the target object detaches from its original position in the interface list and moves along with the operation anchor point as an independent visual element. In one embodiment, the target object appears as a semi-transparent item icon during the movement, with the size of the item icon being 80% of the original game resource item size, to indicate that the target object is being dragged. In another embodiment, the target object appears as an item icon with a highlighted border, the color of which is yellow or green, to attract the user's attention.
[0068] Step S3430: When the drag-and-drop operation ends, if the end position of the operation anchor point is located in the resource configuration area outside the interface list, then the target object is placed into the resource configuration area; otherwise, the target object is returned to the initial position.
[0069] When the user lifts their finger, releases the mouse button, or releases the gamepad joystick, the drag-and-swipe operation ends. The client obtains the position coordinates of the operation anchor point at the end moment, i.e., the end position. The client determines whether this end position is located within the resource configuration area outside the interface list. In one embodiment, the resource configuration area is as follows: Figure 3 The configuration window shown on the right side of the interface contains multiple slots for accommodating game resource items, each with a rectangular placeholder area. The client iterates through all slots in the resource configuration area, checking one by one whether the end coordinates of the operation anchor point fall within the rectangular placeholder area of a certain slot.
[0070] When the end position of the operation anchor point is located in a slot in the resource configuration area, the client places the target object into that slot, completing operations such as item placement, crafting, or equipping. In one embodiment, the client removes the target object from the interface list and adds it to the corresponding slot in the resource configuration area, simultaneously displaying the target object in that slot on the interface. In another embodiment, after placing the target object into the resource configuration area, the client triggers a placement success animation, such as the target object falling into the slot with a scaling animation, to provide the user with positive visual feedback.
[0071] When the end position of the operation anchor point is not in any slot within the resource configuration area—for example, if the end position is located in another area of the interface list or in a blank area of the game interface—the client returns the target object to its initial position in the interface list, indicating that the drag operation has been canceled and the target object has returned to its original position. In one embodiment, the client controls the target object to move from its current position back to its initial position in the interface list with a smooth animation, the animation duration being 0.3 seconds, to provide the user with visual feedback on the return to its original position. In another embodiment, after the target object is returned to its original position, the client restores the display state of all game resource items in the interface list, restoring previously hidden or grayed-out game resource items to their normal display state.
[0072] This embodiment hides or grays out irrelevant game resource items during drag-and-drop, reducing visual distractions and allowing users to focus on the target object being dragged. It also avoids the possibility of accidentally touching other game resource items during dragging, improving the accuracy of the drag-and-drop operation. The target object moves in real-time following the operation anchor point, providing users with intuitive drag-and-drop feedback so they clearly know the target object's current position. At the end of the drag-and-drop operation, the system determines whether to place the item in the resource configuration area or return it to its initial position based on the ending position, achieving a complete closed loop of the drag-and-drop operation. This allows users to place or remove items through a single, continuous drag-and-drop operation, improving operational efficiency and user experience in scenarios such as the game inventory.
[0073] Based on any embodiment of the method applied for, after determining the speed range based on the comparison result between the instantaneous sliding speed and the first speed threshold and the second speed threshold when the directional deviation angle is within a preset angle range, the method further includes: Step S3600: When the instantaneous sliding speed is in the second speed range between the first speed threshold and the second speed threshold, the system enters the following state and controls the interface list to generate a speed-limited displacement along the sliding direction of the operation anchor point.
[0074] When the second speed threshold is higher than the first speed threshold, and the client determines that the instantaneous swipe speed falls within the second speed range between the first and second speed thresholds based on a comparison of the instantaneous swipe speed with the first and second speed thresholds, the client judges that the user's current swipe speed is in a critical area, insufficient to clearly determine whether it is a dragging intention or a scrolling intention. In this case, the client does not immediately make a final intention determination but enters a follow state, waiting for the user's subsequent actions to reveal their true intention. When the second speed threshold equals the first speed threshold, no second speed range is generated, and the client does not enter the follow state, but only switches between dragging and scrolling states. After entering the follow state, the client controls the interface list to generate a speed-limited displacement along the swipe direction of the operation anchor point. The speed-limited displacement means that the interface list follows the operation anchor point, but its movement speed is limited, lower than a certain preset speed, such as lower than the instantaneous swipe speed of the operation anchor point. In other words, the movement of the interface list and the movement of the operation anchor point exhibit a damped following relationship. When the operation anchor point moves faster, the interface list follows at a slower speed, thus creating a visual sense of stickiness or resistance. This speed-limited displacement effect allows the user to perceive that the system is in a state of uncertainty, unlike dragging where the target object directly detaches from the list and follows the finger's movement, or scrolling where the list freely and smoothly follows the finger's scrolling.
[0075] In one embodiment, when the client enters the follow state, it first determines the current sliding direction of the operation anchor point. The client determines the direction of the displacement vector of the operation anchor point between the current input event and the previous input event, and uses this direction as the sliding direction. Subsequently, the client controls the interface list to move along this sliding direction at a proportional speed, which is lower than the instantaneous sliding speed of the operation anchor point. There are several ways to determine the proportional speed. In one embodiment, the proportional speed can be set as a fixed proportional coefficient multiplied by the instantaneous sliding speed of the operation anchor point. In another embodiment, the proportional speed is determined based on the relative position of the instantaneous sliding speed within a second speed range. When the instantaneous sliding speed is close to a first speed threshold, the proportional speed is small, and the interface list moves slowly, tending to prepare for entering the drag state; when the instantaneous sliding speed is close to a second speed threshold, the proportional speed is large, and the interface list moves quickly, tending to prepare for entering the scroll state. By dynamically adjusting the proportional speed in this way, the client can smoothly adjust the responsiveness of the interface list according to subtle changes in speed during the follow state.
[0076] In follow mode, the client continuously monitors the instantaneous swipe speed trend and determines the subsequent state switch based on the speed changes. When the instantaneous swipe speed drops below the first speed threshold, it indicates that the user's swipe speed has slowed down, and the intention is more inclined towards dragging. The client then exits follow mode and enters drag mode. When the instantaneous swipe speed rises above the second speed threshold, it indicates that the user's swipe speed has increased, and the intention is more inclined towards scrolling. The client then exits follow mode and enters scrolling mode. This dynamic switching mechanism based on speed change trends allows the client to adaptively adjust its response according to the user's actual operation behavior in the critical speed range, thereby avoiding misjudgments caused by hard cut-offs at critical speeds.
[0077] In one embodiment, the client also monitors changes in the direction deviation angle while in follow mode. When the direction deviation angle exceeds a preset angle range, it indicates that the user's operation direction has deviated significantly. The client can then directly exit follow mode and enter drag mode to accommodate scenarios where the user suddenly changes direction during swiping to drag a specific item.
[0078] In the above embodiments, a complete interactive control scheme is constructed by combining the follow state with the drag state and the scroll state. When the second speed threshold is higher than the first speed threshold, the scheme is implemented as a three-state interactive control scheme; when the second speed threshold is equal to the first speed threshold, the scheme degenerates into a two-state interactive control scheme, switching only between the drag state and the scroll state. Both implementations are within the scope of protection of this application. In the three-state scheme, when the instantaneous sliding speed is in the critical region between the first speed threshold and the second speed threshold, the client provides a damped speed-limited displacement through the follow state, neither immediately determining it as dragging nor immediately determining it as scrolling, but waiting for the user's subsequent speed change trend before deciding on the final recognition result. This mechanism of deferred determination effectively avoids hard cutting at the critical speed and can dynamically adjust the response method according to the user's actual operation behavior, thereby significantly reducing the false judgment rate. At the same time, the smooth switching between the follow state and the drag state and scroll state allows the user to naturally complete the intention conversion from browsing to dragging or from dragging to browsing in a continuous dragging operation, without interrupting the operation or performing additional triggering actions, significantly improving the smoothness and naturalness of the interaction. It can be seen that this embodiment has achieved beneficial technical effects in reducing the critical misjudgment rate, improving operational consistency, and enhancing the user's operational freedom.
[0079] Based on any embodiment of the method in this application, controlling the interface list to generate a speed-limited displacement along the sliding direction of the operation anchor point includes: Step S3610: When entering the following state, determine the current sliding direction of the operation anchor point; After the client enters the follow state according to the determination result of the speed interval, it first needs to determine the current sliding direction of the operation anchor point, so as to control the interface list to generate a speed-limited displacement along this direction. The client obtains the displacement vector of the operation anchor point between the current input event and the previous input event, and the displacement vector is composed of a horizontal component and a vertical component. The client determines the current sliding direction of the operation anchor point according to the direction of the displacement vector. In one embodiment, the client calculates the arctangent value of the displacement vector to obtain the angle of the displacement vector relative to the horizontal axis, and uses this angle as the angle representation of the sliding direction. In another embodiment, the client directly takes the unit vector of the displacement vector as the vector representation of the sliding direction. In this way, the client can obtain the latest sliding direction of the operation anchor point every time it receives an input event, providing a direction basis for the subsequent speed-limited displacement.
[0080] Step S3620: In the follow state, control the interface list to move along the sliding direction at a proportional speed lower than the instantaneous sliding speed of the operation anchor point, where the proportional speed is determined according to the relative position of the instantaneous sliding speed in the second speed interval; After entering the follow state, the client controls the interface list to move along the determined sliding direction, but the moving speed is limited, and the moving speed can be defined to be lower than the instantaneous sliding speed of the operation anchor point. Specifically, the client calculates a proportional speed, which is lower than the instantaneous sliding speed of the operation anchor point, and controls the interface list to move at this proportional speed. The determination manner of the proportional speed can be dynamically calculated according to the relative position of the instantaneous sliding speed in the second speed interval.
[0081] In one embodiment, it is assumed that the first speed threshold is T1, the second speed threshold is T2, the instantaneous sliding speed is v, and T1<v<T2. The client first calculates the relative position proportion P of the instantaneous sliding speed in the second speed interval, where P=(v-T1) / (T2-T1). The value range of P is between 0 and 1. When the instantaneous sliding speed is close to the first speed threshold T1, P approaches 0; when the instantaneous sliding speed is close to the second speed threshold T2, P approaches 1. The client determines the proportional speed according to the relative position proportion P, and the proportional speed is equal to the instantaneous sliding speed v multiplied by a proportional coefficient K, where K is dynamically adjusted according to the value of P.
[0082] In one embodiment, the scaling factor K is equal to P multiplied by a preset maximum scaling factor. For example, if the maximum scaling factor is 0.5, then K = P * 0.5. When P is 0.2, K is 0.1, and the scaling speed is v multiplied by 0.1; when P is 0.8, K is 0.4, and the scaling speed is v multiplied by 0.4. Through this dynamic adjustment method, when the instantaneous sliding speed is close to the first speed threshold, the scaling speed is relatively small, and the interface list moves slowly, tending to prepare for entering the drag state; when the instantaneous sliding speed is close to the second speed threshold, the scaling speed is relatively large, and the interface list moves faster, tending to prepare for entering the scroll state.
[0083] In another embodiment, the scaling factor K can be set to a fixed value, such as 0.3, in which case the proportional speed is constant as the instantaneous sliding speed v multiplied by 0.3. This fixed scaling factor implementation is relatively simple, has low computational overhead, and is suitable for applications with high performance requirements. In another embodiment, the scaling factor K can be adaptively adjusted according to the user's operating habits. For example, for users who frequently operate in the critical speed range, the scaling factor K can be appropriately increased to improve the responsiveness of the interface list.
[0084] Step S3630: In the following state, when the instantaneous sliding speed drops below the first speed threshold, exit the following state and enter the drag state; In follow mode, the client continuously monitors changes in instantaneous swipe speed. When the client detects that the instantaneous swipe speed drops below a first speed threshold, it indicates that the user's swipe speed has slowed down, and the user's intention is more inclined towards dragging. In this case, the client immediately exits follow mode and enters drag mode, starting to execute the relevant logic for dragging operations, including identifying the target object and controlling the target object to follow the movement of the operation anchor point. In one embodiment, the client records the position of the current operation anchor point as the starting position of the drag mode the instantaneously when it detects that the instantaneous swipe speed is lower than the first speed threshold, and identifies the game resource item below that position as the target object, then enters the execution flow of the drag mode.
[0085] Step S3640: When the instantaneous sliding speed rises above the second speed threshold, exit the following state and enter the rolling state.
[0086] In follow mode, the client simultaneously monitors the upward trend of instantaneous swipe speed. When the client detects that the instantaneous swipe speed has increased above a second speed threshold, it indicates that the user's swipe speed has accelerated, and the user's intention is more inclined towards scrolling. In this case, the client immediately exits follow mode and enters scrolling mode, starting to execute the relevant logic for scrolling operations, including controlling the synchronous scrolling of the interface list's follow operation anchor points. In one embodiment, the client, upon detecting that the instantaneous swipe speed exceeds the second speed threshold, uses the current scroll position of the interface list as the starting position of the scrolling state, and then enters the execution flow of the scrolling state.
[0087] In the above embodiments, the proportional speed is dynamically adjusted based on the relative position of the instantaneous swipe speed within the second speed range. This allows the response intensity of the interface list in the follow state to smoothly change according to subtle speed variations, providing users with nuanced interactive feedback. When the instantaneous swipe speed approaches the first speed threshold, the interface list moves slowly, and the user can visually perceive that the system tends to enter a drag state; when the instantaneous swipe speed approaches the second speed threshold, the interface list moves faster, and the user can visually perceive that the system tends to enter a scroll state. This dynamic switching mechanism based on speed change trends allows the client to adaptively adjust its response according to the user's actual operation behavior in the critical speed range, avoiding misjudgments caused by hard cutting at critical speeds, significantly improving the accuracy of operation recognition and the smoothness of the user experience.
[0088] Based on any embodiment of the method in this application, controlling the interface list to scroll along the sliding direction of the operation anchor point includes: Step S3510: When entering the scrolling state, control the interface list to scroll synchronously following the sliding direction of the operation anchor point; Once the client enters scrolling mode based on the speed range determination, it controls the interface list to scroll synchronously along the sliding direction of the operation anchor point. In scrolling mode, upon receiving an input event, the client obtains the displacement between the current and previous positions of the operation anchor point. This displacement is used as the scroll offset of the interface list for the current input event, controlling the list to move the corresponding distance along the sliding direction of the operation anchor point. Through this frame-by-frame synchronization, the scrolling of the interface list and the movement of the operation anchor point maintain real-time linkage, providing users with a smooth interactive experience where the interface list scrolls smoothly following their finger or mouse cursor.
[0089] In scrolling mode, the scrolling speed of the interface list is basically the same as the movement speed of the operation anchor point, with no obvious damping or speed limiting effect, which contrasts sharply with the speed-limited displacement in follow mode. In one embodiment, the client also dynamically adjusts the scrolling direction of the interface list according to the sliding direction of the operation anchor point in scrolling mode; when the operation anchor point slides upward, the interface list scrolls upward, and when the operation anchor point slides downward, the interface list scrolls downward.
[0090] Step S3520: When the instantaneous sliding speed at the end of the drag operation exceeds the second speed threshold, the initial speed of inertial scrolling and the frame attenuation coefficient are determined based on the instantaneous sliding speed at the end. The frame attenuation coefficient is determined based on the display area height or the number of list items of the interface list. When the user lifts their finger, releases the mouse button, or releases the gamepad joystick, the drag-and-swipe operation ends, and the client obtains the instantaneous swipe speed of the operation anchor point at the end. The client compares this instantaneous swipe speed at the end with a second speed threshold. If the instantaneous swipe speed at the end exceeds the second speed threshold, it indicates that the user's swipe speed at the end of the operation was relatively fast, the interface list has greater motion inertia, and the client executes inertial scrolling logic.
[0091] The client determines the initial speed of inertial scrolling based on the instantaneous sliding speed at the end of the frame. In one embodiment, the initial speed is directly taken as the instantaneous sliding speed at the end of the frame, i.e., the initial speed is equal to v_end, where v_end is the instantaneous sliding speed at the end of the frame. In another embodiment, the client smooths the instantaneous sliding speed at the end of the frame and uses the smoothed value as the initial speed to avoid unnatural starting speeds for inertial scrolling due to speed jitter in the last frame.
[0092] The client can simultaneously determine the frame decay coefficient for inertial scrolling. The frame decay coefficient controls the rate at which the speed decreases frame by frame during inertial scrolling, and its value ranges from 0 to 1. The closer the frame decay coefficient is to 1, the slower the speed decays, the longer the inertial scrolling lasts, and the farther the scrolling distance; the closer the frame decay coefficient is to 0, the faster the speed decays, the shorter the inertial scrolling lasts, and the shorter the scrolling distance.
[0093] The frame attenuation coefficient can be determined based on the display area height of the interface list or the number of list items. In one embodiment, the frame attenuation coefficient is determined based on the display area height of the interface list. When the display area height is large, the frame attenuation coefficient is set to be small. For example, when the display area height is 800 pixels, the frame attenuation coefficient is set to 0.92, and when the display area height is 1200 pixels, the frame attenuation coefficient is set to 0.88, so that inertial scrolling stops quickly in a larger display area and excessive scrolling is avoided.
[0094] In another embodiment, the frame attenuation coefficient is determined based on the number of list items in the interface list. When there are many list items, the frame attenuation coefficient is set to be smaller. For example, when there are 50 list items, the frame attenuation coefficient is set to 0.93, and when there are 200 list items, the frame attenuation coefficient is set to 0.90, so that inertial scrolling can quickly locate the target position in a scenario with many list items.
[0095] Step S3530: Control the scrolling speed of the interface list to decrease frame by frame according to the frame attenuation coefficient until the scrolling speed drops to zero. After determining the initial speed and frame decay factor, the client begins inertial scrolling. The frame referred to here is a rendering frame from the game engine's graphics rendering pipeline, whose period is typically determined by the screen refresh rate; for example, 60Hz corresponds to approximately 16.7ms. Within each rendering frame cycle of the game engine, the client multiplies the current scrolling speed by the frame decay factor to obtain the scrolling speed for the next frame, and controls the interface list to continue scrolling in the scrolling direction at that speed. Through this frame-by-frame decay method, the scrolling speed of the interface list gradually decreases until it reaches zero, at which point the interface list stops scrolling.
[0096] In one embodiment, assuming an initial speed of v0 equals 600 pixels per second and a frame decay factor of 0.92, the scrolling speed of the first frame is 600 x 0.92 = 552 pixels per second, the scrolling speed of the second frame is 552 x 0.92 = approximately 508 pixels per second, the scrolling speed of the third frame is 508 x 0.92 = approximately 467 pixels per second, and so on, with the scrolling speed decreasing frame by frame until it reaches zero. Through this exponential decay, the interface list can continue scrolling smoothly for a distance after the user ends their operation, simulating the effect of inertial motion in the physical world and providing the user with a natural scrolling experience. In one embodiment, the client also monitors whether the scrolling position of the interface list has reached the top or bottom of the list during inertial scrolling. When it reaches the top or bottom, the inertial scrolling stops immediately to prevent the list from scrolling excessively beyond its boundaries.
[0097] Step S3540: When the instantaneous sliding speed at the end time does not exceed the second speed threshold, stop scrolling the interface list.
[0098] When the instantaneous swipe speed at the end of a drag-and-swipe operation does not exceed the second speed threshold, it indicates that the user's swipe speed at the end of the operation was slow, and the inertia of the interface list was small. In this case, the client does not perform inertial scrolling and directly stops the scrolling of the interface list, making the interface list immediately stationary at the current display position. In one embodiment, when the client detects the end of the drag-and-swipe operation, it determines that the instantaneous swipe speed at the end is 150 pixels per second, while the second speed threshold is 300 pixels per second. Since 150 is less than 300, the client directly stops the scrolling of the interface list without performing any inertial deceleration. This approach avoids unnecessary inertial swipes at the end of low-speed scrolling, making the stopping behavior of the interface list more in line with the user's expectations.
[0099] In the above embodiments, during scrolling, the interface list scrolls synchronously with the operation anchor point, providing users with a smooth list browsing experience. When the user finishes the operation quickly, the inertial scrolling mechanism allows the interface list to continue scrolling smoothly at a reduced speed, simulating the inertial effect of the physical world and enhancing the naturalness and comfort of the scrolling operation. The frame attenuation coefficient is dynamically adjusted according to the display area height or the number of list items, allowing the distance and duration of inertial scrolling to adaptively match the size and content of the list, avoiding over-scrolling or under-scrolling. When the user finishes the operation slowly, the direct stopping of scrolling avoids unnecessary inertial sliding, making the stopping behavior of the interface list more crisp and clean, meeting the user's expectations under low-speed operation.
[0100] Based on any embodiment of the method in this application, the first speed threshold and the second speed threshold used to determine the speed range are updated according to historically accumulated speed value samples belonging to dragging or scrolling states, including: Step S4100: In the preset calibration interface or the game interface where the interface list is located, continuously collect speed value samples that are identified as dragging or scrolling. The speed value samples include dragging speed samples when identified as dragging and scrolling speed samples when identified as scrolling. To enable adaptive adjustment of the first and second speed thresholds, the client needs to continuously collect speed value samples generated by the user during operation. This speed value sampling can be performed in two scenarios.
[0101] One scenario involves a pre-defined calibration interface specifically designed to guide users through dragging and scrolling operations to collect initial speed value samples. In one embodiment, when a user first enters the game's inventory interface, the client pops up the calibration interface, guiding the user to perform several dragging and scrolling operations. For example, the user might drag an item to the configuration window and then scroll through the list of items, collecting speed values from the user's actions during this process.
[0102] Another scenario is the game interface where the interface list is located. During the user's normal gameplay, the client continuously collects the speed values of operations that are identified as dragging or scrolling in the background.
[0103] The speed samples collected by the client are divided into two categories. One category is drag speed samples, which are the instantaneous sliding speed of the user's operation at the current moment when the client detects that the user's operation is in a drag state. The other category is scroll speed samples, which are the instantaneous sliding speed of the user's operation at the current moment when the client detects that the user's operation is in a scroll state.
[0104] In one embodiment, the client collects a speed value sample at regular intervals during the duration of each drag or scroll state, for example, a sample every 100 milliseconds, to obtain a sufficient amount of sample data.
[0105] Step S4200: Filter the drag speed samples and the scroll speed samples according to the corresponding preset confidence rules, and determine the cumulative increment of the filtered speed value samples since the first speed threshold and the second speed threshold were updated; Not all speed value samples collected by the client can be used for threshold updates. They need to be filtered according to preset confidence rules, retaining only samples with high confidence. Confidence rules are used to determine whether a speed value sample truly reflects the user's dragging or scrolling intentions, excluding low-quality samples generated by misoperation or abnormal situations.
[0106] In one embodiment, the confidence rule for drag speed samples includes multiple judgment conditions. At least one of the following can be applied: when the drag operation is successfully completed, i.e., the user successfully places the target object into the resource configuration area, the drag speed sample collected in this operation is marked as a high-confidence sample; when the drag operation fails to place the target object into the resource configuration area, but the target object is dragged away from its initial position by more than a preset distance threshold, for example, the target object is dragged away from its initial position by more than 50 pixels, the drag speed sample collected in this operation is also marked as a high-confidence sample, because the user has clearly expressed the dragging intention; when the drag operation automatically returns the target object to its original position because it was dragged to an invalid area, the drag speed sample collected in this operation is also marked as a high-confidence sample, because the return behavior itself does not negate the user's dragging intention. Only those operations that end very shortly after the drag begins, such as dragging for less than 100 milliseconds, are their collected drag speed samples marked as low-confidence samples and excluded, because such operations may be accidental or unintentional actions by the user.
[0107] In one embodiment, the confidence rule for scrolling speed samples also includes multiple judgment conditions. At least one of the following can be applied: when the scrolling operation continuously scrolls beyond a preset number of pages, such as scrolling beyond two pages, the scrolling speed sample collected during this operation is marked as a high-confidence sample because prolonged continuous scrolling clearly expresses the user's browsing intent; when the scrolling operation does not exceed the preset number of pages, but the user's finger or cursor repeatedly slides back and forth on the interface list during the scrolling process, such as sliding back and forth more than three times in a short period, the scrolling speed sample collected during this operation is also marked as a high-confidence sample because the back-and-forth sliding behavior clearly expresses the user's browsing intent; when the scrolling operation ends and the user immediately performs a click or selection operation at a certain position in the list, the scrolling speed sample collected during this operation is also marked as a high-confidence sample because the user's behavior of selecting an item after scrolling indicates that their scrolling purpose is browsing and searching. Only those operations that end very shortly after scrolling begins, such as scrolling duration less than 200 milliseconds and scrolling distance less than the height of one list item, are their collected scrolling speed samples marked as low-confidence samples and excluded.
[0108] In another embodiment, the confidence rule further includes excluding anomalous samples with excessively high or low speed values. The client sets an upper speed threshold and a lower speed threshold, marking samples with instantaneous swipe speeds exceeding the upper threshold and those below the lower threshold as low-confidence samples and excluding them. In one embodiment, the upper speed threshold is set to 2000 pixels per second, and the lower speed threshold is set to 10 pixels per second. In another embodiment, the upper and lower speed thresholds are dynamically adjusted based on the user's historical operation data; for example, the upper speed threshold is set to 1.5 times the user's historical highest speed, and the lower speed threshold is set to 0.5 times the user's historical lowest speed, to accommodate differences in user operating habits.
[0109] After filtering using confidence rules, the client retains high-confidence drag speed samples and high-confidence scroll speed samples. The client calculates the cumulative increment of these filtered speed value samples since the last update of the first and second speed thresholds. The cumulative increment refers to the total number of newly collected and filtered high-confidence speed value samples since the last threshold update. In one embodiment, the client maintains a counter, which is incremented by one each time a high-confidence speed value sample is collected; the value of this counter is the cumulative increment.
[0110] Step S4300: When the cumulative increment of the velocity value sample reaches a preset increment threshold, update the first velocity threshold and the second velocity threshold according to the velocity value sample.
[0111] The client continuously monitors the cumulative increment. When the cumulative increment reaches a preset increment threshold, a threshold update process is triggered. The increment threshold controls the frequency of threshold updates, preventing excessive threshold fluctuations due to insufficient sample size or excessive computational overhead due to overly frequent updates. In one embodiment, the increment threshold is set to 20, meaning a threshold update is triggered whenever the cumulative increment reaches 20 high-confidence velocity value samples. In another embodiment, the increment threshold is set to 50, suitable for scenarios requiring high threshold stability. In yet another embodiment, the increment threshold is set to 10, suitable for scenarios needing to quickly adapt to changes in user operating habits.
[0112] When the cumulative increment reaches a preset increment threshold, the client recalculates the first and second velocity thresholds based on all currently accumulated high-confidence velocity value samples. The specific calculation method for threshold updates will be described in detail in subsequent embodiments. After the threshold update is completed, the client resets the cumulative increment counter and begins a new round of sample collection and accumulation.
[0113] In the above embodiments, by continuously collecting speed value samples generated by users during actual operation, the client can continuously learn and adapt to the user's personal operating habits, gradually bringing the first and second speed thresholds closer to the values most suitable for the user, thus achieving personalized threshold customization. The introduction of confidence rules ensures that only high-quality speed value samples are used for threshold updates, avoiding threshold deviations caused by misoperation or abnormal situations, and improving the robustness and reliability of threshold updates. The incremental triggering mechanism controls the frequency of threshold updates, ensuring that the threshold can respond promptly to changes in user operating habits while avoiding computational overhead and threshold fluctuations caused by overly frequent updates, achieving a good balance between adaptability and stability.
[0114] Based on any embodiment of the method in this application, updating the first speed threshold and the second speed threshold according to the speed value sample includes: Step S4310: By statistically analyzing the outliers in the drag speed samples and the scroll speed samples, abnormal speed values in the drag speed samples and the scroll speed samples are removed. After obtaining the drag speed and scroll speed samples filtered by confidence rules, the client can further perform outlier removal on these samples to eliminate the impact of abnormal speed values caused by extreme operations or measurement errors on subsequent statistical results. The client identifies and removes abnormal speed values by statistically analyzing outliers.
[0115] In one embodiment, the client uses the interquartile range (IQR) method to remove outliers. For the drag speed sample set, the client sorts all drag speed samples in ascending order of value and calculates the first quartile (Q1) and the third quartile (Q3), where Q1 is the value at the 25th percentile after sorting and Q3 is the value at the 75th percentile. The client calculates the interquartile range (IQR), which is equal to Q3 minus Q1. The client identifies and removes values that are less than Q1 minus 1.5 times the IQR and values that are greater than Q3 plus 1.5 times the IQR as outlier values. For example, assuming that after sorting, drag speed samples Q1 is 120 pixels per second and Q3 is 280 pixels per second, then the IQR is 160 pixels per second. Q1 minus 1.5 times the IQR equals 120 minus 240, which is -120 pixels per second, and Q3 plus 1.5 times the IQR equals 280 plus 240, which is 520 pixels per second. Since speed values cannot be negative, only drag speed samples greater than 520 pixels per second are considered outliers and removed. The client uses the same interquartile range method to process the scroll speed sample set.
[0116] In another embodiment, the client can also use other statistical outlier detection methods, such as the standard deviation method, to remove outliers. The client calculates the mean and standard deviation of the sample set and identifies samples that exceed the mean plus or minus three times the standard deviation as outliers and removes them.
[0117] Step S4320: Determine the reference speed value based on the speed distribution of the drag speed sample and the speed distribution of the rolling speed sample after removing abnormal speed values; The client performs statistical analysis on the drag speed and scroll speed samples after removing outlier speed values, extracting representative speed values from their respective speed distributions to determine a baseline speed value. This baseline speed value serves as the central reference for generating the first and second speed thresholds.
[0118] In one embodiment, the client takes the upper quantile of the speed distribution of the drag speed samples after outlier removal to obtain the representative drag speed value. Simultaneously, it takes the lower quantile of the speed distribution of the scroll speed samples after outlier removal to obtain the representative scroll speed value. The client determines the average of the drag and scroll representative speed values as the baseline speed value. For example, assuming the 80th percentile of the drag speed sample is 350 pixels per second and the 20th percentile of the scroll speed sample is 150 pixels per second, the baseline speed value is 350 + 150 divided by 2 = 250 pixels per second. In another embodiment, the client takes the 75th percentile of the drag speed sample as the representative drag speed value and the 25th percentile of the scroll speed sample as the representative scroll speed value, then takes the average of the two as the baseline speed value. By taking the average of the upper and lower quantiles, the baseline speed value can better balance the speed characteristics of drag and scroll operations, providing a reasonable central reference point for subsequent threshold division.
[0119] Step S4330: Based on the reference speed value, determine the first speed threshold and the second speed threshold according to a preset ratio, wherein the first speed threshold is lower than the reference speed value and the second speed threshold is higher than the reference speed value.
[0120] The client calculates a first speed threshold and a second speed threshold by expanding outwards from a predetermined base speed value according to a preset ratio. The first speed threshold is lower than the base speed value and is used to define the upper limit of the dragging state; the second speed threshold is higher than the base speed value and is used to define the lower limit of the scrolling state; the base speed value is located between the first speed threshold and the second speed threshold and serves as the central reference point for the two thresholds.
[0121] In one embodiment, the preset ratio is a base speed value multiplied by 0.88 to obtain a first speed threshold, and a base speed value multiplied by 1.12 to obtain a second speed threshold. Assuming the base speed value is 250 pixels per second, the first speed threshold is 250 multiplied by 0.88 equaling 220 pixels per second, and the second speed threshold is 250 multiplied by 1.12 equaling 280 pixels per second. Through this symmetrical ratio, the first and second speed thresholds form a buffer zone with a width of 60 pixels per second around the base speed value, i.e., the second speed range. In another embodiment, the preset ratio is asymmetrical to accommodate asymmetrical speed distribution during dragging and scrolling operations. In yet another embodiment, the preset ratio is dynamically adjusted according to the user's operating habits; for example, for users who frequently perform dragging operations, the first speed threshold is appropriately lowered to make dragging easier to trigger.
[0122] The above embodiments eliminate outlier speed values through statistical outlier methods, thus removing the influence of abnormal data caused by extreme operations or measurement errors on the statistical results, making the subsequent calculation of the baseline speed value more accurate and reliable. The baseline speed value is determined by taking the upper and lower quantile values and then averaging them from the drag speed and scroll speed samples, fully utilizing the speed distribution characteristics of the two types of samples. This allows the baseline speed value to reasonably reflect the speed boundary between user drag and scroll operations. Based on the baseline speed value, a first speed threshold and a second speed threshold are determined according to a preset proportional relationship, forming a symmetrical or asymmetrical buffer zone around the baseline speed value. This buffer zone corresponds to the speed range of the following state, providing a buffer space for operation judgment under critical speeds and effectively reducing the false judgment rate.
[0123] Based on any embodiment of the method in this application, a reference speed value is determined according to the speed distribution of the drag speed sample after removing abnormal speed values and the speed distribution of the scroll speed sample, including: Step S4321: Take the upper quantile value of the speed distribution of the drag speed sample to obtain the representative drag speed value; The client can perform statistical analysis on the drag speed sample set after removing abnormal speed values, and extract an upper quantile value that can represent the speed characteristics of the drag operation as the representative drag speed value. The upper quantile value refers to the value in the sample set that is in a relatively high percentile position after being sorted from smallest to largest. This value reflects a faster speed level in the drag operation.
[0124] In one embodiment, the client sorts all drag speed samples in ascending order and takes the 80th percentile as the representative drag speed value. The 80th percentile indicates that 80% of the drag speed samples are less than or equal to this value, and 20% of the drag speed samples are greater than this value. For example, assuming there are 100 drag speed samples after removing outliers, and the 80th sample has a value of 360 pixels per second after sorting in ascending order, then the representative drag speed value is 360 pixels per second. In another embodiment, the client takes the 75th percentile as the representative drag speed value, which is the value at the 75th percentile after sorting. In yet another embodiment, the client takes the 85th percentile as the representative drag speed value to obtain a more conservative estimate of the upper limit of drag speed. By taking the upper percentile value instead of the maximum value or average value, the representative drag speed value can better exclude the influence of individual extreme high-speed drag operations, while still reflecting the relatively fast speed level in drag operations, providing a reasonable upper limit reference for subsequent calculation of the baseline speed value.
[0125] Step S4322: Take the quantile value of the velocity distribution of the rolling speed sample to obtain the representative rolling speed value; Similarly, the client can perform statistical analysis on the scrolling speed sample set after removing abnormal speed values, and extract a lower quantile value that can represent the characteristics of the scrolling operation speed as the representative scrolling speed value. The lower quantile value refers to the value in the sample set that is in a lower percentile position after being sorted from smallest to largest, and this value reflects a slower speed level in the scrolling operation.
[0126] In one embodiment, the client sorts all scroll speed samples in ascending order and takes the 20th percentile as the representative scroll speed value. The 20th percentile indicates that 20% of the scroll speed samples are less than or equal to this value, and 80% of the scroll speed samples are greater than this value. For example, assuming there are 100 scroll speed samples after removing outliers, and the 20th sample has a value of 140 pixels per second after sorting, then the representative scroll speed value is 140 pixels per second. In another embodiment, the client takes the 25th percentile as the representative scroll speed value, which is the value at the 25th percentile after sorting. In yet another embodiment, the client takes the 15th percentile as the representative scroll speed value to obtain a more stringent lower limit estimate of the scroll speed. By taking the percentile value instead of the minimum or average value, the representative scroll speed value can better exclude the influence of individual extremely low-speed scrolling operations, while still reflecting the slower speed level in scrolling operations, providing a reasonable lower limit reference for subsequent baseline speed value calculations.
[0127] Step S4323: Determine the average of the drag speed value and the scroll speed value as the reference speed value.
[0128] Finally, the client adds the drag representative speed value obtained in step S4321 and the scroll representative speed value obtained in step S4322, divides the sum by 2, and determines the average value as the reference speed value. The reference speed value lies between the drag representative speed value and the scroll representative speed value, serving as the central reference point for subsequently generating the first speed threshold and the second speed threshold.
[0129] In one embodiment, assuming a drag-representing speed of 360 pixels per second and a scroll-representing speed of 140 pixels per second, the baseline speed is 360 plus 140 divided by 2, which equals 250 pixels per second. In another embodiment, the client can perform a weighted average of the drag-representing speed and the scroll-representing speed, for example, with a weight of 0.6 for drag and 0.4 for scroll, to accommodate uneven proportions of drag and scroll operations in user interactions. In yet another embodiment, the client takes the geometric mean of the drag-representing speed and the scroll-representing speed to obtain a more robust central estimate.
[0130] In the above embodiments, by taking the upper quantile value of the drag speed sample, the client can accurately capture the faster speed levels in drag operations, avoiding the problem of excessively high thresholds caused by individual extreme high-speed drag operations. By taking the lower quantile value of the scroll speed sample, the client can accurately capture the slower speed levels in scroll operations, avoiding the problem of excessively low thresholds caused by individual extreme low-speed scroll operations. Using the average of the drag representative speed value and the scroll representative speed value as the baseline speed value allows the baseline speed value to reasonably balance the speed characteristics of drag and scroll operations, providing a scientific and stable central reference point for the subsequent first and second speed thresholds. This statistical method based on quantile values has strong robustness and is not easily affected by outliers, ensuring the reliability and consistency of the threshold generation process.
[0131] Based on any embodiment of the method in this application, in the process of continuously acquiring the instantaneous sliding speed and the directional deviation angle of the operation anchor point of the drag operation during the operation, the method further includes at least one of the following triggering methods for entering the drag state: Step S5100: When the duration of the operation anchor point at the initial position reaches a preset duration threshold, the drag state is entered directly. After detecting a user's press or touch operation within the interface list area, the client records the initial position of the operation anchor point and begins timing the duration the anchor point remains in that position. The duration refers to the time interval between the press or touch and the start of movement of the anchor point. When the client detects that the anchor point's duration in the initial position reaches a preset threshold, regardless of the current instantaneous swipe speed and deviation angle, the client can directly enter drag mode, skipping the speed range determination process.
[0132] In one embodiment, the dwell time threshold is set to 500 milliseconds. When a user presses and holds a game resource item in the interface list for more than 500 milliseconds without moving it, the client determines that the user intends to drag the game resource item, directly enters the drag state, identifies the game resource item as the target object, and begins to move following the operation anchor point. In another embodiment, the dwell time threshold is set to 300 milliseconds, suitable for application scenarios that require faster triggering of drag operations. In yet another embodiment, the dwell time threshold is set to 800 milliseconds, suitable for application scenarios that need to avoid accidental touches, such as preventing users from triggering drag with a brief press in interfaces with dense list items.
[0133] In one embodiment, when the client detects that the dwell time has reached a threshold, it also provides visual feedback to inform the user that dragging has begun. This feedback could include highlighting the target object or playing a subtle vibration animation to make the user aware that the drag operation has been triggered. In another embodiment, before the dwell time reaches the threshold, the client displays a progress indicator, such as a circular progress bar that gradually fills around the operation anchor point, to indicate how much longer the user needs to press and hold before dragging is triggered.
[0134] Step S5200: When the deviation angle of the movement exceeds the preset angle range, directly enter the drag state.
[0135] During the continuous acquisition of the deviation angle of the operation anchor point, the client monitors in real time whether the deviation angle exceeds a preset angle range. The preset angle range is based on the vertical axis of the interface list, extending preset angle values to the left and right, and is used to define the situation where the user's operation direction is basically consistent with the list axis. When the client detects that the deviation angle exceeds the preset angle range, it indicates that the user's operation direction has significantly deviated from the list axis. At this time, regardless of the instantaneous scrolling speed, the client directly enters the drag state, skipping the speed range determination process.
[0136] In one embodiment, the preset angle range is set to within 15 degrees to the left and right of the vertical axis. When the deviation angle exceeds +15 degrees or is less than -15 degrees, for example, when the user slides diagonally at a deviation angle of 30 degrees, the client determines that the user's intention is a drag operation and directly enters the drag state. In another embodiment, the preset angle range is set to within 30 degrees to the left and right of the vertical axis, which is suitable for application scenarios with low requirements for direction sensitivity. In yet another embodiment, the preset angle range is set to within 10 degrees to the left and right of the vertical axis, which is suitable for application scenarios with high requirements for direction sensitivity, such as in scenarios where it is necessary to accurately distinguish between vertical sliding and diagonal dragging.
[0137] In one embodiment, when the client detects that the deviation angle exceeds a preset angle range, it also makes a comprehensive judgment based on the duration of the operation anchor point's stay at the initial position. For example, the dragging state is only initiated when the deviation angle exceeds the preset angle range and the duration of the operation anchor point's stay at the initial position exceeds 100 milliseconds, to avoid accidental dragging when the user quickly scrolls diagonally to browse the list. In another embodiment, when the client detects that the deviation angle exceeds the preset angle range, it immediately enters the dragging state without waiting for any dwell time, to accommodate the user's need to quickly drag items diagonally.
[0138] The above embodiments, by combining long-press triggering and wide-angle triggering, further achieve the following technical advantages. Specifically, the long-press triggering method provides users with a clear drag-and-drop triggering path that does not rely on speed determination. When a user clearly expresses their dragging intention through a long-press operation, the client can respond directly, without being limited by speed range determination, thus improving the reliability and determinism of drag-and-drop operations. The wide-angle triggering method utilizes the characteristic that users' dragging operations are often accompanied by directional deviations. When the user's operation direction significantly deviates from the list axis, the client can directly determine it as a drag-and-drop operation, without waiting for the speed range determination result, thus improving the response speed of drag-and-drop operations. These two triggering methods, together with the speed range determination mechanism, complement each other and constitute a multi-layered, multi-dimensional drag-and-drop intention recognition system. This system can accurately and quickly identify the user's drag-and-drop intention in different operating scenarios, significantly improving the flexibility of interface list interaction and user experience.
[0139] Please see Figure 4According to one aspect of this application, an interface list interaction control device includes an operation response module 3100, a threshold update module 3200, an interval recognition module 3300, a drag control module 3400, and a scroll control module 3500. The operation response module 3100 is configured to respond to drag operations applied to the interface list and continuously acquire the instantaneous sliding speed of the operation anchor point during the operation and its directional deviation angle from the vertical axis of the interface list. The threshold update module 3200 is configured to update a first speed threshold and a second speed threshold for determining speed intervals based on historically accumulated speed value samples belonging to drag or scroll states. The interval recognition module 3300... 300 is configured to determine the speed range based on the comparison between the instantaneous sliding speed and the first speed threshold and the second speed threshold when the deviation angle of the movement is within a preset angle range; the drag control module 3400 is configured to enter the drag state when the instantaneous sliding speed is in the first speed range below the first speed threshold, and follow the operation anchor point to drag the target object in the interface list that is hit by the initial position of the operation anchor point until the drag operation ends; the scroll control module 3500 is configured to enter the scroll state when the instantaneous sliding speed is in the third speed range above the second speed threshold, and control the interface list to scroll along the sliding direction of the operation anchor point.
[0140] Based on any embodiment of the device in this application, the operation response module 3100 includes: a normalization processing module, configured to divide the display area height of the interface list by the instantaneous sliding speed, the first speed threshold, and the second speed threshold respectively, to obtain a normalized sliding speed, a normalized first threshold, and a normalized second threshold, wherein the second speed threshold is higher than the first speed threshold; and an interval corresponding module, configured to determine that the device is in a first speed interval when the normalized sliding speed is greater than the normalized first threshold; determine that the device is in a third speed interval when the normalized sliding speed is less than the normalized second threshold; and determine that the device is in a second speed interval when the normalized sliding speed is between the normalized first threshold and the normalized second threshold.
[0141] Based on any embodiment of the device in this application, the drag control module 3400 includes: a target determination module, configured to determine, when entering the drag state, the game resource item in the interface list that is hit by the initial position of the operation anchor point as the target object; an object following module, configured to, in the drag state, hide or gray out game resource items in the interface list that are unrelated to the drag operation, and control the target object to follow the operation anchor point to move to the current position of the game interface where the interface list is located; and an end processing module, configured to, when the drag operation ends, if the end position of the operation anchor point is located in a resource configuration area outside the interface list, place the target object into the resource configuration area; otherwise, return the target object to the initial position.
[0142] Based on any embodiment of the device in this application, the device further includes: a follow control module, configured to enter a follow state when the instantaneous sliding speed is in a second speed range between the first speed threshold and the second speed threshold, and control the interface list to generate a speed-limited displacement along the sliding direction of the operation anchor point.
[0143] Based on any embodiment of the device in this application, the follow control module includes: a direction determination module, configured to determine the current sliding direction of the operation anchor point when entering the follow state; a speed limiting movement module, configured to control the interface list to move along the sliding direction at a proportional speed lower than the instantaneous sliding speed of the operation anchor point in the follow state, the proportional speed being determined based on the relative position of the instantaneous sliding speed within the second speed range; a speed reduction switching module, configured to exit the follow state and enter the drag state when the instantaneous sliding speed drops below the first speed threshold in the follow state; and a speed increase switching module, configured to exit the follow state and enter the scrolling state when the instantaneous sliding speed rises above the second speed threshold.
[0144] Based on any embodiment of the device in this application, the scrolling control module 3500 includes: a synchronous scrolling module, configured to control the interface list to scroll synchronously following the sliding direction of the operation anchor point when entering the scrolling state; a parameter determination module, configured to determine the initial speed of inertial scrolling and a frame attenuation coefficient based on the instantaneous sliding speed at the end of the drag operation when the instantaneous sliding speed at the end of the drag operation exceeds the second speed threshold, wherein the frame attenuation coefficient is determined based on the display area height or the number of list items of the interface list; an inertial control module, configured to control the scrolling speed of the interface list to decrease frame by frame with the frame attenuation coefficient until the scrolling speed drops to zero; and a scrolling stop module, configured to stop the scrolling of the interface list when the instantaneous sliding speed at the end of the operation does not exceed the second speed threshold.
[0145] Based on any embodiment of the device in this application, the threshold update module 3200 includes: a sample acquisition module, configured to continuously acquire speed value samples identified as dragging or scrolling in a preset calibration interface or the game interface where the interface list is located, the speed value samples including dragging speed samples when identified as dragging and scrolling speed samples when identified as scrolling; an increment determination module, configured to filter the dragging speed samples and the scrolling speed samples according to a corresponding preset confidence rule, and determine the cumulative increment of the filtered speed value samples since the first speed threshold and the second speed threshold were updated; and a threshold update module, configured to update the first speed threshold and the second speed threshold according to the speed value samples when the cumulative increment of the speed value samples reaches a preset increment threshold.
[0146] Based on any embodiment of the device in this application, the threshold update module includes: an anomaly removal module, configured to remove abnormal speed values from the drag speed samples and the scroll speed samples by statistically analyzing outliers; a benchmark determination module, configured to determine a benchmark speed value based on the speed distribution of the drag speed samples and the speed distribution of the scroll speed samples after removing abnormal speed values; and a threshold calculation module, configured to determine a first speed threshold and a second speed threshold based on the benchmark speed value according to a preset proportional relationship, wherein the first speed threshold is lower than the benchmark speed value and the second speed threshold is higher than the benchmark speed value.
[0147] Based on any embodiment of the device in this application, the benchmark determination module includes: a drag-and-drop value acquisition module, configured to take the upper quantile value of the speed distribution of the drag speed sample to obtain a drag representative speed value; a scrolling value acquisition module, configured to take the lower quantile value of the speed distribution of the scrolling speed sample to obtain a scroll representative speed value; and a mean value determination module, configured to determine the mean of the drag representative speed value and the scroll representative speed value as the benchmark speed value.
[0148] Based on any embodiment of the device in this application, the device further includes: a dwell switching module, configured to directly enter the drag state when the dwell time of the operation anchor point at the initial position reaches a preset dwell time threshold; and an angle crossing switching module, configured to directly enter the drag state when the deviation angle of the movement exceeds the preset angle range.
[0149] Another embodiment of this application also provides an electronic device. For example... Figure 5 The diagram shows the internal structure of an electronic device. This electronic device includes a processor, a computer-readable storage medium, a memory, and a network interface connected via a system bus. The computer-readable, non-volatile storage medium stores an operating system, a database, and computer-readable instructions. The database can store information sequences, and when executed by the processor, the computer-readable instructions enable the processor to implement an interactive interface list control method.
[0150] The processor of this electronic device provides computing and control capabilities to support the operation of the entire device. The memory of this electronic device can store computer-readable instructions, which, when executed by the processor, cause the processor to perform the interface list interactive control method of this application. The network interface of this electronic device is used for communication with a terminal.
[0151] Those skilled in the art will understand that Figure 5 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the electronic device to which the present application is applied. The specific electronic device may include more or fewer components than shown in the figure, or combine certain components, or have different component arrangements.
[0152] In this embodiment, the processor is used to execute... Figure 4 The specific functions of each module are described, and the memory stores the program code and various data required to execute the aforementioned modules or sub-modules. The network interface is used to enable data transmission between user terminals or the server. In this embodiment, the non-volatile readable storage medium stores the program code and data required to execute all modules in the interface list interactive control device of this application. The server can call the server's program code and data to execute the functions of all modules.
[0153] This application also provides a non-volatile readable storage medium storing computer-readable instructions, which, when executed by one or more processors, cause the one or more processors to perform the steps of the interface list interaction control method of any embodiment of this application.
[0154] This application also provides a computer program product, including a computer program / instructions that, when executed by one or more processors, implement the steps of the method described in any embodiment of this application.
[0155] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments of this application can be implemented by a computer program instructing related hardware. This computer program can be stored in a non-volatile readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. The aforementioned storage medium can be a computer-readable storage medium such as a magnetic disk, optical disk, read-only memory (ROM), or random access memory (RAM).
Claims
1. A method for interactive control of an interface list, characterized in that, include: In response to dragging operations applied to the interface list, continuously acquire the instantaneous sliding speed and the directional deviation angle of the operation anchor point of the dragging operation from the vertical axis of the interface list during the operation. Based on historically accumulated speed value samples belonging to drag or scroll states, update the first and second speed thresholds used to determine the speed range. When the deviation angle of the movement is within a preset angle range, the speed range is determined based on the comparison result between the instantaneous sliding speed and the first speed threshold and the second speed threshold; When the instantaneous sliding speed is in the first speed range below the first speed threshold, it enters the drag state and follows the operation anchor point to drag the target object in the interface list that is hit by the initial position of the operation anchor point until the drag operation ends. When the instantaneous sliding speed is in the third speed range above the second speed threshold, it enters the scrolling state and controls the interface list to scroll along the sliding direction of the operation anchor point.
2. The interface list interaction control method according to claim 1, characterized in that, The process of continuously acquiring the instantaneous sliding speed and the directional deviation angle of the operation anchor point of the drag-and-swipe operation from the vertical axis of the interface list during the operation includes: Divide the height of the display area of the interface list by the instantaneous sliding speed, the first speed threshold, and the second speed threshold respectively to obtain the normalized sliding speed, the normalized first threshold, and the normalized second threshold, wherein the second speed threshold is higher than the first speed threshold. When the normalized sliding speed is greater than the normalized first threshold, it is determined to be in the first speed range; when the normalized sliding speed is less than the normalized second threshold, it is determined to be in the third speed range; when the normalized sliding speed is between the normalized first threshold and the normalized second threshold, it is determined to be in the second speed range.
3. The interface list interaction control method according to claim 1, characterized in that, The step of following the operation anchor point and dragging the target object in the interface list that is hit by the initial position of the operation anchor point until the drag operation ends includes: When entering the drag state, the game resource item in the interface list that is hit by the initial position of the operation anchor point is determined as the target object; In the drag state, hide or gray out game resource items in the interface list that are unrelated to the drag operation, and control the target object to move with the operation anchor point to the current position of the game interface where the interface list is located; When the drag-and-drop operation ends, if the end position of the operation anchor point is located in the resource configuration area outside the interface list, then the target object is placed into the resource configuration area; otherwise, the target object is returned to the initial position.
4. The interface list interaction control method according to claim 1, characterized in that, When the deviation angle is within a preset angle range, after determining the speed range based on the comparison result between the instantaneous sliding speed and the first speed threshold and the second speed threshold, the method further includes: When the instantaneous sliding speed is in the second speed range between the first speed threshold and the second speed threshold, it enters the follow state and controls the interface list to generate a speed-limited displacement along the sliding direction of the operation anchor point.
5. The interface list interaction control method according to claim 4, characterized in that, The control of the interface list to generate a speed-limited displacement along the sliding direction of the operation anchor point includes: When entering the following state, the current sliding direction of the operation anchor point is determined; In the following state, the interface list is controlled to move along the sliding direction at a proportional speed lower than the instantaneous sliding speed of the operation anchor point, and the proportional speed is determined according to the relative position of the instantaneous sliding speed within the second speed range; In the following state, when the instantaneous sliding speed drops below the first speed threshold, the following state is exited and the dragging state is entered; When the instantaneous sliding speed rises above the second speed threshold, the system exits the following state and enters the scrolling state.
6. The interface list interaction control method according to claim 1, characterized in that, The control of scrolling the interface list along the sliding direction of the operation anchor point includes: When entering the scrolling state, the interface list is controlled to scroll synchronously following the sliding direction of the operation anchor point; When the instantaneous sliding speed at the end of the drag operation exceeds the second speed threshold, the initial speed of inertial scrolling and the frame attenuation coefficient are determined based on the instantaneous sliding speed at the end of the operation. The frame attenuation coefficient is determined based on the display area height or the number of list items of the interface list. The scrolling speed of the interface list is controlled to decrease frame by frame by the frame attenuation coefficient until the scrolling speed drops to zero. When the instantaneous sliding speed at the end time does not exceed the second speed threshold, the scrolling of the interface list stops.
7. The interface list interaction control method according to any one of claims 1 to 6, characterized in that, The step of updating the first and second speed thresholds used to determine the speed range based on historically accumulated speed value samples belonging to dragging or scrolling states further includes: In the preset calibration interface or the game interface where the interface list is located, continuously collect speed value samples that are identified as dragging or scrolling. The speed value samples include dragging speed samples when identified as dragging and scrolling speed samples when identified as scrolling. The drag speed samples and the scroll speed samples are filtered according to the corresponding preset confidence rules, and the cumulative increment of the filtered speed value samples since the first speed threshold and the second speed threshold were updated is determined. When the cumulative increment of the velocity value sample reaches a preset increment threshold, the first velocity threshold and the second velocity threshold are updated according to the velocity value sample.
8. The interface list interaction control method according to claim 7, characterized in that, Updating the first speed threshold and the second speed threshold based on the speed value samples includes: By statistically analyzing the outliers in the drag speed samples and the scroll speed samples, abnormal speed values in the drag speed samples and the scroll speed samples are removed. A baseline speed value is determined based on the speed distribution of the drag speed sample and the speed distribution of the rolling speed sample after removing abnormal speed values. Based on the reference speed value, the first speed threshold and the second speed threshold are determined according to a preset ratio, wherein the first speed threshold is lower than the reference speed value and the second speed threshold is higher than the reference speed value.
9. The interface list interaction control method according to claim 8, characterized in that, The baseline speed value is determined based on the speed distribution of the drag speed sample after removing abnormal speed values and the speed distribution of the scroll speed sample, including: Take the upper quantile value of the speed distribution of the drag speed sample to obtain the representative drag speed value; The quantile values of the velocity distribution of the rolling velocity sample are taken to obtain the representative rolling velocity values; The average of the drag speed value and the scroll speed value is determined as the reference speed value.
10. The interface list interaction control method according to any one of claims 1 to 6, characterized in that, In the process of continuously acquiring the instantaneous sliding speed and the directional deviation angle of the operation anchor point of the drag operation during the operation, the method of entering the drag state also includes at least one of the following triggering methods: When the duration of the operation anchor point at the initial position reaches a preset duration threshold, it directly enters the drag state; When the deviation angle of the movement exceeds the preset angle range, it directly enters the drag state.
11. A user interface list interactive control device, characterized in that, include: The operation response module is configured to respond to drag and slide operations applied to the interface list, and continuously acquire the instantaneous sliding speed and the directional deviation angle of the operation anchor point of the drag and slide operation from the vertical axis of the interface list during the operation. The threshold update module is configured to update the first and second speed thresholds used to determine the speed range based on historically accumulated speed value samples belonging to drag or scroll states. The interval identification module is configured to determine the speed interval based on the comparison result between the instantaneous sliding speed and the first speed threshold and the second speed threshold when the deviation angle of the movement is within a preset angle range; The drag control module is configured to enter drag state when the instantaneous sliding speed is in a first speed range below the first speed threshold, and follow the operation anchor point to drag the target object in the interface list that is hit by the initial position of the operation anchor point until the drag operation ends. The scrolling control module is configured to enter a scrolling state when the instantaneous sliding speed is in a third speed range above the second speed threshold, and control the interface list to scroll along the sliding direction of the operation anchor point.
12. An electronic device comprising a central processing unit and a memory, characterized in that, The central processing unit is used to invoke and run a computer program stored in the memory to perform the steps of the method as described in any one of claims 1 to 10.
13. A non-volatile readable storage medium, characterized in that, It stores, in the form of computer-readable instructions, a computer program implemented according to any one of claims 1 to 10, which, when invoked by a computer, executes the steps included in the corresponding method.