掌桥专利:专业的专利平台
掌桥专利
首页

程序、电子装置和方法

文献发布时间:2023-06-19 11:55:48


程序、电子装置和方法

技术领域

本发明涉及程序、电子装置和方法。特别地,本发明涉及由配备有触摸屏的电子装置执行的程序、电子装置和方法。

背景技术

随着最近触摸屏技术的改进,经由触摸屏上的用户接口进行用户输入这种类型的电子装置已被广泛使用。此外,对于在电子装置上执行的游戏,代替经由传统物理控制器的用户输入,经由设置在电子装置上的触摸屏进行用户输入的形式正在被广泛使用。

特别地,诸如智能电话等的紧凑型便携式电子装置迅速变得流行,并且已发布了大量的在这种便携式电子装置上执行的游戏。在这种情况下,提出了与操作显示在触摸屏上的虚拟对象(诸如玩家角色等)的方法有关的各种技术,包括例如非专利文献1中公开的与虚拟垫有关的技术。

例如,专利文献1公开了一种配备有触摸屏的游戏装置以及程序,其使得能够根据用户的触摸操作来设置原点并且使得能够进行模拟操纵杆的操作。在触摸屏从尚未检测到触摸的状态转变为检测到触摸的状态的情况下,游戏装置基于开始检测时的坐标来设置基准坐标,并且在要继续进行触摸检测的情况下,游戏装置基于转变后检测到的坐标来设置指令坐标。然后,游戏装置将从基准坐标到指令坐标的矢量的方向识别为操纵杆倾斜的方向,并且将矢量的大小识别为操纵杆倾斜的程度,从而实现虚拟操纵杆,由此实现对虚拟对象的操作。

{引用列表}

{专利文献}

{专利文献1}

日本专利3734820

发明内容

发明要解决的问题

在专利文献1中公开的现有技术中,用户将手指放置在触摸屏上的一个点处以使游戏装置识别基准坐标,在保持接触的同时滑动手指,并且使游戏装置利用滑动后的手指的接触位置来识别指令坐标。利用这样配置的现有技术,当用户输入方向时,需要生成从基准坐标到指令坐标的显著距离,这使得难以实现高响应性。例如,在用户希望进行相当大地倾斜虚拟操纵杆的操作的情况下,必须生成与相当大地倾斜的操纵杆的倾斜程度对应的从基准坐标到指令坐标的矢量的大小。

因此,作为用于控制在触摸屏上显示的虚拟空间中布置的虚拟对象的操作方法,例如,存在对实现更快和更直观的操作方法的需求。更一般而言,作为用于控制可操作对象(该可操作对象布置在虚拟空间中并且可以由用户操作)的操作方法,存在对实现具有提高的可操作性的操作方法的需求。

本发明是为了解决上述问题而作出的,其主要目的是提供一种使得能够提高控制虚拟空间中的可操作对象的可操作性的程序等。

用于解决问题的方案

为了实现上述目的,根据本发明的方面的程序是一种程序,其在配备有触摸屏的电子装置上执行,所述程序的特征在于使所述电子装置执行以下步骤:每预定义处理时间段将一个或多个数据点保持为数据点序列,所述数据点是基于由于用户对所述触摸屏进行的操作而生成的触摸事件来获得的、并且是由第一轴的值和第二轴的值来指示的;以及基于所保持的数据点序列中的数据点的位移来确定数据点序列中的数据点的位移速率,并且基于所保持的数据点序列中的最新数据点序列中的位移速率相对于比所述最新数据点序列更早地被保持的数据点序列中的位移速率的平均值的偏差来确定速度因子,所述速度因子用于所述用户控制虚拟空间中的可操作对象的移动。

此外,在本发明中,优选地,在将一个或多个数据点保持为数据点序列的步骤中,终止对所保持的数据点序列中的已经超过预定义保持时间段的数据点序列的保持。

此外,在本发明中,优选地,在确定所述速度因子的步骤中,基于所保持的数据点序列中的一个数据点序列中的位移速率相对于比所述一个数据点序列更早地被保持的数据点序列中的位移速率的平均值的偏差来确定所述速度因子。

