CN109271017B - iOS系统中陀螺仪事件的控制方法及装置 - Google Patents
iOS系统中陀螺仪事件的控制方法及装置 Download PDFInfo
- Publication number
- CN109271017B CN109271017B CN201810752259.XA CN201810752259A CN109271017B CN 109271017 B CN109271017 B CN 109271017B CN 201810752259 A CN201810752259 A CN 201810752259A CN 109271017 B CN109271017 B CN 109271017B
- Authority
- CN
- China
- Prior art keywords
- gyroscope
- data
- peripheral
- event
- interface
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/211—Input arrangements for video game devices characterised by their sensors, purposes or types using inertial sensors, e.g. accelerometers or gyroscopes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/10—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
- A63F2300/105—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals using inertial sensors, e.g. accelerometers, gyroscopes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Position Input By Displaying (AREA)
- Gyroscopes (AREA)
Abstract
本发明公开了一种iOS系统中陀螺仪事件的控制方法,包括以下步骤:外设数据获取步骤:与外设连接并获取外设的原始数据;转换步骤:监听正在运行的应用是否调用陀螺仪接口,若是,则根据该陀螺仪接口与外设的原始数据生成陀螺仪事件;调用步骤:正在运行的应用调用该陀螺仪事件执行相应的陀螺仪操作。本发明实现通过外设对应用的陀螺仪控制,使得其控制精准度提高、转动范围提高。本发明还提供了一种电子设备和存储介质。
Description
技术领域
本发明涉及移动设备中陀螺仪事件的控制,尤其涉及一种iOS系统中通过外设对移动设备内的各种应用的陀螺仪事件的控制方法、电子设备及存储介质。
背景技术
目前,当今陀螺仪的应用非常广泛,主要集中在科技产品,如手机游戏传感器、导航、AR技术等。而我们最为熟悉的莫过于在手机游戏或手机APP中的应用,当开启陀螺仪功能时,陀螺仪会完整监测手机的旋转方向等数据的变化,手游在根据该陀螺仪的数据做出相应的动作调整,从而实现控制游戏人物转向,跳转页面等操作。但是目前控制陀螺仪数据的操作方式大多是通过旋转带陀螺仪的设备,该操作方式存在以下缺陷:
(1)精准度低:人手每次旋转设备的范围在3°以上,难以实现精准操作;
(2)转动范围小:人手旋转设备横向或纵向的范围在-45°~45°之间,难以达到360°的全范围。
发明内容
为了克服现有技术的不足,本发明的目的之一在于提供一种iOS系统中陀螺仪事件的控制方法,其能够解决现有技术中通过外设不能操作手游或对于陀螺仪事件的控制不够精准、控制范围小等问题。
本发明的目的之二在于一种电子设备,其能够解决现有技术中通过外设不能操作手游或对于陀螺仪事件的控制不够精准、控制范围小等问题。
本发明的目的之三在于一种计算机可读存储介质,其能够能够解决现有技术中通过外设不能操作手游或对于陀螺仪事件的控制不够精准、控制范围小等问题。
本发明的目的之一采用如下技术方案实现:
一种iOS系统中陀螺仪事件的控制方法,包括以下步骤:
外设数据获取步骤:与外设连接并获取外设的原始数据;
转换步骤:监听正在运行的应用是否调用陀螺仪接口,若是,则根据该陀螺仪接口与外设的原始数据生成陀螺仪事件;
调用步骤:正在运行的应用调用该陀螺仪事件中的陀螺仪参数执行相应的陀螺仪操作。
进一步地,还包括解析步骤:将外设的原始数据解析成陀螺仪数据;
所述根据外设的原始数据生成陀螺仪事件具体为:根据陀螺仪接口获取陀螺仪参数,并将该陀螺仪参数替换为陀螺仪数据,进而生成陀螺仪事件。
进一步地,与外设的连接方式为蓝牙连接。
进一步地,所述应用为游戏应用。
本发明的目的之二采用如下技术方案实现:
一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
外设数据获取步骤:与外设连接并获取外设的原始数据;
转换步骤:监听正在运行的应用是否调用陀螺仪接口,若是,则根据该陀螺仪接口与外设的原始数据生成陀螺仪事件;
调用步骤:正在运行的应用调用该陀螺仪事件中陀螺仪数据执行相应的陀螺仪操作。
进一步地,所述处理器执行所述程序时还实现以下步骤:解析步骤:将外设的原始数据解析成陀螺仪数据;
所述根据外设的原始数据生成陀螺仪事件具体为:根据陀螺仪接口获取陀螺仪参数,并将该陀螺仪参数替换为陀螺仪数据,进而生成陀螺仪事件。
进一步地,与外设的连接方式为蓝牙连接。
进一步地,所述应用为游戏应用。
本发明的目的之三采用如下技术方案实现:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如本发明目的之一所采用的iOS系统中陀螺仪事件的控制方法的步骤。
相比现有技术,本发明的有益效果在于:
本发明通过监听运行中的应用在调用陀螺仪接口的同时,将系统中的陀螺仪事件中的陀螺仪参数替换为接收的外部设备的数据,进而可实现通过外设对应用的陀螺仪事件的操作控制。
附图说明
图1为本发明提供的iOS系统的陀螺仪事件的控制系统模块图;
图2为本发明提供的iOS系统的陀螺仪事件的控制方法流程图。
具体实施方式
下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。
为了解决上述缺陷,本发明提供了一种iOS系统中陀螺仪事件的控制系统,如图1所示,通过移动设备与外设,比如键盘、鼠标、手柄等进行连接,并接收外设的数据,比如通过蓝牙连接的方式接收外设的数据,同时获取应用运行时调用的陀螺仪接口,然后将根据该陀螺仪接口将系统中的陀螺仪参数替换为外设的数据,这样当应用在运行时来调用陀螺仪接口并读取器陀螺仪参数就替换为了外设的数据,可实现通过外设对应用进行陀螺仪事件的操作控制。另外,在替换时,比如通过蓝牙连接所接收的数据时,其接收的数据并不一定为陀螺仪接口所识别的数据,因此可先将接收的外设的数据转换为陀螺仪数据,然后将陀螺仪参数替换为陀螺仪数据。
另外,在替换陀螺仪数据时,是利用Runtime机制来实现的,也即是说在游戏运行过程中为了实现陀螺仪事件的操作控制时,正常情况下是通过调用陀螺仪接口来获取系统自身所拥有的陀螺仪参数;而为了实现通过外设来控制应用的陀螺仪操作,可通过将系统中的陀螺仪参数替换为接收的外设的数据,这样游戏在运行中通过陀螺仪接口所读取的陀螺仪数据就变为外设的数据,实现外设通过应用的操作。其中Runtime机制,又称运行时机制,其应用程序在运行时管理方法调用的一种机制。程序(如游戏APP)在真正运行的时候才会根据函数的名称找到对应的函数来调用。本方案就是利用这个机制在程序运行时拦截获取陀螺仪数据的方法并将陀螺仪数据替换为外设的数据,来实现外设对应用的控制操作。
本发明还提供了一种iOS系统中陀螺仪事件的控制方法,其包括以下步骤:
S1:与外设连接并获取外设的原始数据。
通过无线的方式连接到外部设备,比如通过蓝牙连接外部的鼠标、手柄以及其他移动设备等。
S2:将外设的原始数据解析成陀螺仪数据。
由于与外设的连接方式不同,因此其接收到的外设的数据不可能全是陀螺仪的数据,而且数据类型可能也不同,因此为了保证得到陀螺仪数据时,首先需要对接收到的外设的原始数据进行解析处理,将其陀螺仪数据解析出来。
另外,还可通过本发明来设置陀螺仪转动的灵敏度,比如通过接收鼠标移动的灵敏度数据,然后将多个外设所发送的数据进行解析、整合处理进而可得出应用能够识别的陀螺仪数据。
比如接收到的鼠标的原始数据包括坐标系下的X轴的旋转速率、Y轴的旋转速率以及Z轴的旋转速率,然后将解析为陀螺仪数据,X轴、Y轴以及Z轴的坐标值等。然后通过外接鼠标等输入的灵敏度数据。在解析转换时,将鼠标输入的灵敏度数据与鼠标的原始数据进行结合,进而可得出相应的陀螺仪数据。由于加入了灵敏度的设置,可提高应用的陀螺仪操作的精准度。
另外,在解析的过程中,还会涉及到数据类型的转换。比如蓝牙连接时,通过接口得到NSData类型的蓝牙数据,然后根据该蓝牙数据可得到鼠标的位移数据,最后将鼠标的位移数据转换成signed short类型的数据,来完成数据类型的转换。
S3:监听正在运行的应用是否调用陀螺仪接口,若是,则执行S4。
S4:根据该陀螺仪接口获取陀螺仪参数,并将陀螺仪参数替换为陀螺仪数据,进而生成相应的陀螺仪事件。
S5:正在运行的应用调用该陀螺仪事件中的陀螺仪数据执行相应的陀螺仪操作,也即是实现了通过外设对该应用的陀螺仪事件的控制。
也即是说,正常情况下,当正在运行的应用需要对陀螺仪事件进行操作控制时,会通过调用陀螺仪接口来获取相应的陀螺仪参数,进而实现对陀螺仪事件的操作控制。本发明中的应用可以是支持陀螺仪操作的游戏应用,也可以是其他支持陀螺仪操作的应用,均可通过本发明来实现通过外设对应用的陀螺仪的控制操作。
比如当应用运行时,人们用手来操作移动设备,系统就会通过移动设备自身所带的陀螺仪传感器来得到人们转动移动设备时的陀螺仪数据并将其写入到相应的陀螺仪接口中,这样应用就可以通过陀螺仪接口来获取相应的陀螺仪数据,实现通过移动设备对应用的陀螺仪操作。
而本发明中为了实现通过外设来对应用的陀螺仪操作进行控制时,是通过监听应用是否调用了陀螺仪接口,若是,则将陀螺仪接口中的陀螺仪数据替换为外设的数据,这样应用获取的陀螺仪数据就是外设的数据,也即是实现了通过外设来对应用的陀螺仪控制。
也即是本发明利用运行时机制直接将应用所调用的陀螺仪接口来获取的陀螺仪参数替换为接收的外设的原始数据,进而实现通过外设来对应用的操作控制。
另外,本发明还提供了对于监听陀螺仪数据的变化并替换数据的过程通过代码具体实现:
A1:创建一个手机动作的管理器。该管理器负责管理手机的自转速率、加速度、重力和陀螺仪的自转速率等运动数据。
self.motionManager=[[CMMotionManager alloc]init];
A2:设置我们获取陀螺仪数据的频率设为0.01秒一次,以实现精准操作。self.motionManager.deviceMotionUpdateInterval=0.01;
A3:启动陀螺仪数据的更新操作。
[self.motionManager startDeviceMotionUpdates];
A4:监测该陀螺仪数据的变化,并拿到陀螺仪数据。该陀螺仪数据包含x、y、z这3个参数,分别代表陀螺仪的X轴、Y轴和Z轴的旋转速率。(X轴指左/右方向,Y轴指上/下方向,Z轴指前/后方向)。
[self.motionManager startDeviceMotionUpdatesToQueue:[NSOperationQueuemainQueue]withHandler:^(CMDeviceMotion*_Nullable motion,NSError*_Nullableerror){}];
A5:利用Runtime机制,在程序(如游戏App)运行的时候将陀螺仪数据替换为陀螺仪数据任意一个方法。
相对于晃动移动设备本身的操作方式来说,使用外设控制陀螺仪的操作,无需长时间握持设备,操作更简单更轻松,大大提升使用陀螺仪的体验性;同时,可快速模拟陀螺仪旋转360°的数据,实现更为精准的操作。
本发明还提供了一种电子设备,其包括存储器、处理器以及存储在存储器上并可在处理上运行的计算机程序,所述处理器执行所述程序时实现如文中所述的iOS系统中陀螺仪事件的控制方法的步骤。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如文中所述的iOS系统中陀螺仪事件的控制方法的步骤。
上述实施方式仅为本发明的优选实施方式,不能以此来限定本发明保护的范围,本领域的技术人员在本发明的基础上所做的任何非实质性的变化及替换均属于本发明所要求保护的范围。
Claims (7)
1.一种iOS系统中陀螺仪事件的控制方法,其特征在于:包括以下步骤:
外设数据获取步骤:与外设连接并获取外设的原始数据;
解析步骤:将外设的原始数据解析成陀螺仪数据;
转换步骤:监听正在运行的应用是否调用陀螺仪接口,若是,则根据陀螺仪接口获取陀螺仪参数,并将该陀螺仪参数替换为陀螺仪数据,进而生成陀螺仪事件;
调用步骤:正在运行的应用调用该陀螺仪事件中的陀螺仪数据执行相应的陀螺仪操作。
2.如权利要求1所述的控制方法,其特征在于:与外设的连接方式为蓝牙连接。
3.如权利要求1所述的控制方法,其特征在于:所述应用为游戏应用。
4.一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于:所述处理器执行所述程序时实现以下步骤:
外设数据获取步骤:与外设连接并获取外设的原始数据;
解析步骤:将外设的原始数据解析成陀螺仪数据;
转换步骤:监听正在运行的应用是否调用陀螺仪接口,若是,则根据陀螺仪接口获取陀螺仪参数,并将该陀螺仪参数替换为陀螺仪数据,进而生成陀螺仪事件;
调用步骤:正在运行的应用调用该陀螺仪事件中的陀螺仪数据执行相应的陀螺仪操作。
5.如权利要求4所述的电子设备,其特征在于:与外设的连接方式为蓝牙连接。
6.如权利要求4所述的电子设备,其特征在于:所述应用为游戏应用。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-3中任一项所述的iOS系统中陀螺仪事件的控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810752259.XA CN109271017B (zh) | 2018-07-10 | 2018-07-10 | iOS系统中陀螺仪事件的控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810752259.XA CN109271017B (zh) | 2018-07-10 | 2018-07-10 | iOS系统中陀螺仪事件的控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109271017A CN109271017A (zh) | 2019-01-25 |
CN109271017B true CN109271017B (zh) | 2023-06-09 |
Family
ID=65152819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810752259.XA Active CN109271017B (zh) | 2018-07-10 | 2018-07-10 | iOS系统中陀螺仪事件的控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109271017B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103185573A (zh) * | 2011-12-30 | 2013-07-03 | 百度在线网络技术(北京)有限公司 | 一种模拟器三轴陀螺仪感应数据获取方法及装置 |
CN106683367A (zh) * | 2015-11-05 | 2017-05-17 | 都江堰乔可欣科技有限公司 | 多功能蓝牙遥控器 |
CN107390867A (zh) * | 2017-07-12 | 2017-11-24 | 武汉大学 | 一种基于安卓手表的人机交互系统 |
CN107678568A (zh) * | 2017-09-08 | 2018-02-09 | 福建天泉教育科技有限公司 | 一种通过移动终端模拟激光笔的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100039381A1 (en) * | 2008-08-12 | 2010-02-18 | Apple Inc. | Rotatable input device |
-
2018
- 2018-07-10 CN CN201810752259.XA patent/CN109271017B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103185573A (zh) * | 2011-12-30 | 2013-07-03 | 百度在线网络技术(北京)有限公司 | 一种模拟器三轴陀螺仪感应数据获取方法及装置 |
CN106683367A (zh) * | 2015-11-05 | 2017-05-17 | 都江堰乔可欣科技有限公司 | 多功能蓝牙遥控器 |
CN107390867A (zh) * | 2017-07-12 | 2017-11-24 | 武汉大学 | 一种基于安卓手表的人机交互系统 |
CN107678568A (zh) * | 2017-09-08 | 2018-02-09 | 福建天泉教育科技有限公司 | 一种通过移动终端模拟激光笔的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109271017A (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111935380B (zh) | 电子装置 | |
KR102373451B1 (ko) | 동적으로 구성가능한 애플리케이션 제어 요소들 | |
US10831512B2 (en) | Capturing user interactions | |
CN107870666B (zh) | 一种终端控制方法及终端 | |
JP6684778B2 (ja) | ユーザセッション間にわたる操作のアンドゥサポートを用いた自動保存 | |
US9389706B2 (en) | Method and system for mouse control over multiple screens | |
KR102608782B1 (ko) | 이미지에서 전자 장치의 흔들림 영향을 보정하기 위한 방법 및 장치 | |
CN111688580B (zh) | 智能后视镜进行拾音的方法以及装置 | |
KR102476103B1 (ko) | 공유 컨텐츠 운용 방법 및 이를 지원하는 전자 장치 | |
CN105786546B (zh) | 一种应用程序的卸载方法及装置 | |
CN108362310B (zh) | 地磁精确度的确定方法、装置、存储介质及终端 | |
US20180253161A1 (en) | Spatial motion-based user interactivity | |
CN113291294B (zh) | 车辆的横向控制方法、装置及车辆 | |
CN106339070A (zh) | 一种显示控制方法,及移动终端 | |
CN111355888A (zh) | 视频拍摄方法、装置、存储介质以及终端 | |
JP2017530350A (ja) | 要求されたセンサ特性に基づく自動センサ選択 | |
CA2965283A1 (en) | Systems and methods of subject state change notification | |
CN109271017B (zh) | iOS系统中陀螺仪事件的控制方法及装置 | |
CN106775093A (zh) | 一种触屏操作控制方法与装置 | |
KR20160111268A (ko) | 모션 인식 서비스 제공 방법 및 그 전자 장치 | |
CN108124054A (zh) | 基于握持传感器的感测信号显示用户界面的设备 | |
CN112087725A (zh) | 推送消息展示方法、装置以及存储介质 | |
CN112769777A (zh) | 基于云平台的数据整合方法、装置及电子设备 | |
CN114237409A (zh) | 陀螺鼠标数据处理方法、装置、系统和设备 | |
CN108683807B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |