CN115867364A - 方法、程序和电子装置 - Google Patents

方法、程序和电子装置 Download PDF

Info

Publication number
CN115867364A
CN115867364A CN202180049658.XA CN202180049658A CN115867364A CN 115867364 A CN115867364 A CN 115867364A CN 202180049658 A CN202180049658 A CN 202180049658A CN 115867364 A CN115867364 A CN 115867364A
Authority
CN
China
Prior art keywords
value
speed
determined
determining
shift
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.)
Pending
Application number
CN202180049658.XA
Other languages
English (en)
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.)
Cygames Inc
Original Assignee
Cygames Inc
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 Cygames Inc filed Critical Cygames Inc
Publication of CN115867364A publication Critical patent/CN115867364A/zh
Pending legal-status Critical Current

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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/04166Details of scanning methods, e.g. sampling time, grouping of sub areas or time sharing with display driving
    • 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
    • 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/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/214Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads
    • A63F13/2145Input arrangements for video game devices characterised by their sensors, purposes or types for locating contacts on a surface, e.g. floor mats or touch pads the surface being also a display device, e.g. touch screens
    • 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
    • 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/55Controlling game characters or game objects based on the game progress
    • 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/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • 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
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Abstract

提供了使得可以进一步提高在经由触摸屏对操作对象进行操作时的可操作性的方法。本发明是一种在配备有触摸屏的计算机中执行的方法,并且该方法包括以下步骤:按预定时间段的间隔将基于触摸事件所获取到的至少一个数据点作为数据点序列进行保持;基于数据点序列中的所保持的至少一个数据点的移位来确定与该数据点序列中的生成了触摸事件的位置的移位的速度相对应的移位速度,并且至少基于所确定的最新移位速度相对于在最新移位速度之前确定的移位速度的平均值的偏离来确定加权速度;以及将所确定的加权速度输入到预定函数中,由此确定用于确定虚拟空间中的操作对象的参数的已转换加权速度。

Description