此外,在本发明中,优选地,在将一个或多个数据点保持为数据点序列的步骤中,将一个或多个数据点的所述第一轴的值和所述第二轴的值分别保持为第一轴的序列和第二轴的序列,以及在确定所述速度因子的步骤中,基于所保持的数据点序列中的所述第一轴的序列的值的位移和所述第二轴的序列的值的位移来确定该数据点序列中的位移速率。

此外,在本发明中,优选地,在确定所述速度因子的步骤中,基于所保持的数据点序列中的在时间上依次彼此相邻的数据点的位移量、以及包括在该数据点序列中的数据点的数量,来确定该数据点序列中的位移速率。

此外,在本发明中,优选地,所述第一轴和所述第二轴平行于所述触摸屏的长边和短边。

此外,在本发明中,优选地,所述预定义处理时间段是与执行游戏的帧速率相对应的时间段,以及所述程序还使所述电子装置执行以下步骤:基于所述速度因子来确定显示在所述触摸屏上的所述可操作对象的移动状态。

此外,在本发明中,优选地,所述可操作对象是可操作角色,以及所述移动状态包括所述可操作角色正在步行的状态和所述可操作角色正在奔跑的状态。

此外,为了实现上述目的,根据本发明的方面的电子装置是一种电子装置,其配备有触摸屏,所述电子装置的特征在于,每预定义处理时间段将一个或多个数据点保持为数据点序列,所述数据点是基于由于用户对所述触摸屏进行的操作而生成的触摸事件来获得的、并且是由第一轴的值和第二轴的值来指示的;基于所保持的数据点序列中的数据点的位移来确定数据点序列中的数据点的位移速率;以及基于所保持的数据点序列中的最新数据点序列中的位移速率相对于比所述最新数据点序列更早地被保持的数据点序列中的位移速率的平均值的偏差来确定速度因子,所述速度因子用于所述用户控制虚拟空间中的可操作对象的移动。

此外,为了实现上述目的,根据本发明的方面的方法是一种在电子装置上执行的方法,所述电子装置配备有触摸屏,所述方法特征在于包括以下步骤:每预定义处理时间段将一个或多个数据点保持为数据点序列,所述数据点是基于由于用户对所述触摸屏进行的操作而生成的触摸事件来获得的、并且是由第一轴的值和第二轴的值来指示的;以及基于所保持的数据点序列中的数据点的位移来确定数据点序列中的数据点的位移速率,并且基于所保持的数据点序列中的最新数据点序列中的位移速率相对于比所述最新数据点序列更早地被保持的数据点序列中的位移速率的平均值的偏差来确定速度因子,所述速度因子用于所述用户控制虚拟空间中的可操作对象的移动。

发明的效果

本发明能够提高控制虚拟空间中的可操作对象的可操作性。

附图说明

图1是示出根据本发明实施例的电子装置的硬件配置的框图。

图2是根据本发明实施例的电子装置的功能框图。

图3是示出实施例中的由第一轴和第二轴构成的坐标轴的图。

图4是示出由电子装置控制的虚拟角色的示例的图。

图5是示出由电子装置控制的虚拟角色的示例的图。

图6是本发明实施例中的电子装置确定速度因子的处理的流程图。

具体实施方式

下面将参照附图描述本发明的实施例。除非另有特别提及,否则相同的附图标记在整个附图中表示相同或相应的部分,并且为了便于描述,存在纵横的比例被示出为与实际比例不同的情况。此外,为了便于描述,存在省略了比必要的更详细的描述的情况。例如,存在省略了已经公知的事项的详细描述和基本上相同配置的重复描述的情况。

在根据本发明实施例的电子装置10中安装了游戏应用,该游戏应用在使游戏进行的同时向用户呈现布置在虚拟空间中的虚拟对象。当执行游戏应用时,根据该实施例的电子装置10提供虚拟的控制器(虚拟控制器),该虚拟控制器用于响应于用户的操作来控制可操作对象,该可操作对象是虚拟空间中的用户的虚拟可操作对象。虚拟空间由游戏应用定义,并且可以是二维空间或三维空间。例如,虚拟对象是布置在虚拟空间中的角色或物品。在该实施例中,可操作对象是布置在虚拟空间中的角色(可操作角色)。可替代地,可操作对象可以是布置在虚拟空间中的物品、或虚拟照相机等。

为了便于描述,在该实施例中,假设在电子装置10中安装有上述游戏应用;然而,对上述游戏应用没有限制。对于电子装置10来说,只要在其中安装能够响应于用户的操作来控制可操作对象的游戏应用,这就足够了。例如,代替游戏应用或除了游戏应用之外,还可以在电子装置10中安装响应于用户的操作来产生可操作对象的动作的输入支持应用或模拟应用。在以下的描述中,术语“应用”一般指应用程序,并且可以指安装在智能电话或平板计算机上的App。

图1是示出根据本发明实施例的电子装置10的硬件配置的框图。电子装置10包括处理器11、输入装置12、显示装置13、存储装置14和通信装置15。这些构成装置经由总线16连接。假设根据需要在总线16和各个构成装置之间插入接口。在该实施例中,电子装置10是智能电话。可替代地,电子装置10可以是诸如配备有接触型输入装置的计算机等的终端(例如平板计算机或触摸板),只要该终端包括上述配置即可。

处理器11控制电子装置10的整体操作。例如,处理器11是CPU。可替代地,诸如MPU等的电子电路可以用作处理器11。处理器11通过加载存储在存储装置14中的程序和数据并执行这些程序来执行各种处理。在一个示例中,处理器11由多个处理器构成。

输入装置12是用于接受来自用户的对电子装置10的输入的用户接口;例如,输入装置12是触摸屏、触摸板、键盘或鼠标。显示装置(显示器)13在处理器11的控制下向电子装置10的用户显示应用画面等。在该实施例中,由于电子装置10是智能电话,所以电子装置10包括触摸屏17作为输入装置12,并且触摸屏17也用作显示装置13;即,输入装置12和显示装置13具有集成的结构。虽然在该实施例中的触摸屏17是投射型静电电容触摸屏,但是可以采用具有等效功能的装置(如果有的话)。

存储装置14是包括在普通智能电话中的存储装置,包括作为易失性存储器的RAM和作为非易失性存储器的ROM。存储装置14还可以包括外部存储器。存储装置14存储包括游戏应用的各种程序。例如,存储装置14存储操作系统(OS)、中间件、应用程序、在执行这些程序时可以参考的各种数据等。

在一个示例中,存储装置14包括主存储装置和辅助存储装置。主存储装置是允许高速读取和写入信息的易失性存储介质,并且在处理器11处理信息时用作存储器区域和工作区域。辅助存储装置存储在执行各程序时处理器11使用的各种程序和数据。辅助存储装置例如为硬盘装置;然而,辅助存储装置可以是任何类型的非易失性存储装置或非易失性存储器,辅助存储装置可以是能够存储信息的可移动类型。

通信装置15经由网络向诸如服务器等的其它计算机发送数据和从诸如服务器等的其它计算机接收数据。例如,通信装置15进行诸如移动通信或无线LAN通信等的无线通信以连接到网络。在一个示例中,电子装置10借助于通信装置15从服务器下载程序并将该程序存储在存储装置14中。可替代地,通信装置15可以进行已知的有线通信。在既不向其它计算机发送数据也不从其它计算机接收数据的情况下,电子装置10不需要包括通信装置15。

图2是根据本发明实施例的电子装置10的功能框图。电子装置10包括输入单元21、显示单元22和控制单元23。控制单元23包括引擎单元24、状态确定单元25和应用单元26。在该实施例中,这些功能由处理器11执行程序来实现。例如,执行的程序是存储在存储装置14中或经由通信装置15接收到的程序。由于通过加载程序来实现各种功能,如上所述,一个部件(功能)的部分或全部可以在另一部件中提供。可替代地,这些功能可以通过配置用于部分地或全部地实现各功能的电子电路等、借助于硬件来实现。

