CN111665940A - 光标控件控制方法、装置以及相关设备 - Google Patents

光标控件控制方法、装置以及相关设备 Download PDF

Info

Publication number
CN111665940A
CN111665940A CN202010506388.8A CN202010506388A CN111665940A CN 111665940 A CN111665940 A CN 111665940A CN 202010506388 A CN202010506388 A CN 202010506388A CN 111665940 A CN111665940 A CN 111665940A
Authority
CN
China
Prior art keywords
target
offset value
cursor control
current
coordinate system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010506388.8A
Other languages
English (en)
Other versions
CN111665940B (zh
Inventor
谢宗祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010506388.8A priority Critical patent/CN111665940B/zh
Publication of CN111665940A publication Critical patent/CN111665940A/zh
Priority to JP2022558170A priority patent/JP2023521957A/ja
Priority to EP21818524.7A priority patent/EP4033333A4/en
Priority to PCT/CN2021/092024 priority patent/WO2021244210A1/zh
Application granted granted Critical
Publication of CN111665940B publication Critical patent/CN111665940B/zh
Priority to US17/706,392 priority patent/US20220212102A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/22Setup operations, e.g. calibration, key configuration or button assignment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/24Constructional details thereof, e.g. game controllers with detachable joystick handles
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/426Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving on-screen location information, e.g. screen coordinates of an area at which the player is aiming with a light gun
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0338Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of limited linear or angular displacement of an operating part of the device from a neutral position, e.g. isotonic or isometric joysticks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6045Methods for processing data by generating or executing the game program for mapping control signals received from the input arrangement into game commands

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本公开提供一种光标控件控制方法、装置以及电子设备和计算机可读存储介质,该方法包括:从目标手柄获取目标操作杆在操作杆坐标系中的真实偏移值,所述目标手柄用于控制目标设备中的目标光标控件;根据所述真实偏移值,确定当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值;根据所述当前时刻的模拟偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置;将所述当前位置发送给所述目标设备,以控制所述目标光标控件从上一时刻在所述目标设备坐标系中的上一位置移动到所述当前位置;其中,所述目标光标控件从所述上一位置移动到所述当前位置的移动速度的快慢与所述当前时刻的模拟偏移值的大小正相关。

Description

光标控件控制方法、装置以及相关设备
技术领域
本公开涉及数据处理技术领域,尤其涉及一种光标控件控制方法、装置以及相关设备。
背景技术
电视游戏是一种通过电视终端进行的游戏。因电视屏幕尺寸较大、颜色鲜艳、画面清晰,电视游戏受到越来越多的游戏玩家的喜爱。
但是,由于电视终端既无法使用鼠标、键盘,也无法进行触屏操作,导致用户通过电视终端进行游戏的体验不佳。
相关技术中,游戏玩家经常会采用游戏手柄作为输入设备来控制光标控件,进而实现光标移动或模拟手指触摸和点击等效果。但是,相关技术中通过游戏手柄对光标控件的控制精度不高,导致玩家的游戏体验不佳。
因此,一种可以通过游戏手柄精准地控制光标控件的方法对于提高用户体验至关重要。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开实施例提供一种光标控件控制方法、装置以及相关设备,能够通过目标手柄的目标操作杆精准的控制目标光标控件的移动速度和精度。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
本公开实施例提出一种光标控件控制方法,该方法:从目标手柄获取目标操作杆在操作杆坐标系中的真实偏移值,所述目标手柄用于控制目标设备中的目标光标控件;根据所述真实偏移值,确定当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值;根据所述当前时刻的模拟偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置;将所述当前位置发送给所述目标设备,以控制所述目标光标控件从上一时刻在所述目标设备坐标系中的上一位置移动到所述当前位置;其中,所述目标光标控件从所述上一位置移动到所述当前位置的移动速度的快慢与所述当前时刻的模拟偏移值的大小正相关。
本公开实施例提供一种光标控件控制方法,该方法包括:显示目标光标控件;获取所述目标光标控件在目标设备坐标系中上一时刻的上一位置;获取所述目标光标控件在所述目标设备坐标系中当前时刻的当前位置,其中所述当前位置通过所述当前时刻目标手柄的目标操作杆在操作杆坐标系中的模拟偏移值和距离所述当前时刻时间最近的所述目标操作杆的真实偏移值确定;控制所述目标光标控件从所述上一位置移动到所述当前位置;其中,所述目标光标控件从所述上一位置移动到所述当前位置的移动速度的快慢与所述当前时刻的模拟偏移值的大小正相关。
在一些实施例中,所述目标操作杆在操作杆坐标系中的模拟偏移值为最大模拟偏移值,距离所述当前时刻时间最近的所述目标操作杆的真实偏移值为最大真实偏移值;其中,控制所述目标光标控件从所述上一位置移动到所述当前位置,包括:控制所述目标光标控件从所述上一位置以最大移动速度移动到所述当前位置。
在一些实施例中,所述模拟偏移值获取模块可以包括:插值子模块。
其中,所述插值子模块可以配置为按照预设频率对所述真实偏移值进行插值处理,以确定所述当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。
在一些实施例中,所述插值子模块可以包括:第一目标真实值获取单元、模拟偏移值获取单元以及第一插值单元。
其中,所述第一目标真实值获取单元可以配置为从所述真实偏移值中获取距离所述当前时刻时间最近的第一目标真实偏移值。所述模拟偏移值获取单元可以配置为获取上一时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。所述第一插值单元可以配置为根据所述第一目标真实偏移值和所述上一时刻的模拟偏移值,确定所述当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。
在一些实施例中,所述插值子模块可以包括:第二插值单元。
其中,所述第二插值单元可以配置为从所述真实偏移值中获取距离所述当前时刻时间最近的第二目标真实偏移值,作为所述当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。
在一些实施例中,所述当前位置确定模块可以包括:第一判断子模块和第一当前位置确定子模块。
其中,所述第一判断子模块可以配置为若所述当前时刻的模拟偏移值的绝对值小于第一阈值,则根据第一坐标转换系数对所述当前时刻的模拟偏移值进行处理,以确定所述目标光标控件的第一偏移值。所述第一当前位置确定子模块可以配置为根据所述目标光标控件的所述上一位置和所述第一偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置;其中,所述第一坐标转换系数的大小与所述预设频率负相关。
在一些实施例中,所述当前位置确定模块还可以包括:第二判断子模块、第二当前位置确定子模块。
其中,所述第二判断子模块可以配置为若所述当前时刻的模拟偏移值的绝对值大于或者等于所述第一阈值且小于第二阈值,则根据第二坐标转换系数对所述当前时刻的模拟偏移值进行处理,以确定所述目标光标控件的第二偏移值。所述第二当前位置确定子模块可以配置为根据所述目标光标控件的所述上一位置和所述第二偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置;其中,所述第二坐标转换系数的大小与所述预设频率负相关,所述第二坐标系转换系数大于所述第一坐标系转换系数。
在一些实施例中,所述模拟偏移值包括所述目标操作杆在所述操作杆坐标系中的模拟横轴偏移值,所述上一位置包括所述目标光标控件在所述目标设备坐标系中的上一横轴位置,所述当前位置包括所述目标光标控件在所述目标设备坐标系中的当前横轴位置。
在一些实施例中,所述当前位置确定模块可以包括:第三判断子模块、第三当前位置确定子模块、第四判断子模块、第四当前位置确定子模块、第五判断子模块以及第五当前位置确定子模块。
其中,所述第三判断子模块可以配置为若所述模拟横轴偏移值的绝对值小于第一阈值,则根据第一坐标转换系数对所述模拟横轴偏移值进行处理,以确定所述目标光标控件的第一横轴偏移值。所述第三当前位置确定子模块可以配置为根据所述目标光标控件的所述上一横轴位置和所述第一横轴偏移值,确定当前时刻所述目标光标控件在所述目标设备坐标系中的当前横轴位置。所述第四判断子模块可以配置为若所述模拟横轴偏移值的绝对值大于或者等于所述第一阈值且小于第二阈值,则根据第二坐标转换系数对所述模拟横轴偏移值进行处理,以确定所述目标光标控件的第二横轴偏移值。所述第四当前位置确定子模块可以配置为根据所述目标光标控件的所述上一横轴位置和所述第二横轴偏移值,确定当前时刻所述目标光标控件在所述目标设备坐标系中的当前横轴位置。所述第五判断子模块可以配置为若所述模拟横轴偏移值的绝对值大于或者等于所述第二阈值且小于第三阈值,则根据第三坐标转换系数对所述模拟横轴偏移值进行处理,以确定所述目标光标控件的第三横轴偏移值。所述第五当前位置确定子模块可以配置为根据所述目标光标控件的所述上一横轴位置和所述第三横轴偏移值,确定当前时刻所述目标光标控件在所述目标设备坐标系中的当前横轴位置;其中,所述第一坐标转换系数小于所述第二坐标转换系数,所述第二坐标转换系数小于所述第三坐标转换系数。
在一些实施例中,所述模拟偏移值包括所述目标操作杆在所述操作杆坐标系中的模拟纵轴偏移值,所述上一位置包括所述目标光标控件在所述目标设备坐标系中的上一纵轴位置,所述当前位置包括所述目标光标控件在所述目标设备坐标系中的当前纵轴位置。
在一些实施例中,所述当前位置确定模块还可以包括:第六判断子模块、第六当前位置确定子模块、第七判断子模块、第七当前位置确定子模块、第八判断子模块以及第八当前位置确定子模块。
其中,所述第六判断子模块可以配置为若所述模拟纵轴偏移值的绝对值小于第一阈值,则根据第一坐标转换系数对所述模拟纵轴偏移值进行处理,以确定所述目标光标控件的第一纵轴偏移值。所述第六当前位置确定子模块可以配置为根据所述目标光标控件的所述上一纵轴位置和所述第一纵轴偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前纵轴位置。所述第七判断子模块可以配置为若所述模拟纵轴偏移值的绝对值大于或者等于所述第一阈值且小于第二阈值,则根据第二坐标转换系数对所述模拟纵轴偏移值进行处理,以确定所述目标光标控件的第二纵轴偏移值。所述第七当前位置确定子模块可以配置为根据所述目标光标控件的所述上一纵轴位置和所述第二纵轴偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前纵轴位置。所述第八判断子模块可以配置为若所述模拟纵轴偏移值的绝对值大于或者等于所述第二阈值且小于第三阈值,则根据第三坐标转换系数对所述模拟纵轴偏移值进行处理,以确定所述目标光标控件的第三纵轴偏移值。所述第八当前位置确定子模块可以配置为根据所述目标光标控件的所述上一纵轴位置和所述第三纵轴偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前纵轴位置;其中,所述第一坐标转换系数小于所述第二坐标转换系数,所述第二坐标转换系数小于所述第三坐标转换系数。
本公开实施例提供一种光标控件控制装置,该装置包括:真实偏移值获取模块、模拟偏移值获取模块、当前位置确定模块以及移动模块。
其中,所述真实偏移值获取模块可以配置为真实偏移值获取模块,配置为从目标手柄获取目标操作杆在操作杆坐标系中的真实偏移值,所述目标手柄用于控制目标设备中的目标光标控件。所述模拟偏移值获取模块可以配置为模拟偏移值获取模块,配置为根据所述真实偏移值,确定当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。所述当前位置确定模块可以配置为当前位置确定模块,配置为根据所述当前时刻的模拟偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置。所述移动模块可以配置为移动模块,配置为将所述当前位置发送给所述目标设备,以控制所述目标光标控件从上一时刻在所述目标设备坐标系中的上一位置移动到所述当前位置;其中,所述目标光标控件从所述上一位置移动到所述当前位置的移动速度的快慢与所述当前时刻的模拟偏移值的大小正相关。
在一些实施例中,所述模拟偏移值获取模块可以包括:插值子模块。其中,所述插值子模块可以配置为按照预设频率对所述真实偏移值进行插值处理,以确定所述当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。
在一些实施例中,所述插值子模块可以包括:第一目标真实值获取单元、模拟偏移值获取单元以及第一插值单元。
其中,所述第一目标真实值获取单元可以配置为从所述真实偏移值中获取距离所述当前时刻时间最近的第一目标真实偏移值。所述模拟偏移值获取单元可以配置为获取上一时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。所述第一插值单元可以配置为根据所述第一目标真实偏移值和所述上一时刻的模拟偏移值,确定所述当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。
在一些实施例中,所述插值子模块可以包括:第二插值单元。
其中,所述第二插值单元可以配置为从所述真实偏移值中获取距离所述当前时刻时间最近的第二目标真实偏移值,作为所述当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。
在一些实施例中,所述当前位置确定模块可以包括:第一判断子模块和第一当前位置确定子模块。其中,所述第一判断子模块可以配置为若所述当前时刻的模拟偏移值的绝对值小于第一阈值,则根据第一坐标转换系数对所述当前时刻的模拟偏移值进行处理,以确定所述目标光标控件的第一偏移值。所述第一当前位置确定子模块可以配置为根据所述目标光标控件的所述上一位置和所述第一偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置;其中,所述第一坐标转换系数的大小与所述预设频率负相关。
在一些实施例中,所述当前位置确定模块还可以包括:第二判断子模块、第二当前位置确定子模块。其中,所述第二判断子模块可以配置为若所述当前时刻的模拟偏移值的绝对值大于或者等于所述第一阈值且小于第二阈值,则根据第二坐标转换系数对所述当前时刻的模拟偏移值进行处理,以确定所述目标光标控件的第二偏移值。所述第二当前位置确定子模块可以配置为根据所述目标光标控件的所述上一位置和所述第二偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置;其中,所述第二坐标转换系数的大小与所述预设频率负相关,所述第二坐标系转换系数大于所述第一坐标系转换系数。
在一些实施例中,所述模拟偏移值包括所述目标操作杆在所述操作杆坐标系中的模拟横轴偏移值,所述上一位置包括所述目标光标控件在所述目标设备坐标系中的上一横轴位置,所述当前位置包括所述目标光标控件在所述目标设备坐标系中的当前横轴位置。
在一些实施例中,所述当前位置确定模块可以包括:第三判断子模块、第三当前位置确定子模块、第四判断子模块、第四当前位置确定子模块、第五判断子模块以及第五当前位置确定子模块。其中,所述第三判断子模块可以配置为若所述模拟横轴偏移值的绝对值小于第一阈值,则根据第一坐标转换系数对所述模拟横轴偏移值进行处理,以确定所述目标光标控件的第一横轴偏移值。所述第三当前位置确定子模块可以配置为根据所述目标光标控件的所述上一横轴位置和所述第一横轴偏移值,确定当前时刻所述目标光标控件在所述目标设备坐标系中的当前横轴位置。所述第四判断子模块可以配置为若所述模拟横轴偏移值的绝对值大于或者等于所述第一阈值且小于第二阈值,则根据第二坐标转换系数对所述模拟横轴偏移值进行处理,以确定所述目标光标控件的第二横轴偏移值。所述第四当前位置确定子模块可以配置为根据所述目标光标控件的所述上一横轴位置和所述第二横轴偏移值,确定当前时刻所述目标光标控件在所述目标设备坐标系中的当前横轴位置。所述第五判断子模块可以配置为若所述模拟横轴偏移值的绝对值大于或者等于所述第二阈值且小于第三阈值,则根据第三坐标转换系数对所述模拟横轴偏移值进行处理,以确定所述目标光标控件的第三横轴偏移值。所述第五当前位置确定子模块可以配置为根据所述目标光标控件的所述上一横轴位置和所述第三横轴偏移值,确定当前时刻所述目标光标控件在所述目标设备坐标系中的当前横轴位置;其中,所述第一坐标转换系数小于所述第二坐标转换系数,所述第二坐标转换系数小于所述第三坐标转换系数。
在一些实施例中,所述模拟偏移值包括所述目标操作杆在所述操作杆坐标系中的模拟纵轴偏移值,所述上一位置包括所述目标光标控件在所述目标设备坐标系中的上一纵轴位置,所述当前位置包括所述目标光标控件在所述目标设备坐标系中的当前纵轴位置。
在一些实施例中,所述当前位置确定模块还可以包括:第六判断子模块、第六当前位置确定子模块、第七判断子模块、第七当前位置确定子模块、第八判断子模块以及第八当前位置确定子模块。其中,所述第六判断子模块可以配置为若所述模拟纵轴偏移值的绝对值小于第一阈值,则根据第一坐标转换系数对所述模拟纵轴偏移值进行处理,以确定所述目标光标控件的第一纵轴偏移值。所述第六当前位置确定子模块可以配置为根据所述目标光标控件的所述上一纵轴位置和所述第一纵轴偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前纵轴位置。所述第七判断子模块可以配置为若所述模拟纵轴偏移值的绝对值大于或者等于所述第一阈值且小于第二阈值,则根据第二坐标转换系数对所述模拟纵轴偏移值进行处理,以确定所述目标光标控件的第二纵轴偏移值。所述第七当前位置确定子模块可以配置为根据所述目标光标控件的所述上一纵轴位置和所述第二纵轴偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前纵轴位置。所述第八判断子模块可以配置为若所述模拟纵轴偏移值的绝对值大于或者等于所述第二阈值且小于第三阈值,则根据第三坐标转换系数对所述模拟纵轴偏移值进行处理,以确定所述目标光标控件的第三纵轴偏移值。所述第八当前位置确定子模块可以配置为根据所述目标光标控件的所述上一纵轴位置和所述第三纵轴偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前纵轴位置;其中,所述第一坐标转换系数小于所述第二坐标转换系数,所述第二坐标转换系数小于所述第三坐标转换系数。
本公开实施例提供了一种光标控件控制装置,该装置包括:目标光标控件显示模块、上一位置获取模块、当前位置获取模块以及移动控制模块。
其中,所述目标光标控件显示模块可以配置为显示目标光标控件。所述上一位置获取模块可以配置为获取所述目标光标控件在目标设备坐标系中上一时刻的上一位置。所述当前位置获取模块可以配置为获取所述目标光标控件在所述目标设备坐标系中当前时刻的当前位置,其中所述当前位置通过所述当前时刻目标手柄的目标操作杆在操作杆坐标系中的模拟偏移值和距离所述当前时刻时间最近的所述目标操作杆的真实偏移值确定。所述移动控制模块可以配置为控制所述目标光标控件从所述上一位置移动到所述当前位置,其中所述目标光标控件从所述上一位置移动到所述当前位置的移动速度的快慢与所述当前时刻的模拟偏移值的大小正相关。
在一些实施例中,所述目标操作杆在操作杆坐标系中的模拟偏移值为最大模拟偏移值,距离所述当前时刻时间最近的所述目标操作杆的真实偏移值为最大真实偏移值。
在一些实施例中,所述移动控制模块还可以配置为控制所述目标光标控件从所述上一位置以最大移动速度移动到所述当前位置。
本公开实施例提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一项所述的光标控件控制方法。
本公开实施例提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述任一项所述的光标控件控制方法。
本公开实施例提供的光标控件控制方法、装置及电子设备和计算机可读存储介质,首先通过目标操作杆的真实偏移值确定了当前时刻目标操作杆的模拟偏移值,然后根据模拟偏移值大小的不同控制目标光标控件按照不同的移动速度移动,实现了对目标光标控件移动速度和精度的精准控制,提升了目标手柄操作的便利性,很大程度上减少了游戏过程中由于光标模拟带给玩家的操作影响。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获取其他的附图。
图1示出了应用于本公开实施例的光标控件控制方法或光标控件控制装置的应用场景示意图。
图2是根据一示例性实施例示出的一种应用于光标控件控制装置的计算机系统的结构示意图。
图3是根据一示例性实施例示出的一种目标光标控件的示意图。
图4是根据一示例性实施例示出的一种目标光标控件的示意图。
图5是根据一示例性实施例示出的一种光标控件控制方法的流程图。
图6是根据一示例性实施例示出的一种光标控件控制方法的流程图。
图7是图6中步骤S21在一示例性实施例中的流程图。
图8是图6中步骤S3在一示例性实施例中的流程图。
图9是图6中步骤S3在一示例性实施例中的流程图。
图10是图6中步骤S3在一示例性实施例中的流程图。
图11是图6中步骤S3在一示例性实施例中的流程图。
图12是根据一示例性实施例示出的一种光标控件控制方法。
图13是根据一示例性实施例示出的一种光标控件控制系统。
图14是根据一示例性实施例示出的一种光标控件控制装置的框图。
图15是根据一示例性实施例示出的一种光标控件控制装置的框图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
本公开所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按所描述的顺序执行。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
本说明书中,用语“一个”、“一”、“该”、“所述”和“至少一个”用以表示存在一个或多个要素/组成部分/等;用语“包含”、“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”、“第二”和“第三”等仅作为标记使用,不是对其对象的数量限制。
下面结合附图对本公开示例实施方式进行详细说明。
图1示出了可以应用于本公开实施例的光标控件控制方法或光标控件控制装置的示例性系统架构的示意图。
如图1所示,系统架构100可以包括:游戏手柄101、计算设备102以及终端设备103。游戏手柄101可以通过蓝牙、无线接收器或者有线接收器等与计算设备102实现网络连接,计算设备102可以通过有线线路与电视终端103实现网络连接,本公开对此不做限制。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用游戏手柄101通过网络连接与计算设备102交互,以接收或发送消息等。其中,计算设备102可以是进行计算服务的各种电子设备,包括但不限于电视盒子、智能电视、智能手机、平板电脑、膝上型便携计算机、台式计算机、可穿戴设备、模拟现实设备、智能家居等等。终端设备103可以是任意一个需要通过手柄就进行光标控件控制的显示设备,例如电视、电脑、智能手机、笔记本电脑、平板电脑、膝上型便携计算机、台式计算机、可穿戴设备、模拟现实设备、智能音箱、智能手表、智能家居等等。
在一些实施例中,计算设备102和终端设备103可以是同一对象,也可以是不同对象,本公开对此不做限制。例如,由于智能电视机既可以实现计算功能又可以实现显示功能,所以智能电视机既可以是计算设备102,又可以是终端设备103,本公开对此不做限制。
计算设备102可以是提供各种服务的服务器,例如对用户利用终端设备103所进行操作的装置提供支持的后台管理服务器。后台管理服务器可以对接收到的请求等数据进行分析等处理,并将处理结果反馈给终端设备。
计算设备102可例如从目标手柄获取目标操作杆在操作杆坐标系中的真实偏移值,所述目标手柄用于控制目标设备中的目标光标控件;计算设备102可例如根据所述真实偏移值,确定当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值;计算设备102可例如根据所述当前时刻的模拟偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置;计算设备102可例如将所述当前位置发送给所述目标设备,以控制所述目标光标控件从上一时刻在所述目标设备坐标系中的上一位置移动到所述当前位置;其中,所述目标光标控件从所述上一位置移动到所述当前位置的移动速度的快慢与所述当前时刻的模拟偏移值的大小正相关。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的,计算设备102可以是一个实体的服务器,还可以为多个服务器组成,根据实际需要,可以具有任意数目的终端设备、网络和服务器。
在一些实施例中,本公开实施例提供的光标控制方法不仅可以在具有实体的计算设备102中实现,也可以通过云服务提供的云计算(cloud computing)功能实现,本公开对此不做限制。
在本公开实施例中,计算设备102可以是独立的物理设备(例如电视盒子、物理服务器),也可以是多个物理设备构成的设备集群或者分布式系统,还可以是提供云计算服务的云服务器,本申请在此不做限制。
云计算是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。
作为云计算的基础能力提供商,会建立云计算资源池(简称云平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
按照逻辑功能划分,在IaaS(Infrastructure as a Service,基础设施即服务)层上可以部署PaaS(Platform as a Service,平台即服务)层,PaaS层之上再部署SaaS(Software as a Service,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件运行的平台,如数据库、web容器等。SaaS为各式各样的业务软件,如web门户网站、短信群发器等。一般来说,SaaS和PaaS相对于IaaS是上层。
下面参考图2,其示出了适于用来实现本申请实施例的终端设备的计算机系统200的结构示意图。图2示出的终端设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图2所示,计算机系统200包括中央处理单元(CPU)201,其可以根据存储在只读存储器(ROM)202中的程序或者从储存部分208加载到随机访问存储器(RAM)203中的程序而执行各种适当的动作和处理。在RAM 203中,还存储有系统200操作所需的各种程序和数据。CPU 201、ROM 202以及RAM 203通过总线204彼此相连。输入/输出(I/O)接口205也连接至总线204。
以下部件连接至I/O接口205:包括键盘、鼠标等的输入部分206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分207;包括硬盘等的储存部分208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分209。通信部分209经由诸如因特网的网络执行通信处理。驱动器210也根据需要连接至I/O接口205。可拆卸介质211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器210上,以便于从其上读出的计算机程序根据需要被安装入储存部分208。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分209从网络上被下载和安装,和/或从可拆卸介质211被安装。在该计算机程序被中央处理单元(CPU)201执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本申请所示的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块和/或子模块和/或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块和/或子模块和/或单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些模块和/或子模块和/或单元的名称在某种情况下并不构成对该模块和/或子模块和/或单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备可实现功能包括:从目标手柄获取目标操作杆在操作杆坐标系中的真实偏移值,所述目标手柄用于控制目标设备中的目标光标控件;根据所述真实偏移值,确定当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值;根据所述当前时刻的模拟偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置;将所述当前位置发送给所述目标设备,以控制所述目标光标控件从上一时刻在所述目标设备坐标系中的上一位置移动到所述当前位置;其中,所述目标光标控件从所述上一位置移动到所述当前位置的移动速度的快慢与所述当前时刻的模拟偏移值的大小正相关。
云游戏(Cloud gaming)又可称为游戏点播(gaming on demand),是一种以云计算技术为基础的在线游戏技术。云游戏技术使图形处理与数据运算能力相对有限的轻端设备(thin client)能运行高品质游戏。在云游戏场景下,游戏并不在玩家游戏终端,而是在云端服务器中运行,并由云端服务器将游戏场景渲染为视频音频流,通过网络传输给玩家游戏终端。玩家游戏终端无需拥有强大的图形运算与数据处理能力,仅需拥有基本的流媒体播放能力与获取玩家输入指令并发送给云端服务器的能力即可。
为了提高游戏体验,游戏玩家通常会选择电视终端进行云游戏。
相关技术中,由于电视终端无法使用鼠标和键盘,也无法进行触屏操作,玩家通常会采用游戏手柄作为输入设备,以控制电视终端中的光标控件。
如图1所示,玩家可以通过蓝牙或者USB(Universal Serial Bus,通用串行总线)无线接收器将游戏手柄101与计算设备102(例如电视盒子)连接,以便于计算设备102接收游戏手柄上传的目标操作杆的真实偏移数据。其中,电视盒子是一个小型的计算终端设备,它可以将互联网内容通过其在电视机上进行播放。
在一些实施例中,通过游戏手柄控制终端设备中云游戏的光标控件可以通过以下步骤。
将云游戏应用程序客户端安装在如图1所示的计算设备101(例如智能电视或者电视盒子)上;用户进入电视盒子应用大厅,运行云游戏客户端,拉到云游戏画面视以进入游戏;通过蓝牙或者USB(Universal Serial Bus,通用串行总线)无线接收器将游戏手柄与云游戏客户端的设备监控模块连接;在目标云游戏运行过程,即目标云游戏画面显示过程中,可以通过按下游戏手柄的目标操作键并立即松开的方式来切换游戏模式,例如可以通过右摇杆控制按键映射模式和鼠标模式之间的直接切换,以在终端设备中显示如图3所示的自定义光标控件301或图4所示的自定义的光标控件401。玩家可以通过控制游戏手柄以控制该自定义的光标,例如可以通过游戏手柄中的右摇杆控制光标控件移动,通过游戏手柄中的按键A以控制光标控件执行点击操作。可以理解的是,按键A和右摇杆的功能均可以由游戏开发者提前设定(换句话说,究竟通过哪个操作杆控制光标控件的移动,哪个按键控制光标控件的点击均可以由游戏开发者提前设定)。
但是通过相关技术中的游戏手柄控制光标控件一般会存在以下缺陷:
1、由于游戏手柄中的操纵杆的变化不是线性的(例如移动速度不是线性的),触发手柄上传数据的信号是不固定的(可能是摇动变化值到的一定为位置才会触发游戏手柄才会上传数据,也有可能是随机触发游戏手柄上传摇动变化值,总之游戏手柄既没有按照固定时间也没有按照固定位置上传操作杆的摇动变化值)。导致当操作杆从静止位置摇动到最大幅度时,游戏手柄上报变化数值的次数可能很少也可能很多,变化的数值可能很稀少也可能很密集。最终使得,光标的移动与游戏手柄中的操作杆的变化不一致。
2、游戏手柄中的操纵杆只有不停的摇动才会报告变化值,静止在摇动最大位置处,游戏手柄不会报告该轴变化值。
3、游戏手柄的操纵杆只有变化幅度大小,没有变化幅度快慢的操作,这不符合鼠标移动的操作,用户体验不佳。
因此,相关技术中通过游戏手柄控制光标控件,无法像通过触摸屏控制一样可以实现在任意时间点击任意位置,也无法像通过真实鼠标控制一样使得光标控件移动的速度和精度可控。
针对上述问题,本公开实施例提供了以下技术方案。
图5是根据一示例性实施例示出的一种光标控件控制方法的流程图。本公开实施例所提供的方法可以由任意具备计算处理能力的电子设备处理,例如上述图1实施例中的计算设备102和/或终端设备103,在下面的实施例中,以计算设备101为执行主体为例进行举例说明,但本公开并不限定于此。
参照图5,本公开实施例提供的光标控件控制方法可以包括以下步骤。
在步骤S1中,从目标手柄获取目标操作杆在操作杆坐标系中的真实偏移值,所述目标手柄用于控制目标设备中的目标光标控件。
在一些实施例中,目标手柄可以是一种如图1所示的游戏手柄,该目标手柄可以包括左摇杆、右摇杆、按键A等,可以理解的是不同的手柄可能包括不同的按键和摇杆,而且不同的按键和摇杆也可能包括不同的功能,本公开对此不做限制。
在一些实施例中,目标手柄中可能包括多个摇杆,其中可以用来控制光标控件的摇杆为目标操作杆。
本公开实施例中的目标手柄可以是一种可以通过目标摇杆对光标控件进行控制的手柄。
在一些实施例中,可以以目标操作杆的中心位置为原点,以任意两个互相垂直的方向为X轴和Y轴构建操作杆坐标系。为了操作方便,一般会以上下方向、左右方向为Y轴和X轴,但本公开并不限于此。
在一些实施例中,可以将目标操作杆偏移原点的值作为目标操作杆在操作杆坐标系的真实偏移值。
一般来说,该真实偏移值可以由目标手柄进行采集并发送给如图1所示的计算设备(例如电视盒子)。
在一些实施例中,目标手柄上传的真实偏移值一般是归一化后的偏移值,变化范围为[-1,1],但是本公开对此不做限制。
可以理解的是,由于目标手柄既没有按照固定频率,也没有按照固定位置对目标操作杆的真实偏移值进行采集(如操作杆运动到某个位置时目标手柄就会采集真实偏移值),导致目标光标控件的移动既不能与目标操作杆的移动保持实时一致,也不能在目标操作杆停在某个位置不动时继续保持移动,这与鼠标控制光标控件移动存在较大的差异,导致用户体验不佳。
在步骤S2中,根据所述真实偏移值,确定当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。
在一些实施例中,由于电视盒子计算设备的系统通常是安卓系统,所以本实施例将以安卓系统为例解释计算设备如何获取真实偏移值。
当目标手柄中的目标操作杆发生移动时,目标手柄接收到玩家输入的指令,然后将移动事件MotionEvent指令发送给计算设备。当计算设备接收到移动指令时,计算设备的安卓系统会使用以下程序获取目标操作杆的轴变化,并使用轴(AXIS)来标识目标手柄的目标操作杆左右方向(AXIS_X)和上下方向(AXIS_Y)的变化,变化的范围是浮点数-1.0到1.0之间的数值(包含-1.0和1.0),其中绝对值越大表示操纵杆摇动幅度越大。
float axis_x=event.getAxisValue(MotionEvent.AXIS_X)//获取横轴方向的真实偏移变化值
float axis_y=event.getAxisValue(MotionEvent.AXIS_Y)//获取纵轴方向的真实偏移变化值;
若目标操作杆的横轴方向的真实偏移值或纵轴方向的真实偏移大于目标阈值(例如0.005),则认为目标操作杆发生了移动,本次获取的真实偏移值才真实有效。
可以通过以下步骤判断横轴/纵轴的真实偏移值是否大于目标阈值。
调用安卓系统的getFlat()函数以获取目标操纵杆的中心位置范围,并通过以下代码确定横轴/纵轴的真实偏移值是否大于目标阈值
伪代码如下:
InputDevice.MotionRange range=
InputDevice.getMotionRange(MotionEvent.AXIS_X,event.getSource());//获取为横轴预设的目标阈值MotionRange
float flat=range.getFlat();//从左右方向的MotionRange读取出左右方向的中心位置范围
if(Math.abs(axis_x)>flat)//若目标操作杆的移动超出左右方向的范围,则目标操纵杆发生左右方向摇动;
if(Math.abs(axis_y)>flat)//若目标操作杆的移动超出上下方向的范围,则目标操纵杆发生上下方向摇动。
在一些实施例中,目标手柄上传真实偏移值的时间点是不固定的,如果根据目标手柄上传的真实偏移值控制目标光标控件移动,则有可能出现以下情况:1、当前真实偏移值与上一真实偏移值获取时间间隔较大,导致目标光标控件失控,目标光标控件的移动与目标操作杆的移动无法实时保持一致性;2、目标操作杆停在一个偏移位置时,目标手柄将不会上传真实偏移值,在此期间目标手柄将无法对目标光标控件进行控制。
在一些实施例中,当获得真实偏移值之后,可以按照预设频率对该真实偏移值进行插值以获得模拟偏移值,然后根据插值后的模拟偏移值控制目标光标控件进行移动,以使得目标光标控件的移动与目标操作杆的移动实时保持一致性,并且在目标操作杆停留在某个偏移位置时,目标光标控件能够继续移动。其中,模拟偏移值可以指的是通过对真实偏移值进行插值操作后,模拟的目标操作杆在目标时间(插值时间点)点上相对于操作杆中心可能的偏移值。
在一些实施例中,可以将预设频率预设为每次50ms。
在步骤S3中,根据所述当前时刻的模拟偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置。
在一些实施例中,可以预先设定坐标转换系数,将目标操作杆在操作杆坐标系中的模拟偏移值转换到目标设备坐标系中,以确定目标光标控件在目标设备坐标系中的移动偏移值;然后通过目标光标控件上一时刻的上一位置和目标光标控件在目标设备坐标系中的移动偏移值,确定目标光标控件当前时刻的当前位置。其中,目标光标控件在目标设备坐标系中的移动偏移值可以指的是目标光标控件在目标设备坐标系中当前位置相对于上一位置的偏移值。
例如,假设坐标转换系数为30像素,当前时刻目标操作杆在操作杆坐标系中的虚拟偏移值为0.5,那么可以设定目标光标控件在目标设备坐标系中的移动偏移值为0.5*30像素,即目标光标控件在目标设备坐标系中可以移动15像素。
在一些实施例中,为了更好的模拟鼠标移动效果,本实施例可以为不同的模拟偏移值设置不同的坐标转换系数。例如为较大的模拟偏移值设置较大的坐标转换系数,为较小的模拟偏移值设置较小的坐标转换系数,如此便可以保证在固定时间内目标操作杆移动的越快(固定时间内移动距离大),目标光标控件也对应移动越快。
在步骤S4中,将所述当前位置发送给所述目标设备,以控制所述目标光标控件从上一时刻在所述目标设备坐标系中的上一位置移动到所述当前位置,其中所述目标光标控件从所述上一位置移动到所述当前位置的移动速度的快慢与所述当前时刻的模拟偏移值的大小正相关。
本实施例提供的技术方案,通过目标操作杆的真实偏移值确定了目标操作杆的模拟偏移值,然后通过模拟偏移值大小的不同控制目标光标控件按照不同速度移动。本实施例提供的方法,确保了目标光标控件的移动速度与目标操作杆的移动速度正相关,既能通过目标操作杆控制目标光标控件的移动速度,又能通过目标操作杆控制目标光标控件的移动精度,提高了用户体验。
图6是根据一示例性实施例示出的一种光标控件控制方法的流程图。参考图6,上述光标控件控制方法可以包括以下步骤。
在步骤S1中,从目标手柄获取目标操作杆在操作杆坐标系中的真实偏移值,所述目标手柄用于控制目标设备中的目标光标控件。
在步骤S21中,按照预设频率对所述真实偏移值进行插值处理,以确定所述当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。
在一些实施例中,可以通过一维插值、二维插值等不同的插值方法对真实偏移值进行插值,本公开对此不做限制。
在步骤S3中,根据所述当前时刻的模拟偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置。
在步骤S4中,将所述当前位置发送给所述目标设备,以控制所述目标光标控件从上一时刻在所述目标设备坐标系中的上一位置移动到所述当前位置,其中所述目标光标控件从所述上一位置移动到所述当前位置的移动速度的快慢与所述当前时刻的模拟偏移值的大小正相关。
本实施例提供的技术方案,通过预设频率对真实偏移值进行插值以获得模拟偏移值,并基于模拟偏移值对目标光标控件进行控制,既能保证目标光标控件能够按照目标操作杆的移动实时进行移动(即每隔固定时间都会根据模拟偏移值控制目标光标控件移动),又能保证目标光标控件移动的平滑性(即当前时刻的速度和上一时刻的速度不会出现较大的偏差)。
图7是图6中步骤S21在一示例性实施例中的流程图。参考图7,上述步骤S21可以包括以下步骤。
在步骤S211中,从所述真实偏移值中获取距离所述当前时刻时间最近的第一目标真实偏移值。
在一些实施例中,可以从真实偏移值中获取距离当前时刻k时间最近的第一目标真实偏移值Xi,i为大于且等于1的正整数。
在步骤S212中,获取上一时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。
在一些实施例中,可以获取上一时刻目标操作杆的模拟偏移值X’k-1,若不存在上一时刻的模拟偏移值,可以令X’k-1等于第一目标真实偏移值Xi
在步骤S213中,根据所述第一目标真实偏移值和所述上一时刻的模拟偏移值,确定所述当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。
在一些实施例中,可以对上一时刻目标操作杆的模拟偏移值X’k-1和第一目标真实偏移值Xi求均值以确定当前时刻的模拟偏移值X’k,(即X’k=(X’k-1+Xi)/2)也可以对上一时刻目标操作杆的模拟偏移值X’k-1和第一目标真实偏移值Xi求中值以确定当前时刻的模拟偏移值X’k,本公开对此不做限制。
可以理解的是,还可以通过其它方法对真实偏移值进行插值(例如单项式插值、拉格朗日插值等),本公开对此不做限制。
本实施例提供的技术方案,通过第一目标真实偏移值和上一时刻的模拟偏移值对真实偏移值进行插值,以获得当前时刻的模拟偏移值。既保证了当前时刻的模拟偏移值相较于上一时刻的模拟偏移值不会发生较大程度的偏移,又保证了当前时刻的模拟偏移值与第一目标真实偏移值不会发生较大程度的误差,更加符合目标操作杆当前时刻的偏移情况。
在一些实施例中,还可以从真实偏移值中获取距离当前时刻时间最近的第二目标真实偏移值,并将该第二目标真实偏移值直接作为当前时刻目标操作杆在操作杆坐标系中的模拟偏移值。
图8是图6中步骤S3在一示例性实施例中的流程图。参考图8,上述步骤S3可以包括以下步骤。
在步骤S31中,若所述当前时刻的模拟偏移值的绝对值小于第一阈值,则根据第一坐标转换系数对所述当前时刻的模拟偏移值进行处理,以确定所述目标光标控件的第一偏移值。
在一些实施例中,由于当前时刻的模拟偏移值X’i的取值范围为[-1,1],所以可以将第一阈值设置为0.6,第一坐标转换系数coeffi1设置为10(像素),然后根据coeffi1*X’i确定目标光标控件的第一偏移值rx1
在一些实施例中,目标设备坐标系中的单位可以为像素,即第一偏移值rx1的移动单位为像素。
在步骤S32中,根据所述目标光标控件的所述上一位置和所述第一偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置,其中所述第一坐标转换系数的大小与所述预设频率负相关。
在一些实施例中,假设上一位置为locak-1,可以根据rx1+loca(k-1)确定目标光标控件的当前位置locak
在一些实施例中,上一位置可以包括上一横轴位置locax(k-1)和上一纵轴位置locay(k-1),第一偏移值rx1可以包括第一目标横轴偏移值rx1和第一目标纵轴偏移值ry1,那么可以通过rx1+locax(k-1)和ry1+locay(k-1)确定当前横轴位置locaxk和当前纵轴位置locayk
本实施例提供的技术方方案,通过设置第一阈值,使得不同的模拟偏移值对应的不同的坐标转换系数,以最终使得目标光标控件的移动速度与目标操作杆的移动速度正相关。
图9是图6中步骤S3在一示例性实施例中的流程图。参考图9,上述步骤S3可以包括以下步骤。
在步骤S33中,若所述当前时刻的模拟偏移值的绝对值大于或者等于所述第一阈值且小于第二阈值,则根据第二坐标转换系数对所述当前时刻的模拟偏移值进行处理,以确定所述目标光标控件的第二偏移值。
在一些实施例中,第二阈值可以设置为0.9,第二坐标转换系数coeffi2可以设置为20(像素),可以根据coeffi2*X’i确定目标光标控件的第二偏移值rx2
在步骤S34中,根据所述目标光标控件的所述上一位置和所述第二偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置,其中所述第二坐标转换系数的大小与所述预设频率负相关,所述第二坐标系转换系数大于所述第一坐标系转换系数。
在一些实施例中,上一位置可以包括上一横轴位置locax(k-1)和上一纵轴位置locay(k-1),第二偏移值可以包括第二目标横轴偏移值rx2和第二目标纵轴偏移值ry2,那么可以通过rx2+locax(k-1)和ry2+locay(k-1)确定当前横轴位置locaxk和当前纵轴位置locayk
本实施例提供的技术方方案,通过设置第一阈值和第二阈值,使得不同的模拟偏移值对应的不同的坐标转换系数,以最终使得目标光标控件的移动速度与目标操作杆的移动速度正相关。
图10是图6中步骤S3在一示例性实施例中的流程图。
在一些实施例中,当前时刻的模拟偏移值可以包括目标操作杆在操作杆坐标系中的模拟横轴偏移值X’xi,目标光标控件的上一位置包括目标光标控件在目标设备坐标系中的上一横轴位置locax(k-1),目标光标控件的当前位置包括目标光标控件在目标设备坐标系中的当前横轴位置locaxk。参考图10,上述步骤S3可以包括以下步骤。
在步骤S301中,若所述模拟横轴偏移值的绝对值小于第一阈值,则根据第一坐标转换系数对所述模拟横轴偏移值进行处理,以确定所述目标光标控件的第一横轴偏移值。
在一些实施例中,可以通过第一转换系数coeffi1对模拟横轴偏移值X’xi,并结合公式coeffi1*X’xi确定第一横轴偏移值rxx1
其中,第一阈值可以设置为0.6,第一转换系数coeffi1可以设置为10像素。
在步骤S302中,根据所述目标光标控件的所述上一横轴位置和所述第一横轴偏移值,确定当前时刻所述目标光标控件在所述目标设备坐标系中的当前横轴位置。
在一些实施例中,假设上一横轴位置为locax(k-1),可以通过rxx1+locax(k-1)确定当前时刻的当前横轴位置locaxk
在步骤S303中,若所述模拟横轴偏移值的绝对值大于或者等于所述第一阈值且小于第二阈值,则根据第二坐标转换系数对所述模拟横轴偏移值进行处理,以确定所述目标光标控件的第二横轴偏移值。
在一些实施例中,可以通过第二转换系数coeffi2和模拟横轴偏移值X’xi,结合公式coeffi2*X’xi确定第二横轴偏移值rx2
在一些实施例中,第二阈值可以设置为0.9,第二坐标转换系数coeffi2可以设置为20像素。
在步骤S304中,根据所述目标光标控件的所述上一横轴位置和所述第二横轴偏移值,确定当前时刻所述目标光标控件在所述目标设备坐标系中的当前横轴位置。
在一些实施例中,可以通过rxx2+locax(k-1)确定当前时刻的当前横轴位置locaxk
在步骤S305中,若所述模拟横轴偏移值的绝对值大于或者等于所述第二阈值且小于第三阈值,则根据第三坐标转换系数对所述模拟横轴偏移值进行处理,以确定所述目标光标控件的第三横轴偏移值。
在一些实施例中,可以通过第三转换系数coeffi3和模拟横轴偏移值X’xi,结合公式coeffi3*X’xi确定第三横轴偏移值rxx3
在一些实施例中,第三阈值可以设置为1,第三坐标转换系数coeffi3可以设置为30像素。
在步骤S306中,根据所述目标光标控件的所述上一横轴位置和所述第三横轴偏移值,确定当前时刻所述目标光标控件在所述目标设备坐标系中的当前横轴位置,其中所述第一坐标转换系数小于所述第二坐标转换系数,所述第二坐标转换系数小于所述第三坐标转换系数。
在一些实施例中,可以通过rxx3+locax(k-1)确定当前时刻的当前横轴位置locaxk
本实施例提供的技术方案,可以根据模拟横轴偏移值对目标光标控件沿着目标设备坐标系的横坐标的移动进行控制。使得目标光标控件在目标设备坐标系中横坐标方向的移动速度的大小,与目标操作杆在操作杆坐标系中横坐标的移动速度大小成正相关。
图11是图6中步骤S3在一示例性实施例中的流程图。
在一些实施例中,当前时刻的模拟偏移值包括目标操作杆在操作杆坐标系中的模拟纵轴偏移值X’yi,上一位置包括所述目标光标控件在所述目标设备坐标系中的上一纵轴位置locay(k-1),所述当前位置包括所述目标光标控件在所述目标设备坐标系中的当前纵轴位置locayk。参考图11,上述步骤S3可以包括以下步骤。
在步骤S307中,若所述模拟纵轴偏移值的绝对值小于第一阈值,则根据第一坐标转换系数对所述模拟纵轴偏移值进行处理,以确定所述目标光标控件的第一纵轴偏移值。
在一些实施例中,可以通过第一转换系数coeffi1对模拟横轴偏移值X’yi,并结合公式coeffi1*X’yi确定第一纵轴偏移值rxy1
其中,第一阈值可以设置为0.6,第一转换系数coeffi1可以设置为10像素。
在步骤S308中,根据所述目标光标控件的所述上一纵轴位置和所述第一纵轴偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前纵轴位置。
在一些实施例中,假设上一横轴位置为locay(k-1),可以通过rxy1+locay(k-1)确定当前时刻的当前横轴位置locayk
在步骤S309中,若所述模拟纵轴偏移值的绝对值大于或者等于所述第一阈值且小于第二阈值,则根据第二坐标转换系数对所述模拟纵轴偏移值进行处理,以确定所述目标光标控件的第二纵轴偏移值。
在一些实施例中,可以通过第二转换系数coeffi2和模拟横轴偏移值X’yi,结合公式coeffi2*X’yi确定第二纵轴偏移值rxy2
在一些实施例中,第二阈值可以设置为0.9,第二坐标转换系数coeffi2可以设置为20像素。
在步骤S310中,根据所述目标光标控件的所述上一纵轴位置和所述第二纵轴偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前纵轴位置。
在一些实施例中,可以通过rxy2+locay(k-1)确定当前时刻的当前横轴位置locayk
在步骤S311中,若所述模拟纵轴偏移值的绝对值大于或者等于所述第二阈值且小于第三阈值,则根据第三坐标转换系数对所述模拟纵轴偏移值进行处理,以确定所述目标光标控件的第三纵轴偏移值。
在一些实施例中,可以通过第三转换系数coeffi3和模拟横轴偏移值X’yi,结合公式coeffi3*X’yi确定第三纵轴偏移值rxy3
在一些实施例中,第三阈值可以设置为1,第三坐标转换系数coeffi3可以设置为30像素。
在步骤S312中,根据所述目标光标控件的所述上一纵轴位置和所述第三纵轴偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前纵轴位置,其中所述第一坐标转换系数小于所述第二坐标转换系数,所述第二坐标转换系数小于所述第三坐标转换系数。
在一些实施例中,可以通过rxy3+locay(k-1)确定当前时刻的当前横轴位置locayk
本实施例提供的技术方案,可以根据模拟纵轴偏移值对目标光标控件沿着目标设备坐标系的纵坐标的移动进行控制。使得目标光标控件在目标设备坐标系中纵坐标方向的移动速度的大小,与目标操作杆在操作杆坐标系中纵坐标的移动速度大小成正相关。
图12是根据一示例性实施例示出的一种光标控件控制方法。参考图12,上述光标控件控制方法可以包括以下步骤。
在步骤S131中,显示目标光标控件。
在一些实施例中,可以在如图1所示的终端设备中显示目标光标控件。
在步骤S132中,获取所述目标光标控件在目标设备坐标系中上一时刻的上一位置。
在步骤S133中,获取所述目标光标控件在所述目标设备坐标系中当前时刻的当前位置,其中所述当前位置通过所述当前时刻目标手柄的目标操作杆在操作杆坐标系中的模拟偏移值和距离所述当前时刻时间最近的所述目标操作杆的真实偏移值确定。
在步骤S134中,控制所述目标光标控件从所述上一位置移动到所述当前位置,其中所述目标光标控件从所述上一位置移动到所述当前位置的移动速度的快慢与所述当前时刻的模拟偏移值的大小正相关。
本公开实施例提供的技术方案,通过目标操作杆在操作杆坐标系中的模拟偏移值确定了目标光标控件的当前位置,并控制目标光标控件从上一时刻的上一位置移动到当前位置,使得目标光标控件从上一位置移动到当前位置的移动速度的快慢与当前时刻的模拟偏移值的大小正相关,也就是使得目标光标控件的移动速度的快慢与目标操作杆的摇动速度的快慢成正相关。
在一些实施例中,若目标操作杆始终保持最大偏移量,即目标操作杆在操作杆坐标系中的模拟偏移值为最大模拟偏移值(即目标操作杆的当前摇动幅度为最大摇动幅度),且距离当前时刻时间最近的真实偏移值为最大真实偏移值,那么通过本实施例提供的技术方案可以控制目标光标控件从上一位置以最大移动速度移动到当前位置。可以理解的是,本实施例中提到的最大模拟偏移值、最大真实偏移值以及最大速度都可以提前设定,本公开对此不做限制。
图13是根据一示例性实施例示出的一种光标控件控制系统。参考图13,上述光标控件控制系统包括目标手柄131、计算设备132以及终端设备133。
其中,目标手柄131可以用来控制终端设备133中的目标光标控件。
在一些实施例中,通过上述光标控件控制系统对目标光标控件进行控制可以包括以下步骤:
目标手柄131通过蓝牙或者USB接收器与计算设备132连接,并通过该连接进行信号的传输;计算设备132可以接收目标手柄发送的输入事件(可例如是目标操作杆的摇动时间,也可例如是按键A的按下指令,本公开对此不做限制),当目标手柄的输入事件为目标操作杆发生了摇动,那么计算设备132会根据目标手柄发送的数据确定目标操作杆的真实偏移值;计算设备132按照固定时间对真实偏移值进行采样,以确定当前时刻目标操作杆的模拟偏移值;计算设备132根据模拟偏移值确定目标坐标转换系数(例如当模拟偏移值小于且等于0.6时,目标坐标转换系数为10像素;当模拟偏移值大于0.6,小于且等于0.9时,目标坐标转换系数为20像素;当模拟偏移值大于0.9且小于等于1时,目标坐标转换系数为30像素);计算设备132根据目标坐标转换系数确定当前时刻目标光标控件的当前位置,并将目标光标控件当前时刻的当前位置发送给终端设备133;终端设备133控制目标光标控件从上一时刻的上一位置移动到当前时刻的当前位置,其中,所述目标光标控件从所述上一位置移动到所述当前位置的移动速度的快慢与所述当前时刻的模拟偏移值的大小正相关。
当目标手柄的输入事件为按键A发生按下事件时,计算设备132会将接收到的按下指令转换为点击指令,并将该点击指令发送给终端设备133以便终端设备133控制目标光标控件进行点击操作。
本实施例提供的光标控件控制系统,通过目标操作杆的真实偏移值确定了目标操作杆的模拟偏移值,然后通过大小不同的模拟偏移值控制目标光标控件按照不同速度移动。本实施例提供的系统,确保了目标光标控件的移动速度与目标操作杆的移动速度正相关,既能通过目标操作杆控制目标光标控件的移动速度,又能通过目标操作杆控制目标光标控件的移动精度,提高了用户体验。
在一些实施例中,图13所示实施例中的计算设备132可以是目标云游戏客户端所在的设备。
在一些实施例中,通过上述光标控件系统对目标光标控件进行控制可以包括以下步骤:
将目标云游戏的应用程序客户端安装在计算设备132上;用户进入应用大厅,运行目标云游戏客户端,拉到目标云游戏画面视以进入目标云游戏;通过蓝牙或者USB无线接收器将目标手柄131与云游戏客户端的设备监控模块连接;在目标云游戏运行过程,即目标云游戏画面显示过程中,可以通过按下游戏手柄的目标操作键并立即松开的方式来切换游戏模式,以便通过目标手柄131控制目标云游戏中的目标光标控件;计算设备132可以接收目标手柄发送的输入事件(可例如是目标操作杆的摇动时间,也可例如是按键A的按下指令,本公开对此不做限制),当目标手柄的输入事件为目标操作杆发生了摇动,那么计算设备132会根据目标手柄发送的数据确定目标操作杆的真实偏移值;计算设备132按照固定时间对真实偏移值进行采样,以确定当前时刻目标操作杆的模拟偏移值;计算设备132根据模拟偏移值确定目标坐标转换系数(例如当模拟偏移值小于且等于0.6时,目标坐标转换系数为10像素;当模拟偏移值大于0.6,小于且等于0.9时,目标坐标转换系数为20像素;当模拟偏移值大于0.9且小于等于1时,目标坐标转换系数为30像素);计算设备132根据目标坐标转换系数确定当前时刻目标光标控件的当前位置,并将目标光标控件当前时刻的当前位置发送给终端设备133;终端设备133控制目标光标控件从上一时刻的上一位置移动到当前时刻的当前位置,其中,所述目标光标控件从所述上一位置移动到所述当前位置的移动速度的快慢与所述当前时刻的模拟偏移值的大小正相关。
当目标手柄的输入事件为按键A发生按下事件时,计算设备132会将接收到的按下指令转换为点击指令,并将该点击指令发送给终端设备133以便终端设备133控制目标光标控件进行点击操作。
通过上述步骤,即可实现对目标云游戏中的目标光标控件的控制。
图14是根据一示例性实施例示出的一种光标控件控制装置的框图。参照图14,本公开实施例提供的光标控件控制装置1400可以包括:真实偏移值获取模块1401、模拟偏移值获取模块1402、当前位置确定模块1403以及移动模块1404。
其中,所述真实偏移值获取模块1401可以配置为从目标手柄获取目标操作杆在操作杆坐标系中的真实偏移值,所述目标手柄用于控制目标设备中的目标光标控件。所述模拟偏移值获取模块1402可以配置为根据所述真实偏移值,确定当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。所述当前位置确定模块1403可以配置为根据所述当前时刻的模拟偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置。所述移动模块1404可以配置为将所述当前位置发送给所述目标设备,以控制所述目标光标控件从上一时刻在所述目标设备坐标系中的上一位置移动到所述当前位置,其中所述目标光标控件从所述上一位置移动到所述当前位置的移动速度的快慢与所述当前时刻的模拟偏移值的大小正相关。
在一些实施例中,所述模拟偏移值获取模块1402可以包括:插值子模块。
其中,所述插值子模块可以配置为按照预设频率对所述真实偏移值进行插值处理,以确定所述当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。
在一些实施例中,所述插值子模块可以包括:第一目标真实值获取单元、模拟偏移值获取单元以及第一插值单元。
其中,所述第一目标真实值获取单元可以配置为从所述真实偏移值中获取距离所述当前时刻时间最近的第一目标真实偏移值。所述模拟偏移值获取单元可以配置为获取上一时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。所述第一插值单元可以配置为根据所述第一目标真实偏移值和所述上一时刻的模拟偏移值,确定所述当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。
在一些实施例中,所述插值子模块可以包括:第二插值单元。
其中,所述第二插值单元可以配置为从所述真实偏移值中获取距离所述当前时刻时间最近的第二目标真实偏移值,作为所述当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。
在一些实施例中,所述当前位置确定模块1403可以包括:第一判断子模块和第一当前位置确定子模块。
其中,所述第一判断子模块可以配置为若所述当前时刻的模拟偏移值的绝对值小于第一阈值,则根据第一坐标转换系数对所述当前时刻的模拟偏移值进行处理,以确定所述目标光标控件的第一偏移值。所述第一当前位置确定子模块可以配置为根据所述目标光标控件的所述上一位置和所述第一偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置;其中,所述第一坐标转换系数的大小与所述预设频率负相关。
在一些实施例中,所述当前位置确定模块1403还可以包括:第二判断子模块、第二当前位置确定子模块。
其中,所述第二判断子模块可以配置为若所述当前时刻的模拟偏移值的绝对值大于或者等于所述第一阈值且小于第二阈值,则根据第二坐标转换系数对所述当前时刻的模拟偏移值进行处理,以确定所述目标光标控件的第二偏移值。所述第二当前位置确定子模块可以配置为根据所述目标光标控件的所述上一位置和所述第二偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置;其中,所述第二坐标转换系数的大小与所述预设频率负相关,所述第二坐标系转换系数大于所述第一坐标系转换系数。
在一些实施例中,所述模拟偏移值包括所述目标操作杆在所述操作杆坐标系中的模拟横轴偏移值,所述上一位置包括所述目标光标控件在所述目标设备坐标系中的上一横轴位置,所述当前位置包括所述目标光标控件在所述目标设备坐标系中的当前横轴位置。
在一些实施例中,所述当前位置确定模块1403可以包括:第三判断子模块、第三当前位置确定子模块、第四判断子模块、第四当前位置确定子模块、第五判断子模块以及第五当前位置确定子模块。
其中,所述第三判断子模块可以配置为若所述模拟横轴偏移值的绝对值小于第一阈值,则根据第一坐标转换系数对所述模拟横轴偏移值进行处理,以确定所述目标光标控件的第一横轴偏移值。所述第三当前位置确定子模块可以配置为根据所述目标光标控件的所述上一横轴位置和所述第一横轴偏移值,确定当前时刻所述目标光标控件在所述目标设备坐标系中的当前横轴位置。所述第四判断子模块可以配置为若所述模拟横轴偏移值的绝对值大于或者等于所述第一阈值且小于第二阈值,则根据第二坐标转换系数对所述模拟横轴偏移值进行处理,以确定所述目标光标控件的第二横轴偏移值。所述第四当前位置确定子模块可以配置为根据所述目标光标控件的所述上一横轴位置和所述第二横轴偏移值,确定当前时刻所述目标光标控件在所述目标设备坐标系中的当前横轴位置。所述第五判断子模块可以配置为若所述模拟横轴偏移值的绝对值大于或者等于所述第二阈值且小于第三阈值,则根据第三坐标转换系数对所述模拟横轴偏移值进行处理,以确定所述目标光标控件的第三横轴偏移值。所述第五当前位置确定子模块可以配置为根据所述目标光标控件的所述上一横轴位置和所述第三横轴偏移值,确定当前时刻所述目标光标控件在所述目标设备坐标系中的当前横轴位置;其中,所述第一坐标转换系数小于所述第二坐标转换系数,所述第二坐标转换系数小于所述第三坐标转换系数。
在一些实施例中,所述模拟偏移值包括所述目标操作杆在所述操作杆坐标系中的模拟纵轴偏移值,所述上一位置包括所述目标光标控件在所述目标设备坐标系中的上一纵轴位置,所述当前位置包括所述目标光标控件在所述目标设备坐标系中的当前纵轴位置。
在一些实施例中,所述当前位置确定模块1403还可以包括:第六判断子模块、第六当前位置确定子模块、第七判断子模块、第七当前位置确定子模块、第八判断子模块以及第八当前位置确定子模块。
其中,所述第六判断子模块可以配置为若所述模拟纵轴偏移值的绝对值小于第一阈值,则根据第一坐标转换系数对所述模拟纵轴偏移值进行处理,以确定所述目标光标控件的第一纵轴偏移值。所述第六当前位置确定子模块可以配置为根据所述目标光标控件的所述上一纵轴位置和所述第一纵轴偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前纵轴位置。所述第七判断子模块可以配置为若所述模拟纵轴偏移值的绝对值大于或者等于所述第一阈值且小于第二阈值,则根据第二坐标转换系数对所述模拟纵轴偏移值进行处理,以确定所述目标光标控件的第二纵轴偏移值。所述第七当前位置确定子模块可以配置为根据所述目标光标控件的所述上一纵轴位置和所述第二纵轴偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前纵轴位置。所述第八判断子模块可以配置为若所述模拟纵轴偏移值的绝对值大于或者等于所述第二阈值且小于第三阈值,则根据第三坐标转换系数对所述模拟纵轴偏移值进行处理,以确定所述目标光标控件的第三纵轴偏移值。所述第八当前位置确定子模块可以配置为根据所述目标光标控件的所述上一纵轴位置和所述第三纵轴偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前纵轴位置;其中,所述第一坐标转换系数小于所述第二坐标转换系数,所述第二坐标转换系数小于所述第三坐标转换系数。
由于本公开的示例实施例的光标控件控制装置1400的各个功能模块与上述光标控件控制方法的示例实施例的步骤对应,因此在此不再赘述。
图15是根据一示例性实施例示出的一种光标控件控制装置的框图。参照图15,本公开实施例提供的光标控件控制装置1500可以包括:目标光标控件显示模块1501、上一位置获取模块1502、当前位置获取模块1503以及移动控制模块1504。
其中,所述目标光标控件显示模块1501可以配置为显示目标光标控件。所述上一位置获取模块1502可以配置为获取所述目标光标控件在目标设备坐标系中上一时刻的上一位置。所述当前位置获取模块1503可以配置为获取所述目标光标控件在所述目标设备坐标系中当前时刻的当前位置,其中所述当前位置通过所述当前时刻目标手柄的目标操作杆在操作杆坐标系中的模拟偏移值和距离所述当前时刻时间最近的所述目标操作杆的真实偏移值确定。所述移动控制模块1504可以配置为控制所述目标光标控件从所述上一位置移动到所述当前位置,其中所述目标光标控件从所述上一位置移动到所述当前位置的移动速度的快慢与所述当前时刻的模拟偏移值的大小正相关。
在一些实施例中,所述目标操作杆在操作杆坐标系中的模拟偏移值为最大模拟偏移值,距离所述当前时刻时间最近的所述目标操作杆的真实偏移值为最大真实偏移值。
在一些实施例中,所述移动控制模块1504还可以配置为控制所述目标光标控件从所述上一位置以最大移动速度移动到所述当前位置。
由于本公开的示例实施例的光标控件控制装置1500的各个功能模块与上述光标控件控制方法的示例实施例的步骤对应,因此在此不再赘述。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者智能设备等)执行根据本公开实施例的方法,例如图5的一个或多个所示的步骤。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其他实施例。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不限于这里已经示出的详细结构、附图方式或实现方法,相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

Claims (11)

1.一种光标控件控制方法,其特征在于,包括:
从目标手柄获取目标操作杆在操作杆坐标系中的真实偏移值,所述目标手柄用于控制目标设备中的目标光标控件;
根据所述真实偏移值,确定当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值;
根据所述当前时刻的模拟偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置;
将所述当前位置发送给所述目标设备,以控制所述目标光标控件从上一时刻在所述目标设备坐标系中的上一位置移动到所述当前位置;
其中,所述目标光标控件从所述上一位置移动到所述当前位置的移动速度的快慢与所述当前时刻的模拟偏移值的大小正相关。
2.根据权利要求1所述方法,其特征在于,根据所述真实偏移值,确定当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值,包括:
按照预设频率对所述真实偏移值进行插值处理,以确定所述当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。
3.根据权利要求2所述方法,其特征在于,按照预设频率对所述真实偏移值进行插值处理,以确定所述当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值,包括:
从所述真实偏移值中获取距离所述当前时刻时间最近的第一目标真实偏移值;
获取上一时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值;
根据所述第一目标真实偏移值和所述上一时刻的模拟偏移值,确定所述当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。
4.根据权利要求2所述方法,其特征在于,按照预设频率对所述真实偏移值进行插值处理,以确定所述当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值,包括:
从所述真实偏移值中获取距离所述当前时刻时间最近的第二目标真实偏移值,作为所述当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值。
5.根据权利要求2所述方法,其特征在于,根据所述当前时刻的模拟偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置,包括:
若所述当前时刻的模拟偏移值的绝对值小于第一阈值,则根据第一坐标转换系数对所述当前时刻的模拟偏移值进行处理,以确定所述目标光标控件的第一偏移值;
根据所述目标光标控件的所述上一位置和所述第一偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置;
其中,所述第一坐标转换系数的大小与所述预设频率负相关。
6.根据权利要求5所述方法,其特征在于,根据所述当前时刻的模拟偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置,还包括:
若所述当前时刻的模拟偏移值的绝对值大于或者等于所述第一阈值且小于第二阈值,则根据第二坐标转换系数对所述当前时刻的模拟偏移值进行处理,以确定所述目标光标控件的第二偏移值;
根据所述目标光标控件的所述上一位置和所述第二偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置;
其中,所述第二坐标转换系数的大小与所述预设频率负相关,所述第二坐标系转换系数大于所述第一坐标系转换系数。
7.一种光标控件控制方法,其特征在于,包括:
显示目标光标控件;
获取所述目标光标控件在目标设备坐标系中上一时刻的上一位置;
获取所述目标光标控件在所述目标设备坐标系中当前时刻的当前位置,其中所述当前位置通过所述当前时刻目标手柄的目标操作杆在操作杆坐标系中的模拟偏移值和距离所述当前时刻时间最近的所述目标操作杆的真实偏移值确定;
控制所述目标光标控件从所述上一位置移动到所述当前位置;
其中,所述目标光标控件从所述上一位置移动到所述当前位置的移动速度的快慢与所述当前时刻的模拟偏移值的大小正相关。
8.根据权利要求7所述方法,其特征在于,所述目标操作杆在操作杆坐标系中的模拟偏移值为最大模拟偏移值,距离所述当前时刻时间最近的所述目标操作杆的真实偏移值为最大真实偏移值;其中,控制所述目标光标控件从所述上一位置移动到所述当前位置,包括:
控制所述目标光标控件从所述上一位置以最大移动速度移动到所述当前位置。
9.一种光标控件控制装置,其特征在于,包括:
真实偏移值获取模块,配置为从目标手柄获取目标操作杆在操作杆坐标系中的真实偏移值,所述目标手柄用于控制目标设备中的目标光标控件;
模拟偏移值获取模块,配置为根据所述真实偏移值,确定当前时刻所述目标操作杆在所述操作杆坐标系中的模拟偏移值;
当前位置确定模块,配置为根据所述当前时刻的模拟偏移值,确定所述当前时刻所述目标光标控件在目标设备坐标系中的当前位置;
移动模块,配置为将所述当前位置发送给所述目标设备,以控制所述目标光标控件从上一时刻在所述目标设备坐标系中的上一位置移动到所述当前位置;其中,所述目标光标控件从所述上一位置移动到所述当前位置的移动速度的快慢与所述当前时刻的模拟偏移值的大小正相关。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-8中任一项所述的方法。
CN202010506388.8A 2020-06-05 2020-06-05 光标控件控制方法、装置以及相关设备 Active CN111665940B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202010506388.8A CN111665940B (zh) 2020-06-05 2020-06-05 光标控件控制方法、装置以及相关设备
JP2022558170A JP2023521957A (ja) 2020-06-05 2021-05-07 カーソルコントロールユニット制御方法並びにその、装置、電子デバイス、およびコンピュータプログラム
EP21818524.7A EP4033333A4 (en) 2020-06-05 2021-05-07 METHOD AND DEVICE FOR CONTROLLING CURSOR CONTROL AND RELATED DEVICE
PCT/CN2021/092024 WO2021244210A1 (zh) 2020-06-05 2021-05-07 光标控件控制方法、装置以及相关设备
US17/706,392 US20220212102A1 (en) 2020-06-05 2022-03-28 Method and apparatus for controlling cursor control, and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010506388.8A CN111665940B (zh) 2020-06-05 2020-06-05 光标控件控制方法、装置以及相关设备

Publications (2)

Publication Number Publication Date
CN111665940A true CN111665940A (zh) 2020-09-15
CN111665940B CN111665940B (zh) 2021-05-11

Family

ID=72386732

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010506388.8A Active CN111665940B (zh) 2020-06-05 2020-06-05 光标控件控制方法、装置以及相关设备

Country Status (5)

Country Link
US (1) US20220212102A1 (zh)
EP (1) EP4033333A4 (zh)
JP (1) JP2023521957A (zh)
CN (1) CN111665940B (zh)
WO (1) WO2021244210A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799576A (zh) * 2021-02-22 2021-05-14 Vidaa美国公司 一种虚拟鼠标移动的方法及显示设备
WO2021244210A1 (zh) * 2020-06-05 2021-12-09 腾讯科技(深圳)有限公司 光标控件控制方法、装置以及相关设备
CN114840126A (zh) * 2022-05-23 2022-08-02 北京字跳网络技术有限公司 对象控制方法、装置、电子设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060132460A1 (en) * 2004-12-22 2006-06-22 Microsoft Corporation Touch screen accuracy
CN102274635A (zh) * 2011-07-30 2011-12-14 周海涛 一种游戏控制器
CN103049102A (zh) * 2012-10-11 2013-04-17 青岛海信电器股份有限公司 鼠标数据处理装置和鼠标数据处理方法
CN105224193A (zh) * 2015-08-26 2016-01-06 广东欧珀移动通信有限公司 一种智能手表的控制方法及智能手表
CN206649484U (zh) * 2017-04-12 2017-11-17 秦鑫晨 一种基于摇杆控制的鼠标
CN107391005A (zh) * 2017-06-22 2017-11-24 歌尔科技有限公司 控制主机屏幕上光标移动的方法、游戏手柄

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992009982A1 (en) * 1990-11-29 1992-06-11 International Business Machines Corporation Controller for improved computer pointing devices
SE517135C2 (sv) * 2000-09-04 2002-04-16 Ericsson Telefon Ab L M En metod och en elektronisk apparat för positionering av en markör på en display
US7629961B2 (en) * 2004-03-01 2009-12-08 Microsoft Corporation Dynamically adjusting operation of one or more sensors of a computer input device
US7617726B2 (en) * 2005-05-12 2009-11-17 Hunter Engineering Company Method and apparatus for vehicle wheel balancer imbalance correction weight type selection
US8133119B2 (en) * 2008-10-01 2012-03-13 Microsoft Corporation Adaptation for alternate gaming input devices
US8730166B2 (en) * 2011-10-20 2014-05-20 Sony Computer Entertainment, Inc. Multi-sensored control stick for enhanced input sensitivity and funtionality
US9910512B1 (en) * 2014-10-27 2018-03-06 Amazon Technologies, Inc. Systems and methods for using cursor movement profiles
US10543427B2 (en) * 2015-04-29 2020-01-28 Microsoft Technology Licensing, Llc Game controller function remapping via external accessory
CN110851056B (zh) * 2019-11-14 2024-02-27 珠海金山数字网络科技有限公司 一种光标控制方法、装置、计算设备及存储介质
CN111665940B (zh) * 2020-06-05 2021-05-11 腾讯科技(深圳)有限公司 光标控件控制方法、装置以及相关设备
US11756238B2 (en) * 2021-02-11 2023-09-12 Adobe Inc. Node lighting

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060132460A1 (en) * 2004-12-22 2006-06-22 Microsoft Corporation Touch screen accuracy
CN102274635A (zh) * 2011-07-30 2011-12-14 周海涛 一种游戏控制器
CN103049102A (zh) * 2012-10-11 2013-04-17 青岛海信电器股份有限公司 鼠标数据处理装置和鼠标数据处理方法
CN105224193A (zh) * 2015-08-26 2016-01-06 广东欧珀移动通信有限公司 一种智能手表的控制方法及智能手表
CN206649484U (zh) * 2017-04-12 2017-11-17 秦鑫晨 一种基于摇杆控制的鼠标
CN107391005A (zh) * 2017-06-22 2017-11-24 歌尔科技有限公司 控制主机屏幕上光标移动的方法、游戏手柄

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021244210A1 (zh) * 2020-06-05 2021-12-09 腾讯科技(深圳)有限公司 光标控件控制方法、装置以及相关设备
CN112799576A (zh) * 2021-02-22 2021-05-14 Vidaa美国公司 一种虚拟鼠标移动的方法及显示设备
CN112799576B (zh) * 2021-02-22 2024-05-28 Vidaa美国公司 一种虚拟鼠标移动的方法及显示设备
CN114840126A (zh) * 2022-05-23 2022-08-02 北京字跳网络技术有限公司 对象控制方法、装置、电子设备和存储介质
CN114840126B (zh) * 2022-05-23 2024-01-23 北京字跳网络技术有限公司 对象控制方法、装置、电子设备和存储介质

Also Published As

Publication number Publication date
EP4033333A4 (en) 2023-01-04
US20220212102A1 (en) 2022-07-07
EP4033333A1 (en) 2022-07-27
WO2021244210A1 (zh) 2021-12-09
CN111665940B (zh) 2021-05-11
JP2023521957A (ja) 2023-05-26

Similar Documents

Publication Publication Date Title
CN111665940B (zh) 光标控件控制方法、装置以及相关设备
EP4192015A1 (en) Video encoding method, video decoding method, apparatus, electronic device, storage medium, and computer program product
US20180191868A1 (en) Method and System for Downloading Multiple Resolutions Bitrate for Virtual Reality (VR) Video Streaming Optimization
US9455931B2 (en) Load balancing between processors
CN112051961A (zh) 虚拟交互方法、装置、电子设备及计算机可读存储介质
CN114494328B (zh) 图像显示方法、装置、电子设备及存储介质
CN112672185A (zh) 基于增强现实的显示方法、装置、设备及存储介质
CN111790148A (zh) 游戏场景中的信息交互方法、设备及计算机可读介质
US9948691B2 (en) Reducing input processing latency for remotely executed applications
US9497238B1 (en) Application control translation
CN114900625A (zh) 虚拟现实空间的字幕渲染方法、装置、设备及介质
WO2024027611A1 (zh) 视频直播方法、装置、电子设备以及存储介质
CN110975277B (zh) 增强现实游戏中信息处理的方法及装置、介质及电子设备
EP4344234A1 (en) Live broadcast room presentation method and apparatus, and electronic device and storage medium
CN113730905A (zh) 一种在虚拟空间中实现自由游走的方法及其装置
CN113469877B (zh) 物体展示方法、场景展示方法、设备和计算机可读介质
CN114840126B (zh) 对象控制方法、装置、电子设备和存储介质
CN111324404B (zh) 信息获取进度的显示方法、装置、电子设备及可读介质
CN111277886B (zh) 全景视频的视场控制方法、装置、电子设备及存储介质
CN110047520B (zh) 音频播放的控制方法、装置、电子设备和计算机可读存储介质
CN117599414A (zh) 云游戏触控操作的控制方法、控制装置、存储介质及系统
CN115840612A (zh) 交互控件展示方法、交互控件展示装置、存储介质及设备
CN117950547A (zh) 显示方法、装置、设备、存储介质和程序产品
CN116342785A (zh) 一种图像处理方法、装置、设备及介质
CN116228952A (zh) 一种虚拟对象挂载方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40028591

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant