CN105468279B - 触屏操作识别和响应方法、装置及游戏操控方法、装置 - Google Patents

触屏操作识别和响应方法、装置及游戏操控方法、装置 Download PDF

Info

Publication number
CN105468279B
CN105468279B CN201510751921.6A CN201510751921A CN105468279B CN 105468279 B CN105468279 B CN 105468279B CN 201510751921 A CN201510751921 A CN 201510751921A CN 105468279 B CN105468279 B CN 105468279B
Authority
CN
China
Prior art keywords
user
touch control
control operation
duration
threshold value
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
Application number
CN201510751921.6A
Other languages
English (en)
Other versions
CN105468279A (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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201510751921.6A priority Critical patent/CN105468279B/zh
Publication of CN105468279A publication Critical patent/CN105468279A/zh
Application granted granted Critical
Publication of CN105468279B publication Critical patent/CN105468279B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

本发明公开了一种触屏操作识别方法,包括:响应于用户在触摸屏上的触控操作,开始记录用户的操作时长;当操作时长达到时长阈值时,获取第一操作距离;若第一操作距离大于距离阈值,判定触控操作为拖拽操作;若第一操作距离小于距离阈值,判定触控操作为长按操作;当操作时长小于时长阈值而响应于用户的触控操作结束时,获取第二操作距离;若第二操作距离大于距离阈值,判定触控操作为划屏操作;若第二操作距离小于距离阈值,判定触控操作为点击操作。采用本发明实施例,能够有效的区分点击、长按、划屏和拖拽操作,从而快速、准确地识别出用户的触控操作。本发明实施例还提供了触屏操作响应方法与游戏操控方法。

Description

触屏操作识别和响应方法、装置及游戏操控方法、装置
技术领域
本发明涉及触屏技术领域,尤其涉及一种触屏操作识别和响应方法、装置、基于虚拟按键的触屏操作识别和响应方法、装置及游戏操控方法、装置。
背景技术
随着当前触屏越来越普及,人们在使用电子产品时的操作习惯已由过去物理按键转变为触屏方式。触屏按键通过屏幕上接收的用户手指在屏幕上的行为来获得用户意图,以指导后续程序的运行方式。
触控操作元模式包括点击、长按、划屏、拖拽,其他的操作均由这几种元操作组合而成。然而,由于这些操作具有一定的相似性,用户极容易误操作或未达到操作的要求而造成未响应,操作的响应率大大下降,误操作率大大升高,特别是当用户的误操作使得程序按照错误的指令执行时,程序不但不能满足用户的需求,而且往往还会需要用户提供额外的操作以恢复之前的状况,这是一种极为不好的体验,大大降低了效率,同时浪费了用户的时间。
发明内容
本发明的目的是提出一种触屏操作识别和响应方法、装置及游戏操控方法、装置,能够有效的区分点击、长按、划屏和拖拽操作,从而快速、准确地识别出用户的触控操作,并根据识别结果执行相应的响应事件或响应相应的游戏动作。
为了达到上述的目的,本发明实施例提供一种触屏操作识别方法,包括:
响应于用户在触摸屏上的触控操作,开始记录用户的操作时长;
当所述操作时长达到时长阈值时,获取第一操作距离;
若所述第一操作距离大于距离阈值,判定所述触控操作为拖拽操作;若所述第一操作距离小于距离阈值,判定所述触控操作为长按操作;
当所述操作时长小于时长阈值而响应于用户的所述触控操作结束时,获取第二操作距离;
若所述第二操作距离大于距离阈值,判定所述触控操作为划屏操作;若所述第二操作距离小于距离阈值,判定所述触控操作为点击操作;
其中,所述第一操作距离是指当操作时长为所述时长阈值时触控操作的操作距离;所述第二操作距离是指当操作时长小于时长阈值而响应于用户的所述触控操作结束时触控操作的操作距离;所述时长阈值和距离阈值为预设值;
所述触屏操作识别方法还包括:
在响应于用户在触摸屏上的所述触控操作时,还获取所述触控操作在所述触摸屏上的初始位置;
根据预先生成的用户灵敏度图,获得所述初始位置的灵敏度值;其中,所述灵敏度图与所述触摸屏上的位置一一对应,且所述灵敏度图上的每一位置存储对应的灵敏度值,所述灵敏度值包括所述时长阈值。
本发明另一实施例提供了一种触屏操作响应方法,包括步骤:
利用如上所述的触屏操作识别方法对用户的触控操作进行识别,得到判定结果;
根据所述判定结果,执行相应的响应事件。
本发明又一实施例提供了一种游戏操控方法,包括如上所述的触屏操作识别方法的步骤,以及
根据所述触屏操作识别方法对触控操作的判定结果,响应相应的游戏动作。
本发明又一实施例提供了一种触屏操作响应方法,包括步骤:
响应于用户在触摸屏上的初次触控操作,开始记录用户的初次操作时长;
当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时,获取第一操作距离;
若所述第一操作距离大于距离阈值,判定所述初次触控操作为拖拽操作;若所述第一操作距离小于距离阈值,判定所述初次触控操作为长按操作;
当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时,获取第二操作距离;
若所述第二操作距离大于距离阈值,判定所述初次触控操作为划屏操作;若所述第二操作距离小于距离阈值,判定所述初次触控操作为点击操作;
若在响应于用户的所述初次触控操作结束后的时间间隔阈值内,响应于用户在触摸屏上的二次触控操作,则开始记录用户的二次操作时长;
当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时,获取第三操作距离;
若所述第三操作距离大于距离阈值,判定所述二次触控操作为拖拽操作;若所述第三操作距离小于距离阈值,判定所述二次触控操作为长按操作;
当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时,获取第四操作距离;
若所述第四操作距离大于距离阈值,判定所述二次触控操作为划屏操作;若所述第四操作距离小于距离阈值,判定所述二次触控操作为点击操作;
结合所述初次触控操作和二次触控操作的判定结果,执行相应的响应事件;
其中,所述第一操作距离是指当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第二操作距离是指当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第三操作距离是指当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述第四操作距离是指当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述时长阈值、距离阈值和时间间隔阈值为预设值;
所述触屏操作响应方法还包括:
在响应于用户在触摸屏上的所述触控操作时,还获取所述触控操作在所述触摸屏上的初始位置;
根据预先生成的用户灵敏度图,获得所述初始位置的灵敏度值;其中,所述灵敏度图与所述触摸屏上的位置一一对应,且所述灵敏度图上的每一位置存储对应的灵敏度值,所述灵敏度值包括所述时长阈值。
本发明又一实施例提供了一种触屏操作识别装置,包括:
操作时长记录模块,用于响应于用户在触摸屏上的触控操作,开始记录用户的操作时长;
第一操作距离获取模块,用于当所述操作时长达到时长阈值时,获取第一操作距离;
第一判定模块,用于若所述第一操作距离大于距离阈值,判定所述触控操作为拖拽操作;若所述第一操作距离小于距离阈值,判定所述触控操作为长按操作;
第二操作距离获取模块,用于当所述操作时长小于时长阈值而响应于用户的所述触控操作结束时,获取第二操作距离;
第二判定模块,用于若所述第二操作距离大于距离阈值,判定所述触控操作为划屏操作;若所述第二操作距离小于距离阈值,判定所述触控操作为点击操作;
其中,所述第一操作距离是指当操作时长为所述时长阈值时触控操作的操作距离;所述第二操作距离是指当操作时长小于时长阈值而响应于用户的所述触控操作结束时触控操作的操作距离;所述时长阈值和距离阈值为预设值;
所述触屏操作识别装置还包括:
初始位置获取模块,用于响应于用户在触摸屏上的所述触控操作,获取所述触控操作在所述触摸屏上的初始位置;
灵敏度值确定模块,用于根据预先生成的用户灵敏度图,获得所述初始位置的灵敏度值;其中,所述灵敏度图与所述触摸屏上的位置一一对应,且所述灵敏度图上的每一位置存储对应的灵敏度值,所述灵敏度值包括所述时长阈值。
本发明又一实施例提供了一种触屏操作响应装置,包括:
利用如上所述的触屏操作识别装置,用于对用户的触控操作进行识别,得到判定结果;
响应模块,用于根据所述判定结果,执行相应的响应事件。
本发明又一实施例提供了一种游戏操控装置,包括如上所述的触屏操作识别装置以及游戏动作响应模块;
所述游戏动作响应模块用于根据所述触屏操作识别方法对触控操作的判定结果,响应相应的游戏动作。
本发明又一实施例提供了一种触屏操作响应装置,包括:
初次操作时长记录模块,用于响应于用户在触摸屏上的初次触控操作,开始记录用户的初次操作时长;
第一操作距离获取模块,用于当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时,获取第一操作距离;
第一判定模块,用于若所述第一操作距离大于距离阈值,判定所述初次触控操作为拖拽操作;若所述第一操作距离小于距离阈值,判定所述初次触控操作为长按操作;
第二操作距离获取模块,用于当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时,获取第二操作距离;
第二判定模块,用于若所述第二操作距离大于距离阈值,判定所述初次触控操作为划屏操作;若所述第二操作距离小于距离阈值,判定所述初次触控操作为点击操作;
二次操作时长记录模块,用于若在响应于用户的所述初次触控操作结束后的时间间隔阈值内,响应于用户在触摸屏上的二次触控操作,则开始记录用户的二次操作时长;
第三操作距离获取模块,用于当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时,获取第三操作距离;
第三判定模块,用于若所述第三操作距离大于距离阈值,判定所述二次触控操作为拖拽操作;若所述第三操作距离小于距离阈值,判定所述二次触控操作为长按操作;
第四操作距离获取模块,用于当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时,获取第四操作距离;
第四判定模块,用于若所述第四操作距离大于距离阈值,判定所述二次触控操作为划屏操作;若所述第四操作距离小于距离阈值,判定所述二次触控操作为点击操作;
响应模块,用于结合所述初次触控操作和二次触控操作的判定结果,执行相应的响应事件;
其中,所述第一操作距离是指当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第二操作距离是指当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第三操作距离是指当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述第四操作距离是指当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述时长阈值、距离阈值和时间间隔阈值为预设值;
所述触屏操作响应装置还包括:
初始位置获取模块,用于响应于用户在触摸屏上的所述触控操作,获取所述触控操作在所述触摸屏上的初始位置;
灵敏度值确定模块,用于根据预先生成的用户灵敏度图,获得所述初始位置的灵敏度值;其中,所述灵敏度图与所述触摸屏上的位置一一对应,且所述灵敏度图上的每一位置存储对应的灵敏度值,所述灵敏度值包括所述时长阈值。
本发明又一实施例提供了一种游戏操控方法,包括:
响应于用户在触摸屏上的初次触控操作,开始记录用户的初次操作时长;
当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时,获取第一操作距离;
若所述第一操作距离大于距离阈值,判定所述初次触控操作为拖拽操作;若所述第一操作距离小于距离阈值,判定所述初次触控操作为长按操作;
当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时,获取第二操作距离;
若所述第二操作距离大于距离阈值,判定所述初次触控操作为划屏操作;若所述第二操作距离小于距离阈值,判定所述初次触控操作为点击操作;
若在响应于用户的所述初次触控操作结束后的时间间隔阈值内,响应于用户在触摸屏上的二次触控操作,则开始记录用户的二次操作时长;
当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时,获取第三操作距离;
若所述第三操作距离大于距离阈值,判定所述二次触控操作为拖拽操作;若所述第三操作距离小于距离阈值,判定所述二次触控操作为长按操作;
当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时,获取第四操作距离;
若所述第四操作距离大于距离阈值,判定所述二次触控操作为划屏操作;若所述第四操作距离小于距离阈值,判定所述二次触控操作为点击操作;
结合所述初次触控操作和二次触控操作的判定结果,响应相应的游戏动作;
其中,所述第一操作距离是指当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第二操作距离是指当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第三操作距离是指当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述第四操作距离是指当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述时长阈值、距离阈值和时间间隔阈值为预设值;
所述游戏操控方法还包括:
在响应于用户在触摸屏上的所述触控操作时,还获取所述触控操作在所述触摸屏上的初始位置;
根据预先生成的用户灵敏度图,获得所述初始位置的灵敏度值;其中,所述灵敏度图与所述触摸屏上的位置一一对应,且所述灵敏度图上的每一位置存储对应的灵敏度值,所述灵敏度值包括所述时长阈值。
本发明又一实施例提供了一种游戏操控装置,包括:
初次操作时长记录模块,用于响应于用户在触摸屏上的初次触控操作,开始记录用户的初次操作时长;
第一操作距离获取模块,用于当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时,获取第一操作距离;
第一判定模块,用于若所述第一操作距离大于距离阈值,判定所述初次触控操作为拖拽操作;若所述第一操作距离小于距离阈值,判定所述初次触控操作为长按操作;
第二操作距离获取模块,用于当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时,获取第二操作距离;
第二判定模块,用于若所述第二操作距离大于距离阈值,判定所述初次触控操作为划屏操作;若所述第二操作距离小于距离阈值,判定所述初次触控操作为点击操作;
二次操作时长记录模块,用于若在响应于用户的所述初次触控操作结束后的时间间隔阈值内,响应于用户在触摸屏上的二次触控操作,则开始记录用户的二次操作时长;
第三操作距离获取模块,用于当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时,获取第三操作距离;
第三判定模块,用于若所述第三操作距离大于距离阈值,判定所述二次触控操作为拖拽操作;若所述第三操作距离小于距离阈值,判定所述二次触控操作为长按操作;
第四操作距离获取模块,用于当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时,获取第四操作距离;
第四判定模块,用于若所述第四操作距离大于距离阈值,判定所述二次触控操作为划屏操作;若所述第四操作距离小于距离阈值,判定所述二次触控操作为点击操作;
响应模块,用于结合所述初次触控操作和二次触控操作的判定结果,响应相应的游戏动作;
其中,所述第一操作距离是指当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第二操作距离是指当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第三操作距离是指当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述第四操作距离是指当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述时长阈值、距离阈值和时间间隔阈值为预设值;
所述游戏操控装置还包括:
初始位置获取模块,用于响应于用户在触摸屏上的所述触控操作,获取所述触控操作在所述触摸屏上的初始位置;
灵敏度值确定模块,用于根据预先生成的用户灵敏度图,获得所述初始位置的灵敏度值;其中,所述灵敏度图与所述触摸屏上的位置一一对应,且所述灵敏度图上的每一位置存储对应的灵敏度值,所述灵敏度值包括所述时长阈值。
实施本发明实施例,具有如下有益效果:
本发明实施例提供的一种触屏操作识别和响应方法、装置及游戏操控方法、装置,首先通过将操作时长与时长阈值比较来首先区分长按、拖拽与点击、划屏这两类操作,即,长按、拖拽操作的操作时长大于该时长阈值,而点击、划屏操作的操作时长小于该时长阈值;然后,通过将操作距离与距离阈值来区分长按与拖拽操作以及区分点击与划屏操作,即,在操作时长内,若操作距离大于该距离阈值的判定为拖拽或划屏操作,若操作距离小于该距离阈值的判定为长按或点击操作,从而可以快速、准确地识别出触控操作是点击、长按、拖拽或是划屏操作,并根据识别结果执行相应的响应事件或响应相应的游戏动作,从而提高响应的速度和准确度。
附图说明
图1是本发明人通过测试统计得到的点击、长按、滑动、拖拽操作过程中移动距离-时间对比图。
图2是本发明提供的触屏操作识别方法的实施例1的流程示意图。
图3是本发明提供的触屏操作识别方法的实施例2的流程示意图。
图4是本发明实施例2中发明人通过测试统计得到的点击、长按、滑动、拖拽操作过程中移动距离-时间-压力对比图。
图5是本发明提供的触屏操作识别方法的实施例3的流程示意图。
图6是本发明实施例3中的灵敏度图,该图显示了利用矩形网格计算其他位置灵敏度的关键点位置。
图7是本发明实施例3中的灵敏度图,该图显示了利用三角形网格计算其他位置的关键点位置。
图8是本发明实施例3中利用三角形网格计算其他位置灵敏度的示意图。
图9是本发明提供的触屏操作识别方法的实施例4的流程示意图。
图10是本发明提供的触屏操作识别方法的实施例5的流程示意图。
图11a~11b是本发明实施例5中用户手持触摸屏的两种姿势的示意图。
图12是本发明提供的触屏操作识别方法的实施例6的流程示意图。
图13是本发明提供的触屏操作识别方法的实施例7的流程示意图。
图14a~14b是本发明实施例7中用户分别基于四个、八个关键方向而多次输入的实际角度值的统计示意图。
图15是本发明实施例7中用户输入关键方向数据的统计直方图。
图16是本发明实施例7中用户分别基于八个关键方向而多次输入的实际角度值的正态分布示意图。
图17是本发明实施例7中相邻的两个关键方向输入的正态分布图。
图18是本发明实施例7中利用线性插值函数和三次样条插值函数计算偏差角度的对比示意图。
图19a~19b是本发明实施例7中根据四个、八个关键方向的偏差角度利用插值函数计算得到的全方向的偏差角度值示意图。
图20是本发明实施例8提供的触屏操作响应方法的流程示意图。
图21是本发明实施例9提供的触屏操作识别装置的结构框图。
图22是本发明实施例10提供的触屏操作识别装置的结构框图。
图23是本发明实施例11提供的触屏操作识别装置的结构框图。
图24是本发明实施例12提供的触屏操作识别装置的结构框图。
图25是本发明实施例13提供的触屏操作识别装置的结构框图。
图26是本发明实施例14提供的触屏操作识别装置的结构框图。
图27是本发明实施例15提供的触屏操作识别装置的结构框图。
图28是本发明实施例16提供的触屏操作响应装置的结构框图。
图29是本发明实施例17提供的游戏操控方法的流程示意图。
图30是本发明实施例18提供的游戏操控装置的结构框图。
图31是本发明实施例19提供的触屏操作响应方法的流程示意图。
图32是本发明实施例20提供的触屏操作响应装置的结构框图。
图33是本发明实施例21提供的游戏操控方法的流程示意图。
图34是本发明实施例22提供的游戏操控装置的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
触控操作元模式包括点击、长按、划屏、拖拽,其他的操作均由这几种元操作组合而成。当用户在屏幕上操作时,任意的操作均是时间和空间两个维度的变化,从时间维度来说:操作是快速还是慢速,从空间维度来说:操作是静止还是运动。通过时间和空间维度的组合,可以形成四个基本的元操作。在时间维度上是快速的且在空间维度上是静止的操作,则认为是点击操作;在时间维度上是快速的且在空间维度上是运动的操作,则认为是划屏操作;在时间维度上是慢速的且在空间维度上是静止的操作,则认为是长按操作;在时间维度上是慢速的且在空间维度上是运动的操作,则认为是拖拽操作。如下表1所示:
时间短 时间长
距离短 点击 长按
距离长 划屏 拖拽
从表1可以看出,能够区分四个行为的关键属性是时间和距离。为了根据两个关键属性区分四种行为,我们构造了决策树模型。具体的,我们根据操作时间和操作距离两个关键属性对这四种不同的行为构造了决策树,从而能够识别和区分不同的行为,由于我们构造的决策树以时间为第一决策点,因此可以拥有足够快的响应速度。
从图1中可以看出,点击、划屏操作的时间要小于长按、拖拽操作,因此,我们通过设定一个时长阈值(图1中用t表示时长阈值)来首先区分这两类操作,即,长按、拖拽操作的操作时长大于该时长阈值,而点击、划屏操作的操作时长小于该时长阈值;而长按与拖拽操作之间的区别是操作时长内的移动距离不同,点击与划屏操作之间的区别是操作时长内的移动距离不同。因此,我们通过设定一个距离阈值(图1中用s表示时长阈值)来继续区分长按与拖拽操作以及区分点击与划屏操作,即,在操作时长内,若操作距离大于该距离阈值的为拖拽、划屏操作,若操作距离小于该距离阈值的为长按、点击操作。
基于上述的区分点击、长按、划屏、拖拽操作的方法原理,本发明提供了一种触屏操作识别方法。
参考图2,是本发明实施例1中一种触屏操作识别方法的流程示意图。该方法包括步骤:
S101,响应于用户在触摸屏上的触控操作,开始记录用户的操作时长;
S102,当所述操作时长达到时长阈值时,获取第一操作距离;
S103,若所述第一操作距离大于距离阈值,判定所述触控操作为拖拽操作;若所述第一操作距离小于距离阈值,判定所述触控操作为长按操作;
S104,当所述操作时长小于时长阈值而响应于用户的所述触控操作结束时,获取第二操作距离;
S105,若所述第二操作距离大于距离阈值,判定所述触控操作为划屏操作;若所述第二操作距离小于距离阈值,判定所述触控操作为点击操作;
其中,所述第一操作距离是指当操作时长为所述时长阈值时触控操作的操作距离;所述第二操作距离是指当操作时长小于时长阈值而响应于用户的所述触控操作结束时触控操作的操作距离;所述时长阈值和距离阈值为预设值。
需要说明的是,响应于用户的触控操作是指检测到用户(例如说用手指)接触到屏幕的一瞬间所产生的信号,同理,在下文中出现的响应于用户的触控操作结束是指检测到用户(例如说用手指)离开屏幕的一瞬间所产生的信号,这些都是本领域技术人员所能理解并且确定的。
由于用户的手指灵活性、操作习惯不同,为了适应不同的用户自身的触控操作情况,以提高触控操作的识别率以及减少错误率,本实施例的时长阈值和距离阈值均根据用户的操作来预先设定及调整,即针对每个用户的操作都进行单独配置,例如让用户多次进行操作,分别找时间阈值,距离阈值。
具体的,预先设定的所述时长阈值通过以下步骤得到:
分别采集用户在所述触摸屏上进行N次的点击操作、划屏操作、长按操作以及拖拽操作时的每次操作时间;其中,N≥2;
计算所述点击操作、划屏操作的最大操作时间与长按操作、拖拽操作的最小操作时间的平均值,将所述平均值作为所述时长阈值。
具体的,预先设定的所述距离阈值通过以下步骤得到:
分别采集用户在所述触摸屏上进行N次的点击操作、划屏操作、长按操作以及拖拽操作时的每次操作距离;其中,N≥2;
计算所述点击操作、长按操作的最大操作距离与划屏操作、拖拽操作的最小操作距离的平均值,所述平均值为所述距离阈值。
此外,本实施例中的所述操作距离并非指起点到当前位置的直线距离,而是指操作轨迹的长度,因为操作轨迹并不一定是直线。操作轨迹可以是由看作多个连续的线段组成。因此,在本实施例中,计算操作距离实际上是将多个线段的长度叠加。
具体地,本发明实施例还包括如下用于计算触控操作的操作距离的步骤:
响应于用户的触控操作,以一定采样周期采集触屏点的位置;
根据所述触屏点在t时刻的位置、所述触屏点在t-1时刻的位置以及在t-1时刻触控操作的操作距离,计算在t时刻触控操作的操作距离并存储;t为正整数。
具体地,先根据所述触屏点在t时刻的位置和所述触屏点在t-1时刻的位置计算触屏点从t-1时刻到t时刻的移动距离;再将t-1时刻触控操作的操作距离加上触屏点从t-1时刻到t时刻的移动距离得到在t时刻触控操作的操作距离。
如果只当达到某个条件时才根据之前触屏点的所有位置计算操作距离,会产生很大的计算量。因此在本实施例的方案中,每当采集到触屏点的一个位置,即可计算当前触控操作的操作距离并且存储,存储是为了方便下一时刻计算触控操作的操作距离,即将计算量分摊,从而不至于使得系统在一瞬间的计算量负荷太大。因此,上述计算触控操作的操作距离的方案是具备更准确、更方便以及更有效率的优点。
本实施例提供的一种触屏操作识别方法,首先通过将操作时长与时长阈值比较来区分长按、拖拽与点击、划屏这两类操作,即,长按、拖拽操作的操作时长大于该时长阈值,而点击、划屏操作的操作时长小于该时长阈值;然后,通过将操作距离与距离阈值来区分长按与拖拽操作以及区分点击与划屏操作,即,在操作时长内,若操作距离大于该距离阈值的判定为拖拽或划屏操作,若操作距离小于该距离阈值的判定为长按或点击操作,从而可以快速、准确地识别出触控操作是点击、长按、拖拽或是划屏操作。另外,时长阈值和距离阈值均根据用户的操作来预先设定及调整,进一步提高触控操作的识别率以及减少错误率。
本实施例的触屏操作识别方法优选为对用户在移动终端触摸屏的触控操作进行识别,从而快速、准确地识别出触控操作是点击、长按、拖拽或是划屏操作。
参考图3,是本发明提供的触屏操作识别方法的实施例2的流程示意图。本实施例的触屏操作识别方法在实施例1的基础上(即本实施例包括实施例1的所有步骤),还包括步骤:
S201、在响应于用户在触摸屏上的所述触控操作时,还开始采集触摸屏感应所述触控操作的触控压力;
S202、若所述触控压力小于压力阈值且持续时间达到时间阈值时,判定所述拖拽操作/长按操作对应为轻拖操作/轻按操作;若所述触控压力大于压力阈值且持续时间达到时间阈值时,判定所述拖拽操作/长按操作对应为重拖操作/重按操作;
S203、若所述触控压力中的最大值小于压力阈值,判定所述划屏操作/点击操作对应为轻划操作/轻击操作;若所述触控压力中的最大值大于压力阈值,判定所述划屏操作/点击操作对应为重划操作/重击操作;
其中,所述触控压力是指当响应于用户在触摸屏上的触控操作起触摸屏持续感应所述触控操作的压力;所述压力阈值、时间阈值为预设值。
本实施的触屏操作识别方法适用于在支持压感的触屏设备上,功能性更强。在这些设备上,本实施的触屏操作识别方法还加入了感应到的压力值的判断,能更细分识别出触控操作的多种操作,如图4所示,图4中用p表示压力阈值。
由于用户输入的压力值会随着时间的变化而变化,对于长按和拖拽操作,它们属于长时间的操作,用户输入的压力会在这段时间内发生变化,因此我们提供整个过程中的压力值,可以根据长按或者拖拽的压力值来做不同的反馈,例如移动速度的变化,油门的大小。为了减少用户的误操作(例如轻按时稍微变重,重案时稍微变轻),本实施例采用了延迟策略,即当轻重变化持续了一段时间后才改变,例如如果当前是轻按,则当重按持续到了一个时间阈值才反馈为重按,反之亦然。
而点击和划屏是快速的行为,用户不太可能在短时间内试图改变压力值的,因此,这两种操作仅考虑压感的轻重之分,我们选取区分轻重的压力阈值,根据整个操作时长内的最大压力值来判断,如果小于阈值则认为是轻划操作/轻击操作,大于该阈值的认为是重划操作/重击操作。
同样的,本实施例的压力阈值可根据用户的操作来预先设定及调整,进一步提高触控操作的识别率以及减少错误率。具体实施时,预设的所述压力阈值通过以下步骤得到:
分别采集用户在所述触摸屏上进行N次的重按操作、轻按操作时的每次触摸屏感应到的压力;其中,N≥2;
计算采集到的所有压力的平均值,所述平均值为压力阈值。
参考图5,是本发明提供的触屏操作识别方法的实施例3的流程示意图。本实施例的触屏操作识别方法在实施例1或实施例2的基础上(即本实施例包括实施例1或实施例2的所有步骤),还包括步骤:
S301、在响应于用户在触摸屏上的所述触控操作时,还获取所述触控操作在所述触摸屏上的初始位置;
S302、根据预先生成的用户灵敏度图,获得所述初始位置的灵敏度值;其中,所述灵敏度图与所述触摸屏上的位置一一对应,且所述灵敏度图上的每一位置存储对应的灵敏度值,所述灵敏度值包括所述时长阈值。
在当前应用终端性能参差不齐,应用软件千差万异,用户自身情况又各不相同,触摸屏上不同区域灵敏度又不尽相同的情况下,低识别率,高错误率,重复输入已成为一个不得不去面对的问题。
为解决上述问题,本实施例提出了灵敏度图的概念,该灵敏度图与触摸屏的位置一一对应,在灵敏度图上的每个位置都存储了一些关于用户灵敏度的关键属性信息,为了获取该灵敏度图,我们让用户在不同握姿的情况下在触摸屏上不同位置进行一些输入,根据当前触摸屏的反馈情况,记录灵敏度相关的数据,并存储为图的形式,从而实现根据用户自身在触摸屏不同位置的不同灵敏度情况对时间阈值的设置(修正)。
由于用户的灵敏度是和用户的姿势紧密相关的,我们不可能针对用户任意一种姿势进行采集数据,因此想要通过用户的输入来获得全屏所有位置的灵敏度值是不可能的。为解决这个问题,本实施例通过尽量减少用户的输入来获取关键点信息,然后通过插值来获得整个触摸屏的灵敏度值。
具体的,本实施例的灵敏度图可通过以下步骤预先生成:
分别采集用户在所述触摸屏上的每一个关键点位置的N次进行的点击操作、划屏操作、长按操作以及拖拽操作时的每次操作时间;其中,N≥2,所述关键点位置至少包括所述触摸屏的四个角所对应的位置;
计算用户在每一个关键点位置的所述点击操作、划屏操作的最大操作时间与长按操作、拖拽操作的最小操作时间的平均值,并将所述平均值作为所述时长阈值;
利用矩形网格或三角形网格计算所述灵敏度图上其他位置的时长阈值。
具体的,为了得到关键点位置的灵敏度信息,本实施例构造了捕获用户灵敏度信息的软件,该软件可以捕获用户输入信息,具体包括用户手指接触屏幕的开始时间和用户手指离开屏幕的离开时间。
在捕获用户的输入信息时,尽量模拟用户平时使用的情形,用户最初的形态是手指放在平时惯用的位置,然后用户接受指令在触摸屏的关键点位置做指定的操作。为了保证采集到的数据的稳定性,指示用户连续操作多次,以3次为例,对于,用户在完成3次快速连续操作(每一个触控操作)时,软件记录下每次用户接触屏幕的时间以及离开屏幕的时间。
然后,根据采集到的时间数据,获取用户在每一关键点位置的点击操作、划屏操作的最大操作时间以及长按操作、拖拽操作的最小操作时间,并计算点击操作、划屏操作的最大操作时间以及长按操作、拖拽操作的最小操作时间的平均值,则将所述平均值作为该关键点位置的时长阈值。
在获取每一关键点位置的灵敏度信息(本实施例为时长阈值)后,通过插值来计算灵敏度图上其他位置的灵敏度信息,包括两种方式:矩形网格以及三角形网格。可以理解的,根据不同的插值方式,所获取的关键点位置有所不同。
例如,若采用矩形网格计算所述灵敏度图上其他位置的时长阈值和时间间隔阈值时,所获取的关键点位置如图6所示,在获取每一关键点位置的灵敏度值后,可通过线性、双线性或各向异性插值函数计算其他位置的灵敏度值。
通过图6可知,利用矩形网格的方式根据规则的矩形空间网格,在网格上选取关键值的点。这种方式对网格的所有交叉点都需要(且必须)进行用户信息的采样,缺失则不能进行插值,如果网格稀疏,那么网格上的关键点位置通常不是用户操作的关键点位置或者容易漏掉用户的关键点位置。也就是说。采用矩形网格的方式存在的问题在于网格上的交叉点与用户实际的关键点很难形成一一对应的关系。
我们观察了人在手机屏幕上操作的几个关键点,也就是关键的姿势:(1)手指完全放松,伸展状态;(2)手指伸展,但是扭曲;(3)手指弯曲同时扭曲;(4)手指完全蜷缩。这几个状态涵盖了最灵敏,最不灵敏的情况,同时关键的几个姿势也都包含了。利用这几个关键点的插值结果,能得到不错的效果。然而这几个姿势并不能形成矩形网格,也通常不在矩形网格的关键点上。如果网格密集,则用户则需要输入大量的数据。而采用三角形网格则可以解决这个问题。
参考图7~图8,当利用三角形网格计算所述灵敏度图上其他位置的时长阈值和时间间隔阈值时,除了触摸屏的四个角所对应的关键点位置外,所采集的关键点位置不必是规则矩形网格上的点,而可以随意指定关键点位置,这样就允许我们根据用户手指的特性指定具有关键信息的点的位置,并根据精度的需要随意的增加和减少关键点位置的数量。因此,所述关键点位置可以指定用户手指在不同姿势下(包括用户手指处于弯曲、半弯曲以及伸展状态)进行点击所能到达的任意位置。
如图7所示,当采用三角形网格方式时,我们通过分析了用户输入的关键点位置,分别选取了用户在操作是手指弯曲的三个程度:弯曲(如P1),半弯曲(如P2,P3,P4),伸展(如P5,P6,P7),其次还选取屏幕上三个极限位置的敏感度(如P8,P9,P10)。一些情况下并不需要太高的精度,这时P2,P4点可以不需要采样,同时,当手指足够长时,P8,P9,P10中的一个或多个也是不需要的。
在采集了图7所示的关键点位置的灵敏度值后,则可通过三角形网格来计算其他位置的灵敏度值。结合图8,具体通过以下公式计算所述灵敏度图上其他位置的灵敏度值:
θd=wθa+vθb+uθc
其中,θa、θb、θc分别为a、b、c三个关键点位置或已知位置的时长阈值,θd为a、b、c三个位置的中心点位置d的时长阈值;sdab、sdac、sdbc、sabc分别为三角形dab、三角形dac、三角形dbc、三角形abc的面积。
这样,则可计算得到灵敏度图上的所有位置的灵敏度值,从而生成所述灵敏度图。在响应用户的触控操作时,根据用户在触摸屏上的接触位置,则可确定该位置上的灵敏度值(本实施例为时长阈值),并根据该位置上的灵敏度值来识别用户的触控操作是单击、双击还是长按操作,从而提高识别的准确度。
在本实施例中,所述灵敏度图与所述触摸屏上的位置是一一对应的,且精确到像素点。灵敏度图上每个像素都记录了有关用户灵敏度的信息。因为用户与触摸屏接触的点可能是任意像素,所以对于任意像素来说,我们都应该反馈一个用户在该像素的灵敏度信息,以指导下一步的处理。
如果灵敏度图采用了和屏幕分辨率完全相同,则灵敏度图与屏幕上的像素都是一一对应的。当然,如果不需要那么精确,灵敏度图可以采用低一些的分辨率。例如仅为触摸屏的1/4大小(长和宽都是触摸屏分辨率的一半),这样触摸屏上任意一个像素的灵敏度值可以根据放大4倍后的灵敏度图上的相应像素的灵敏度值来获得。
参考图9,是本发明提供的触屏操作识别方法的实施例4的流程示意图。本实施例的触屏操作识别方法在实施例1、实施例2或实施例3的基础上(即本实施例包括实施例1、实施例2或实施例3的所有步骤),还包括步骤:
S401、在响应于用户在触摸屏上的所述触控操作时,还判断用户执行所述触控操作的操作姿势为左手或右手;
S402、根据判断结果获得预设的用户左手或右手的时长阈值、距离阈值以及压力阈值(如果存在)。
本实施例与实施例1、实施例2或实施例3的不同在于:在响应于用户在触摸屏上的所述触控操作时,还需要判断用户执行所述触控操作的操作姿势为左手或右手,并根据判断获取预先生成的用户左手或右手操作的时长阈值及距离阈值。由于用户使用左手/右手在所述触摸屏上的操作习惯有所不同,因此有必要预先记录用户左手以及右手的输入习惯,从而得到用户左手和右手的时长阈值、距离阈值以及压力阈值(如果存在)。而用户左手和右手的时长阈值、距离阈值以及压力阈值的生成过程请参考实施例1或实施例2,在此不再赘述。
参考图10,是本发明提供的触屏操作识别方法的实施例5的流程示意图。本实施例的触屏操作识别方法在实施例1、实施例2或实施例3的基础上(即本实施例包括实施例1、实施例2或实施例3的所有步骤),还包括步骤:
S501、在响应于用户在触摸屏上的所述触控操作时,还判断用户执行所述触控操作的操作姿势为横向或纵向;
S502、根据判断结果获得预设的用户横向或纵向操作的时长阈值、距离阈值以及压力阈值(如果存在)。
本实施例与实施例1、实施例2或实施例3的不同在于:在响应于用户在触摸屏上的所述触控操作时,还需要判断用户执行所述触控操作的操作姿势为横向或纵向,并根据判断获取预先生成的用户横向或纵向操作的时长阈值、距离阈值以及压力阈值(如果存在)。由于用户使用横向/纵向在所述触摸屏上的操作习惯有所不同(参考图11a~11b),因此有必要预先记录用户横向以及纵向的输入习惯,从而得到用户横向以及纵向的时长阈值、距离阈值以及压力阈值(如果存在)。而用户横向以及纵向的时长阈值、距离阈值以及压力阈值的生成过程请参考实施例1或实施例2,在此不再赘述。
参考图12,是本发明提供的触屏操作识别方法的实施例6的流程示意图。本实施例的触屏操作识别方法在实施例1、实施例2或实施例3的基础上(即本实施例包括实施例1、实施例2或实施例3的所有步骤),还包括步骤:
S601、在响应于用户在触摸屏上的所述触控操作时,还判断用户执行所述触控操作的操作姿势为左手或右手,以及手持所述触摸屏的姿势为横向或纵向;
S602、根据判断结果获得预设的用户左手或右手以及横向或纵向操作操作的时长阈值、距离阈值及压力阈值(如果存在)。
本实施例集合了实施例4和实施例5,针对用户(左手、右手)x(横向、纵向)四种姿势,并分别预先设定用户四种姿势的时长阈值、距离阈值及压力阈值(如果存在)。然后根据用户当前的触控操作时的姿势(左手横握,左手纵握,右手横握,右手纵握)选取对应的阈值。其中,区分用户实际输入的姿势有多种方式,例如根据手机自带的重力感应,滑屏输入的位置,方向偏差信息等。而四种姿势的阈值的形成过程请参考实施例1或2,在此不再赘述。
参考图13,是本发明提供的触屏操作识别方法的实施例7的流程示意图。本实施例的触屏操作识别方法在实施例1~实施例6中的任一实施例的基础上(即本实施例包括实施例1~实施例6中的任一实施例的所有步骤),还包括步骤:
S701、在响应于用户在触摸屏上的所述触控操作时,还获取用户在所述触摸屏上的期望输入方向;所述期望输入方向包括右、上、左或下四个方向;则
S702、若所述第一操作距离大于距离阈值,根据所述期望输入方向判定所述拖拽操作为右、上、左或下拖拽操作;
S703、若所述第二操作距离大于距离阈值,根据所述期望输入方向判定所述划屏操作为右、上、左或下划屏操作。
本实施的触屏操作识别方法还加入对用户的触控方向的判断,能更细分识别出触控操作的多种操作。
在本实施例中,用户的输入是不确定的,可能包含0-360内的任意角度,然而我们需要的是上下左右四个方向,用户的输入通常并不能精准,因此可设定一个范围将该范围内的输入都算做该方向,那么就需要根据用户输入的角度进行判断是哪个方向。例如向上的方向,即90度角,当前的做法通常是以90度方向为中心,设定一个允许偏差的角度范围,如45度,即45度-135度的角度范围都被判定为这个方向。
但是,45°这个角度是不准确的。因为偏差的角度范围也是不固定的,对于每个方向来说,其稳定性也是不一样的,例如用户输入上下方向(90度,270度)时,用户的稳定性高,偏差小,因此用户输入的角度范围是一个较小的范围,而当用户输入左右方向(180度,0度和360度)时,稳定性较差,偏差也较大,因此输入左、右方向时,角度范围是一个较大的范围。因此使用相同的范围是不合适的,他扩大的上下方向的限制,而又缩小的左右方向的限制,使得用户输入的左右方向不被识别,而许多方向又被误识别为上下方向。此外,对于一个方向来说,期望角度在顺时针的偏差角度范围和逆时针的偏差角度范围是不固定的,这个角度与他相邻的角度概率分布是相关的。也就是说在选定了角度的期望中心后,两边的偏差角度是不确定的。
为了解决这个问题,本实施例进一步提出了一种触屏输入方向修正方法,能够根据用户的输入习惯(喜好),对用户输入的原始方向性信息进行修正,使输出正确的方向信息(用户的期望输入方向)给系统。
具体的,本实施例的步骤S701中所述的期望输入方向通过以下步骤得到:
S7011、在响应于用户在触摸屏上的所述触控操作时,还获取用户在所述触摸屏上的实际输入方向;
S7012、根据预先生成的用户的实际输入方向与偏差角度值的对应关系,得到实际输入角度的偏差角度;
S7013、利用所述偏差角度对所述实际输入角度进行修正,得到用户的期望输入方向。
在步骤S7011中,所述实际输入方向是用户当前在触摸屏上输入的方向(原始输入方向)所对应的角度,这个角度可以是连续的0~360度的,以右方向为起始0度,逆时针度数增加。在本实施例中,通过计算用户手指接触点开始至离开时的偏移位置,计算获得用户在触摸屏上的实际输入角度,即:dir=posend-posstart
本实施例是对用户的原始输入方向进行修正,以得到用户准确的期望输入方向,而原始输入方向与期望输入方向存在一定的偏差角度。步骤S7012就是计算这个偏差角度。具体的,根据预先生成的用户的实际输入方向与偏差角度值的对应关系来得到。
其中,所述预先生成的用户的实际输入方向与偏差角度值的对应关系通过以下步骤得到:
通过正态分布函数计算用户基于至少两个关键方向而多次输入的实际角度值的平均值,并计算每一所述关键方向与对应的平均值之间的差值,所述差值为用户在每一所述关键方向输入的偏差角度值;其中,相邻的两个所述关键方向之间的夹角相等;
根据每一所述关键方向输入的偏差角度值,利用插值函数计算其他所有输入方向的偏差角度值。
下面,详细介绍本实施例如何预先得到用户在所述触摸屏上的至少两个关键方向输入的稳定的偏差角度值。
首先,本实施例通过实验得到:用户输入的实际方向与期望方向往往不相同,都包含了一定的偏差,而且偏差是稳定的。实验过程介绍如下:
用户实验
为了研究这个问题,找来了一组实验人员来参与实验,并通过应用软件记录用户每次操作时手指移动的轨迹。因为本发明关注的是在用户输入的方向信息,因此,只需要用户手指接触点开始至离开时的偏移位置,这样就能获得用户实际输入的方向信息,即:dir=posend-posstart
为了满足不同用户,左右两手,横纵两种握姿的输入要求,我们采用一种“一次学习,长期适用”的方案,分别对用户的各种姿势,每只手都进行数据采集,使用户多次输入多个关键方向值(例如,八个关键方向,包括上,下,左,右,左上,左下,右下,右上),因为用户的都有自己固有的习惯,因此,采集的结果对于该用户来说是长期有效的,通常不需要再次输入,并且可以应用于各种场景。
为了保证试验结果具有真实可靠性,可邀请多名实验人员来进行试验,年龄横跨了青少年至中老年;不同的职业,包括经常与触屏接触的IT工程人员以及小学生,清洁工人;不同的身材比例;不同的性别等。
实验内容非常简单,每人以自己感到舒适的方式握住手机(包含了左右手),分别以横向和纵向两种姿势,并且保证拇指能灵活操作。当握好设备后,实验人员会分别收到上划、下划、左划、右划,左上,左下,右上,右下这几个指令,然后分别在提供的手机上根据指令进行相应的操作,其中,指令会重复多遍,因此试验人员在八个方向上的信息上也都执行了多遍。而且发出的指令是打乱顺序发布的,这样避免了针对同一个方向的连续多次操作,保证了操作的可靠性。
对于同一个用户来说,共采集了2*2*8组数据,包括了用户对于八个方向上的多次输入的结果。
取出其中一组试验来说明,该试验人员以左手横向姿势握住手机,图14b显示了试验人员对于八个关键方向上的输入结果示意图。而图14a显示了试验人员对于四个关键方向(上、下、左、右)上的输入结果示意图。
从图14a~14b可出看出:1)虽然实验人员接受到的指令是八个(或四个)关键方向的信息,但是其实际输入的结果却不是这样的,其都包含了一定的偏差;2)虽然实验人员在不同时刻接收到的相同的指令,但是其输入的结果是非常一致的。也就是说,其角度偏差是存在的,而且偏差角度是稳定的。
也就是说,如果我们将根据用户的输入习惯(喜好),对用户输入的方向性信息进行修正,那么输入给系统的就是正确的信息。
用户输入的模型确定
对用户的输入结果进行建模,以更好的对用户输入的行为进行分析。例如,需要知道用户输入多个(例如,八个)关键方向时实际输入的方向是什么,真实输入的方向与意向方向之间偏差角度是多少,在输入该方向时的稳定性怎样,即用户的输入某关键方向的期望值、偏移值、以及稳定性(方差)。
将用户在一个关键方向的多次输入进行分析,根据其输入结果的分布得到的统计直方图,如图15所示。从图15中可以看出,用户的输入是一种概率事件,其概率分布是符合正态分布的,因此可以使用正态分布函数来描述用户的输入行为,并对用户的输入进行高阶的分析。
用户数据建模
可以使用正态分布函数来描述用户的八个关键方向的输入行为:
其中,i∈(1,2,……,8),分别代表了用户接受到指令的关键方向的序号,即(右,右上,上,左上,左,左下,下,右下),用θi表示每一关键方向的角度值,其实值分别是0,45,90,135,180,225,270,315,360。x是用户根据每一个关键方向输入的角度值,μi是用户基于每一所述关键方向而多次输入的实际角度值的期望值(平均值),σi是用户基于每一所述关键方向而多次输入的实际角度值的方差。
那么,可以得到用户输入每一关键方向的稳定偏差δi,δi=θii。用户在输入每个角度时的偏差都不尽相同,因此,如果得到函数δ=dev(x),对于任意角度,都能得到该角度的偏差值,那么用户输入的期望方向的值x′=revise(x)=dev(x)+x。
根据用户输入的方向信息,在八个关键方向上分别求其出其正态分布函数,如图16所示。从而得到了用户的输入八个关键方向的期望值、方差、以及输入期望值与用户意图角度的稳定偏差。例如,上划操作大约向逆时针方向偏差了44°,左划操作大约向逆时针方向偏差了29°,下划操作大约向逆时针方向偏差了37°,右划操作大约向逆时针方向偏差了32°等。
因此,通过上述分析可知,通过正态分布函数计算用户基于每一关键方向而多次输入的实际角度值的平均值,并计算每一所述关键方向与对应的平均值之间的差值,所述差值即为用户在每一所述关键方向输入的稳定偏差值。
在本实施例中,所述至少两个关键方向包括四个,分别为右、上、左、下,对应角度分别为0°、90°、180°、270°或分别为右上、左上、左下、右下,对应角度分别为45°、135°、225°、315°。
理论上来说,0°、90°、180°、270°(也就是右、上、左、下)或45°、135°、225°、315°(也就是右上,左上,左下,右下)为界限来划分四个方向所包含的区域,但是对于用户来说,其输入具有不稳定性。例如用户输入的45度值的期望角度为x′=revise(45)=dev(45)+45,用户输入135度的期望角度为:x′=revise(135)=dev(135)+135,那么向上的方向,所包含的角度范围应为revise(45)和revise(135)之间,而不是45和135之间。
x′=revise(x)=dev(x)+x,因此要得到逆函数x=revise-1(x′),也就是已知了期望输入的角度,要得到用户实际输入的角度,revise函数是很难精准获取的,其逆函数更难。然而,我们已经在用户输入学习阶段获取了所需的方向值。即关键方向右、上、左、下的用户实际输入的角度分别是μ1,μ3,μ5,μ7(平均值)。
因此,应获得用户输入实际方向来确定其四个方向的角度范围。由于通过上述实验已经获取了四个关键方向的真实角度,因此四个关键方向就可以立刻确定。即右上的方向角度判定范围为(μ13),左上的角度判定范围是(μ35),左下的角度判定范围是(μ57),右下的角度判定范围是(μ71)。
在本实施例中,所述至少两个关键方向也可以包括八个,分别为右、右上、上、左上、左、左下、下、右下,对应角度分别为0°、45°、90°、135°、180°、225°、270、315°。同样的,上述八个关键方向的稳定偏差值可以通过用户基于每一关键方向而多次输入,并利用正太分布函数计算得到。
由于本实施例是基于预先得到的至少两个关键方向的稳定偏差值,并利用插值函数来计算其他任意实际输入角度的偏差角度。因此,预先得到的关键方向的稳定偏差值越多,通过插值函数计算其他实际输入角度的偏差角度就越精确。其中,图19a~19b是根据四个、八个关键方向的偏差角度利用插值函数计算得到的全方向的偏差角度值示意图。
另外,为了提高精确度,在本实施例中,所述至少两个关键方向还可以包括十六个,所述至少两个关键方向包括第一类关键方向和第二类关键方向,所述第一类关键方向对应的角度包括0°、45°、90°、135°、180°、225°、270°、315°,第二类关键方向对应的角度分别为22.5,67.5,112.5,157.5,202.5,247.5,292.5,337.5。
其中,通过正态分布函数计算用户基于每一所述第一类关键方向而多次输入的实际角度值的平均值,并计算每一所述第一类关键方向与对应的平均值之间的差值,所述差值为用户在每一所述第一类关键方向输入的稳定偏差值;
然后,计算相邻的两个第一类关键方向的正态分布函数的分界点值,将所述分界点值作为相邻的两个第一类关键方向之间的第二类关键方向的平均值,每一所述第二类关键方向与对应的平均值之间的差值作为每一所述第二类关键方向输入的稳定偏差值。
具体的,由于第二类关键方向不是用户常用的方向,如果让用户直接输入这些方向来计算其稳定偏差值则容易出现误差。由于用户在0度,45度,90度等第一类关键方向的输入都是正态分布。而22.5度就是0和45度的分界值,66.7度就是45度和90度的分界值。以22.5度为例,根据0度和45度的分布概率函数来找到分界点值。
根据相邻的两个第一类关键方向的正态分布图,如图17所示。两个正态分布,要找到分界点值,直接求解是非常复杂的,但是可以根据正态分布的特性来判断一个角度值是否是其分界值,以及其与分界值的大小关系。
根据概率密度函数,定义概率函数以及两个分布函数的分界点xmid应处于(μij)之间,且满足概率Pi(xmid→+∞)=Pj(-∞→xmid),那么当x>xmid时,Pj随之增大,Pj随之减小。Pj(-∞→x)>Pj(-∞→xmid)且Pi(x→+∞)<Pi(xmid→+∞),也就是Pi(x→+∞)<Pj(-∞→x)。
那么,当x<xmid时,Pi(x→+∞)>Pj(-∞→x)。也就是说,当Pi(x→+∞)<Pj(-∞→x),可以知道x>xmid,当Pi(x→+∞)>Pj(-∞→x),可以知道x<xmid
精确计算出分界值是异常困难,而精确到一个小数点后一位已满足需求,平均来说,角度区间为45度,而满足这个条件的值总共有450个,因此要做的就是确定是哪个值,根据之前的计算方式,利用二分查找的方式来搜索,那么最多需要9次查找就可以确定了。首先根据查找区间的平均值来验证,根据平均值与分界点值的大小关系来缩小查找区间,然后在缩小后的查找空间求平均,继续这个计算直至找到最终的两个值。那么,可以认为分界点值就是这两个值的平均值。如此,便可以得到方向22.5,67.5,112.5,157.5,202.5,247.5,292.5,337.5的实际输入角度(分界点值),从而得到其相应的稳定偏差值。
对于x′=revise(x)=dev(x)+x,修正函数revise(x)的关键在于计算出偏差函数dev(x),由于x是已知的,因此拟合出δ=dev(x)函数就可以得到准确的值。
造成用户输入的偏差是由多个变量造成的,例如手指长度,灵活度,手握手机的位置和姿势,手机尺寸等,构造出真实的偏差函数是不现实的,从之前可以看出,虽然用户实际输入的角度与期望的角度有偏差,但是偏差的值是相对稳定的,因此,若已知了对于输入角度的信息,则根据预先得到的关键方向的稳定偏差值来获得。因此,本实施例选用了关键帧+插值的技术来模拟出这样一个偏差函数。
利用预先得到的用户在所述触摸屏上的至少两个关键方向输入的稳定偏差值,即可通过插值函数计算得到用户当前输入的所述实际输入角度的偏差角度。其中,所述插值函数包括线性插值函数或三次样条插值函数。
当使用线性插值函数来计算得到用户当前输入的所述实际输入角度的偏差角度,可以通过如下公式计算得到:
其中,x是用户当前输入的所述实际输入角度,dev(x)为所述实际输入角度的偏差角度,n为所述至少两个关键方向的数量,n≥2;dirn为第n个所述关键方向对应的角度;devn为第n个所述关键方向输入的稳定偏差值。
以上左下右这四个关键方向为例说明,若上左下右这四个关键(最常用)方向的实际输入方向dirup、dirleft、dirdown、dirright,由于知道这几个关键方向的期望方向,因此也就得到其偏差值devup、devleft、devdown、devright
在计算任何一个方向信息的期望方向时,都根据其所处的范围(dirup,dirleft)、(dirleft,dirdown)、(dirdown,dirright)、(dirright,dirup),然后根据相应的偏差值范围(devup,devleft)、(devleft,devdown)、(devdown,devright),(devright,devup)插值得到。
表达为如下的公式(使用简单的线性插值方式):
当然,为了提高准确性可以提高关键值的数量,如增加左上,左下,右下,右上等关键方向的值后再通过线性差值函数计算。根据八个关键方向的偏差值,相邻关键偏差值之间的偏差角度通过线性插值获取,如图18中的虚线所示。
在理想情况下,偏差函数δ=dev(x)应满足如下三个特征:
1、偏移量是连续的,也就是说,用户输入的两个方向如果是相邻的,那么这两个方向所对应的期望方向也是相邻的;
2、偏移量的变化是连续的,也就是说偏移量满足高阶导数连续,当用户输入某个方向的偏移量确定后,其相邻角度的偏移量应与该偏移量差异不大,虽然用户输入的方向是不准确的,但是并不是随机的,而是跟他当前的姿势有关,通常如果用户试图去输入角度x,那么他输入角度x+0、x-0和x的姿势相同,所使用的肌肉也相同,那么偏移值dev(x-0)=dev(x)=dev(x+0),且变化连续dev(x)∈Ck,其中k≥1。
3、首尾连续的,它是一个环形,即满足dev(0)=dev(360)。
由图18可知,利用线性插值函数计算得到的偏差值(参考图18中的虚线)由于存在突变,其并不满足以上理想要求的特征2,即通过线性插值函数计算得到的偏移量的变化不是连续的。
而上述三个特征(约束)可以通过三次样条插值函数完美的得到(参考图18中的实线)。因此,为了提高准确性,本实施例优选采用三次样条插值函数来计算得到用户当前输入的所述实际输入角度的偏差角度。具体的,通过以下公式计算得到:
dev(x)∈C2[0,360],且在每个[μii+1]上为三次多项式,并满足dev(μi)=f(μi),(i=1,2……,n);
0=μ12<……<μn=360;
dev(k)i-0)=dev(k)i+0),k=0,1,2;
dev(k)1)=dev(k)n),k=0,1,2;
其中,x是所述实际输入角度,dev(x)为所述实际输入角度的偏差角度,n为所述至少两个关键方向的数量,n≥2;μi是用户基于每一所述关键方向而多次输入的实际角度值的平均值,dev(μi)为每一所述关键方向的稳定偏差值。
三次样条插值函数的精确度随着采样数据的增加而更加精确,这里的采样次数可以取8,也就是用户输入的八个关键角度信息获取的值,当然如果需要更高精度的结果,可以增加为16次采样,即在区分八个方向时,根据正态分布概率关系得到的分界点值即方向22.5,67.5,112.5,157.5,202.5,247.5,292.5,337.5的真实输入角度。
利用上述的线性插值函数或者三次样条插值函数计算得到用户当前输入的实际输入角度的偏差角度后,则可利用所述偏差角度对所述实际输入角度进行修正,从而得到用户的期望输入角度。
具体实施时,将所述实际输入角度与所述偏差角度相加后的角度作为用户的所述期望输入角度。例如,通过上述描述可知,若用户当前的实际输入角度为x,而利用插值函数计算出其偏差角度为δ=dev(x),那么用户输入的期望输入角度x′=dev(x)+x。
可以理解的,本实施例的期望输入方向包括四个,分别为右、上、左、下,通过本实施的预先生成的用户的实际输入方向与偏差角度值的对应关系得到的期望输入方向可允许有一定的偏差角度范围,例如10°,也就是通过对应关系表计算得到的期望输入方向为80°~100°时,均可以判定为“上”方向。例如,当用户在触摸屏上的实际输入角度为50°时,根据预先生成的用户的实际输入方向与偏差角度值的对应关系表,计算修正后的期望输入方向为95°,在80°~100°范围内,因此判定为“上”方向。
同样的,由于用户以不同的姿势在所述触摸屏上的输入习惯有所不同,因此有必要预先记录用户以不同姿势(包括左手、右手、横向、纵向以及左手横握、左手纵握、右手横握、右手纵握等)手持所述触摸屏的输入习惯,从而得到用户左手、右手、横向、纵向以及左手横握、左手纵握、右手横握、右手纵握等手持所述触摸屏的实际输入方向与偏差角度值的对应关系。
可以理解的,为了更进一步细分识别出触控操作的多种操作,所述期望输入方向还可以分为八个方向,包括上,下,左,右,左上,左下,右下,右上;而判定出来的触控操作也对应为上、下、左、右、左上、左下、右下、右上拖拽操作以及上、下、左、右、左上、左下、右下、右上划屏操作。
参考图20,是本发明实施例8提供的触屏操作响应方法的流程示意图。本实施例的触屏操作响应方法包括步骤:
S801、利用如实施例1~实施例7中任一所述的触屏操作识别方法对用户的触控操作进行识别,得到判定结果;
S802、根据所述判定结果,执行相应的响应事件。
其中,在本实施例中,每一响应事件预先设定对应一种触控操作,根据实施例1~实施例7任一所述触屏操作识别方法来进行识别,则至少包括对应点击、长按、划屏、拖拽四种基本操作的四个响应事件,当增加压力值和方向的功能性判断时,则可设定和执行更多的响应事件,实现更多的功能。
参考图21,是本发明实施例9提供的触屏操作识别装置90的结构框图。该触屏操作识别装置包括:
操作时长记录模块901,用于响应于用户在触摸屏上的触控操作,开始记录用户的操作时长;
第一操作距离获取模块902,用于当所述操作时长达到时长阈值时,获取第一操作距离;
第一判定模块903,用于若所述第一操作距离大于距离阈值,判定所述触控操作为拖拽操作;若所述第一操作距离小于距离阈值,判定所述触控操作为长按操作;
第二操作距离获取模块904,用于当所述操作时长小于时长阈值而响应于用户的所述触控操作结束时,获取第二操作距离;
第二判定模块905,用于若所述第二操作距离大于距离阈值,判定所述触控操作为划屏操作;若所述第二操作距离小于距离阈值,判定所述触控操作为点击操作;
其中,所述第一操作距离是指当操作时长为所述时长阈值时触控操作的操作距离;所述第二操作距离是指当操作时长小于时长阈值而响应于用户的所述触控操作结束时触控操作的操作距离;所述时长阈值和距离阈值为预设值。
优选的,本实施例还包括:
预设定模块900,用于预先生成以设定所述时长阈值和距离阈值。具体形成过程请参考实施例1。
本实施例的触屏操作识别装置的工作原理及过程请参考实施例1,在此不再赘述。
参考图22,是本发明实施例10提供的触屏操作识别装置100的结构框图。本实施例的触屏操作识别装置在实施例9的基础上,即本实施例包括实施例9的所有模块,具体包括预设定模块1000、操作时长记录模块1001、第一操作距离获取模块1002、第一判定模块1003、第二操作距离获取模块1004和第二判定模块1005,还包括:
触控压力获取模块1006,用于在响应于用户在触摸屏上的所述触控操作时,开始采集触摸屏感应所述触控操作的触控压力。
所述第一判定模块1003进一步用于:若所述触控压力小于压力阈值且持续时间达到时间阈值时,判定所述拖拽操作/长按操作对应为轻拖操作/轻按操作;若所述触控压力大于压力阈值且持续时间达到时间阈值时,判定所述拖拽操作/长按操作对应为重拖操作/重按操作;
所述第二判定模块1005进一步用于:若所述触控压力中的最大值小于压力阈值,判定所述划屏操作/点击操作对应为轻划操作/轻击操作;若所述触控压力中的最大值大于压力阈值,判定所述划屏操作/点击操作对应为重划操作/重击操作;
其中,所述触控压力是指当响应于用户在触摸屏上的触控操作起触摸屏持续感应所述触控操作的压力;所述压力阈值、时间阈值为预设值。
而预设定模块900进一步用于预先生成以设定所述时长阈值、距离阈值和压力阈值。具体形成过程请参考实施例2。
本实施例的触屏操作识别装置的工作原理及过程请参考实施例2,在此不再赘述。
参考图23,是本发明实施例11提供的触屏操作识别装置110的结构框图。本实施例的触屏操作识别装置110在实施例9或实施例10的基础上(即本实施例包括实施例9或实施例10的所有模块),还包括:
初始位置获取模块1101,用于响应于用户在触摸屏上的所述触控操作,获取所述触控操作在所述触摸屏上的初始位置;
灵敏度值确定模块1102,用于根据预先生成的用户灵敏度图,获得所述初始位置的灵敏度值;其中,所述灵敏度图与所述触摸屏上的位置一一对应,且所述灵敏度图上的每一位置存储对应的灵敏度值,所述灵敏度值包括所述时长阈值。
本实施例的触屏操作识别装置的工作原理及过程请参考实施例3,在此不再赘述。
参考图24,是本发明实施例12提供的触屏操作识别装置的结构框图。本实施例的触屏操作识别装置120在实施例9、实施例10或实施例11的基础上(即本实施例包括实施例9、实施例10或实施例11的所有模块),还包括:
操作姿势判断模块1201,响应于用户在触摸屏上的所述触控操作,判断用户执行所述触控操作的操作姿势为左手或右手;
阈值获取模块1202,用于根据判断结果获得预设的用户左手或右手的时长阈值、距离阈值及压力阈值(如果存在)。
本实施例的触屏操作识别装置的工作原理及过程请参考实施例4,在此不再赘述。
参考图25,是本发明实施例13提供的触屏操作识别装置的结构框图。本实施例的触屏操作识别装置130在实施例9、实施例10或实施例11的基础上(即本实施例包括实施例9、实施例10或实施例11的所有模块),还包括:
操作姿势判断模块1301,响应于用户在触摸屏上的所述触控操作,判断用户执行所述触控操作的操作姿势为横向或纵向;
阈值获取模块1302,用于根据判断结果获得预设的用户横向或纵向操作的时长阈值、距离阈值及压力阈值(如果存在)。
本实施例的触屏操作识别装置的工作原理及过程请参考实施例5,在此不再赘述。
参考图26,是本发明实施例14提供的触屏操作识别装置的结构框图。本实施例的触屏操作识别装置140在实施例9、实施例10或实施例11的基础上(即本实施例包括实施例9、实施例10或实施例11的所有模块),还包括:
操作姿势判断模块1401,响应于用户在触摸屏上的所述触控操作,判断用户执行所述触控操作的操作姿势为左手或右手,以及手持所述触摸屏的姿势为横向或纵向;
阈值获取模块1402,根据判断结果获得预设的用户左手或右手以及横向或纵向操作操作的时长阈值、距离阈值及压力阈值(如果存在)。
本实施例的触屏操作识别装置的工作原理及过程请参考实施例6,在此不再赘述。
参考图27,是本发明实施例15提供的触屏操作识别装置的结构框图。本实施例的触屏操作识别装置150在实施例9~实施例14中任一实施例的基础上(即本实施例包括实施例9~实施例14中任一实施例的所有模块),还包括:
期望输入方向获取模块1501,响应于用户在触摸屏上的所述触控操作,获取用户在所述触摸屏上的期望输入方向;所述期望输入方向包括右、上、左或下四个方向;而
所述第一判定模块进一步用于:若所述第一操作距离大于距离阈值,根据所述期望输入方向判定所述触控操作为右、上、左或下拖拽操作;
所述第二判定模块进一步用于:若所述第二操作距离大于距离阈值,根据所述期望输入方向判定所述触控操作为右、上、左或下划屏操作。
其中,所述期望输入方向获取模块1501进一步包括:
实际输入方向获取单元15011,响应于用户在触摸屏上的所述触控操作,获取用户在所述触摸屏上的实际输入方向;
偏差角度确定单元15012,根据预先生成的用户的实际输入方向与偏差角度值的对应关系,得到所述实际输入角度的偏差角度;
修正单元15013,利用所述偏差角度对所述实际输入角度进行修正,得到用户的期望输入方向。
优选的,本实施进一步包括对应关系预生成模块1500,用于:
通过正态分布函数计算用户基于至少两个关键方向而多次输入的实际角度值的平均值,并计算每一所述关键方向与对应的平均值之间的差值,所述差值为用户在每一所述关键方向输入的偏差角度值;其中,相邻的两个所述关键方向之间的夹角相等;
根据每一所述关键方向输入的偏差角度值,利用插值函数计算其他所有输入方向的偏差角度值。
本实施例的触屏操作识别装置的工作原理及过程请参考实施例7,在此不再赘述。
参考图28,是本发明实施例16提供的触屏操作响应装置的结构框图。本实施例的触屏操作响应装置包括:
如实施例9~实施例15任一所述的触屏操作识别装置1601,用于对用户的触控操作进行识别,得到判定结果;
响应模块1602,用于根据所述判定结果,执行相应的响应事件。
参考图29,是本发明实施例17提供的游戏操控方法的流程示意图。本实施例的游戏操控方法包括步骤:
S1701、利用如实施例1~实施例7中任一所述的触屏操作识别方法对用户的触控操作进行识别,得到判定结果;
S1702、根据所述判定结果,响应相应的游戏动作。
其中,在本实施例中,每一个游戏动作预先设定对应一种触控操作,根据实施例1~实施例7任一所述触屏操作识别方法来进行识别,则至少包括对应点击、长按、划屏、拖拽四种基本操作的四个游戏动作,当增加压力值和方向的功能性判断时,则可设定和执行更多的游戏动作,实现更多的功能,以满足玩家的需求。
参考图30,是本发明实施例18提供的游戏操控装置的结构框图。本实施例的游戏操控装置包括如实施例9~15任一所述的触屏操作识别装置1801以及游戏动作响应模块1802;
所述游戏动作响应模块1802用于根据所述触屏操作识别装置1801对触控操作的判定结果,响应相应的游戏动作。
参考图31,是本发明实施例19提供的触屏操作响应方法的流程示意图。该方法包括步骤:
S1901、响应于用户在触摸屏上的初次触控操作,开始记录用户的初次操作时长;
S1902、当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时,获取第一操作距离;
S1903、若所述第一操作距离大于距离阈值,判定所述初次触控操作为拖拽操作;若所述第一操作距离小于距离阈值,判定所述初次触控操作为长按操作;
S1904、当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时,获取第二操作距离;
S1905、若所述第二操作距离大于距离阈值,判定所述初次触控操作为划屏操作;若所述第二操作距离小于距离阈值,判定所述初次触控操作为点击操作;
S1906、若在响应于用户的所述初次触控操作结束后的时间间隔阈值内,响应于用户在触摸屏上的二次触控操作,则开始记录用户的二次操作时长;
S1907、当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时,获取第三操作距离;
S1908、若所述第三操作距离大于距离阈值,判定所述二次触控操作为拖拽操作;若所述第三操作距离小于距离阈值,判定所述二次触控操作为长按操作;
S1909、当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时,获取第四操作距离;
S19010、若所述第四操作距离大于距离阈值,判定所述二次触控操作为划屏操作;若所述第四操作距离小于距离阈值,判定所述二次触控操作为点击操作;
S19011、结合所述初次触控操作和二次触控操作的判定结果,执行相应的响应事件;
其中,所述第一操作距离是指当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第二操作距离是指当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第三操作距离是指当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述第四操作距离是指当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述时长阈值、距离阈值和时间间隔阈值为预设值。
可以理解的,本实施例也可以进一步增加压力值、方向以及用户姿势的判断以及对时间阈值的修正等步骤,具体请结合参考实施例2~实施例7,在此不再赘述。
与实施例8不同的是,本实施例的触屏操作响应方法是结合用户连续输入的两次触控操作的识别结果进行响应的,根据每次触控操作至少包括点击、长按、划屏、拖拽四种基本操作,那么两次以内的操作可以达到4+4*4=20个对应的响应事件,当增加压力值和方向的功能性判断时,则可设定和执行更多的响应事件,实现更多的功能。
参考图32,是本发明实施例20提供的触屏操作响应装置的结构框图。本实施例的触屏操作响应装置包括:
初次操作时长记录模块2001,用于响应于用户在触摸屏上的初次触控操作,开始记录用户的初次操作时长;
第一操作距离获取模块2002,用于当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时,获取第一操作距离;
第一判定模块2003,用于若所述第一操作距离大于距离阈值,判定所述初次触控操作为拖拽操作;若所述第一操作距离小于距离阈值,判定所述初次触控操作为长按操作;
第二操作距离获取模块2004,用于当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时,获取第二操作距离;
第二判定模块2005,用于若所述第二操作距离大于距离阈值,判定所述初次触控操作为划屏操作;若所述第二操作距离小于距离阈值,判定所述初次触控操作为点击操作;
二次操作时长记录模块2006,用于若在响应于用户的所述初次触控操作结束后的时间间隔阈值内,响应于用户在触摸屏上的二次触控操作,则开始记录用户的二次操作时长;
第三操作距离获取模块2007,用于当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时,获取第三操作距离;
第三判定模块2008,用于若所述第三操作距离大于距离阈值,判定所述二次触控操作为拖拽操作;若所述第三操作距离小于距离阈值,判定所述二次触控操作为长按操作;
第四操作距离获取模块2009,用于当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时,获取第四操作距离;
第四判定模块2010,用于若所述第四操作距离大于距离阈值,判定所述二次触控操作为划屏操作;若所述第四操作距离小于距离阈值,判定所述二次触控操作为点击操作;
响应模块2011,用于结合所述初次触控操作和二次触控操作的判定结果,执行相应的响应事件;
其中,所述第一操作距离是指当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第二操作距离是指当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第三操作距离是指当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述第四操作距离是指当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述时长阈值、距离阈值和时间间隔阈值为预设值。
参考图33,是本发明实施例21提供的游戏操控方法的流程示意图。本实施例的游戏操控方法包括步骤:
S2101、响应于用户在触摸屏上的初次触控操作,开始记录用户的初次操作时长;
S2102、当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时,获取第一操作距离;
S2103、若所述第一操作距离大于距离阈值,判定所述初次触控操作为拖拽操作;若所述第一操作距离小于距离阈值,判定所述初次触控操作为长按操作;
S2104、当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时,获取第二操作距离;
S2105、若所述第二操作距离大于距离阈值,判定所述初次触控操作为划屏操作;若所述第二操作距离小于距离阈值,判定所述初次触控操作为点击操作;
S2106、若在响应于用户的所述初次触控操作结束后的时间间隔阈值内,响应于用户在触摸屏上的二次触控操作,则开始记录用户的二次操作时长;
S2107、当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时,获取第三操作距离;
S2108、若所述第三操作距离大于距离阈值,判定所述二次触控操作为拖拽操作;若所述第三操作距离小于距离阈值,判定所述二次触控操作为长按操作;
S2109、当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时,获取第四操作距离;
S2110、若所述第四操作距离大于距离阈值,判定所述二次触控操作为划屏操作;若所述第四操作距离小于距离阈值,判定所述二次触控操作为点击操作;
S2111、结合所述初次触控操作和二次触控操作的判定结果,响应相应的游戏动作;
其中,所述第一操作距离是指当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第二操作距离是指当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第三操作距离是指当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述第四操作距离是指当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述时长阈值、距离阈值和时间间隔阈值为预设值。
与实施例17不同的是,本实施例的游戏操控方法是结合用户连续输入的两次触控操作的识别结果进行响应的,根据每次触控操作至少包括点击、长按、划屏、拖拽四个基本操作,那么两次以内的操作可以达到4+4*4=20个对应的游戏动作,当增加压力值和方向的功能性判断时,则可设定和执行更多的响应事件,实现更多的功能。
参考图34,是本发明实施例22提供的游戏操控装置的结构框图。本实施例的游戏操控装置包括:
初次操作时长记录模块2201,用于响应于用户在触摸屏上的初次触控操作,开始记录用户的初次操作时长;
第一操作距离获取模块2202,用于当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时,获取第一操作距离;
第一判定模块2203,用于若所述第一操作距离大于距离阈值,判定所述初次触控操作为拖拽操作;若所述第一操作距离小于距离阈值,判定所述初次触控操作为长按操作;
第二操作距离获取模块2204,用于当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时,获取第二操作距离;
第二判定模块2205,用于若所述第二操作距离大于距离阈值,判定所述初次触控操作为划屏操作;若所述第二操作距离小于距离阈值,判定所述初次触控操作为点击操作;
二次操作时长记录模块2206,用于若在响应于用户的所述初次触控操作结束后的时间间隔阈值内,响应于用户在触摸屏上的二次触控操作,则开始记录用户的二次操作时长;
第三操作距离获取模块2207,用于当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时,获取第三操作距离;
第三判定模块2208,用于若所述第三操作距离大于距离阈值,判定所述二次触控操作为拖拽操作;若所述第三操作距离小于距离阈值,判定所述二次触控操作为长按操作;
第四操作距离获取模块2209,用于当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时,获取第四操作距离;
第四判定模块2210,用于若所述第四操作距离大于距离阈值,判定所述二次触控操作为划屏操作;若所述第四操作距离小于距离阈值,判定所述二次触控操作为点击操作;
游戏动作响应模块2211,用于结合所述初次触控操作和二次触控操作的判定结果,响应相应的游戏动作;
其中,所述第一操作距离是指当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第二操作距离是指当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第三操作距离是指当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述第四操作距离是指当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述时长阈值、距离阈值和时间间隔阈值为预设值。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (52)