输入单元21通过使用输入装置12来配置,并接受来自用户的对电子装置10的输入。在该实施例中,输入单元21接受用户对触摸屏17进行的触摸操作并生成触摸事件,该输入单元21可以使用通常设置在具有触摸屏17的智能电话中的触摸检测功能。

显示单元22在显示装置13上显示游戏应用画面,使得根据用户操作显示画面。

控制单元23实现虚拟控制器。在该实施例中,针对控制单元23采用具有三层结构的架构,并且引擎单元24、状态确定单元25和应用单元26对应于各个层。例如,控制单元23通过处理器11执行由与各个层相对应的程序构成的程序套件来实现。

引擎单元24主要使用通过用户对触摸屏17进行的触摸操作而生成的触摸事件,来确定用于用户控制虚拟空间中的可操作对象的移动的速度因子和角度,并将该速度因子和角度发送给状态确定单元25。速度因子是用于确定可操作对象的速度的值。在该实施例中,由于可操作对象是可操作角色,因此速度因子是还用于确定角色的运动(诸如步行或奔跑等)的值。角度是用于确定可操作对象的移动方向的值。作为引擎单元24的角度确定方法,例如,使用日本申请2018-094656中公开的方法,因此在本说明书中将不描述该方法。

状态确定单元25通过使用从引擎单元24发送的速度因子来确定可操作对象的移动状态,并且将速度因子和移动状态发送给应用单元26。

应用单元26与实现游戏中动作等的特定游戏应用相对应。在该游戏应用中,与一般的游戏应用类似,定义帧速率,并且例如,每时间段(该时间段与帧速率相对应)执行主程序的主循环。一般而言,帧速率为30fps(每秒帧数)或60fps。可替代地,应用单元26可以被配置成与响应于用户操作来产生可操作对象的动作的输入支持应用或模拟应用相对应。

引擎单元24在存储装置14中的第一缓冲器中保持基于用户对触摸屏17的操作所生成的触摸事件而获得的、由第一轴的值和第二轴的值来指示的数据点。这里,当用户放置手指与触摸屏17接触(触摸开始)时、当用户在保持手指与触摸屏17接触的同时移动手指(触摸移动)时、当用户从触摸屏17移开手指(触摸结束)时等发生触摸事件。

当发生触摸事件时,引擎单元24获得触摸事件。当获得触摸事件时,引擎单元24获得数值组(x,y),并且将该数值组(x,y)存储在第一缓冲器中,该组数值由两个变量组成并且与触摸屏17上的静电电容已经改变了的位置相对应。由两个变量组成的数值组的数据由引擎单元24与触摸事件相关联地获得,并且与由第一轴的值和第二轴的值指示的数据点相对应。

在该实施例中,为了便于描述,第一轴和第二轴定义如下。图3是示出该实施例中的由第一轴和第二轴组成的坐标轴的图。第一轴是实质上与触摸屏17的短边平行的水平轴(x轴)。第二轴是实质上与触摸屏17的长边平行的垂直轴(y轴)。触摸屏17上的位置以沿着第一轴(x轴)和第二轴(y轴)的坐标(x,y)的形式表示。因此,在该实施例中,数据点的坐标(x,y)与触摸屏17上的位置相对应,并且引擎单元24将坐标(x,y)作为数据点保持在第一缓冲器中。如图3所示的坐标设置仅仅是示例,并且可以根据安装在电子装置10中的程序来与上述示例不同地设置坐标。

引擎单元24每预定义处理时间段将保持在第一缓冲器中的一个或多个数据点存储为数据点序列。在该实施例中,引擎单元24每帧时间段(帧间隔)将数据点序列保持在存储装置14中的第二缓冲器中。帧时间段F(秒)是与用于执行游戏的帧速率相对应的时间段;例如,在帧速率为30fps的情况下,F是1/30秒。