方法、程序和电子装置
技术领域
本发明涉及方法、程序和电子装置,并且特别涉及在配备有触摸屏的计算机中执行的方法、用于执行该方法的各步骤的程序、以及配备有触摸屏的电子装置。
背景技术
随着近来触摸屏技术的提高,使得能够经由触摸屏上的用户界面进行用户输入的电子装置已变得广泛使用。此外,对于在电子装置上执行的游戏,代替使得能够经由传统的物理控制器进行用户输入,用于使得能够经由电子装置上配备的触摸屏进行用户输入的方法正变得广泛使用。
特别地,随着诸如智能电话等的紧凑型便携式电子装置迅速变得流行,已发布了在这种便携式电子装置上执行的大量游戏。在这种情况下,提出了用于操作触摸屏上所显示的虚拟对象(诸如玩家角色等)的方法的各种技术。
例如,专利文献1公开了配备有触摸屏的游戏装置以及程序,其使得能够通过根据用户所进行的触摸操作设置原点来实现模拟操纵杆的操作。在该游戏装置中,基于作为触摸屏上的未检测到触摸状态改变为检测到触摸状态的结果而开始检测时的坐标来设置基准坐标,并且在之后继续触摸检测的情况下,基于之后检测到的坐标来设置指示坐标。此外,游戏装置将从基准坐标向指示坐标的向量的方向识别为操纵杆倾斜的方向,并将该向量的大小识别为操纵杆倾斜的程度,由此实现用于操作虚拟对象的虚拟操纵杆。
现有技术文献
专利文献
专利文献1:日本专利3734820
专利文献2:日本专利6389581
专利文献3:日本专利6560801
发明内容
发明要解决的问题
在专利文献1中公开的传统技术中,用户将手指放置在触摸屏上的一个点处以使得游戏装置识别基准坐标,然后在维持接触的同时滑动手指,并且当手指的滑动结束时,游戏装置识别手指的接触位置处的指示坐标。利用如此配置的传统技术,当用户要输入方向时,需要生成从基准坐标到指示坐标的距离,这使得难以实现高响应性。例如,在用户希望进行使虚拟操纵杆大幅倾斜的操作的情况下,需要生成从基准坐标向指示坐标的向量的大小,以与要大幅倾斜的操纵杆的倾斜程度相对应。
在这种情况下,申请人提出了在不使用开始点和结束点的空间概念的情况下、根据通过手指的微小移动所生成的触摸点的集合来确定虚拟空间中的操作对象的参数(例如,方向和速度)的方法(专利文献2和专利文献3)。然而,对于经由触摸屏的用户操作,需要实现更高度可操作的方法作为用于控制作为用户可以操作的对象的操作对象的操作方法。
本发明是为了解决上述问题而做出的,并且本发明的主要目的是提供使得可以进一步提高在经由触摸屏对操作对象进行操作时的可操作性的方法等。
用于解决问题的方案
作为本发明的一方面的方法是一种在计算机中执行的方法,所述计算机配备有触摸屏,并且所述方法的特征在于包括以下步骤:
按预定时间段的间隔将至少一个数据点作为数据点序列进行保持,其中,所述至少一个数据点是基于通过对所述触摸屏的用户操作所生成的触摸事件而获取到的,并且由第一轴上的值和第二轴上的值来表示;
基于所述数据点序列中的所保持的至少一个数据点的移位来确定与所述数据点序列中的生成了触摸事件的位置的移位的速度相对应的移位速度,并且至少基于所确定的最新移位速度相对于在该最新移位速度之前确定的移位速度的平均值的偏离来确定加权速度;以及
将所确定的加权速度输入到预定函数中,由此确定用于确定虚拟空间中的操作对象的参数的已转换加权速度,其中所述预定函数用于确定与所输入的值相对应的值并且保持并确定所确定的值中的至少一个值的最大值。
另外,作为本发明的一方面,在作为数据点序列进行保持的步骤中,按与帧速率相对应的时间段的间隔将至少一个数据点作为数据点序列进行保持,以及
在确定加权速度的步骤中,基于在一帧的时间段中保持的数据点序列中的至少一个数据点的移位来确定与所述一帧中的生成了触摸事件的位置的移位的速度相对应的移位速度,并且至少基于最新帧中的移位速度相对于所述最新帧之前的帧中的移位速度的平均值的偏离来确定加权速度。
另外,作为本发明的一方面,上述方法包括以下步骤:
在通过对所述触摸屏的用户操作生成与触摸结束或触摸取消相对应的触摸事件的情况下,终止通过所述预定函数的最大值的保持。
另外,作为本发明的一方面,所述预定函数被配置为通过响应于所输入的值等于或大于预定阈值而确定具有根据所述预定阈值的大小的常数,来确定与所输入的值相对应的值。
另外,作为本发明的一方面,所述预定函数被配置为通过应用用于将所输入的一个值映射到一定值域内的一个值的函数来确定与所输入的值相对应的值。
另外,作为本发明的一方面,上述方法包括以下步骤:
保持数据点,其中该数据点是基于通过对所述触摸屏的用户操作所生成的触摸事件而获取到的,并且由所述第一轴上的值和所述第二轴上的值来表示;
终止所保持的多个数据点中的、预定保持时间段已到期的数据点的保持;
基于所保持的多个数据点来确定回归线的斜率;
基于作为所保持的多个数据点的集合的移位方向来确定用于使所确定的回归线的斜率转动的转动量;以及
按所述预定时间段的间隔,基于所确定的回归线的斜率和所确定的转动量来确定角度。
另外,作为本发明的一方面,在确定已转换加权速度的步骤和确定角度的步骤中的各步骤中,所述已转换加权速度和所述角度是按所述预定时间段的间隔来确定的,以及
所述方法包括以下步骤:基于所确定的已转换加权速度和具有所确定的角度的单位向量来按所述预定时间段的间隔生成合成向量。
另外,作为本发明的一方面,所确定的合成向量的方向是所述操作对象的移动方向,并且所确定的合成向量的大小是所述操作对象的移动速度。
另外,作为本发明的一方面,所述方法包括以下步骤:基于所确定的合成向量的大小来确定所述操作对象的移动状态。
作为本发明的一方面的一种程序的特征在于:使计算机执行上述方法的各个步骤。
作为本发明的一方面的电子装置是一种电子装置,其配备有触摸屏,并且所述电子装置的特征在于包括:
用于保持的功能单元,该功能单元用于按预定时间段的间隔将至少一个数据点作为数据点序列进行保持,其中,所述至少一个数据点是基于通过对所述触摸屏的用户操作所生成的触摸事件而获取到的,并且由第一轴上的值和第二轴上的值来表示;
用于确定的功能单元,该功能单元用于基于所述数据点序列中的所保持的至少一个数据点的移位来确定与所述数据点序列中的生成了触摸事件的位置的移位的速度相对应的移位速度,并且至少基于所确定的最新移位速度相对于在该最新移位速度之前确定的移位速度的平均值的偏离来确定加权速度;以及
用于输入的功能单元,该功能单元用于将所确定的加权速度输入到预定函数中,由此确定用于确定虚拟空间中的操作对象的参数的已转换加权速度,其中所述预定函数用于确定与所输入的值相对应的值并且保持并确定所确定的值中的至少一个值的最大值。
发明的效果
根据本发明,可以进一步提高在经由触摸屏对操作对象进行操作时的可操作性。
附图说明
图1是示出根据本发明实施例的电子装置的硬件结构的框图。
图2是根据本发明实施例的电子装置的功能框图。
图3是示出本实施例中的包括第一轴和第二轴的坐标轴的图。
图4是用于示出在根据本发明实施例的电子装置中执行的与数据点的保持有关的处理的流程图。
图5是用于示出在根据本发明实施例的电子装置中执行的与加权速度的确定有关的处理的流程图。
图6是用于示出在根据本发明实施例的电子装置中执行的与角度的确定有关的处理的流程图。
图7示出激活函数f(s,p)的输出值的示例。
图8是用于示出在根据本发明实施例的电子装置中执行的与已转换加权速度的确定有关的处理的流程图。
图9是示出由控制器控制单元进行的合成向量的生成的示例。
图10是用于示出在根据本发明实施例的电子装置中执行的与合成向量的确定有关的处理的流程图。
图11是示出向激活函数f1(s,p)的输入s与响应于输入s而确定的值o之间的关系的示例。
图12是示出向激活函数f2(s,p)的输入s与响应于输入s而确定的值o之间的关系的示例。
图13是示出向激活函数f2(s,p)的输入s与响应于输入s而确定的值o之间的关系的示例。
具体实施方式
以下将参考附图来说明本发明的实施例。除非另外具体说明,否则附图中的相同附图标记表示相同或相应的元件。此外,为了便于说明,存在省略了比所需更详细的说明的情况。例如,存在省略了对已公知的事项的详细说明和对基本上相同的结构的重复说明的情况。注意,在本说明书中,向量的大小可以表示向量的范数。
在根据本发明实施例的电子装置10中安装有通过向用户呈现布置在虚拟空间中的虚拟对象来使游戏进展的游戏应用。当执行游戏应用时,根据本实施例的电子装置10提供虚拟控制器,该虚拟控制器用于响应于用户操作来控制作为要由用户在虚拟空间中操作的虚拟对象的操作对象。虚拟空间和虚拟控制器由游戏应用定义,并且虚拟空间可以是二维空间或三维空间。在本实施例中,操作对象是作为布置在虚拟空间中的角色的操作角色。在电子装置10中,用户使用虚拟控制器来输入例如方向和大小,由此确定诸如操作角色的移动方向和速度等的参数。然而,应当注意,操作对象可以是布置在虚拟空间中的物品或虚拟照相机等。
为了便于说明,在本实施例中假定如上所述的游戏应用安装在电子装置10中,但本发明不限于本实施例。如果电子装置10至少实现能够响应于用户操作来控制操作对象的应用就足够了。例如,代替游戏应用或除游戏应用之外,还可以在电子装置10中实现用于使操作对象响应于用户操作而动作的输入支持应用或模拟应用。在以下的说明中,术语“应用”通常是指应用程序,并且可以指安装在智能手机或平板终端中的应用。
图1是示出根据本发明实施例的电子装置10的硬件结构的框图。电子装置10包括处理器11、输入装置12、显示装置13、存储装置14和通信装置15。这些构成装置经由总线16连接。假定在总线16和各个构成装置之间根据需要插入接口。在本实施例中,电子装置10是智能电话。可替代地,电子装置10可以是平板计算机、或者配备有诸如触摸板等的接触型输入装置的计算机等,只要计算机包括上述结构即可。
处理器11控制电子装置10的整体操作。例如,处理器11是CPU。可替代地,诸如MPU等的电子电路可以用作处理器11。处理器11通过读取存储装置14中所存储的程序和数据并执行这些程序来执行各种类型的处理。在示例中,处理器11由多个处理器构成。
输入装置12是用于接受来自用户的对电子装置10的输入的用户接口。显示装置13是用于在处理器11的控制下向电子装置10的用户呈现应用画面等的显示器。在本实施例中,输入装置12是触摸屏12,并且输入装置12和显示装置13(显示器)具有一体结构。在本实施例中,为了便于说明,“触摸屏12”可以指输入装置12和显示装置13。然而,输入装置12也可以是触摸板,并且显示装置13可以相应地是与触摸屏分开的显示器。
存储装置14包括主存储装置和辅助存储装置。主存储装置是使得能够进行信息的高速读取和写入的易失性存储介质,并且用作处理器11处理信息时的存储区域和工作区域。辅助存储装置存储由处理器11在执行各个程序时使用的各种程序和数据。辅助存储装置例如是硬盘装置,但可以是非易失性存储设备或非易失性存储器,并且还可以是可移除类型,只要该装置可以存储信息即可。在示例中,存储装置14是包括易失性存储器和非易失性存储器的由典型智能电话提供的存储装置。存储装置14存储包括游戏应用的各种程序。例如,存储装置14存储操作系统(OS)、中间件、应用程序、在执行这些程序时可以参考的各种数据等。
通信装置15是能够经由网络向诸如用户终端或服务器等的另一计算机发送数据和从该另一计算机接收数据的无线LAN模块。然而,通信装置15可以是诸如
Figure BDA0004048835300000071
模块等的任何其他无线通信装置、或者诸如以太网模块或USB接口等的有线通信装置。在示例中,电子装置10借助于通信装置15从服务器下载程序并将程序存储在存储装置14中。在既不向另一计算机发送数据也不从另一计算机接收数据的情况下,电子装置10不需要包括通信装置15。
图2是根据本发明实施例的电子装置10的功能框图。电子装置10包括输入单元21、显示单元22、引擎单元23、控制器控制单元24和应用单元25。在本实施例中,这些功能通过处理器11执行程序来实现。例如,执行的程序是在存储装置14中存储的或经由通信装置15接收到的程序。由于如上所述、通过读取程序来实现各种功能,因此一个部件(功能)的一部分或全部可以在另一部件中提供。另一部件可以是本实施例中未说明的部件。可替代地,这些功能可以通过配置用于实现功能的一部分或全部的电子电路等借助于硬件来实现。在示例中,虚拟控制器通过三层结构来实现,其中引擎单元23、控制器控制单元24和应用单元25与各个层相对应。在这种情况下,作为处理器11执行包括与各个层相对应的程序的程序的结果实现了虚拟控制器。
输入单元21是通过使用触摸屏12构成的,并且接受来自用户的对电子装置10的输入。在本实施例中,输入单元21接受用户对触摸屏12进行的触摸操作并且生成触摸事件。输入单元21是通常在智能电话中提供的功能。
显示单元22将游戏应用画面(游戏画面)显示在触摸屏12上,以根据用户操作显示画面。
通过使用通过对触摸屏12的用户触摸操作所生成的触摸事件,引擎单元23按与帧速率相对应的帧时间(帧间时间)的间隔,确定用于确定操作角色的参数的已转换加权速度。通过使用通过对触摸屏12的用户触摸操作所生成的触摸事件,引擎单元23按帧时间的间隔确定用于确定操作角色的参数的角度。帧时间F(秒)是与用于执行游戏的帧速率相对应的时间段。帧速率通常为30fps(每秒帧数)或60fps。例如,如果帧速率是30fps,则帧时间F是1/30秒。注意,在本实施例中,词语“确定”可以包括计算和通过计算而确定。
将说明由引擎单元23进行的数据点的保持。引擎单元23基于通过对触摸屏12的用户操作所生成的触摸事件来获取由第一轴上的值和第二轴上的值表示的数据点。这里,触摸事件包括在用户使手指与触摸屏12接触时生成的touchstart(触摸开始)、在用户在保持手指与触摸屏12接触的同时移动手指时生成的touchmove(触摸移动)、以及在用户将手指从触摸屏12移开时生成的touchend(触摸结束)。触摸事件还可以包括在触摸被取消时生成的touchcancel(触摸取消)。
引擎单元23在发生触摸事件时获取触摸事件。在获取触摸事件时,引擎单元23获取由两个变量组成并且与触摸屏12上的静电电容已改变的位置相对应的数值的集合(x,y)并且将该数值的集合(x,y)存储在第一缓冲器中。由两个变量组成的数值集合的数据是由引擎单元23与触摸事件相关联地获取到的,并且与由第一轴上的值和第二轴上的值表示的数据点相对应。第一缓冲器是存储装置14中的为了暂时保持数据所设置的存储区域的示例,并且不限于这样的存储区域,只要第一缓冲器可以暂时保持数据即可。这同样适用于其他缓冲器。
在示例中,引擎单元23获取由两个变量组成的数值的集合(x,y),并且还获取(x,y)被获取到的时间t,由此将由三个变量组成的数值的集合(x,y,t)存储在第一缓冲器中。这里,时间t是表示作为获取到(x,y)的时间的数据点获取时间的值,并且如上所述与(x,y)相关联地存储在第一缓冲器中。例如,时间t可以是可以从OS获取到的整数值(所谓的
Figure BDA0004048835300000091
时间),或者可以是诸如“2017/07/14 15:48:43.444”等的字符串。在下文,保持(或终止保持)数据点的引擎单元23可以包括保持(或终止保持)与数据点相关联的数据点获取时间t。
在本实施例中,为了便于说明,如下定义第一轴和第二轴。图3是示出本实施例中的包括第一轴和第二轴的坐标轴的图。第一轴是与大致矩形的触摸屏12的较短边基本平行的横轴(x轴)。第二轴是与触摸屏12的较长边基本平行的纵轴(y轴)。触摸屏12上的位置是以沿着第一轴(x轴)和第二轴(y轴)的坐标(x,y)的形式表示的。因此,在本实施例中,数据点的坐标(x,y)与触摸屏12上的位置相对应,并且引擎单元23将坐标(x,y)作为数据点保持在第一缓冲器中。图3所示的坐标设置仅是示例,并且可以根据在电子装置10中实现的程序以与上述示例不同的方式设置坐标。
在第一缓冲器中所保持的数据点中,引擎单元23终止预定保持时间段已到期的数据点的保持。例如,当终止数据点的数据的保持时,引擎单元23可以删除数据或使数据无效,或者可替代地,通过将表示数据点的保持已终止的标志与数据相关联来适当地删除数据。引擎单元23定义用于以毫秒为单位指定第一缓冲器中所存储的各个数据点的寿命的变量Da。由变量Da指定的时间段与预定保持时间段相对应。然而,变量Da的值不限于毫秒。在示例中,变量Da被设置为167,并且引擎单元23将第一缓冲器中所保持的数据点保持167毫秒。当经过了167毫秒时,数据点在第一缓冲器中的保持终止。167毫秒的时间段是与在用于运行游戏的帧速率是30fps的情况下的五帧相对应的时间段的示例。
图4是用于示出在根据本发明实施例的电子装置10中执行的与数据点的保持有关的处理的流程图。
在步骤(S)101中,引擎单元23判断是否生成了触摸事件。在生成了触摸事件的情况下,该流程图进入步骤102,并且在没有生成触摸事件的情况下,该流程图跳到步骤104。
在步骤102中,引擎单元23判断所生成的触摸事件是touchend还是touchcancel。在所获取到的触摸事件不是touchend或touchcancel的情况下,该流程图进入步骤103。在所获取到的触摸事件是touchend或touchcancel的情况下,该流程图跳到步骤104。
在步骤103中,引擎单元23从所生成的触摸事件获取数据点,并将该数据点存储在第一缓冲器中。在示例中,引擎单元23将Ta和Da与要存储的数据点相关联,其中Ta表示在数据点的存储之后的以毫秒为单位的经过时间,并且Da表示数据点可以存储在第一缓冲器中的以毫秒为单位的时间。
在步骤104中,在第一缓冲器中所保持的数据点中,引擎单元23终止经过时间Ta等于或大于变量Da的数据点的保持。在示例中,对于第一缓冲器中所存储的各个数据点,引擎单元23将经过时间Ta与变量Da进行比较,并且如果经过时间Ta等于或大于变量Da,则终止数据点的保持。
在步骤105中,除非处理例如由于游戏应用的终止而终止,否则流程图返回到步骤101。
现在将说明由引擎单元23进行的加权速度的确定。对于通过引擎单元23确定加权速度的方法,可以采用与如在日本专利6560801的公开中所述的通过引擎单元确定加权速度的方法类似的方法。
引擎单元23将由第一缓冲器中所保持的一个或多于一个数据点构成的数据点序列按帧时间的间隔保持在存储装置14的第二缓冲器中。可替代地,在不需要第一缓冲器的干预的情况下,引擎单元23将由基于通过对触摸屏12的用户操作所生成的触摸事件而获取到的一个或多于一个数据点构成的数据点序列按帧时间的间隔保持在第二缓冲器中。
如下表示由引擎单元23在第i个帧中保持的数据点序列P(i)。
P(i)={Pi,1,Pi,2,…Pi,m}
这里,Pi,k(k=1至m)表示各个数据点。数据点序列P(i)中所包括的各个数据点是在第i个帧的时间段中保持在第一缓冲器中的数据点。各个数据点Pi,k(k=1至m)的x坐标的值和y坐标的值通过(xi,k,yi,k)表示。假定各个数据点按时间顺序(即,Pi,1、Pi,2、...、Pi,m)存储在第一缓冲器中。引擎单元23在第(i-1)个P(i-1)的保持之后经过了一个帧时间F(秒)后保持P(i),并且在经过了另一帧时间后保持P(i+1)。表示P(i)中所包括的数据点的数量的变量m的值根据P(i)而变化。
在第二缓冲器中所保持的数据点序列中,引擎单元23终止预定保持时间段已到期的数据点序列的保持。例如,当终止数据点序列的数据的保持时,引擎单元23可以删除数据或使数据无效,或者可选地,通过将表示数据点序列的保持已终止的标志与数据相关联来适当地删除数据。在示例中,引擎单元23定义指定第二缓冲器中所存储的各个数据点的寿命的变量Db。由变量Db指定的时间段与预定保持时间段相对应,并且在本实施例中与帧的时间段相对应。例如,引擎单元23将数据点序列P(i)与保持数据点序列P(i)的时间ti相关联地保持在第二缓冲器中。在将一个数据点序列P(i)存储在第二缓冲器中之后,引擎单元23监视作为自数据点序列P(i)的存储起所经过的时间的经过时间Tb,并连续地将经过时间Tb与变量Db进行比较。例如,引擎单元23通过使用保持的时间ti来计算经过时间Tb。当正在监视的数据点序列P(i)的经过时间Tb超过变量Db时,引擎单元23终止数据点序列P(i)在第二缓冲器中的保持。
在本实施例中,引擎单元23将一个数据点序列P(i)保持在第二缓冲器中并持续与五帧相对应的5F(秒)的时间段。因此,引擎单元23保持五个数据点序列。引擎单元23保持这五个数据点序列,使得数据点序列的顺序从最新到最早是P(5)、P(4)、P(3)、P(2)和P(1)。因此,在引擎单元23保持与五帧相对应的数据点序列的情况下,最新保持的数据点序列是P(5)。在要新保持数据点序列的情况下,引擎单元23将新的数据点序列保持为P(5),并用P(i+1)的数据替代P(i)(1≤i≤4)。此时,引擎单元23终止预定保持时间段已到期的P(1)的保持。
数据点序列可以表示数据点的序列或者表示数据点的矩阵。在优选示例中,引擎单元23按帧时间的间隔将x坐标值和y坐标值彼此分开地保持为数据点序列。由引擎单元23保持的x坐标值的集合X和y坐标值的集合Y分别通过表达式(1)和(2)表示。
Figure BDA0004048835300000121
Figure BDA0004048835300000122
这里,n表示由引擎单元23保持在第二缓冲器中的数据点序列的数量,并且与帧数相对应。在本实施例中,由于引擎单元23将数据点序列保持与五帧相对应的5F的时间段(秒),因此随着时间的经过,n=1、n=2、n=3、n=4、n=5、n=5、……、n=5。因此,在经过了与五帧相对应的5F(秒)的时间段之后,n=5。此外,最新保持的数据点序列P(n)的x坐标值是xn,0、...、xn,m,并且最新保持的数据点序列P(n)的y坐标值是yn,0、...、yn,m。注意,n的最大值根据引擎单元23保持数据点序列的时间段而变化。
引擎单元23按帧时间的间隔,基于第二缓冲器中所保持的数据点序列中的数据点的移位来确定该数据点序列中的移位速度。引擎单元23至少基于最新确定的移位速度相对于先前确定的移位速度的平均值的偏离(偏差)来确定加权速度。在示例中,引擎单元23将所确定的加权速度的值保持在存储装置14中的可以由其他功能单元和程序参考的预定存储区域中。
移位速度与在相关帧的时间段中数据点(生成触摸事件的位置)移位的速度相对应。换句话说,移位速度可以被定义为与根据相关帧的时间段中的数据点(生成触摸事件的位置)的集合所计算出的用户的手指的移动速度相对应的速度。移位速度vi表示第i个数据点序列中的移位速度或者第i个帧中的移位速度。
在示例中,引擎单元23基于所保持的数据点序列中的最新数据点序列中的移位速度vn相对于比最新数据点序列更早保持的数据点序列中的移位速度v1至vn-1的平均值的偏离来确定加权速度。在示例中,引擎单元23基于所保持的数据点序列中的一个数据点序列中的移位速度vi(i=1至n)相对于比该一个数据点序列更早保持的数据点序列中的移位速度v1至vi-1的平均值的偏离来确定加权速度。这里,移位速度vi相对于移位速度v0至vi-1的平均值的偏离例如是移位速度vi相对于移位速度v0值vi-1的平均值的偏离(偏差)。注意,移位速度v1至vi-1的平均值在i=1的情况下为0,并且在i=2的情况下为v1
在示例中,引擎单元23计算由表达式(3)定义的累积点偏差函数(CPD函数)的输出值,并将输出值确定为加权速度。
Figure BDA0004048835300000131
/>
这里,n表示由引擎单元23保持在第二缓冲器中的数据点序列的数量。
在示例中,在引擎单元23将x坐标值和y坐标值彼此分开地保持为数据点序列的情况下,引擎单元23基于第二缓冲器中所保持的数据点序列中的x坐标值的移位和y坐标值的移位来确定移位速度。在示例中,引擎单元23基于第二缓冲器中所保持的数据点序列中的按时间顺序相邻的数据点之间的移位量以及该数据点序列中所包括的数据点的数量来确定移位速度。
在示例中,根据表达式(4)计算移位速度。
Figure BDA0004048835300000141
这里,α表示与显示器的像素密度DPI(每英寸点数)相对应的系数。α表示等于或大于0的实数值,其通常为1。β表示积分权重。增大β使移位速度更有可能反映突然变化,并且减小β使得移位速度不太可能反映突然变化。在P(i)不包括数据点的情况下,引擎单元23不计算移位速度vi,并且例如设置vi=0。此外,在P(i)包括仅一个数据点的情况下,引擎单元23不计算移位速度vi,并且例如设置vi=0。
avgi-1(v)表示直到紧挨第i个帧之前的移位速度vi的平均值。根据表达式(5)计算avgi-1(v)。
Figure BDA0004048835300000142
这里,在i=1的情况下,由于不存在直到紧前的移位速度,因此avgi-1(v)=0。
图5是用于示出在根据本发明实施例的电子装置10中执行的与加权速度的确定有关的处理的流程图。在示例中,电子装置10按与帧速率相对应的时间段的间隔执行该流程图的步骤201至204。
在步骤201中,引擎单元23将在一帧的时间段中获取到的数据点作为数据点序列P(i)保持在第二缓冲器中。此时,引擎单元23将Tb和Db与要保持的数据点序列P(i)相关联,其中Tb表示在数据点序列的存储之后的以毫秒为单位的经过时间,并且Db是表示数据点序列可以存储在第二缓冲器中的以毫秒为单位的时间(保持寿命)的变量。
然后,在步骤202中,在第二缓冲器中所保持的数据点序列P(i)中,引擎单元23终止经过时间Tb等于或大于变量Db的数据点序列P(i)的保持。
随后,在步骤203中,引擎单元23通过使用表达式(3)至(5)来确定加权速度。
随后,在步骤204中,除非处理例如由于游戏应用的终止而终止,否则流程图返回到步骤201。当流程图结束时,引擎单元23终止所有数据点序列P(i)的保持。
现在将说明由引擎单元23进行的角度确定。对于通过引擎单元23确定角度的方法,可以采用与如日本专利6389581的公开中所述的通过角度确定单元确定角度的方法类似的方法。
引擎单元23判断是否可以按帧时间的间隔计算出角度。如果可以计算出角度,则引擎单元23使用第一缓冲器中所保持的数据点并确定由数据点的集合表示的角度。通过确定由数据点的集合表示的角度,引擎单元23变得能够确定在对触摸屏12进行了触摸操作的用户所预期的方向上的角度。在示例中,引擎单元23定义变量B,并且如果第一缓冲器中所保持的数据点的数量等于或大于变量B,则使用数据点来计算(确定)角度并保持所确定的角度。在这种情况下,引擎单元23仅保持最新确定的角度。如果第一缓冲器中所保持的数据点的数量小于变量B,则引擎单元23在不计算角度的情况下确定所保持的角度。通常,在确定回归线的斜率时,期望具有三个或多于三个数据点,因此变量b优选被设置为3或更大。
引擎单元23基于第一缓冲器中所保持的数据点来确定回归线的斜率。在确定回归线的斜率时,引擎单元23基于第一缓冲器中所保持的数据点中的x轴值的移位量和y轴值的移位量来将x轴和y轴中的一个轴设置为自变量的轴。引擎单元23将另一轴设置为因变量的轴。在示例中,引擎单元23使用最小二乘法来计算回归线的斜率。
引擎单元23在自变量的轴是x轴时,确定回归线y=ax+b的斜率a,并且在自变量的轴是y轴时,确定回归线x=cy+d的斜率c。
在示例中,引擎单元23基于第一缓冲器中所保持的数据点中的x轴上的值的最大值与最小值之间的差以及y轴上的值的最大值与最小值之间的差,将x轴和y轴中的一个轴设置为自变量的轴,并且将另一轴设置为因变量的轴。在示例中,引擎单元23基于通过利用权重系数对第一缓冲器中所保持的数据点中的x轴上的值的最大值与最小值之间的差进行加权所获得的值、以及基于y轴上的值的最大值与最小值之间的差,将x轴和y轴中的一个轴设置为自变量的轴,并将另一轴设置为因变量的轴。
由于要计算的回归线的斜率不具有正或负方向,因此引擎单元23在使用最小二乘法计算回归线的斜率时,计算例如在0至90度和270至360度的范围内的角度。因此,即使当由数据点的集合表示的角度例如是45度或225度时,45度也被计算为回归线的斜率。由于该原因,在确定回归线的斜率之后,引擎单元23基于被视为数据点的集合的移位方向来确定表示是否使回归线相对于所确定的回归线的斜率(角度)转动180度的转动量。在示例中,引擎单元23通过在数据点中的所设置的自变量的轴上的按时间顺序的前后值之间将正差的数量与负差的数量进行比较来确定转动量。这里,被视为数据点的集合的移位方向表示数据点随时间的经过而移位的方向,并且与例如用户在触摸屏12上移动他/她的手指的粗略方向相对应。
在示例中,引擎单元23使用表达式(6)中所示的函数aop(x,y)来确定角度。函数aop(x,y)将角度计算为从0到360度的实数。假定当引擎单元23使用函数aop(x,y)计算角度时,第一缓冲器保持n个数据点P。n个数据点Pk(k=1至n)中的各数据点的x坐标的值和y坐标的值被表示为(xk,yk),并且假定各个数据点Pk按从P1、P2、...、Pn起的时间顺序存储在第一缓冲器中。
Figure BDA0004048835300000171
对于函数aop(x,y),将函数rotate(x,y)、函数left(x)和函数down(y)用于按情况的处理。首先,函数aop(x,y)使用函数rotate(x,y)来将x和y中的一个设置为自变量。
函数rotate(x,y)由表达式(7)定义。
rotate(x,y)=w·(max(x)-min(x))<(max(y)-min(y)) (7)
函数rotate(x,y)判断n个数据点P是否主要在y轴方向上移位,并且返回例如真值或假值。这样,函数rotate(x,y)判断n个数据点P是主要在x轴(左/右)方向上还是主要在y轴(上/下)方向上移位,并且判断x轴上的值和y轴上的值中的哪个适合作为自变量。
在表达式(7)中,(max(x)-(min(x))是n个数据点P中的x的值(x1,x2,...xn)的最大值与最小值之间的差的绝对值,从而表示n个数据点P在x轴方向上的移位量。同样地,(max(y)-min(y))是n个数据点P中的y的值(y1,y2,...yn)的最大值和最小值之间的差的绝对值,从而表示n个数据点P在y轴方向上的移位量。变量w是用于对(max(x)-min(x))进行加权的权重系数。
在(max(y)-min(y))大于(max(x)-min(x))与变量w的乘积的情况下,函数rotate(x,y)满足不等式,并且函数aop(x,y)相应地进行坐标变换。在这种情况下,函数aop(x,y)通过将y轴设置为自变量的轴,通过将x轴设置为因变量的轴,并且进一步通过使用函数down(y),来确定转动量。另一方面,在(max(y)-min(y))小于或等于(max(x)-min(x))与变量w的乘积的情况下,函数rotate(x,y)不满足不等式,并且函数aop(x,y)相应地不进行坐标变换。在这种情况下,函数aop(x,y)通过将x轴设置为自变量的轴,通过将y轴设置为因变量的轴,并且进一步通过使用函数left(x),来确定转动量。根据x轴方向和y轴方向上的尺寸、用户握持智能电话的方式等,变量w例如被设置为0.5或2。
函数left(x)由表达式(8)表示。
left(x)=|{x′|x′i>0{|<|{x′|x′i<0}|,x′←[x2-x1,x3-x2,…,xn-xn-1] (8)
如果函数rotate(x,y)不满足不等式,则函数left(x)判断n个数据点P的移位方向是否在-x轴方向(左方向)上,并且返回例如真值或假值。函数left(x)计算n个数据点P中x的值(x1,x2,...xn)中的按时间顺序的前后值之间的差(x2-x1,x3-x2,...xn-xn-1)。函数left(x)通过判断负差的数量是否大于正差的数量来判断n个数据点P的移位方向是否在-x轴方向(左方向)上。这样,函数left(x)判断n个数据点p的移位方向是在-x轴方向(左方向)上还是在+x轴方向(右方向)上,并且确定表示是否使回归线相对于所确定的回归线的斜率转动180度的转动量。例如,如果函数left(x)为真,则函数aop(x,y)确定为转动量为180度,并且如果函数left(x)为假,则函数aop(x,y)确定为转动量为0度。
函数down(y)由表达式(9)表示。
down(y)=|{y′|y′i>0}|<|{y′|y′i<0{|,y′←[y2-y1,y3-y2,…,yn-yn-1] (9)
如果函数rotate(x,y)满足不等式,则函数down(y)判断n个数据点P的移位方向是否在-y轴方向(下方向)上,并且返回例如真值或假值。函数down(y)计算n个数据点P中的y的值(y1,y2,...yn)中的按时间顺序的前后值之间的差(y2-y1,y3-y2,...yn-yn-1)。函数down(y)通过判断负差的数量是否大于正差的数量来判断n个数据点P的移位方向是否在-y轴方向(下方向)上。这样,函数down(y)判断n个数据点P的移位方向是在-y轴方向(下方向)上还是在+y轴方向(上方向)上,并且确定表示是否使回归线相对于所确定的回归线的转动180度的转动量。例如,如果函数down(y)为真,则函数aop(x,y)确定转为转动量为180度,并且如果函数down(y)为假,则函数aop(x,y)确定为转动量为0度。
在如上所述确定了自变量(自变量的轴)和转动量之后,函数aop(x,y)使用最小二乘法计算斜率。例如,如果x是自变量并且y是因变量,则函数aop(x,y)使用表达式(10)计算回归线y=ax+b的斜率a。
Figure BDA0004048835300000191
这里,
Figure BDA0004048835300000192
是x(自变量)的平均值,/>
Figure BDA0004048835300000193
是y(因变量)的平均值,/>
Figure BDA0004048835300000194
是x(自变量)和y(因变量)的协方差,以及/>
Figure BDA0004048835300000195
是x(自变量)的离差。
如果y是自变量并且x是因变量,则函数aop(x,y)以相同的方式使用表达式(11)计算回归线x=cy+d的斜率c。
Figure BDA0004048835300000196
如果函数rotate(x,y)为假并且函数left(x)为假,则函数aop(x,y)按原样计算从回归线的斜率获得的角度。如果函数rotate(x,y)为假并且函数left(x)为真,则函数aop(x,y)通过向从回归线的斜率获得的角度加上180度来计算角度。如果函数rotate(x,y)为真并且函数down(y)为假,则函数aop(x,y)通过从90度中减去从回归线的斜率获得的角度来计算角度。如果函数rotate(x,y)为真并且函数down(y)为真,则函数aop(x,y)通过向通过从90度中减去从回归线的斜率获得的角度加上180度来计算角度。
在示例中,除非生成了touchend或touchcancel,否则引擎单元23将所确定的角度的值保持在存储装置14中的可以由其他功能单元和程序参考的预定存储区域中。在本实施例中,引擎单元23仅保持最新确定的角度。
图6是用于示出在根据本发明实施例的电子装置10中执行的与角度的确定有关的处理的流程图。在示例中,电子装置10按与帧速率相对应的帧时间的间隔执行该流程图的步骤301至309。
在步骤301中,引擎单元23判断是否生成了touchend事件或touchcancel事件。在示例中,引擎单元23判断在一帧的时间段内是否生成了这样的触摸事件。在没有生成touchend或touchcancel事件的情况下,该流程图进入步骤302。如果生成了touchend或touchcancel事件,则该流程图进入步骤309。
在步骤302中,引擎单元23判断第一缓冲器中所保持的数据点的数量n是否等于或大于变量B的值。如果数量n等于或大于变量B,则该流程图进入步骤303,并且如果数量n小于变量B,则流程图进入步骤307。
随后,在步骤303中,引擎单元23基于第一缓冲器中所保持的数据点中的x轴值的移位量和y轴值的移位量,将x轴和y轴中的一个轴设置为自变量的轴。同时,引擎单元23将另一轴设置为因变量的轴。
然后,在步骤304中,如果x轴被设置为自变量的轴,则引擎单元23通过使用表达式(10)计算斜率的角度来确定回归线的斜率的角度。如果在步骤303中将y轴设置为自变量的轴,则引擎单元23通过使用表达式(11)计算斜率的角度、然后从90度中减去所计算的角度来确定回归线的斜率的角度。在示例中,当引擎单元23通过使用表达式(10)或表达式(11)计算斜率的角度时,引擎单元23计算在0至90度和270至360度的范围内的角度。
随后,在步骤305中,引擎单元23基于被视为第一缓冲器中所保持的数据点的集合的移位方向来确定表示是否使回归线相对于所确定的回归线的斜率转动180度的转动量。在示例中,如果在步骤108中将x轴设置为自变量的轴,则引擎单元23计算x轴上的每对按时间顺序的前后值之间的差。当计算出的负差的数量大于计算出的正差的数量时,引擎单元23确定为转动量为180度。当计算出的负差的数量小于计算出的正差的数量时,引擎单元23确定为转动量为0度。在示例中,如果在步骤108中将y轴设置为自变量的轴,则引擎单元23计算y轴上的每对按时间顺序的前后值之间的差。当计算出的负差的数量大于计算出的正差的数量时,引擎单元23确定为转动量为180度。当计算出的负差的数量小于计算出的正差的数量时,引擎单元23确定为转动量为0度。
然后,在步骤306中,引擎单元23基于所确定的回归线的斜率和所确定的转动量来确定角度并保持所确定的角度。在示例中,引擎单元23通过将所确定的转动量与同所确定的回归线的斜率相对应的角度相加来确定角度。如果转动量是0度,则由引擎单元23确定的角度是与所确定的回归线的斜率相对应的角度。该流程图进入步骤308。
在步骤307中,引擎单元23确定(输出)所保持的角度。如果不存在所保持的角度,则引擎单元23确定(输出)表示没有保持角度的数据,诸如NULL(空)等。
在步骤308中,如果处理例如由于游戏应用的终止而终止,则流程图进入步骤309,否则返回到步骤301。在步骤309中,引擎单元23终止角度的保持。
控制器控制单元24通过将所确定的加权速度输入到预定函数中来按帧时间的间隔确定已转换加权速度。预定函数是确定与所输入的值相对应的值并且保持并确定(输出)所确定的值的最大值的函数。由控制器控制单元24确定的已转换加权速度是用于确定诸如操作角色的移动方向和速度等的参数的加权速度。在示例中,控制器控制单元24按帧时间的间隔将所确定的加权速度输入到预定函数中。预定函数按帧时间的间隔确定与所输入的值相对应的值,并且输出并保持所确定的值中的较大值以及通过预定函数到目前为止所确定的值中的最大值。例如,预定函数保持在第i个帧中输出的值,并且在第(i+1)个帧中,使用所保持的值作为通过预定函数到目前为止所确定的值中的最大值。在示例中,除非生成了touchend或touchcancel,否则控制器控制单元24将所确定的已转换加权速度的值保持在存储装置14中的可以由其他功能单元和程序参考的预定存储区域中。
在示例中,预定函数是由使用用于输出A和B的最大值的函数max{A,B}的表达式(12)定义的激活函数f(s,p)。控制器控制单元24确定为激活函数f(s,p)的输出值是已转换加权速度。
Figure BDA0004048835300000221
这里,s是CPD函数的最新确定的输出值(加权速度),并且p是由激活函数f(s,p)紧前输出并保持的值。紧前输出的值意味着在控制器控制单元24要确定激活函数f(s,p)的输出值(已转换加权速度)的帧之前的帧中从激活函数f(s,p)确定并输出的值。激活函数f(s,p)将s作为输入,确定0和1之间的实数o,将o与p进行比较,并且如果o等于或大于p则输出o,或者如果o小于p则输出p。因此,激活函数f(s,p)的输出值将不小于p。在本实施例中,实数o是通过将CPD函数的输出值s除以预定常数C所获得的值。例如,预定常数C被设置为CPD函数的输出值可以取的最大值,使得实数o是0和1之间的实数。由激活函数f(s,p)确定的实数o的从0到1的范围可以是任何其他数值范围。
由于CPD函数逐帧地连续地计算值,因此其输出值响应于用户的手指的不连续移动而不连续地变化,因此通常显著波动。图7示出激活函数f(s,p)的输出值的示例。激活函数f(s,p)的输出值连续变化,随时间的经过上升但不下降。因此,激活函数f(s,p)将CPD函数的值转换成稳定的输出值。在对触摸屏12的用户操作生成触摸结束(touchend)事件或触摸取消(touchcancel)事件的情况下,激活函数f(s,p)终止p的保持并输出零或NULL作为输出值。
图8是用于示出在根据本发明实施例的电子装置10中执行的与已转换加权速度的确定有关的处理的流程图。在示例中,电子装置10按与帧速率相对应的帧时间的间隔执行该流程图的步骤401至404。
在步骤401中,控制器控制单元24判断是否生成了touchend事件或touchcancel事件。在示例中,控制器控制单元24判断在一帧的时间段内是否生成了这样的触摸事件。如果没有生成touchend或touchcancel事件,则该流程图进入步骤402,然后进入步骤404。如果生成了touchend或touchcancel事件,则该流程图进入步骤403,然后进入步骤404。
在步骤402中,控制器控制单元24通过使用表达式(12)来确定已转换加权速度。此时,控制器控制单元24将所确定的已转换加权速度保持在存储装置14中的预定存储区域中。当控制器控制单元24将表达式(12)用于下一轮的步骤402中的处理时,所保持的该已转换加权速度是称为p的值。在示例中,在按与帧速率相对应的时间段的间隔执行的步骤402中,控制器控制单元24通过使用表达式(12)和在也按与帧速率相对应的时间段的间隔执行的步骤203中确定的最新加权速度来确定已转换加权速度。
在步骤403中,控制器控制单元24终止已转换加权速度的保持。
在步骤404中,除非处理例如由于游戏应用的终止而终止,否则流程图返回到步骤401。当该流程图结束时,控制器控制单元24终止已转换加权速度的保持。
控制器控制单元24按帧时间的间隔,通过使用由引擎单元23确定的角度和由控制器控制单元24确定的已转换加权速度来生成合成向量。在示例中,控制器控制单元24基于在预定存储区域中保持的已转换加权速度的值和具有在预定存储区域中保持的角度的值的单位向量来生成合成向量。控制器控制单元24将计算出的合成向量的数据保持在预定存储区域中。
在示例中,控制器控制单元24使用表达式(13)来计算合成向量compose(v)。
Figure BDA0004048835300000231
这里,
Figure BDA0004048835300000232
是由控制器控制单元24紧前确定并保持的合成向量,/>
Figure BDA0004048835300000233
是要与由控制器控制单元24保持的合成向量相加的加法向量,f(s,p)是由引擎单元23确定的最新的已转换加权速度,/>
Figure BDA0004048835300000234
是具有由引擎单元23确定的角度的单位向量,并且γ是加法向量的权重。注意,紧前确定并保持的合成向量是在控制器控制单元24要确定合成向量的帧之前的帧中确定并保持的合成向量。如表达式(13)所示,合成向量/>
Figure BDA0004048835300000235
被归一化以不具有大于1.0的最大值。注意,将合成向量的最大值设置为1.0仅是示例,并且合成向量的最大值可以被设置为另一数值。
图9是示出由控制器控制单元24进行的合成向量的生成的示例。对于第一个帧,假定加法向量是零向量,并且由控制器控制单元24保持的向量也是零向量。在这种情况下,合成向量也是零向量。在引擎单元23不获取并保持任何数据点的情况下(即,在没有生成触摸事件的情况下),加法向量主要是零向量。在下文,第i个帧中的加法向量和合成向量分别如下表示。
Figure BDA0004048835300000241
对于第二个帧,假定加法向量不是零向量。在这种情况下,由控制器控制单元24保持的向量是零向量,因此合成向量如下。
Figure BDA0004048835300000242
这表示加法向量按原样用作合成向量。
对于第三个帧,假定进一步加上加法向量。在这种情况下,由控制器控制单元24保持的向量如下。
Figure BDA0004048835300000243
因此,合成向量如下。
Figure BDA0004048835300000244
这是通过由控制器控制单元24保持的向量与加法向量的相加所产生的向量。
对于第四个帧,假定进一步加上附加向量,并且合成向量的大小(范数)超过1。在这种情况下,合成向量如下。
Figure BDA0004048835300000245
这构成了通过由控制器控制单元24保持的向量与加法向量的相加产生的并且具有范数1的向量。
在本实施例中,引擎单元23按帧时间的间隔确定角度和加权速度,并且控制器控制单元24按帧时间的间隔确定已转换加权速度。这样,控制器控制单元24被配置为能够在各帧中生成合成向量。
由控制器控制单元24确定的合成向量的方向(角度)和大小与虚拟控制器的方向和大小的输入相对应。由控制器控制单元24确定的已转换加权速度与用于生成合成向量的加法向量的大小相对应,并且构成对虚拟控制器的大小的输入做出贡献的值。由控制器控制单元24确定的已转换加权速度与用于生成合成向量的加法向量的方向相对应,并且构成对虚拟控制器的方向的输入做出贡献的值。然而,在本实施例中,虚拟控制器的概念不是必需的,并且如果允许控制器控制单元24在各帧中生成(确定)合成向量并将所确定的合成向量传递到应用单元25,则任何概念都是可接受的。
应用单元25与实现游戏中的动作等的特定游戏应用相对应。例如,应用单元25是在电子装置10中所安装的游戏应用中实现的功能。在该游戏应用中,与一般的游戏应用类似,按与例如帧速率相对应的时间段的间隔来处理主程序的主循环。可替代地,应用单元25可以被配置为与使得操作对象响应于用户操作而动作的输入支持应用或模拟应用相对应。
图10是用于示出在根据本发明实施例的电子装置10中执行的与合成向量的确定有关的处理的流程图。在示例中,电子装置10按与帧速率对应的时间段的间隔执行该流程图的步骤501至505。
步骤501是与步骤402相对应的步骤,并且引擎单元23确定已转换加权速度。步骤502是与步骤306或307相对应的步骤,并且引擎单元23确定角度。步骤501和步骤502可以顺序颠倒。
在步骤503中,控制器控制单元24通过使用在步骤501中确定的已转换加权速度、在步骤502中确定的角度和表达式(13)来确定加法向量
Figure BDA0004048835300000251
在步骤504中,控制器控制单元24基于在步骤503中确定的加法向量
Figure BDA0004048835300000252
和由控制器控制单元24紧前确定并保持的合成向量/>
Figure BDA0004048835300000253
来确定合成向量/>
Figure BDA0004048835300000254
并保持所确定的合成向量。该保持的合成向量是紧前确定并保持的并且控制器控制单元24要参考以用于下一轮的步骤504中的处理的合成向量/>
Figure BDA0004048835300000255
在步骤505中,除非处理例如由于游戏应用的终止而终止,否则流程图返回到步骤501。当该流程图结束时,控制器控制单元24终止合成向量的保持。
在示例中,由控制器控制单元24生成的合成向量的角度和大小被转换成操作角色的参数,诸如操作角色的运动等。在示例中,应用单元25执行处理,使得按帧时间的间隔确定的合成向量的方向和大小分别反映在按帧时间的间隔的操作角色的移动方向和移动速度上。在示例中,应用单元25基于合成向量的大小来确定操作角色的移动状态。例如,(a)在合成向量的大小小于或等于阈值t1时,应用单元25判断为表示“步行”;(b)在合成向量的大小为从阈值t1(不包含该值)到阈值t2(包含该值)时,应用单元25判断为表示“快走”;以及(c)在合成向量的大小大于阈值t2时,应用单元25判断为表示“跑步”。
接着,将说明根据本发明实施例的电子装置10的主要操作和优点。在本实施例中,引擎单元23基于从对触摸屏12的用户操作产生的触摸事件来获取数据点,并将数据点存储在第一缓冲器中。引擎单元23按帧时间的间隔将由第一缓冲器中所保持的数据点构成的数据点序列保持在第二缓冲器中。引擎单元23基于第二缓冲器中所保持的数据点序列中的数据点的移位,通过使用CPD函数按帧时间的间隔确定该数据点序列中的移位速度。此外,引擎单元23至少基于最新确定的移位速度相对于先前确定的移位速度的平均值的偏离(偏差)来确定加权速度。控制器控制单元24按帧时间的间隔确定与所输入的值相对应的值,并将所确定的加权速度输入到激活函数f(s,p)中,由此确定已转换加权速度。
当各帧的移位速度保持比直到紧前帧的移位速度的平均值大的值时,CPD函数输出该更大的值。在用户有意快速移动手指的情况下,手指必然加速一定时间段,这导致CPD函数输出更大的值。在由于触摸屏12和手指之间的接触状况而导致移位速度仅在一帧的时间段中变大的情况下,CPD函数通过将移位速度乘以1/n来对移位速度应用调平,因此特别是在n的值为最大值时不会输出极大的值。如上所述,CPD函数的输出值在正在有意连续加速手指移动的情况下取大值,否则不取大值,这使得可以实现根据直观用户操作的大小。此外,由于CPD函数通过使用相对于平均值的偏离(偏差)来吸收个体用户之间的移动手指的速度方面的习惯和个人差异,因此电子装置10可以通过使用CPD函数来仅检测有意的加速。
另一方面,由于CPD函数逐帧地连续地计算值,因此CPD函数经常输出响应于用户的手指的不连续移动而不连续地变化的值。在本实施例中,CPD函数的输出被输入到激活函数f(s,p)中,激活函数f(s,p)具有输出不小于紧前输出的值p的值的棘齿状特性,由此可以将CPD函数的输出值转换成更稳定的输出值。利用该配置,可以将反映不连续手指移动的速度的CPD函数的输出值转换成更稳定的输出值。
此外,在本实施例中,在通过对触摸屏12的用户操作生成被识别为触摸结束事件或触摸取消事件的触摸事件的情况下,激活函数f(s,p)终止最大值的保持。利用该配置,仅在触摸继续期间,才可以将反映不连续手指移动的速度的CPD函数的不稳定输出值转换成稳定输出值,并且可以一旦连续触摸终止,就将输出值设置为零。
另外,在本实施例中,在第一缓冲器中所保持的数据点中,引擎单元23终止预定保持时间段已到期的数据点的保持。引擎单元23基于第一缓冲器中所保持的数据点来确定回归线的斜率。引擎单元23基于被视为数据点的集合的移位方向来确定表示是否使回归线相对于所确定的回归线的斜率转动180度的转动量。引擎单元23基于所确定的回归线的斜率和所确定的转动量来确定角度。控制器控制单元24基于所确定的已转换加权速度和具有所确定的角度的单位向量来输出合成向量。控制器控制单元24优选通过使用表达式(13)输出合成向量。以这种方式,在本实施例中,可以确定(输出)具有对触摸屏12进行了触摸操作的用户所预期的方向和大小的合成向量。
利用用于输出合成向量的该配置,可以将由引擎单元23确定(计算出)的角度和速度(加权速度)的值转换成操作角色的参数,诸如操作角色的运动等。可替代地,可以将由引擎单元23确定(计算出)的角度和速度(加权速度)的值转换成虚拟控制器的方向和大小的输入。这使得可以实现具有更高响应性并且更适合用户的直觉的虚拟控制器。例如,合成向量在触摸继续期间被连续加上了加法向量,但如果手指在方向α上滚动、然后在与方向α相反的方向β上滚动,则如表达式(13)所示,合成向量的大小暂时变小。之后,合成向量变为朝向方向β的具有更大范数的向量,这符合用户的直觉。
注意,本实施例被配置成使得引擎单元23基于在非常短的时间段内生成的触摸事件来连续地计算角度和加权速度。由于该原因,可以在不使用过去的触摸坐标作为基准点的情况下计算虚拟控制器的角度和大小的输入或者操作角色的参数。因此,在本实施例中,电子装置10在不使用基于传统技术的虚拟控制器中所使用的点的空间概念(诸如开始点(开始坐标)和结束点(结束坐标)等)的情况下计算角度和大小。
此外,不同于传统技术中的虚拟控制器,本实施例中的电子装置10不是基于根据从基准坐标起的手指的移动距离的输入,因此可以通过基于较小手指移动的操作来实现用户所预期的操作。因此,与在传统技术中相比,可以用安装面积更小的触摸屏来实现本实施例。例如,不论触摸屏12的大小如何,都可以实现相同的可操作性。
除非另外具体说明,否则上述的操作和优点也类似地适用于其他实施例和其他示例。
本发明的另一实施例可以是用于实现上述本发明实施例中的功能或流程图中示出的信息处理的程序、或者存储有该程序的计算机可读存储介质。此外,本发明的另一实施例可以是用于实现上述本发明实施例中的功能或流程图中示出的信息处理的方法。此外,本发明的另一实施例可以是能够向计算机提供用于实现上述本发明实施例中的功能或流程图中示出的信息处理的程序的服务器。此外,本发明的另一实施例可以是用于实现上述本发明实施例中的功能或流程图中示出的信息处理的虚拟机。
现在,将说明本发明的实施例的变形例。以下将主要说明与根据本发明的实施例的不同之处。以下所述的变形例可以适当组合且可以应用于本发明的任何实施例或变形例,只要没有出现矛盾即可。
在一个变形例中,预定函数代替如表达式(12)中那样配置,而是被配置为通过响应于所输入的值等于或大于预定阈值而确定根据该预定阈值的大小的常数来确定与所输入的值相对应的值。例如,预定函数是由表达式(14)定义的激活函数f1(s,p)。这里,s和p与表达式(12)中的f(s,p)的情况相同,其中作为CPD函数的输出值的s是输入,并且p是由f1(s,p)紧前输出的值。
Figure BDA0004048835300000291
激活函数f1(s,p)将s作为输入,将s与阈值t1和t2(t1<t2)进行比较,并且进一步将p的值与b1和1.0进行比较,由此输出(确定)实数a1、实数b1和1.0(a1<b1<1.0)中的一个。可替代地,激活函数f1(s,p)将s作为输入,并将s与阈值t1和t2进行比较,由此确定作为实数a1、实数b1和1.0其中之一的o,并输出o和p中的较大一个。在触摸继续期间,如果s从未超过t1,则f1(s,p)输出a1,如果s大于t1一次但未超过t2,则f1(s,p)之后输出b1,以及如果s大于t2一次,则f1(s,p)之后输出1.0。图11示出向激活函数f1(s,p)的输入s与响应于输入s而要确定的值o之间的关系的示例。
以这种方式,利用将反映不连续手指移动的速度的CPD函数的输出值转换成根据输出值的大小的多个逐级值的配置,可以将输出值转换成更稳定的输出值。
在一个变形例中,预定函数代替被配置为表达式(12),而是被配置为通过应用用于将所输入的一个值映射到一定值域内的一个值的函数来确定与所输入的值相对应的值。例如,预定函数是由表达式(15)定义的激活函数f2(s,p)。这里,s和p与表达式(12)中的f(s,p)的情况相同,其中作为CPD函数的输出值的s是输入,并且p是由f1(s,p)紧前输出的值。
Figure BDA0004048835300000292
以s作为输入,激活函数f2(s,p)确定值o=a2s+b2,并且输出(确定)o和p中的较大一个。图12是示出向激活函数f2(s,p)的输入s与响应于输入s而确定的值o之间的关系的示例。
此外,例如,预定函数是由表达式(16)定义的激活函数f2(s,p)。s和p与表达式(12)中的f(s,p)的情况相同,其中作为CPD函数的输出值的s是输入,并且p是由f1(s,p)紧前输出的值。
Figure BDA0004048835300000301
激活函数f3(s,p)将s作为输入,确定值o=a3es+b3,然后输出(确定)o和p中的较大一个。图13示出向激活函数f2(s,p)的输入s与响应于输入s而确定的值o之间的关系的示例。
利用该配置,可以在将反映不连续手指移动的速度的CPD函数的输出值转换成更稳定的输出值的同时实现操作角色的期望运动。
在一个变形例中,引擎单元23在预定定时(诸如按与同帧速率相对应的时间段不同的预定时间段的间隔等)将数据点序列保持在第二缓冲器中。引擎单元23在预定定时(诸如按与同帧速率相对应的时间段不同的预定时间段的间隔等)确定移位速度,由此确定加权速度。控制器控制单元24以预定定时(诸如按与同帧速率相对应的时间段不同的预定时间段的间隔等)确定已转换加权速度。控制器控制单元24在预定定时(诸如以与同帧速率相对应的时间段不同的预定时间段的间隔等)生成合成向量。
在一个变形例中,第一缓冲器包括用于确定加权速度的缓冲器A和用于确定角度的缓冲器B。例如,两个缓冲器A和B被配置为具有不同的保持时间段。引擎单元23将由缓冲器A中所保持的一个或多于一个数据点构成的数据点序列保持在第二缓冲器中。
在一个变形例中,引擎单元23定义变量V,并且如果自变量的方差等于或大于V,则通过使用函数aop(x,y)来计算并确定角度。如果自变量的方差小于V,则引擎单元23在不计算角度的情况下确定所保持的角度。在自变量的方差小于V的情况下,这意味着n个数据点p是局部集中的。因此,通过确定变量V,引擎单元23可以忽略太细微的手指移动,由此计算稳定的角度。例如,变量V被设置为0.7。
在一个变形例中,引擎单元23使用除最小二乘法以外的已知方法来计算回归线的斜率。在这种情况下,引擎单元23不确定表示是否使回归线相对于所确定的回归线的斜率转动180度的转动量,因此既不设置自变量的轴也不设置因变量的轴。例如,可以使用诸如卡尔曼滤波或粒子滤波等的算法。
在一个变形例中,引擎单元23不确定变量Da,并且在第一缓冲器中所保持的数据点中,不终止被判断为预定保持时间段已到期的数据点的保持。在这种情况下,引擎单元23通过参考在彼此偏移了预定时间量的特定时间带中存储的数据点来确定角度。
在一个变形例中,在获取触摸事件时,引擎单元23获取由两个变量组成的数值的对(x,y),并且在无需将由两个变量组成的数值的对(x,y)与数据点获取时间t相关联的情况下将这些数值的对(x,y)存储在第一缓冲器中。例如,引擎单元23可以将与数据点获取时间t相对应的信息存储在存储装置14中的除第一缓冲器以外的存储区域等中,并且通过将数据点获取时间t与第一缓冲器中所存储的数据相关联来管理数据点获取时间t。
上述的处理或操作可以自由地修改,只要在处理或操作中没有出现矛盾(诸如特定步骤利用在该步骤中尚不可用的数据的矛盾等)即可。此外,上述的示例是用于说明本发明的示例,并且本发明不限于这些示例。本发明可以以各种形式体现,只要没有背离本发明的主旨即可。
附图标记说明
10 电子装置
11 处理器
12 输入装置、触摸屏
13 显示装置
14 存储装置
15 通信装置
16 总线
21 输入单元
22 显示单元
23 引擎单元
24 控制器控制单元
25 应用单元

Claims (11)

1.一种在计算机中执行的方法,所述计算机配备有触摸屏,所述方法包括以下步骤:
按预定时间段的间隔将至少一个数据点作为数据点序列进行保持,其中,所述至少一个数据点是基于通过对所述触摸屏的用户操作所生成的触摸事件而获取到的,并且由第一轴上的值和第二轴上的值来表示;
基于所述数据点序列中的所保持的至少一个数据点的移位来确定与所述数据点序列中的生成了触摸事件的位置的移位的速度相对应的移位速度,并且至少基于所确定的最新移位速度相对于在该最新移位速度之前确定的移位速度的平均值的偏离来确定加权速度;以及
将所确定的加权速度输入到预定函数中,由此确定用于确定虚拟空间中的操作对象的参数的已转换加权速度,其中所述预定函数用于确定与所输入的值相对应的值并且保持并确定所确定的值中的至少一个值的最大值。
2.根据权利要求1所述的方法,
其中,在作为数据点序列进行保持的步骤中,按与帧速率相对应的时间段的间隔将至少一个数据点作为数据点序列进行保持,以及
在确定加权速度的步骤中,基于在一帧的时间段中保持的数据点序列中的至少一个数据点的移位来确定与所述一帧中的生成了触摸事件的位置的移位的速度相对应的移位速度,并且至少基于最新帧中的移位速度相对于所述最新帧之前的帧中的移位速度的平均值的偏离来确定加权速度。
3.根据权利要求1或2所述的方法,包括以下步骤:
在通过对所述触摸屏的用户操作生成与触摸结束或触摸取消相对应的触摸事件的情况下,终止通过所述预定函数的最大值的保持。
4.根据权利要求1至3中任一项所述的方法,其中,所述预定函数被配置为通过响应于所输入的值等于或大于预定阈值而确定具有根据所述预定阈值的大小的常数,来确定与所输入的值相对应的值。
5.根据权利要求1至4中任一项所述的方法,其中,所述预定函数被配置为通过应用用于将所输入的一个值映射到一定值域内的一个值的函数来确定与所输入的值相对应的值。
6.根据权利要求1至5中任一项所述的方法,包括以下步骤:
保持数据点,其中该数据点是基于通过对所述触摸屏的用户操作所生成的触摸事件而获取到的,并且由所述第一轴上的值和所述第二轴上的值来表示;
终止所保持的多个数据点中的、预定保持时间段已到期的数据点的保持;
基于所保持的多个数据点来确定回归线的斜率;
基于作为所保持的多个数据点的集合的移位方向来确定用于使所确定的回归线的斜率转动的转动量;以及
按所述预定时间段的间隔,基于所确定的回归线的斜率和所确定的转动量来确定角度。
7.根据权利要求6所述的方法,
其中,在确定已转换加权速度的步骤和确定角度的步骤中的各步骤中,所述已转换加权速度和所述角度是按所述预定时间段的间隔来确定的,以及
所述方法包括以下步骤:基于所确定的已转换加权速度和具有所确定的角度的单位向量来按所述预定时间段的间隔生成合成向量。
8.根据权利要求7所述的方法,其中,所确定的合成向量的方向是所述操作对象的移动方向,并且所确定的合成向量的大小是所述操作对象的移动速度。
9.根据权利要求8所述的方法,包括以下步骤:基于所确定的合成向量的大小来确定所述操作对象的移动状态。
10.一种程序,用于使计算机执行根据权利要求1至9中任一项所述的方法的各个步骤。
11.一种电子装置,其配备有触摸屏,所述电子装置包括:
用于保持的功能单元,该功能单元用于按预定时间段的间隔将至少一个数据点作为数据点序列进行保持,其中,所述至少一个数据点是基于通过对所述触摸屏的用户操作所生成的触摸事件而获取到的,并且由第一轴上的值和第二轴上的值来表示;
用于确定的功能单元,该功能单元用于基于所述数据点序列中的所保持的至少一个数据点的移位来确定与所述数据点序列中的生成了触摸事件的位置的移位的速度相对应的移位速度,并且至少基于所确定的最新移位速度相对于在该最新移位速度之前确定的移位速度的平均值的偏离来确定加权速度;以及
用于输入的功能单元,该功能单元用于将所确定的加权速度输入到预定函数中,由此确定用于确定虚拟空间中的操作对象的参数的已转换加权速度,其中所述预定函数用于确定与所输入的值相对应的值并且保持并确定所确定的值中的至少一个值的最大值。
CN202180049658.XA 2020-05-15 2021-05-11 方法、程序和电子装置 Pending CN115867364A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2020085896A JP7143364B2 (ja) 2020-05-15 2020-05-15 方法、プログラム、及び電子装置
JP2020-085896 2020-05-15
PCT/JP2021/017826 WO2021230228A1 (ja) 2020-05-15 2021-05-11 方法、プログラム、及び電子装置

Publications (1)

Publication Number Publication Date
CN115867364A true CN115867364A (zh) 2023-03-28

Family

ID=78511621

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180049658.XA Pending CN115867364A (zh) 2020-05-15 2021-05-11 方法、程序和电子装置

Country Status (4)

Country Link
US (1) US20230117127A1 (zh)
JP (1) JP7143364B2 (zh)
CN (1) CN115867364A (zh)
WO (1) WO2021230228A1 (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4741909B2 (ja) 2004-11-02 2011-08-10 任天堂株式会社 ゲーム装置及びゲームプログラム
JP3770499B1 (ja) * 2004-11-02 2006-04-26 任天堂株式会社 ゲーム装置及びゲームプログラム
JP6005831B1 (ja) 2015-12-28 2016-10-12 株式会社Cygames プログラム及び情報処理方法
JP6722099B2 (ja) * 2016-12-09 2020-07-15 株式会社ダイヘン 搬送システム
JP6560769B2 (ja) 2018-01-29 2019-08-14 株式会社カプコン オブジェクト移動制御プログラムおよびゲームシステム
JP6548776B1 (ja) 2018-04-20 2019-07-24 株式会社Cygames プログラム、電子装置、方法、及びシステム
JP6389581B1 (ja) 2018-05-16 2018-09-12 株式会社Cygames プログラム、電子装置、及び方法
JP6560801B1 (ja) 2018-09-26 2019-08-14 株式会社Cygames プログラム、電子装置、及び方法

Also Published As

Publication number Publication date
JP7143364B2 (ja) 2022-09-28
JP2021179898A (ja) 2021-11-18
US20230117127A1 (en) 2023-04-20
WO2021230228A1 (ja) 2021-11-18

Similar Documents

Publication Publication Date Title
US11541311B2 (en) Program, electronic device, and method for simulating a joystick in a virtual space
US5917486A (en) System and method for client program control of a computer display cursor
US20180136744A1 (en) Input controller stabilization techniques for virtual reality systems
WO2007053116A1 (en) Virtual interface system
EP3317748A1 (en) Touchless user interface navigation using gestures
US20210205698A1 (en) Program, electronic device, and method
EP2725469B1 (en) Information-processing device, program, information-processing method, and information-processing system
US9665232B2 (en) Information-processing device, storage medium, information-processing method, and information-processing system for enlarging or reducing an image displayed on a display device
CN111007930B (zh) 温度控制方法、装置、存储介质及电子设备
CN115867364A (zh) 方法、程序和电子装置
JP6775076B1 (ja) 方法、プログラム、及び電子装置
JP6911216B1 (ja) 方法、プログラム、及び電子装置
JP7471782B2 (ja) プログラム、電子装置、及び方法
JP7250451B2 (ja) プログラム、電子装置、及び方法
JP6824369B1 (ja) 方法、プログラム、及び電子装置
US11972100B1 (en) User interface adjustments for ergonomic device grip
CN117112094A (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: 40082831

Country of ref document: HK