1.一种触屏操作识别方法,其特征在于,包括:
响应于用户在触摸屏上的触控操作,开始记录用户的操作时长;
当所述操作时长达到时长阈值时,获取第一操作距离;
若所述第一操作距离大于距离阈值,判定所述触控操作为拖拽操作;若所述第一操作距离小于距离阈值,判定所述触控操作为长按操作;
当所述操作时长小于时长阈值而响应于用户的所述触控操作结束时,获取第二操作距离;
若所述第二操作距离大于距离阈值,判定所述触控操作为划屏操作;若所述第二操作距离小于距离阈值,判定所述触控操作为点击操作;
其中,所述第一操作距离是指当操作时长为所述时长阈值时触控操作的操作距离;所述第二操作距离是指当操作时长小于时长阈值而响应于用户的所述触控操作结束时触控操作的操作距离;所述时长阈值和距离阈值为预设值;
所述触屏操作识别方法还包括:
在响应于用户在触摸屏上的所述触控操作时,还获取所述触控操作在所述触摸屏上的初始位置;
根据预先生成的用户灵敏度图,获得所述初始位置的灵敏度值;其中,所述灵敏度图与所述触摸屏上的位置一一对应,且所述灵敏度图上的每一位置存储对应的灵敏度值,所述灵敏度值包括所述时长阈值。
2.如权利要求1所述的触屏操作识别方法,其特征在于,所述触屏操作识别方法还包括:
在响应于用户在触摸屏上的所述触控操作时,还开始采集触摸屏感应所述触控操作的触控压力;
若所述触控压力小于压力阈值且持续时间达到时间阈值时,判定所述拖拽操作/长按操作对应为轻拖操作/轻按操作;若所述触控压力大于压力阈值且持续时间达到时间阈值时,判定所述拖拽操作/长按操作对应为重拖操作/重按操作;
若所述触控压力中的最大值小于压力阈值,判定所述划屏操作/点击操作对应为轻划操作/轻击操作;若所述触控压力中的最大值大于压力阈值,判定所述划屏操作/点击操作对应为重划操作/重击操作;
其中,所述触控压力是指当响应于用户在触摸屏上的触控操作起触摸屏持续感应所述触控操作的压力;所述压力阈值、时间阈值为预设值。
3.如权利要求1所述的触屏操作识别方法,其特征在于,所述时长阈值通过以下步骤得到:
分别采集用户在所述触摸屏上进行N次的点击操作、划屏操作、长按操作以及拖拽操作时的每次操作时间;其中,N≥2;
计算所述点击操作、划屏操作的最大操作时间与长按操作、拖拽操作的最小操作时间的平均值,所述平均值为所述时长阈值。
4.如权利要求1所述的触屏操作识别方法,其特征在于,所述距离阈值通过以下步骤得到:
分别采集用户在所述触摸屏上进行N次的点击操作、划屏操作、长按操作以及拖拽操作时的每次操作距离;其中,N≥2;
计算所述点击操作、长按操作的最大操作距离与划屏操作、拖拽操作的最小操作距离的平均值,所述平均值为所述距离阈值。
5.如权利要求2所述的触屏操作识别方法,其特征在于,所述压力阈值通过以下步骤得到:
分别采集用户在所述触摸屏上进行N次的重按操作、轻按操作时的每次触摸屏感应到的压力;其中,N≥2;
计算采集到的所有压力的平均值,所述平均值为压力阈值。
6.如权利要求1所述的触屏操作识别方法,其特征在于,所述预先生成的灵敏度图通过以下步骤得到:
分别采集用户在所述触摸屏上的每一个关键点位置分别进行N次点击操作、划屏操作、长按操作以及拖拽操作时的每次操作时间;其中,N≥2,所述关键点位置至少包括所述触摸屏的四个角所对应的位置;
计算用户在每一个关键点位置的所述点击操作、划屏操作的最大操作时间与长按操作、拖拽操作的最小操作时间的平均值,并将所述平均值作为所述时长阈值;
利用矩形网格或三角形网格计算所述灵敏度图上其他位置的时长阈值。
7.如权利要求6所述的触屏操作识别方法,其特征在于,当利用三角形网格计算所述灵敏度图上其他位置的时长阈值和时间间隔阈值时,所述关键点位置还包括用户手指在不同姿势下进行点击所能到达的至少一个位置;所述不同姿势包括用户手指处于弯曲、半弯曲以及伸展状态。
8.如权利要求7所述的触屏操作识别方法,其特征在于,当利用三角形网格计算所述灵敏度图上其他位置的时长阈值时,通过以下公式计算所述灵敏度图上其他位置的时长阈值:
θd=wθa+vθb+uθc
其中,θa、θb、θc分别为a、b、c三个关键点位置或已知位置的时长阈值,θd为a、b、c三个位置的中心点位置d的时长阈值;sdab、sdac、sdbc、sabc分别为三角形dab、三角形dac、三角形dbc、三角形abc的面积。
9.如权利要求1所述的触屏操作识别方法,其特征在于,所述灵敏度图与所述触摸屏上一一对应的位置为像素点。
10.如权利要求9所述的触屏操作识别方法,其特征在于,所述灵敏度图与所述触摸屏上一一对应的像素点的分辨率相同。
11.如权利要求1所述的触屏操作识别方法,其特征在于,所述触屏操作识别方法还包括:
在响应于用户在触摸屏上的所述触控操作时,还以一定采样周期采集触屏点的位置;
根据所述触屏点在t时刻的位置、所述触屏点在t-1时刻的位置以及在t-1时刻触控操作的操作距离,计算在t时刻触控操作的操作距离并存储;t为正整数。
12.如权利要求1所述的触屏操作识别方法,其特征在于,所述触摸屏为移动终端触摸屏。
13.如权利要求1所述的触屏操作识别方法,其特征在于,还包括:
在响应于用户在触摸屏上的所述触控操作时,还判断用户执行所述触控操作的操作姿势为左手或右手;
根据判断结果获得预设的用户左手或右手的时长阈值及距离阈值。
14.如权利要求2所述的触屏操作识别方法,其特征在于,还包括:
在响应于用户在触摸屏上的所述触控操作时,还判断用户执行所述触控操作的操作姿势为左手或右手;
根据判断结果获得预设的用户左手或右手操作的时长阈值、距离阈值及压力阈值。
15.如权利要求1所述的触屏操作识别方法,其特征在于,还包括:
在响应于用户在触摸屏上的所述触控操作时,还判断用户执行所述触控操作的操作姿势为横向或纵向;
根据判断结果获得预设的用户横向或纵向操作的时长阈值及距离阈值。
16.如权利要求2所述的触屏操作识别方法,其特征在于,还包括:
在响应于用户在触摸屏上的所述触控操作时,还判断用户执行所述触控操作的操作姿势为横向或纵向;
根据判断结果获得预设的用户横向或纵向操作的时长阈值、距离阈值及压力阈值。
17.如权利要求1所述的触屏操作识别方法,其特征在于,还包括:
在响应于用户在触摸屏上的所述触控操作时,还判断用户执行所述触控操作的操作姿势为左手或右手,以及手持所述触摸屏的姿势为横向或纵向;
根据判断结果获得预设的用户左手或右手以及横向或纵向操作的时长阈值及距离阈值。
18.如权利要求2所述的触屏操作识别方法,其特征在于,还包括:
在响应于用户在触摸屏上的所述触控操作时,还判断用户执行所述触控操作的操作姿势为左手或右手,以及手持所述触摸屏的姿势为横向或纵向;
根据判断结果获得预设的用户左手或右手以及横向或纵向操作操作的时长阈值、距离阈值及压力阈值。
19.如权利要求1所述的触屏操作识别方法,其特征在于,所述触屏操作识别方法还包括:
在响应于用户在触摸屏上的所述触控操作时,还获取用户在所述触摸屏上的期望输入方向;所述期望输入方向包括右、上、左或下四个方向;则
若所述第一操作距离大于距离阈值,判定所述触控操作为拖拽操作具体为:若所述第一操作距离大于距离阈值,根据所述期望输入方向判定所述触控操作为右、上、左或下拖拽操作;
若所述第二操作距离大于距离阈值,判定所述触控操作为划屏操作具体为:
若所述第二操作距离大于距离阈值,根据所述期望输入方向判定所述触控操作为右、上、左或下划屏操作。
20.如权利要求19所述的触屏操作识别方法,其特征在于,在响应于用户在触摸屏上的所述触控操作时,还获取用户在所述触摸屏上的期望输入方向具体为:
在响应于用户在触摸屏上的所述触控操作时,还获取用户在所述触摸屏上的实际输入方向;
根据预先生成的用户的实际输入方向与偏差角度值的对应关系,得到实际输入角度的偏差角度;
利用所述偏差角度对所述实际输入角度进行修正,得到用户的期望输入方向。
21.如权利要求20所述的触屏操作识别方法,其特征在于,所述预先生成的用户的实际输入方向与偏差角度值的对应关系通过以下步骤得到:
通过正态分布函数计算用户基于至少两个关键方向而多次输入的实际角度值的平均值,并计算每一所述关键方向与对应的平均值之间的差值,所述差值为用户在每一所述关键方向输入的偏差角度值;其中,相邻的两个所述关键方向之间的夹角相等;
根据每一所述关键方向输入的偏差角度值,利用插值函数计算其他所有输入方向的偏差角度值。
22.如权利要求21所述的触屏操作识别方法,其特征在于,所述插值函数采用如下公式计算其他所有输入方向的偏差角度值:
dev(x)∈C2[0,360],且在每个[μii+1]上为三次多项式,并满足dev(μi)=f(μi),(i=1,2……,n);
0=μ12<……<μn=360;
dev(k)i-0)=dev(k)i+0),k=0,1,2;
dev(k)1)=dev(k)n),k=0,1,2;
其中,x是其他输入方向对应的角度,dev(x)为其他输入方向的偏差角度,n为所述至少两个关键方向的数量,n≥2;μi是用户基于每一所述关键方向而多次输入的实际角度值的平均值,dev(μi)为每一所述关键方向的偏差角度值。
23.一种触屏操作响应方法,其特征在于,包括步骤:
利用如权利要求1~22任一所述的触屏操作识别方法对用户的触控操作进行识别,得到判定结果;
根据所述判定结果,执行相应的响应事件。
24.一种触屏操作响应方法,其特征在于,包括:
响应于用户在触摸屏上的初次触控操作,开始记录用户的初次操作时长;
当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时,获取第一操作距离;
若所述第一操作距离大于距离阈值,判定所述初次触控操作为拖拽操作;若所述第一操作距离小于距离阈值,判定所述初次触控操作为长按操作;
当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时,获取第二操作距离;
若所述第二操作距离大于距离阈值,判定所述初次触控操作为划屏操作;若所述第二操作距离小于距离阈值,判定所述初次触控操作为点击操作;
若在响应于用户的所述初次触控操作结束后的时间间隔阈值内,响应于用户在触摸屏上的二次触控操作,则开始记录用户的二次操作时长;
当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时,获取第三操作距离;
若所述第三操作距离大于距离阈值,判定所述二次触控操作为拖拽操作;若所述第三操作距离小于距离阈值,判定所述二次触控操作为长按操作;
当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时,获取第四操作距离;
若所述第四操作距离大于距离阈值,判定所述二次触控操作为划屏操作;若所述第四操作距离小于距离阈值,判定所述二次触控操作为点击操作;
结合所述初次触控操作和二次触控操作的判定结果,执行相应的响应事件;
其中,所述第一操作距离是指当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第二操作距离是指当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第三操作距离是指当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述第四操作距离是指当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述时长阈值、距离阈值和时间间隔阈值为预设值;
所述触屏操作响应方法还包括:
在响应于用户在触摸屏上的所述触控操作时,还获取所述触控操作在所述触摸屏上的初始位置;
根据预先生成的用户灵敏度图,获得所述初始位置的灵敏度值;其中,所述灵敏度图与所述触摸屏上的位置一一对应,且所述灵敏度图上的每一位置存储对应的灵敏度值,所述灵敏度值包括所述时长阈值。
25.一种触屏操作识别装置,其特征在于,包括:
操作时长记录模块,用于响应于用户在触摸屏上的触控操作,开始记录用户的操作时长;
第一操作距离获取模块,用于当所述操作时长达到时长阈值时,获取第一操作距离;
第一判定模块,用于若所述第一操作距离大于距离阈值,判定所述触控操作为拖拽操作;若所述第一操作距离小于距离阈值,判定所述触控操作为长按操作;
第二操作距离获取模块,用于当所述操作时长小于时长阈值而响应于用户的所述触控操作结束时,获取第二操作距离;
第二判定模块,用于若所述第二操作距离大于距离阈值,判定所述触控操作为划屏操作;若所述第二操作距离小于距离阈值,判定所述触控操作为点击操作;
其中,所述第一操作距离是指当操作时长为所述时长阈值时触控操作的操作距离;所述第二操作距离是指当操作时长小于时长阈值而响应于用户的所述触控操作结束时触控操作的操作距离;所述时长阈值和距离阈值为预设值;
所述触屏操作识别装置还包括:
初始位置获取模块,用于响应于用户在触摸屏上的所述触控操作,获取所述触控操作在所述触摸屏上的初始位置;
灵敏度值确定模块,用于根据预先生成的用户灵敏度图,获得所述初始位置的灵敏度值;其中,所述灵敏度图与所述触摸屏上的位置一一对应,且所述灵敏度图上的每一位置存储对应的灵敏度值,所述灵敏度值包括所述时长阈值。
26.如权利要求25所述的触屏操作识别装置,其特征在于,所述触屏操作识别装置还包括:
触控压力获取模块,用于在响应于用户在触摸屏上的所述触控操作时,开始采集触摸屏感应所述触控操作的触控压力;
所述第一判定模块进一步用于:若所述触控压力小于压力阈值且持续时间达到时间阈值时,判定所述拖拽操作/长按操作对应为轻拖操作/轻按操作;若所述触控压力大于压力阈值且持续时间达到时间阈值时,判定所述拖拽操作/长按操作对应为重拖操作/重按操作;
所述第二判定模块进一步用于:若所述触控压力中的最大值小于压力阈值,判定所述划屏操作/点击操作对应为轻划操作/轻击操作;若所述触控压力中的最大值大于压力阈值,判定所述划屏操作/点击操作对应为重划操作/重击操作;
其中,所述触控压力是指当响应于用户在触摸屏上的触控操作起触摸屏持续感应所述触控操作的压力;所述压力阈值、时间阈值为预设值。
27.如权利要求25所述的触屏操作识别装置,其特征在于,所述时长阈值通过以下步骤得到:
分别采集用户在所述触摸屏上进行N次的点击操作、划屏操作、长按操作以及拖拽操作时的每次操作时间;其中,N≥2;
计算所述点击操作、划屏操作的最大操作时间与长按操作、拖拽操作的最小操作时间的平均值,所述平均值为所述时长阈值。
28.如权利要求25所述的触屏操作识别装置,其特征在于,所述距离阈值通过以下步骤得到:
分别采集用户在所述触摸屏上进行N次的点击操作、划屏操作、长按操作以及拖拽操作时的每次操作距离;其中,N≥2;
计算所述点击操作、长按操作的最大操作距离与划屏操作、拖拽操作的最小操作距离的平均值,所述平均值为所述距离阈值。
29.如权利要求26所述的触屏操作识别装置,其特征在于,所述压力阈值通过以下步骤得到:
分别采集用户在所述触摸屏上进行N次的重按操作、轻按操作时的每次触摸屏感应到的压力;其中,N≥2;
计算采集到的所有压力的平均值,所述平均值为压力阈值。
30.如权利要求25所述的触屏操作识别装置,其特征在于,所述预先生成的灵敏度图通过以下步骤得到:
分别采集用户在所述触摸屏上的每一个关键点位置分别进行N次点击操作、划屏操作、长按操作以及拖拽操作时的每次操作时间;其中,N≥2,所述关键点位置至少包括所述触摸屏的四个角所对应的位置;
计算用户在每一个关键点位置的所述点击操作、划屏操作的最大操作时间与长按操作、拖拽操作的最小操作时间的平均值,并将所述平均值作为所述时长阈值;
利用矩形网格或三角形网格计算所述灵敏度图上其他位置的时长阈值。
31.如权利要求30所述的触屏操作识别装置,其特征在于,当利用三角形网格计算所述灵敏度图上其他位置的时长阈值和时间间隔阈值时,所述关键点位置还包括用户手指在不同姿势下进行点击所能到达的至少一个位置;所述不同姿势包括用户手指处于弯曲、半弯曲以及伸展状态。
32.如权利要求31所述的触屏操作识别装置,其特征在于,当利用三角形网格计算所述灵敏度图上其他位置的时长阈值时,通过以下公式计算所述灵敏度图上其他位置的时长阈值:
θd=wθa+vθb+uθc
其中,θa、θb、θc分别为a、b、c三个关键点位置或已知位置的时长阈值,θd为a、b、c三个位置的中心点位置d的时长阈值;sdab、sdac、sdbc、sabc分别为三角形dab、三角形dac、三角形dbc、三角形abc的面积。
33.如权利要求25所述的触屏操作识别装置,其特征在于,所述灵敏度图与所述触摸屏上一一对应的位置为像素点。
34.如权利要求33所述的触屏操作识别装置,其特征在于,所述灵敏度图与所述触摸屏上一一对应的像素点的分辨率相同。
35.如权利要求25所述的触屏操作识别装置,其特征在于,所述触屏操作识别装置还包括:
触屏点采集模块,响应于用户在触摸屏上的所述触控操作,以一定采样周期采集触屏点的位置;
操作距离计算模块,用于根据所述触屏点在t时刻的位置、所述触屏点在t-1时刻的位置以及在t-1时刻触控操作的操作距离,计算在t时刻触控操作的操作距离并存储;t为正整数。
36.如权利要求25所述的触屏操作识别装置,其特征在于,所述触摸屏为移动终端触摸屏。
37.如权利要求25所述的触屏操作识别装置,其特征在于,还包括:
操作姿势判断模块,响应于用户在触摸屏上的所述触控操作,判断用户执行所述触控操作的操作姿势为左手或右手;
阈值获取模块,用于根据判断结果获得预设的用户左手或右手的时长阈值及距离阈值。
38.如权利要求26所述的触屏操作识别装置,其特征在于,还包括:
操作姿势判断模块,响应于用户在触摸屏上的所述触控操作,判断用户执行所述触控操作的操作姿势为左手或右手;
阈值获取模块,用于根据判断结果获得预设的用户左手或右手操作的时长阈值、距离阈值及压力阈值。
39.如权利要求25所述的触屏操作识别装置,其特征在于,还包括:
操作姿势判断模块,响应于用户在触摸屏上的所述触控操作,判断用户执行所述触控操作的操作姿势为横向或纵向;
阈值获取模块,根据判断结果获得预设的用户横向或纵向操作的时长阈值及距离阈值。
40.如权利要求26所述的触屏操作识别装置,其特征在于,还包括:
操作姿势判断模块,响应于用户在触摸屏上的所述触控操作,判断用户执行所述触控操作的操作姿势为横向或纵向;
阈值获取模块,根据判断结果获得预设的用户横向或纵向操作的时长阈值、距离阈值及压力阈值。
41.如权利要求25所述的触屏操作识别装置,其特征在于,还包括:
操作姿势判断模块,响应于用户在触摸屏上的所述触控操作,判断用户执行所述触控操作的操作姿势为左手或右手,以及手持所述触摸屏的姿势为横向或纵向;
阈值获取模块,根据判断结果获得预设的用户左手或右手以及横向或纵向操作的时长阈值及距离阈值。
42.如权利要求26所述的触屏操作识别装置,其特征在于,还包括:
操作姿势判断模块,响应于用户在触摸屏上的所述触控操作,判断用户执行所述触控操作的操作姿势为左手或右手,以及手持所述触摸屏的姿势为横向或纵向;
阈值获取模块,根据判断结果获得预设的用户左手或右手以及横向或纵向操作操作的时长阈值、距离阈值及压力阈值。
43.如权利要求25所述的触屏操作识别装置,其特征在于,所述触屏操作识别装置还包括:
期望输入方向获取模块,响应于用户在触摸屏上的所述触控操作,获取用户在所述触摸屏上的期望输入方向;所述期望输入方向包括右、上、左或下四个方向;则
所述第一判定模块进一步用于:若所述第一操作距离大于距离阈值,根据所述期望输入方向判定所述触控操作为右、上、左或下拖拽操作;
所述第二判定模块进一步用于:若所述第二操作距离大于距离阈值,根据所述期望输入方向判定所述触控操作为右、上、左或下划屏操作。
44.如权利要求43所述的触屏操作识别装置,其特征在于,所述期望输入方向获取模块包括:
实际输入方向获取单元,响应于用户在触摸屏上的所述触控操作,获取用户在所述触摸屏上的实际输入方向;
偏差角度确定单元,根据预先生成的用户的实际输入方向与偏差角度值的对应关系,得到实际输入角度的偏差角度;
修正单元,利用所述偏差角度对所述实际输入角度进行修正,得到用户的期望输入方向。
45.如权利要求44所述的触屏操作识别装置,其特征在于,还包括对应关系预生成模块,用于:
通过正态分布函数计算用户基于至少两个关键方向而多次输入的实际角度值的平均值,并计算每一所述关键方向与对应的平均值之间的差值,所述差值为用户在每一所述关键方向输入的偏差角度值;其中,相邻的两个所述关键方向之间的夹角相等;
根据每一所述关键方向输入的偏差角度值,利用插值函数计算其他所有输入方向的偏差角度值。
46.如权利要求45所述的触屏操作识别装置,其特征在于,所述插值函数采用如下公式计算其他所有输入方向的偏差角度值:
dev(x)∈C2[0,360],且在每个[μii+1]上为三次多项式,并满足dev(μi)=f(μi),(i=1,2……,n);
0=μ12<……<μn=360;
dev(k)i-0)=dev(k)i+0),k=0,1,2;
dev(k)1)=dev(k)n),k=0,1,2;
其中,x是其他输入方向对应的角度,dev(x)为其他输入方向的偏差角度,n为所述至少两个关键方向的数量,n≥2;μi是用户基于每一所述关键方向而多次输入的实际角度值的平均值,dev(μi)为每一所述关键方向的偏差角度值。
47.一种触屏操作响应装置,其特征在于,包括:
如权利要求25~46任一所述的触屏操作识别装置,用于对用户的触控操作进行识别,得到判定结果;
响应模块,用于根据所述判定结果,执行相应的响应事件。
48.一种触屏操作响应装置,其特征在于,包括:
初次操作时长记录模块,用于响应于用户在触摸屏上的初次触控操作,开始记录用户的初次操作时长;
第一操作距离获取模块,用于当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时,获取第一操作距离;
第一判定模块,用于若所述第一操作距离大于距离阈值,判定所述初次触控操作为拖拽操作;若所述第一操作距离小于距离阈值,判定所述初次触控操作为长按操作;
第二操作距离获取模块,用于当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时,获取第二操作距离;
第二判定模块,用于若所述第二操作距离大于距离阈值,判定所述初次触控操作为划屏操作;若所述第二操作距离小于距离阈值,判定所述初次触控操作为点击操作;
二次操作时长记录模块,用于若在响应于用户的所述初次触控操作结束后的时间间隔阈值内,响应于用户在触摸屏上的二次触控操作,则开始记录用户的二次操作时长;
第三操作距离获取模块,用于当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时,获取第三操作距离;
第三判定模块,用于若所述第三操作距离大于距离阈值,判定所述二次触控操作为拖拽操作;若所述第三操作距离小于距离阈值,判定所述二次触控操作为长按操作;
第四操作距离获取模块,用于当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时,获取第四操作距离;
第四判定模块,用于若所述第四操作距离大于距离阈值,判定所述二次触控操作为划屏操作;若所述第四操作距离小于距离阈值,判定所述二次触控操作为点击操作;
响应模块,用于结合所述初次触控操作和二次触控操作的判定结果,执行相应的响应事件;
其中,所述第一操作距离是指当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第二操作距离是指当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第三操作距离是指当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述第四操作距离是指当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述时长阈值、距离阈值和时间间隔阈值为预设值;
所述触屏操作响应装置还包括:
初始位置获取模块,用于响应于用户在触摸屏上的所述触控操作,获取所述触控操作在所述触摸屏上的初始位置;
灵敏度值确定模块,用于根据预先生成的用户灵敏度图,获得所述初始位置的灵敏度值;其中,所述灵敏度图与所述触摸屏上的位置一一对应,且所述灵敏度图上的每一位置存储对应的灵敏度值,所述灵敏度值包括所述时长阈值。
49.一种游戏操控方法,其特征在于,包括如权利要求1~22任一所述的触屏操作识别方法的步骤,以及
根据所述触屏操作识别方法对触控操作的判定结果,响应相应的游戏动作。
50.一种游戏操控装置,其特征在于,包括如权利要求25~46任一所述的触屏操作识别装置以及游戏动作响应模块;
所述游戏动作响应模块用于根据所述触屏操作识别装置对触控操作的判定结果,响应相应的游戏动作。
51.一种游戏操控方法,其特征在于,包括:
响应于用户在触摸屏上的初次触控操作,开始记录用户的初次操作时长;
当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时,获取第一操作距离;
若所述第一操作距离大于距离阈值,判定所述初次触控操作为拖拽操作;若所述第一操作距离小于距离阈值,判定所述初次触控操作为长按操作;
当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时,获取第二操作距离;
若所述第二操作距离大于距离阈值,判定所述初次触控操作为划屏操作;若所述第二操作距离小于距离阈值,判定所述初次触控操作为点击操作;
若在响应于用户的所述初次触控操作结束后的时间间隔阈值内,响应于用户在触摸屏上的二次触控操作,则开始记录用户的二次操作时长;
当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时,获取第三操作距离;
若所述第三操作距离大于距离阈值,判定所述二次触控操作为拖拽操作;若所述第三操作距离小于距离阈值,判定所述二次触控操作为长按操作;
当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时,获取第四操作距离;
若所述第四操作距离大于距离阈值,判定所述二次触控操作为划屏操作;若所述第四操作距离小于距离阈值,判定所述二次触控操作为点击操作;
结合所述初次触控操作和二次触控操作的判定结果,响应相应的游戏动作;
其中,所述第一操作距离是指当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第二操作距离是指当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第三操作距离是指当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述第四操作距离是指当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述时长阈值、距离阈值和时间间隔阈值为预设值;
所述游戏操控方法还包括:
在响应于用户在触摸屏上的所述触控操作时,还获取所述触控操作在所述触摸屏上的初始位置;
根据预先生成的用户灵敏度图,获得所述初始位置的灵敏度值;其中,所述灵敏度图与所述触摸屏上的位置一一对应,且所述灵敏度图上的每一位置存储对应的灵敏度值,所述灵敏度值包括所述时长阈值。
52.一种游戏操控装置,其特征在于,包括:
初次操作时长记录模块,用于响应于用户在触摸屏上的初次触控操作,开始记录用户的初次操作时长;
第一操作距离获取模块,用于当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时,获取第一操作距离;
第一判定模块,用于若所述第一操作距离大于距离阈值,判定所述初次触控操作为拖拽操作;若所述第一操作距离小于距离阈值,判定所述初次触控操作为长按操作;
第二操作距离获取模块,用于当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时,获取第二操作距离;
第二判定模块,用于若所述第二操作距离大于距离阈值,判定所述初次触控操作为划屏操作;若所述第二操作距离小于距离阈值,判定所述初次触控操作为点击操作;
二次操作时长记录模块,用于若在响应于用户的所述初次触控操作结束后的时间间隔阈值内,响应于用户在触摸屏上的二次触控操作,则开始记录用户的二次操作时长;
第三操作距离获取模块,用于当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时,获取第三操作距离;
第三判定模块,用于若所述第三操作距离大于距离阈值,判定所述二次触控操作为拖拽操作;若所述第三操作距离小于距离阈值,判定所述二次触控操作为长按操作;
第四操作距离获取模块,用于当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时,获取第四操作距离;
第四判定模块,用于若所述第四操作距离大于距离阈值,判定所述二次触控操作为划屏操作;若所述第四操作距离小于距离阈值,判定所述二次触控操作为点击操作;
响应模块,用于结合所述初次触控操作和二次触控操作的判定结果,响应相应的游戏动作;
其中,所述第一操作距离是指当所述初次操作时长大于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第二操作距离是指当所述初次操作时长小于时长阈值而响应于用户的所述初次触控操作结束时初次触控操作的操作距离;所述第三操作距离是指当所述二次操作时长大于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述第四操作距离是指当所述二次操作时长小于时长阈值而响应于用户的所述二次触控操作结束时二次触控操作的操作距离;所述时长阈值、距离阈值和时间间隔阈值为预设值;
所述游戏操控装置还包括:
初始位置获取模块,用于响应于用户在触摸屏上的所述触控操作,获取所述触控操作在所述触摸屏上的初始位置;
灵敏度值确定模块,用于根据预先生成的用户灵敏度图,获得所述初始位置的灵敏度值;其中,所述灵敏度图与所述触摸屏上的位置一一对应,且所述灵敏度图上的每一位置存储对应的灵敏度值,所述灵敏度值包括所述时长阈值。
CN201510751921.6A 2015-11-06 2015-11-06 触屏操作识别和响应方法、装置及游戏操控方法、装置 Active CN105468279B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510751921.6A CN105468279B (zh) 2015-11-06 2015-11-06 触屏操作识别和响应方法、装置及游戏操控方法、装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510751921.6A CN105468279B (zh) 2015-11-06 2015-11-06 触屏操作识别和响应方法、装置及游戏操控方法、装置