由引擎单元24在第i帧中保持的数据点序列P(i)通过如下使用各数据点来表示。

P(i)={P

包括在P(i)中的各数据点是在第i帧时间段期间保持在第一缓冲器中的数据点。数据点P

引擎单元24终止对第二缓冲器中所保持的数据点序列中的、已经超过预定义保持时间段的数据点序列的保持。例如,当终止保持数据点序列的数据时,引擎单元24可以删除数据、使数据无效、或者通过将用于指示保持已经被终止的标记与数据相关联来适当地删除该数据。例如,引擎单元24定义用于指定存储在第二缓冲器中的数据点的寿命的变量D。由变量D指定的时间段与预定义处理时间段相对应,并且与该实施例中的帧时间段相对应。例如,引擎单元24与保持数据点序列P(i)的时间t

在该实施例中,引擎单元24在第二缓冲器中将一个数据点序列P(i)保持与五帧相对应的时间段5F(秒)。因此,引擎单元24保持五个数据点序列。引擎单元24保持五个数据点序列,使得数据点序列从最新到最早的顺序是P(5)、P(4)、P(3)、P(2)和P(1)。因此,在引擎单元24保持与五帧相对应的数据点序列的情况下,最新的保持数据点序列是P(5)。在要新地保持数据点序列的情况下,引擎单元24将新的数据点序列保持为P(5),并且用P(i+1)的数据来代替P(i)(1≤i≤4)。此时,引擎单元24终止对已经超出预定义保持时间段的P(1)的保持。

在一个优选示例中,引擎单元24分别保持x坐标值和y坐标值作为每帧时间段的数据点序列。由引擎单元24保持的x坐标值的集合X和y坐标值的集合Y分别由等式(1)和(2)表示。

这里,n表示由引擎单元24保持在第二缓冲器中的数据点序列的数量,n与帧数相对应。在该实施例中,由于引擎单元24将数据点序列保持与五帧相对应的时间段5F(秒),因此随着时间经过,n=1、n=2、n=3、n=4、n=5、n=5、…、n=5。因此,在经过与五帧相对应的时间段5F(秒)之后,n=5。此外,最新保持的数据点序列P(n)的x坐标值是x

引擎单元基于所保持的数据点序列中的最新数据点序列的位移速率v

引擎单元24将所确定的速度因子输出到状态确定单元25。代替将所确定的速度因子直接输出到状态确定单元25,引擎单元24可以将所确定的速度因子存储在由状态确定单元25参考的存储装置14的存储器区域中。

具体地,引擎单元24以以下方式计算速度因子。速度因子是从如下定义的累积逐点偏差函数(cumulative pointwise deviation function,CPD函数)输出的值。根据等式(3)计算CPD函数。引擎单元24将从CPD函数输出的值输出到状态确定单元25。

这里,n表示由引擎单元24保持在第二缓冲器中的数据点序列的数量。

v

具体地,根据等式(4)计算位移速率。

这里,α表示大于或等于0的实数值,α通常为1,并且用作与以每英寸点数(DPI)为单位的显示器的像素密度相对应的系数。β表示积分权重,β随着其值变大而增大在位移速率中反映的突然变化的可能性,并且随着其值变小而减小在位移速率中反映的突然变化的可能性。在P(i)不包括数据点的情况下,引擎单元24不计算位移速率v

avg

这里,在i=1的情况下,由于不存在直至紧前的位移速率,所以avg

状态确定单元25基于由引擎单元24确定的速度因子来确定显示在触摸屏17上的可操作对象的移动状态。在该实施例中,可操作对象是可操作角色,并且由状态确定单元25确定的移动状态是可操作角色正在步行的状态或可操作角色正在奔跑的状态。

在一个示例中,状态确定单元25是从如下定义的分类函数输出的值。根据等式(6)计算分类函数。

当CPD函数的输出值小于或等于阈值τ时,分类函数判断为指示步行(“walk”),当CPD函数的输出值大于阈值τ时,分类函数判断为指示奔跑(“run”)。例如,当输出值小于或等于阈值τ时,分类函数输出“0”,以及当输出值大于阈值τ时,分类函数输出“1”。状态确定单元25将CPD函数的输出值和分类函数的输出值输出到应用单元26。代替将CPD函数的输出值和分类函数的输出值直接输出到应用单元26,状态确定单元25可以将CPD函数的输出值和分类函数的输出值存储在由应用单元26参考的存储器区域中。

应用单元26具有在电子装置10上启动的应用的功能,并提供基于应用的服务。在一个优选示例中,应用单元26将从状态确定单元25输出的CPD函数的输出值和分类函数的输出值转换成可操作角色的特定运动等,这是在一般游戏App中实现的功能。例如,应用单元26将从状态确定单元25输出的CPD函数的输出值直接转换为可操作角色的移动速度,并将分类函数的输出值转换为可操作角色的移动状态(步行或奔跑)。在该实施例中,应用单元26的功能通过安装在电子装置10中的本地App来实现。

图4和图5是示出由电子装置10控制的可操作角色50的示例的图。图4示出可操作角色50正在步行的状态,以及图5示出可操作角色50正在奔跑的状态。电子装置10从数据点集合获得CPD函数的输出和分类函数的输出,并基于这些输出控制可操作角色50的运动,诸如步行或奔跑等。

下面将描述使用等式(3)中给出的CPD函数由引擎单元24计算速度因子的示例。当n=5时,CPD函数用等式(7)表示。

例如,在用户有意地快速移动手指的情况下,作为自然的结果,在一定时间段期间加速手指。在这种情况下,由于等式(7)中v

图6是根据本发明实施例的处理的流程图,其中电子装置10确定速度因子。电子装置10每帧时间段(该帧时间段与帧速率相对应)执行该处理。假设在正在执行该流程图时,引擎单元24根据生成的触摸事件获得数据点并将数据点存储在第一缓冲器中。然而,无需每帧时间段执行该流程图中的处理,只要每一定时间段执行处理即可。

在步骤101中,引擎单元将在一个帧期间获得的坐标(数据点)作为数据点序列P(i)保持在第二缓冲器中。此时,引擎单元24将以毫秒为单位指示在存储之后的经过时间的T、以及以毫秒为单位指示在第二缓冲器中的可允许存储时间段(保持寿命)的变量D,与所保持的数据点序列P(i)相关联。

然后,在步骤102中,引擎单元终止对第二缓冲器中所保持的数据点序列P(i)中的经过时间T大于或等于变量D的数据点序列P(i)的保持。

然后,在步骤103中,通过使用等式(3)至等式(5)确定速度因子。在步骤104中,流程图返回到步骤101,除非处理例如由于游戏应用的终止而终止。当流程结束时,引擎单元24删除保持在第二缓冲器中的所有数据点序列。

接下来,将描述根据本发明实施例的电子装置10的主要操作和优点。该实施例利用投射型静电电容触摸屏的特性,其中当用手指滑动触摸屏时,在极短的时间段(诸如100毫秒等)内生成六个或更多个触摸事件。由电子装置10实现的软件的系统架构具有三层结构,其中引擎单元24、状态确定单元25和应用单元26分别与第一层、第二层和第三层相对应,其中第三层与例如游戏应用相对应。

每预定义处理时间段(例如游戏应用中的每帧时间段作为预定义处理时间段),第一层通过使用等式(3)至(5)、根据生成的多个触摸事件的集合(数据点集合)来计算CPD函数。第一层将CPD函数的输出值作为速度因子输出到第二层。第二层向第三层输出持续输出的速度因子,并且通过使用速度因子,每预定义处理时间段向第三层输出移动状态,该移动状态例如指示可操作角色是正在步行还是正在奔跑。通过使用等式(6)中给出的分类函数输出移动状态。第三层将从第二层输出的CPD函数的输出值直接转换为可操作角色的移动速度,并将分类函数的输出值转换为可操作角色的移动状态(步行或奔跑)。

在第一层开始在第二数据缓冲器中保持数据点序列时,指示存储数据点序列的帧数的n值随着时间的经过而增加,例如n=1、n=2…。在经过第一层保持数据点序列的时间段之后,n固定在最大值。当各个帧的位移速率具有大于直至紧前的前一帧的位移速率的平均值的值时,CPD函数输出更大的值。因此,在用户有意地快速移动手指的情况下,由于作为自然结果,手指被加速一定时间段,因而CPD函数输出更大的值。另一方面,在由于触摸屏17和手指之间的接触状态而仅在一个帧时间段期间位移速率变大的情况下,出于均衡的目的,将CPD函数乘以1/n,这防止了CPD函数输出极大的值,特别是当n的值是最大值时。如上所述,在手指的移动被有意地持续加速的情况下CPD函数的输出值具有大的值,否则不具有大的值,这使得电子装置10能够根据直观的用户操作来确定可操作角色50的移动状态。此外,由于CPD函数通过使用偏差来吸收各用户之间的手指移动速度的习惯和个人差异,因此使得电子装置10能够通过使用CPD函数来仅检测有意的加速。

此外,当第一层开始在第二数据缓冲器中保持数据点序列时,n在可能的值中具有相对较小的值,例如n=1、n=2、…,因此乘以1/n的影响是小的。因此,通过使用CPD函数,使得电子装置10能够立即根据用户输入之后的第一帧来确定可操作角色50的移动状态。例如,如果用户快速移动手指,则电子装置10可以立即将可操作角色50绘制为在奔跑状态下。另一方面,利用用户逐渐加速手指移动的操作,由于电子装置10通过使用根据加速的持续时间来对权重进行积分的CPD函数而每帧确定移动状态,所以电子装置10可以将可操作角色50的状态从步行状态改变为奔跑状态。此外,由于基于CPD函数的判断的识别精度随着经过的帧数而提高,因此即使在第一帧中不能区分步行和奔跑的情况下,在第二帧或第三帧中也能区分。

此外,在该实施例中,由于第一层被配置为通过使用在极短时间段期间生成的触摸事件来按照每帧速率持续地计算速度因子,因此使得各个层能够在不必使用过去触摸的坐标作为基准点的情况下计算可操作角色的移动速度。如上所述,在该实施例中,电子装置10在不使用在现有技术的虚拟控制器所使用的点(诸如起点(开始坐标)和终点(结束坐标)等)的空间概念的情况下计算速度。

此外,在该实施例中,与现有技术的虚拟控制器(即,用于使用基于基准坐标和当前指令坐标之间的位置关系所获得的矢量的虚拟控制器)相反,不涉及基准坐标的概念,这使得能够提供与定义基准坐标的虚拟控制器相比更高的响应性。特别地,在用于切换可操作角色的方向的操作的情况下,即使用户在与切换前的方向相当不同的方向上对触摸屏17进行操作,由于没有当前指令坐标接近基准坐标的概念,因此也可以快速响应用户的操作意图,以反映对可操作角色的运动的操作。此外,利用上述配置,允许操作智能电话的用户单手进行操作。这使得能够解决如下的问题:当使用现有技术的虚拟操纵杆进行操作时,用户需要常常在意基准坐标并且因此存在难以用一只手进行操作的情况。如上所述,在该实施例中,实现了能够进行更快和更直观的操作的虚拟控制器。

此外,在该实施例中,与现有技术的虚拟控制器相反,由于输入不是基于手指距基准坐标的移动距离的,因此可以通过具有更小的手指移动量的操作来实现用户意图的操作。因此,与现有技术相比,能够以更小的实施区域来实施。例如,无论触摸屏17的大小如何,都可以实现相同的可操作性。

此外,在根据该实施例的电子装置10提供的虚拟控制器技术中,对基于与滑动操作相关联的手指的移动速度和加速持续时间的运动控制,在数学上进行角色的运动控制的建模(这是新颖的观点)。这使得该技术能够应用于各种各样的游戏类型。此外,由于所有的操作都是基于数学模型来进行数值控制的,因此使得能够通过改变设置值(诸如等式(4)中的β的值等)来产生各种运动控制。

除非特别提及,否则上述操作和优点也类似地应用于其它实施例和其它示例。

本发明的另一实施例可以是用于实现本发明的上述实施例中的流程图中所示的功能或信息处理的程序,或者存储该程序的计算机可读存储介质。此外,本发明的另一实施例可以是用于实现本发明的上述实施例中的流程图中所示的功能或信息处理的方法。此外,本发明的另一实施例可以是能够向计算机提供用于实现本发明的上述实施例中的流程图中所示的功能或信息处理的程序的服务器。此外,本发明的另一实施例可以是用于实现本发明的上述实施例中的流程图中所示的功能或信息处理的虚拟机。

现在,将描述本发明的实施例的变形例。下面描述的变形例可以适当地组合并应用于本发明的任何实施例,只要不出现矛盾即可。

在一个变形例中,由状态确定单元25确定的移动状态是可操作角色正在步行的状态、可操作角色正在快速步行的状态和可操作角色正在奔跑的状态其中之一。在这种情况下,根据等式(8)计算分类函数。

分类函数是当CPD函数的输出值小于或等于阈值t1时判断为指示步行(“walk1”)、当CPD函数的输出值大于阈值t1且小于阈值t2时判断为指示快速步行(“walk2”)、以及当CPD函数的输出值大于阈值t2时判断为指示奔跑(“run”)的函数。例如,当输出值小于或等于阈值t1时分类函数输出“0”,当输出值大于阈值t1且小于或等于阈值t2时分类函数输出“1”,以及当输出值大于阈值t2时分类函数输出“2”。状态确定单元25将CPD函数的输出值和分类函数的输出值输出到应用单元26。代替将CPD函数的输出值和分类函数的输出值直接输出到应用单元26,状态确定单元25可以将CPD函数的输出值和分类函数的输出值存储在由应用单元26参考的存储器区域中。如上所述,移动状态可以是包括可操作角色正在步行的状态和可操作角色正在奔跑的状态的多个状态。分类函数是用于根据设置阈值来判断移动状态之一的函数,这就足够了。

在一个变形例中,引擎单元24代替状态确定单元25来确定移动状态,并将移动状态输出到应用单元26。

在一个变型中,引擎单元24将为了在计算CPD函数时进行参考而确定的位移速率v

在一个变形例中,应用单元26的功能通过安装在电子装置10中的Web App来实现。在这种情况下,与电子装置10通信的服务器以Web页面的形式向电子装置10发送应用单元26的一部分或全部,Web App在电子装置10上执行由应用单元26执行的处理的同时,向服务器发送数据和从服务器接收数据。

在一个变形例中,输入装置12和显示装置13具有布置在不同位置的单独形式。在这种情况下,输入装置12是触摸屏或具有与投射型静电电容触摸屏的功能等同的功能的装置。显示装置13是在处理器11的控制下向电子装置10的用户显示应用画面等的装置,这就足够了。例如,显示装置13是液晶显示器、使用有机EL的显示器或等离子体显示器。

可以自由地修改上述处理或操作,只要在处理或操作中不出现矛盾(诸如某个步骤利用在该步骤中可能尚不可用的数据的矛盾等)即可。此外,上述示例是用于说明本发明的示例,并且本发明不限于这些示例。本发明可以各种形式实施,只要不偏离本发明的主旨即可。

{附图标记列表}

10 电子装置

11 处理器

12 输入装置

13 显示装置

14 存储装置

15 通信装置

16 总线

17 触摸屏

21 输入单元

22 显示单元

23 控制单元

24 引擎单元

25 状态确定单元

26 应用单元

50 可操作角色

相关技术
  • 电子装置的运行状态估计设备、电子装置的运行状态估计方法、程序、电子装置的特征向量登记设备、电子装置的特征向量登记方法、服务器装置和电子装置的运行状态估计系统
  • 影像处理方法、电子装置、电子装置可读取的储存媒体与应用于电子装置的程序
技术分类

06120113106698