Publications (2)

Publication Number Publication Date
CN105468279A CN105468279A (zh) 2016-04-06
CN105468279B true CN105468279B (zh) 2019-08-23

Family

ID=55606034

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510751921.6A Active CN105468279B (zh) 2015-11-06 2015-11-06 触屏操作识别和响应方法、装置及游戏操控方法、装置

Country Status (1)

Country Link
CN (1) CN105468279B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105843513A (zh) * 2016-04-15 2016-08-10 惠州Tcl移动通信有限公司 一种基于移动终端的自适应双击唤醒检测方法及系统
CN106055256B (zh) * 2016-05-31 2019-02-19 网易(杭州)网络有限公司 游戏技能升级的控制方法及装置
WO2018214029A1 (zh) * 2017-05-23 2018-11-29 深圳市大疆创新科技有限公司 用于操纵可移动装置的方法和设备
CN107661630A (zh) 2017-08-28 2018-02-06 网易(杭州)网络有限公司 一种射击游戏的控制方法及装置、存储介质、处理器、终端
CN107656647A (zh) * 2017-09-28 2018-02-02 孙亚雄 一种指环式触控装置及智能终端操控方法
CN109324739B (zh) * 2018-09-28 2021-08-06 腾讯科技(深圳)有限公司 虚拟对象的控制方法、装置、终端及存储介质
CN111752444A (zh) * 2019-03-29 2020-10-09 杭州海康威视数字技术股份有限公司 一种敲击事件检测方法及装置
TWI706308B (zh) * 2019-06-05 2020-10-01 大陸商北京集創北方科技股份有限公司 觸控平面的重壓處理方法、觸控裝置及資訊處理裝置
CN114185477A (zh) * 2021-12-14 2022-03-15 深圳市闪联信息技术有限公司 一种电子白板书写功能下识别手势区分操作的方法和装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6897853B2 (en) * 2000-11-10 2005-05-24 Microsoft Corp. Highlevel active pen matrix
CN101963863B (zh) * 2010-09-30 2015-07-08 华为终端有限公司 用户触摸操作模式自适应的方法和装置
CN101984396A (zh) * 2010-10-19 2011-03-09 中兴通讯股份有限公司 一种自动识别旋转手势的方法及移动终端
CN104216563B (zh) * 2014-08-28 2018-01-23 深圳市金立通信设备有限公司 一种终端
CN104571922B (zh) * 2015-01-13 2018-02-02 小米科技有限责任公司 触摸响应方法、装置及终端
CN104731411B (zh) * 2015-03-27 2018-12-07 努比亚技术有限公司 移动终端的单击动作识别方法及装置

Also Published As

Publication number Publication date
CN105468279A (zh) 2016-04-06

Similar Documents

Publication Publication Date Title
CN105468278B (zh) 虚拟按键的触屏操作识别、响应、游戏操控方法及装置
CN105468279B (zh) 触屏操作识别和响应方法、装置及游戏操控方法、装置
Weir et al. A user-specific machine learning approach for improving touch accuracy on mobile devices
CN106462283B (zh) 计算设备上的字符识别
CN105302467B (zh) 触控操作识别和响应方法、装置及游戏操控方法、装置
JP5992734B2 (ja) ユーザの身体特性を考慮した動的ユーザインターフェース提供装置及び方法
US10372325B2 (en) Electromyographic based touch interaction processing method, device, and system
Li et al. Experimental analysis of mode switching techniques in pen-based user interfaces
CN103827785B (zh) 通过触敏显示屏使用压力差
CN103797442B (zh) 通过触敏显示屏使用压力差
CN107414822B (zh) 机器人控制系统和机器人控制方法
US20130014042A1 (en) Method and apparatus for adjusting size of a list item
DE202014004554U1 (de) Vorrichtung und grafische Benutzerschnittstelle zum Teilen von Inhalt aus einer jeweiligen Anwendung
DE112013002381T5 (de) Vorrichtung, Verfahren und grafische Benutzeroberfläche für die Bewegung und Ablegen eines Benutzerschnittstellenobjekts
CN110377388A (zh) 用于从相应应用程序分享内容的设备、方法和图形用户界面
CN108616712B (zh) 一种基于摄像头的界面操作方法、装置、设备及存储介质
CN107340964A (zh) 一种视图的动画效果实现方法及装置
WO2021098147A1 (zh) Vr体感数据检测方法、装置、计算机设备及存储介质
CN104049874A (zh) 触控笔的触摸笔迹生成方法和系统
CN106393113A (zh) 机器人和机器人的交互控制方法
CN110286840A (zh) 可触控设备的手势缩放控制方法、装置和相关设备
CN109976553A (zh) 基于键盘的操作处理方法、装置、设备及介质
CN106104456A (zh) 信息处理设备、信息处理方法和信息处理程序
CN103995654B (zh) 调节图表粒度的方法和装置
TW201530423A (zh) 觸控方法及觸控系統

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant