程序块运行方法、装置、设备及存储介质与流程

文档序号:25802921发布日期:2021-07-09 12:41阅读:103来源:国知局
程序块运行方法、装置、设备及存储介质与流程

1.本申请涉及计算机技术领域,特别涉及一种程序块运行方法、装置、设备及存储介质。


背景技术:

2.随着计算机技术的发展,在各种各样的领域中,通过编程得到程序,以运行程序来实现业务需求已成为发展趋势。在一些应用场景中,将编写的程序封装到一个程序块中,通过拼接程序块即可简单、快速的完成编程。在编程结束后,通常需要运行程序块,来观察程序块的拼接是否存在异常。
3.目前,程序块运行方法通常是对程序块进行运行操作,终端可以响应于该运行操作,在程序块运行展示区域中显示程序块对应的操作。
4.上述程序块运行时运行速度固定,一旦某个程序块运行有误,用户无法直接获知到具体出现错误的程序块位置,只能等到程序块运行结束,凭借自身经验一遍一遍地调整程序块,再次运行,直至运行不再出现错误。因而,上述程序块运行方法固定、单一,且运行过程中容易增加调试程序块的等待时长,也无法定位错误程序块,程序块的调试效率很低。


技术实现要素:

5.本申请实施例提供了一种程序块运行方法、装置、设备及存储介质,提高程序块的调试效率。所述技术方案如下:
6.一方面,提供了一种程序块运行方法,所述方法包括:
7.获取程序块,所述程序块用于控制虚拟对象运动;
8.响应于对所述程序块的运行指令,在程序块运行展示区域中,显示虚拟对象按照第一运动速度进行运动;
9.响应于对所述程序块的运行速度调整操作,在所述程序块运行展示区域中,显示所述虚拟对象按照第二运动速度继续进行运动,所述第二运动速度与所述第一运动速度不同。
10.一方面,提供了一种程序块运行装置,所述装置包括:
11.获取模块,用于获取程序块,所述程序块用于控制虚拟对象运动;
12.显示模块,用于响应于对所述程序块的运行指令,在程序块运行展示区域中,显示虚拟对象按照第一运动速度进行运动;
13.所述显示模块,还用于响应于对所述程序块的运行速度调整操作,在所述程序块运行展示区域中,显示所述虚拟对象按照第二运动速度继续进行运动,所述第二运动速度与所述第一运动速度不同。
14.在一些实施例中,所述显示模块用于响应于对所述程序块的运行指令,在程序块运行展示区域中,显示虚拟对象按照第一运行速度对应的第一运动速度进行运动,所述第一运行速度是指所述程序块的运行速度。
15.在一些实施例中,所述显示模块包括确定单元和显示单元;
16.所述确定单元用于响应于对所述程序块的运行速度调整操作,根据所述第一运行速度,确定所述程序块的第二运行速度;
17.所述显示单元用于在所述程序块运行展示区域中,显示所述虚拟对象按照所述第二运行速度对应的第二运动速度继续进行运动。
18.在一些实施例中,所述显示模块用于执行下述任一项:
19.响应于对程序块编辑区域内的滑动操作,在所述程序块运行展示区域中,显示所述虚拟对象按照所述滑动操作所指示的第二运动速度继续进行运动;
20.响应于对运行速度调整控件的点击操作,在所述程序块运行展示区域中,显示所述虚拟对象按照第二运动速度继续进行运动,所述第二运动速度与所述点击操作所选中的第二运行速度对应。
21.在一些实施例中,所述确定单元用于响应于对程序块编辑区域内的滑动操作,根据所述滑动操作的位移、速度或加速度中任一项,以及第一运行速度,确定第二运行速度;
22.在一些实施例中,所述显示单元用于在所述程序块运行展示区域中,显示所述虚拟对象按照所述第二运行速度对应的第二运动速度继续进行运动。
23.在一些实施例中,所述确定单元包括获取子单元和确定子单元;
24.所述获取子单元用于响应于对程序块编辑区域内的滑动操作,获取所述滑动操作的位移、速度或加速度中任一项;
25.所述确定子单元用于响应于所述滑动操作的位移、速度或加速度中任一项的大小大于阈值,根据所述第一运行速度,确定第二运行速度。
26.在一些实施例中,所述确定子单元用于根据所述滑动操作的方向,将至少两个运行速度中所述方向对应的、与所述第一运行速度相邻的运行速度确定为所述第二运行速度。
27.在一些实施例中,所述确定单元用于:
28.根据所述滑动操作的方向以及所述滑动操作的位移、速度或加速度中任一项的大小,确定所述方向对应的运行速度调整值,所述运行速度调整值的绝对值与所述位移、速度或加速度中任一项的大小正相关;
29.根据所述第一运行速度和所述运行速度调整值,确定第二运行速度。
30.在一些实施例中,所述装置还包括:
31.第一忽略模块,用于响应于所述滑动操作的位移、速度或加速度中任一项的大小小于或等于所述阈值,忽略所述滑动操作。
32.在一些实施例中,所述滑动操作的位移、速度或加速度中任一项的大小为所述任一项在第一方向或第二方向上的分量大小;
33.所述装置还包括:
34.第二忽略模块,用于响应于所述滑动操作的方向为第三方向或第四方向,忽略所述滑动操作。
35.在一些实施例中,所述显示模块用于响应于对程序块编辑区域内的滑动操作,且所述程序块处于运行中状态,执行所述在所述程序块运行展示区域中,显示所述虚拟对象按照所述滑动操作所指示的第二运动速度继续进行运动的步骤。
36.在一些实施例中,所述显示模块还用于响应于对所述程序块编辑区域内的滑动操作,且所述程序块处于未运行状态,显示所述滑动操作所选中的程序块随所述滑动操作的方向和距离进行移动。
37.在一些实施例中,所述显示模块还用于执行下述至少一项:
38.在程序块编辑区域内,显示所述运行速度调整操作所指示的第二运行速度;
39.在所述程序块运行展示区域中,将显示的所述虚拟对象的运动速度更新为所述第二运动速度。
40.一方面,提供了一种终端,所述终端包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述一个或多个处理器加载并执行以实现上述程序块运行方法的各种可选实现方式。
41.一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现上述程序块运行方法的各种可选实现方式。
42.一个方面,提供了一种计算机程序产品或计算机程序,所述计算机程序产品或所述计算机程序包括一条或多条程序代码,所述一条或多条程序代码存储在计算机可读存储介质中。终端的一个或多个处理器从计算机可读存储介质中读取所述一条或多条程序代码,所述一个或多个处理器执行所述一条或多条程序代码,使得终端执行上述任一种可能实施方式的程序块运行方法。
43.本申请实施例,提供了一种可调节运行速度的程序块运行方式,在该方式中,提供运行速度调整功能,在程序块运行时,通过对程序块的运行速度调整操作,可使得程序块的运行速度发生变化,进而通过虚拟对象的运动速度发生变化来表现出来,实现灵活、高效地程序块调试过程,比如,将运行速度调得慢一些来观察虚拟对象运动是否有问题,从而准确确定出错误程序块的位置,无需一遍又一遍地调试。又比如,在程序块运行很顺畅的时候将运行速度调得快一些,快速完成程序块的调试过程,因而,上述方法有效提高程序块的调试效率。
附图说明
44.为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还根据这些附图获得其他的附图。
45.图1是本申请实施例提供的一种程序块运行方法的实施环境的示意图;
46.图2是本申请实施例提供的一种程序块运行方法的流程图;
47.图3是本申请实施例提供的一种程序块运行方法的流程图;
48.图4是本申请实施例提供的一种终端界面示意图;
49.图5是本申请实施例提供的一种终端界面示意图;
50.图6是本申请实施例提供的一种终端界面示意图;
51.图7是本申请实施例提供的一种终端界面示意图;
52.图8是本申请实施例提供的一种终端界面示意图;
53.图9是本申请实施例提供的一种终端界面示意图;
54.图10是本申请实施例提供的一种程序块运行方法的流程图;
55.图11是本申请实施例提供的一种终端界面示意图;
56.图12是本申请实施例提供的一种程序块运行方法的流程图;
57.图13是本申请实施例提供的一种程序块运行装置的结构示意图;
58.图14是本申请实施例提供的一种终端的结构框图。
具体实施方式
59.为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
60.本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种示例的范围的情况下,第一图像被称为第二图像,并且类似地,第二图像被称为第一图像。第一图像和第二图像都是图像,并且在某些情况下,是单独且不同的图像。
61.本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个数据包是指两个或两个以上的数据包。
62.还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
63.还应理解,根据a确定b并不意味着仅仅根据a确定b,还根据a和/或其它信息确定b。
64.还应理解,术语“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
[0065]
虚拟环境:是应用程序在终端上运行时显示(或提供)的虚拟环境。该虚拟环境可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟环境可以是二维虚拟环境、2.5维虚拟环境或者三维虚拟环境中的任意一种,本申请实施例对虚拟环境的维度不加以限定。例如,虚拟环境可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在该虚拟环境中进行移动。
[0066]
虚拟对象:是指在虚拟环境中的对象,该虚拟对象为虚构的用于模拟真实物体或生物的对象。例如,在虚拟环境中显示的人物、动物、植物、油桶、墙壁、石块、雪花等。该虚拟对象包括虚拟物体和虚拟角色,其中,虚拟物体为无生命属性的对象,例如,虚拟物体可以为虚拟建筑、虚拟载具、虚拟道具等。虚拟角色是指具有生命属性的对象,例如,虚拟对象可以为虚拟人物、虚拟动物等。
[0067]
可选地,虚拟对象包括可活动的虚拟对象和不可活动的虚拟对象。例如,可活动的
虚拟载具,可活动的虚拟对象,不可活动的虚拟建筑等。
[0068]
下面对本申请的实施环境进行说明。
[0069]
图1是本申请实施例提供的一种程序块运行方法的实施环境的示意图。该实施环境包括终端101,或者该实施环境包括终端101和程序块运行平台102。终端101通过无线网络或有线网络与程序块运行平台102相连。
[0070]
终端101是智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器、mp3(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)播放器或mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器,膝上型便携计算机,智能机器人中的至少一种。终端101安装和运行有支持程序块运行的应用程序,例如,该应用程序是系统应用、编程应用等。当然,该应用程序也可以为即时通讯应用、新闻推送应用、购物应用、在线视频应用、社交应用,其中内嵌有编程功能。
[0071]
示例性地,该终端101具有编程功能和运行程序的功能。该终端101独立完成该工作,也通过程序块运行平台102为其提供数据服务。本申请实施例对此不作限定。
[0072]
程序块运行平台102包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。程序块运行平台102用于为支持程序块运行的应用程序提供后台服务。可选地,程序块运行平台102承担主要处理工作,终端101承担次要处理工作;或者,程序块运行平台102承担次要处理工作,终端101承担主要处理工作;或者,程序块运行平台102或终端101分别单独承担处理工作。或者,程序块运行平台102和终端101两者之间采用分布式计算架构进行协同计算。
[0073]
可选地,该程序块运行平台102包括至少一台服务器1021以及数据库1022,该数据库1022用于存储数据,在本申请实施例中,该数据库1022中存储有程序块、程序块拼接得到的程序块集合或程序块运行对应的虚拟场景、虚拟对象模型、或者动作动画等,为至少一台服务器1021提供数据服务。
[0074]
服务器是独立的物理服务器,也是多个物理服务器构成的服务器集群或者分布式系统,还是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
[0075]
本领域技术人员知晓,上述终端101、服务器1021的数量更多或更少。比如上述终端101、服务器1021仅为一个,或者上述终端101、服务器1021为几十个或几百个,或者更多数量,本申请实施例对终端或服务器的数量和设备类型不加以限定。
[0076]
图2是本申请实施例提供的一种程序块运行方法的流程图,参见图2,该方法包括以下步骤。
[0077]
201、终端获取程序块,该程序块用于控制虚拟对象运动。
[0078]
本申请实施例中,将一些程序代码作为一个整体封装到一个块中,这个块即为程序块。该,该程序块中可以封装有任意可执行代码和数据。通过将程序代码封装到块中,将不同的程序块进行拼接,即可完成编写代码的效果。
[0079]
形象化地,该程序块的拼接有些类似于积木拼接,因而,可以将上述程序块形象化地称为积木块,从而,对该积木块的理解可以为:图形化编程中将代码封装到积木块中,用
户拖动积木块进行拼接即可达到编写代码的效果。
[0080]
图形化编程是指将编程语言封装在图形化积木中,拖动积木块进行搭建即可完成编程的方式。这种图形化编程的方式可以应用于青少年或初学者群体的编程学习,通过简单、直观、易接受的方式来教育青少年或初学者群体快速、轻松地掌握编程知识,有利于编程教育的推广。
[0081]
该图形化编程方式可以应用于移动端编程产品中,该移动端编程产品因为携带方便、适用场景广、易于分享传播等优势,具有良好的应用前景。
[0082]
为了更好的体现程序块运行效果,终端通过控制虚拟对象运动来将程序块的运行效果可视化,该虚拟对象运动方式与程序块中封装到程序代码相关。例如,某个程序块中封装的程序代码是控制虚拟对象前进的指令,则该程序块用于控制虚拟对象前进。
[0083]
202、终端响应于对该程序块的运行指令,在程序块运行展示区域中,显示虚拟对象按照第一运动速度进行运动。
[0084]
在对程序块进行拼接以完成编程后,通过运行程序块来观察其运行的情况是否符合预期,以及该程序块运行时是否会出现问题。
[0085]
用户想要运行程序块时,可以对程序块进行运行操作,终端响应于该运行操作触发的运行指令,执行该程序块中的程序代码。其中,该程序块用于控制虚拟对象,在运行程序块中的程序代码时,终端会控制虚拟对象按照该程序代码所指示的指令进行运动。终端可以在程序块运行展示区域中显示虚拟对象的运动,以表示出该程序代码的运行效果。
[0086]
在该程序块的运行速度不同时,控制虚拟对象运动时,该虚拟对象的运动速度也不同。在该步骤202中,终端会控制虚拟对象按照第一运动速度进行运动。
[0087]
203、终端响应于对该程序块的运行速度调整操作,在该程序块运行展示区域中,显示该虚拟对象按照第二运动速度继续进行运动,该第二运动速度与该第一运动速度不同。
[0088]
在本申请实施例中,开创性地提供了一种调节程序块的运行速度的方式,在该方式中,调整了程序块的运行速度,自然地,运行程序块时,控制虚拟对象运动时,该虚拟对象的运动速度会相应地发生变化。可以理解地,程序块运行速度快时,虚拟对象的运动速度比较快;程序块运行速度慢时,虚拟对象的运动速度比较慢。在该步骤203中,调整了程序块的运行速度,则虚拟对象的运动速度发生了变化,从第一运动速度变成了第二运动速度。
[0089]
本申请实施例,提供了一种可调节运行速度的程序块运行方式,在该方式中,提供运行速度调整功能,在程序块运行时,通过对程序块的运行速度调整操作,可使得程序块的运行速度发生变化,进而通过虚拟对象的运动速度发生变化来表现出来,实现灵活、高效地程序块调试过程,比如,将运行速度调得慢一些来观察虚拟对象运动是否有问题,从而准确确定出错误程序块的位置,无需一遍又一遍地调试。又比如,在程序块运行很顺畅的时候将运行速度调得快一些,快速完成程序块的调试过程,因而,上述方法有效提高程序块的调试效率。
[0090]
图3是本申请实施例提供的一种程序块运行方法的流程图,参见图3,该方法包括以下步骤。
[0091]
301、终端获取程序块,该程序块用于控制虚拟对象运动。
[0092]
在本申请实施例中,程序代码被封装于块中,不同块中可以封装有实现不同功能
的程序代码。例如,某个程序块中封装有控制虚拟对象前进一步的程序代码。另一个程序块中封装有控制虚拟对象向左一步的程序代码。另一个程序块中封装有控制虚拟对象向右一步的程序代码。另一个程序块中封装有控制虚拟对象退后一步的程序代码。这里对程序块的功能进行了示例性说明,该程序块中还可以封装有实现其他功能的程序代码,比如,控制虚拟对象跳动,或者控制虚拟对象从一个地点跑到另一个地点等。本申请实施例对此不作限定。
[0093]
通过将程序代码封装到不同的块中,这样通过该程序块即可获知对虚拟对象的一种运动控制方式,将不同的程序块按照不同的顺序拼接,即可完成不同的运动控制。
[0094]
在一些实施例中,该终端可以提供不同模式的程序块,每个模式中可以封装有不同的程序块。例如,在模式一中,终端可以提供有三个程序块,该三个程序块分别封装有控制虚拟对象向前一步、向上一步以及左转的程序代码。用户可以任意组合该三个程序块,例如,先获取前进一步的程序块,再排一个向上的程序块,再排两个向前的程序块,再排一个左转的程序块,

,最后排一个向上的程序块。又例如,在模式二中,终端可以提供有五个程序块,该五个程序块分别封装有控制虚拟对象跑动、步行、说话、旋转以及下蹲的程序块。用户也可以任意组合该五个程序块。
[0095]
在一些实施例中,该终端可以提供不同虚拟环境,不同的虚拟环境对应有不同的运动控制任务。终端可以响应于对任一虚拟环境的选择指令,在程序块运行展示区域中显示有该虚拟环境,在该虚拟环境中可以显示有虚拟对象所需运动的路径。用户看到该虚拟环境即可获知需要如何拼接程序块,来使得虚拟对象在虚拟环境中沿着路径运动,以完成该虚拟环境对应的运动控制任务。该运动控制任务可以认为是关卡,不同的虚拟环境对应于不同的关卡,用户通过拼接程序块,使得运行程序块时控制虚拟对象完成关卡即可。通过在不同的虚拟环境中设置关卡,引导用户熟练掌握程序块的拼接方法,以达到编程教育的目的。
[0096]
该步骤301中的程序块的数量可以为一个,也可以为多个,也即是终端可以获取至少一个程序块。该程序块的数量可以由相关技术人员设置,也可以由用户根据当前虚拟场景进行设置。例如,在一个具体实施例中,如图4所示,终端在响应于编程指令,可以在虚拟环境选择界面400中,显示有至少一个候选虚拟环境401。图4中仅以三个为例进行说明,每个候选虚拟环境401可以理解为一个地图,因而三个候选虚拟环境可以为:地图1、地图2和地图3。在本申请实施例中,每个候选虚拟场景用于引导用户学习不同的编程知识,例如,地图1用于引导用户学习条件语句,地图2和地图3用于引导用户学习循序执行。
[0097]
终端可以响应于对任一候选虚拟环境401的选中操作,可以将界面跳转至如图5所示的,运动控制任务选择界面500,该运动控制任务选择界面500中可以显示有至少一个运动控制任务501。终端可以响应于对任一运动控制任务501的选中操作,将界面跳转至如图6所示的运动控制编辑界面600,该运动控制编辑界面600中可以包括多个区域:任务信息区域601、程序块预设区域602、程序块编辑区域603和程序块运行展示区域604。
[0098]
其中,该任务信息区域601用于显示任务信息,也可以称之为关卡信息区,则该任务信息可以为关卡信息。比如,该任务信息包括任务进度程序块也可以称之为积木块,因而上述程序块预设区域602也可以称为积木预设区。程序块预设区域602是指展示预设的程序块的区域。程序块预设区域602中显示有预设的程序块。不同的程序块中封装有实现不同功
能的程序代码。例如图6中程序块预设区域602内显示有3个预设的积木块:该3个积木块分别封装有控制虚拟对象向前一步、向上一步以及左转的程序代码。程序块编辑区域603可以称为积木编辑区。程序块编辑区域603是指对程序块进行编辑以得到待运行的程序块序列的区域。在该程序块编辑区域603中对程序块进行的编辑过程即为编程过程。具体地,用户可以从程序块预设区域602中拖拽所需的程序块到该程序块编辑区域603中,并在程序块编辑区域603中任意编辑各个程序块的运行顺序,最终得到待运行的程序块序列。需要说明的是,该程序块预设区域中的程序块在编辑过程中不会被拖拽走,而是会通过复制一个相同的程序块并拖拽复制的程序块来实现。该程序块预设区域中的程序块可重复使用。比如用户从程序块预设区域602中,选中一个程序块拖动至程序块编辑区域603中,并拖动至某个位置处,则终端可以显示该程序块随拖动操作而拖动到程序块编辑区域603中。程序块预设区域602中的程序块并不会减少,上述过程是复制一个具有同样功能的程序块,并在程序块编辑区域603中增加该程序块,且通过拖动操作的结束点,确定该程序块在程序块序列中的位置。用户也可以选中程序块编辑区域603中的任一个程序块,以任意改变程序块序列中程序块的排列顺序。终端还可以在该程序块编辑区域603中每个程序块对应位置上显示该程序块在程序块序列中的序号。在图6中,以用户拖拽了8个程序块到该程序块编辑区域603中,并排列好顺序,每个程序块的左方显示有该程序块的序号。排在第一的程序块为向前一步的程序块。排在第二的程序块为向上一步的程序块。接下来第3

8的程序块分别为向前一步、向前一步、左转、向前一步、向上一步、向上一步的程序块。用户可以根据虚拟环境任意进行程序块编辑,以使得虚拟对象在在虚拟环境中运动能够完成该虚拟环境设置的运动控制任务。该程序块运行展示区域604用于显示虚拟对象的运动,因而也可以称为舞台区。该程序块运行展示区域是指在虚拟环境中通过控制虚拟对象来展示程序块运行情况的区域。程序块在运行时,终端会相应控制虚拟对象按照该程序块所封装的程序代码进行运动。如果运行图6中程序块编辑区域中的程序块序列时,终端会在右侧的程序块运行展示区域604中显示虚拟对象先向前一步,然后向上一步,然后再继续向前两步,然后左转,左转后继续向前一步,最后向上两步。
[0099]
302、终端响应于对该程序块的运行指令,在程序块运行展示区域中,显示虚拟对象按照第一运行速度对应的第一运动速度进行运动,该第一运行速度是指该程序块的运行速度。
[0100]
在通过对程序块进行拼接后,如果想要查看拼接后的程序块运行效果,用户可以进行运行操作,终端接收到该运行操作所触发的运行指令,可以执行程序块。在执行该程序块时,可以将程序块的执行效果可视化,在程序块运行展示区域中来显示出虚拟对象的运动情况,这样所见即所得,用户可以根据真实运行情况来调整程序块,快速引导用户调整达到完成任务的程序块序列。
[0101]
在一些实施例中,在该程序块运行时,可以设置有一个默认的运行速度,例如,该默认的运行速度可以为第一运行速度,相应地,该程序块的运行速度与虚拟对象的运动速度对应,该第一运行速度对应于第一运动速度,终端则可以控制第一虚拟对象按照第一运动速度进行运动。该默认的运行速度可以由相关技术人员根据需求进行设置,也可以由用户根据自身使用习惯进行设置,本申请实施例对此不作限定。
[0102]
在另一些实施例中,在程序块运行之前,用户可以通过运行速度设置操作来设置
第一运行速度,终端可以控制虚拟对象按照第一运行速度对应的第一运动速度进行运动。其中,该运行速度设置方式可以采用多种方式,例如,在程序块运行展示区域中可以显示有运行速度调整控件,该运行速度调整控件中包括有至少两个运行速度,用户可以选择任一个运行速度作为第一运行速度。
[0103]
在一个具体的可能实施例中,该至少两个运行速度可以通过倍速的形式展示,例如,该至少两个运行速度可以显示为0.5、1、2、3这四种倍速,也即是,终端中可以设置有一个默认的运行速度s,如果用户选择0.5倍速,则程序块的运行速度为0.5*s。如果用户选择2倍速,则程序块的运行速度为2*s,s为正数。
[0104]
例如,在一个具体示例中,如图6所示,终端可以在程序块运行展示区域600中显示有运行控件605。该运行控件605在图6中仅以显示于程序块运行展示区域600的右下角为例,该运行控件605也可以显示于其他位置,本申请实施例对此不作限定。用户在设置好程序块编辑区域603中的程序块或程序块序列后,可以点击该运行控件605,然后终端可以运行该程序块编辑区域603中的程序块。具体地,如果该程序块编辑区域603内包括程序块序列,则终端可以按照该程序块序列中各个程序块的顺序,依次执行该各个程序块。如图7所示,该程序块处于运行中状态,终端可以将运行控件605的状态显示为运行中状态,处于运行中状态的运行控件605用于对程序块的运行过程进行暂停处理,因而,也可以称处于运行中状态的运行控件605为暂停控件。
[0105]
对于该运行速度调整控件,如图7所示,运行速度调整控件701可以显示于程序块运行展示区域600中虚拟对象展示区域的左下角区域中,在此仅为一种示例,该运行速度调整控件701也可以显示于其他位置,例如,程序块编辑区域的右下角区域或其他区域中,本申请实施例对此不作限定。该运行速度调整控件701中包括多个可选的倍速702,因而当前选中的倍速为1。该倍速1的显示样式与其他可选的倍速的显示样式不同,以突出当前选中的倍速为1。
[0106]
又例如,在程序块运行展示区域中可以显示有设置控件,用户可以对设置控件进行触发操作,终端接收到该触发操作触发的设置指令,显示设置界面,在设置界面中,用户可以任意设置初始的运行速度。终端将设置的运行速度作为第一运行速度。
[0107]
在一些实施例中,考虑到程序块的运行速度以虚拟对象的运动速度显示出来,终端还可以对虚拟对象的运动速度进行显示,以此用户看到显示的运动速度,知道当前程序块的运行速度,如果用户想要调整运行速度,也可以将运动速度作为基础来调整到用户想要的运动速度。例如,如图7所示,虚拟对象的运动速度可以通过运动速度显示控件703显示。如图7所示,当前设置的程序块的运行速度为1倍速,该运动速度显示控件703则可以相应显示为1倍速。需要说明的是,程序块的运行速度与虚拟对象的运动速度同步,一旦其中一个发生变化,另一个会同步发生变化。
[0108]
在一个具体的可能实施例中,该运动速度显示控件703可以为可触发的控件,用户可以对该运动速度显示控件703进行触发操作,以触发调整虚拟对象的运动速度。例如,在上述设置有至少两个运行速度的方式中,对应设置有至少两个运动速度,比如0.5、1、2、3这四种倍速。如果用户点击运动速度显示控件703,终端可以将虚拟对象的运动速度调整为与第一运动速度相邻的运动速度。其中,第一运动速度为当前虚拟对象的运动速度。比如,当前运动速度显示控件703显示为1倍速,如果用户点击该“x1”,则可以将虚拟对象的运动速
度调整为2倍速。相应地,该运动速度显示控件703显示为“x2”。上述运行速度调整控件701中也会将被选中的倍速调整为2倍速。
[0109]
虚拟对象的运动速度和程序块的运行速度相关联,改变虚拟对象的运动速度也即是改变程序块的运行速度。通过该运动速度显示控件,提供了一种改变虚拟对象的运动速度来对程序块的运行速度进行调节的方式,虚拟对象的运动是直接展示在界面中的,对其运动速度进行调整比较直观,对运动速度进行调整更能够满足用户的实际需求,调整方式更加直观,且为运行速度调节提供了多样、灵活的调节方式,用户可以根据自身习惯来选择合适的方式调节运行速度。另外,通过设置好至少两个运动速度,用户可以通过简单的点击操作即可进行运动速度的调节,无需再展开其他控件或者跳转界面等,不会对当前虚拟对象的运动情况产生遮挡,且每次调整会调整为预设的几个运动速度中与当前运动速度相邻的运动速度,不会一次性对运动速度产生大幅度调整,避免大幅度调整而导致无法一次性准确调整到合适速度,而反复调整,使得调整过程比较稳定,降低操作难度和频率。
[0110]
该步骤302为响应于对该程序块的运行指令,在程序块运行展示区域中,显示虚拟对象按照第一运动速度进行运动的过程,上述过程以通过程序块的第一运行速度来确定虚拟对象的第一运动速度为例进行了说明,在一些实施例中,终端也可以无需确定程序块的运行速度,直接将程序块的运行速度与虚拟对象的第一运动速度建立起对应关系,在调整程序块的运行速度时,终端直接根据运行速度调整操作,确定虚拟对象的运动速度,从而控制虚拟对象按照运动速度进行运动。
[0111]
303、终端检测到对该程序块的运行速度调整操作。
[0112]
在程序块运行时,如果用户想要调整程序块的运行速度时,可以进行运行速度调整操作。该运行速度调整操作可以包括多种操作方式,下面提供两种操作方式,该终端可以提供这两种操作方式中的任一种操作方式,也可以提供有两种操作方式,
[0113]
操作方式一、对程序块编辑区域内的滑动操作。
[0114]
相应地,下述步骤304和步骤305也即是,响应于该对程序块编辑区域内的滑动操作,在该程序块运行展示区域中,显示该虚拟对象按照该滑动操作所指示的第二运动速度继续进行运动。
[0115]
在该操作方式一中,终端可以在程序块运行过程中,检测程序块编辑区域中发生的滑动事件,根据滑动事件来判断运行速度是否调整以及如何调整。例如,该滑动操作可以对上下滑动操作,例如,上滑可以使得运行速度变小,下滑可以使得运行速度变大。当然,该滑动操作也可以为左右滑动操作,本申请实施例对此不作限定。
[0116]
操作方式二、对运行速度调整控件的点击操作。
[0117]
该操作方式二也即是上述步骤302中说明的对运行速度调整控件的点击操作,在此不对其进行过多赘述。相应地,下述步骤304和步骤305也即是,响应于该对运行速度调整控件的点击操作,在该程序块运行展示区域中,显示该虚拟对象按照第二运动速度继续进行运动,该第二运动速度与该点击操作所选中的第二运行速度对应。
[0118]
上述仅提供了两种可能的操作方式,在一些实施例中,上述运行速度调整操作还可以通过其他操作方式实现。例如,该运行速度调整操作可以为手势操作。例如,该终端上可以设置有摄像头,通过该摄像头对手势操作进行图像采集,通过采集的图像确定出手势操作中的手势,以执行该手势对应的运行速度调整过程。又例如,该手势操作可以通过
camera以及追踪(tracking)系统以识别到手势,本申请实施例对具体如何检测手势操作不作限定。
[0119]
304、终端响应于对该程序块的运行速度调整操作,根据该第一运行速度,确定该程序块的第二运行速度。
[0120]
终端检测到运行速度调整操作后,可以根据该运行速度调整操作来去确定如何调整程序块的运行速度。其中,该第一运行速度和第二运行速度不同,也即是,通过该运行速度调整操作,使得程序块的运行速度发生改变。
[0121]
在一些实施例中,该运行速度调整操作的操作方式不同时,终端根据第一运行速度确定第二运行速度的过程也可以不同。下面针对上述步骤303中的两种操作方式中第二运行速度的确定方式进行说明。
[0122]
在操作方式一中,终端可以响应于对程序块编辑区域内的滑动操作,根据该滑动操作的位移、速度或加速度中任一项,以及第一运行速度,确定第二运行速度。
[0123]
需要说明的是,一方面,该程序块编辑区域在编辑程序块阶段中用于检测编辑操作,并根据编辑操作来显示程序块编辑过程以及编辑后的程序块序列。在程序块运行阶段,程序块序列正在运行中,不能再对程序块序列进行编辑,否则容易导致程序块运行出现问题。因而,在程序块运行阶段中,该程序块编辑区域不会对用户的编辑操作进行响应。考虑到这一点,可以对程序块编辑区域设置另一功能,该另一功能即为在程序块运行阶段检测运行速度调整操作以对程序块的运行速度进行调整,这样该程序块运行速度的调整无需再划分出新的区域来支持其操作,能够实现对程序块编辑区域的高度重复利用,这样界面显示更加简洁,且使得程序块运行展示区域能够比较大,用户可以清晰看到程序块运行情况。
[0124]
另一方面,由于滑动操作可以包括不同方向的滑动操作,将该运行速度调整操作设置为滑动操作,通过操作方向来确定增大运行速度或减小运行速度,比如向一个方向滑动来增大运行速度,向相反的方向能够减小运行速度,能够实现比较灵活的运行速度调节,且符合用户的操作习惯,操作简单、方便,用户的接受程度比较高,且操作成本比较低,有效提高了操作效率。
[0125]
本申请提供的方法可以应用于移动端图形化编程工具中,在此称程序块为积木块,通过在积木块运行时的积木编辑区(也即是指程序块编辑区域)设置调节积木运行速度的交互方式,使用户可以在积木代码运行过程中实时调节运行速度,用户就可以按照自己需要的运行速度查看积木的运行效果并检查积木代码的准确性,从而大大提升积木调试的高效性和便捷性。这种交互方式通过上述滑动操作实现,可以支持单手操作,降低操作成本,并为手部功能缺失人士(例如,手部残障人士或者不善操作的终端使用者)提供更可控的操作体验。其中,该方法可以应用于移动端ide(integrated development environment,集成开发环境)的积木运行场景中,也可以应用于台式计算机设备的积木运行场景中,本申请实施例对此不作限定。
[0126]
其中,该滑动操作是在程序块编辑区域内任意位置的操作。该程序块编辑区域中显示有正在运行的程序块序列,在程序块运行阶段中,终端检测到程序块编辑区域中的滑动操作,并不会对程序块序列进行编辑,该阶段默认无法对程序块进行编辑。也即是,用户可以对程序块编辑区域内显示有程序块序列的位置进行滑动操作,也可以在未显示程序块序列的位置进行滑动操作。在程序块运行阶段中,终端检测到程序块编辑区域中的滑动操
作,均默认不是对程序块的编辑操作,而是判断其是否为运行速度调整操作。
[0127]
对于调整运行速度的滑动操作的滑动方向可以由相关技术人员根据需求进行设置,也可以由用户根据自身使用习惯进行设置,本申请实施例对此不作限定。比如,通过左右滑动操作可以调整运行速度。又比如,通过上下滑动操作可以调整运行速度。
[0128]
在一些实施例中,可以设置有阈值,通过阈值来判断当前运行速度调整操作是否为误操作。具体地,终端可以响应于对程序块编辑区域内的滑动操作,获取该滑动操作的位移、速度或加速度中任一项,响应于该滑动操作的位移、速度或加速度中任一项的大小大于阈值,根据该第一运行速度,确定第二运行速度。可以理解地,如果该滑动操作的位移、速度或加速度中任一项的大小大于阈值,说明用户的操作幅度比较大或者比较快速,是用户特意在屏幕上进行操作,以改变运行速度,因而,终端可以根据该滑动操作来确定如何该改变运行速度。
[0129]
其中,该滑动操作的位移用于表示滑动操作的触点的位置变化。该位移是指从滑动操作的起始点开始指向滑动操作的结束点的有向线段。速度或加速度。该滑动操作的速度用于滑动操作的触点运动的快慢和方向。该滑动操作的速度是指滑动操作的位移与持续时间的比值。该滑动操作的加速度用于表示该滑动操作的触点运动速度变化快慢。该加速度是指滑动操作过程中的速度变化与发生这一变化所用时间的比值。在一些实施例中,该加速度可以为滑动操作过程中的最大加速度。
[0130]
在该方式中,终端还可以响应于该滑动操作的位移、速度或加速度中任一项小于或等于该阈值,忽略该滑动操作。该忽略该滑动操作可以是指不执行该滑动操作对应的动作控制,例如,如果确定滑动操作是有效的,终端会调整程序块的运行速度,会调整虚拟对象的运动速度。而如果确定忽略该滑动操作,终端则无需对程序块的运行速度、虚拟对象的运动速度进行调整。可以理解地,如果滑动操作的位移、速度或加速度小于阈值,说明用户的幅度很小或者很缓慢,可能用户只是不小心碰到了屏幕,是误操作,并非用于改变运行速度的操作,因而,终端可以忽略该滑动操作。通过该阈值的设置,有效避免用户误操作使得程序块的运行速度不稳定,持续变化。
[0131]
对于上述根据滑动操作的位移、速度或加速度中任一项确定第二运行速度的过程,该滑动操作的位移、速度或加速度中任一项可以为矢量,矢量具有方向和大小。根据该滑动操作的位移、速度或加速度中的大小,判断出是否为用户的运行速度调整操作;根据该滑动操作的方向,可以提供不同的运行速度调整方式。考虑到运行速度可以增大,也可以减小,因为可以通过设置滑动方向不同,增大或减小运行速度的情况不同。
[0132]
上述根据滑动操作的位移、速度或加速度中任一项确定第二运行速度的过程,可以由相关技术人员根据需求确定具体采用哪一项来确定第二运行速度,也可以由用户根据自身使用习惯设置,本申请实施例对此不作限定。
[0133]
在一些实施例中,终端根据滑动操作的位移确定第二运行速度。相应地,终端可以响应于对程序块编辑区域内的滑动操作,获取该滑动操作的位移,响应于该位移的大小大于阈值,根据该第一运行速度,确定第二运行速度。终端也可以响应于位移的大小小于或等于阈值,忽略该滑动操作。
[0134]
其中,该滑动操作的位移的获取过程可以为:终端获取该滑动操作的起始点和终止点,将从起始点指向终止点的有向线段确定为该滑动操作的位移。
[0135]
在一个具体的可能实施例中,上述起始点和终止点可以采用终端屏幕中的坐标表示。终端可以获取该滑动操作开始时的第一坐标和结束时的第二坐标,然后将两个坐标之间的有向线段确定为该滑动操作的位移。
[0136]
在另一些实施例中,终端根据滑动操作的速度确定第二运行速度。相应地,终端可以响应于对程序块编辑区域内的滑动操作,获取该滑动操作的速度,响应于该速度的大小大于阈值,根据该第一运行速度,确定第二运行速度。终端也可以响应于速度的大小小于或等于阈值,忽略该滑动操作。
[0137]
其中,该滑动操作的速度的获取过程可以为:终端获取该滑动操作的位移和持续时长,然后将位移与持续时长的比值作为该滑动操作的速度。其中,该位移的获取过程在前述内容中已解释,在此不做过多赘述。
[0138]
在另一些实施例中,终端根据滑动操作的加速度确定第二运行速度。相应地,终端可以响应于对程序块编辑区域内的滑动操作,获取该滑动操作的加速度,响应于该加速度的大小大于阈值,根据该第一运行速度,确定第二运行速度。终端也可以响应于加速度的大小小于或等于阈值,忽略该滑动操作。
[0139]
其中,该滑动操作的加速度的获取过程可以为:终端获取该滑动操作过程中各个时刻的速度,然后根据该各个时刻的速度,确定该各个时刻的加速度,然后将最大值确定为该滑动操作的加速度。
[0140]
在一些实施例中,可以设置有至少两个运行速度,该至少两个运行速度为预设的运行速度。该至少两个运行速度互不相等。该至少两个运行速度可以理解为多个级别的运行速度,不同级别的运行速度不同。在一个具体的可能实施例中,该至少两个运行速度中可以包括一个基础运行速度,以该基础运行速度作为1倍速,其他运行速度可以通过与该基础运行速度的比值来命名。该至少两个运行速度可以通过倍速的形式展示,例如,该至少两个运行速度可以显示为0.5、1、2、3这四种倍速,也即是,终端中可以设置有一个基础运行速度s,如果确定运行速度为0.5倍速,则程序块的实际运行速度为0.5*s。如果用户选择2倍速,则程序块的实际运行速度为2*s,s为正数。该不同的倍速也即是指上述不同的级别。例如,至少两个运行速度显示为0.5、1、2、3这四种倍速,可以理解为运行速度有四个级别,第一个级别对应0.5倍速,第二个级别对应1倍速,第三个级别对应2倍速,第四个级别对应3倍速。
[0141]
在这些实施例中,运行速度的调整过程可以设置有:每次滑动可以用于改变一级,将当前级别相邻的级别作为调整后的运行速度。终端可以根据该滑动操作的方向,将至少两个运行速度中该方向对应的、与该第一运行速度相邻的运行速度确定为该第二运行速度。
[0142]
具体地,终端响应于该滑动操作的方向为第一方向,将至少两个运行速度中,大于该第一运行速度且与该第一运行速度相邻的运行速度确定为该第二运行速度;终端响应于该滑动操作的方向为第二方向,将至少两个运行速度中,小于该第一运行速度且与该第一运行速度相邻的运行速度确定为该第二运行速度。
[0143]
其中,该第一方向和第二方向可以为相反的两个方向。在一些实施例中,第一方向和第二方向可以为竖直方向上的两个相反方向,滑动操作为上下滑动操作。例如,第一方向为竖直向下,第二方向为竖直向上。又例如,第一方向为竖直向上,第二方向为竖直向下。在另一些实施例中,第一方向和第二方向可以为水平方向上的两个相反方向,滑动操作为左
右滑动操作。例如,第一方向为水平向左,第二方向为水平向右。又例如,第一方向为水平向右,第二方向为水平向左。
[0144]
在一些实施例中,该滑动操作的方向以及该滑动操作的位移、速度或加速度中任一项的大小可以为该滑动操作的方向以及该滑动操作的位移、速度或加速度中任一项在第一方向或第二方向上的分量大小。相应地,终端还可以响应于该滑动操作的方向为第三方向或第四方向,忽略该滑动操作。
[0145]
该第三方向和第四方向可以为竖直方向上两个相反的方向,也可以为水平方向上两个相反的方向。其中,第三方向和第四方向可以分别与第一方向和第二方向垂直。这样有效的滑动操作为上下滑动操作时,如果某个滑动操作为左右滑动操作时则无效。这样有效的滑动操作为左右滑动操作时,如果某个滑动操作为上下滑动操作时则无效。
[0146]
通过对有效的滑动操作的方向进行规范,针对用户的实际滑动操作,能够确定滑动操作的意图是否为对运行速度的调整,从而能够有效避免用户的误操作导致程序块运行速度改变,用户则需要再进行调整操作将其调整回合适的运行速度。
[0147]
例如,第一方向为竖直向下,第二方向为竖直向上。又例如,第一方向为竖直向上,第二方向为竖直向下。又例如,第一方向为水平向左,第二方向为水平向右。又例如,第一方向为水平向右,第二方向为水平向左。相应地,如果第一方向和第二方向为竖直方向,第三方向和第四方向可以为水平方向。如果第一方向和第二方向为水平方向,第三方向和第四方向可以为竖直方向。
[0148]
例如,该滑动操作可以为上下滑动操作,以第一方向为竖直向下,第二方向为竖直向上为例,上滑用于减小运行速度,下滑用于增大运行速度。如果用户左右滑动,则终端可以忽略该滑动操作。以通过滑动操作的位移确定第二运行速度为例进行说明,如图8中(a)所示,在调整前,程序块的第一运行速度为1倍速,虚拟对象的第一运动速度也为1倍速。用户在程序块编辑区域内向下滑动屏幕,如图8中(b)所示,终端可以将程序块的运行速度设置为2倍速,将虚拟对象的第一运动速度调整为第二运动速度“2倍速”,也即是自动调节倍速至当前倍速(1倍速)的相邻递增倍速(2倍速)。又例如,如图9中(a)所示,在调整前,程序块的第一运行速度为1倍速,虚拟对象的第一运动速度也为1倍速。用户在程序块编辑区域内向上滑动屏幕,如图9中(b)所示,终端可以将程序块的运行速度设置为0.5倍速,将虚拟对象的第一运动速度调整为第二运动速度“0.5倍速”,也即是,自动调节倍速至当前倍速(1倍速)的相邻递减倍速(0.5倍速)。当然,对于第一方向和第二方向可以由相关技术人员根据需求进行设置,本申请实施例对此不作限定。
[0149]
在此称程序块为积木块,本申请中根据运行积木块时调节运行速度的需要,在积木编辑区开创性地提供调节运行速度的功能。用户可以根据个人习惯和需要,通过在积木编辑区滑动的交互方式,自由地调节积木块的运行速度。在积木块运行过程中,用户可以很直接地在积木块编辑区通过手势滑动实时调节积木块运行速度,从而更准确地查找问题积木进行修改。用户通过上、下滑动积木块编辑区分别减慢和加快积木块运行速度,符合用户在该场景下的操作认知,降低调试积木运行速度的操作门槛。
[0150]
在一个具体示例中,如图10所示,当用户触摸屏幕,触发touch_start(触摸开始)事件,此时手指触摸的起始坐标;用户移动手指;用户手指离开屏幕,触发touch_end(触摸结束)事件,此时计算手指起始坐标和结束坐标的位移向量;然后可以获取位移向量在竖直
方向的分量,向上为正值,向下为负值,当然,也可以直接计算位移的绝对值,对于方向再另外去判断。然后可以取一个负值到正值的对称的阈值范围(如

30到30),也即是阈值在该示例中为30。如果小于最小值(分量的绝对值大于阈值),则当前速度下降一级;如果大于最大值(分量的绝对值大于阈值),则当前速度提升一级。如果在阈值范围内(分量的绝对值小于或等于阈值),则说明用户的操作幅度比较小,不会触发速度调整,保持当前的运行速度。
[0151]
在一些实施例中,这里的提速和降速都是在有限的几个等级速度下进行的,如果已经达到最低速度则不会进行降速,反之达到最高速度也不会进行加速。也即是,终端响应于该第一运行速度为至少两个运行速度中的最大值,且该运行速度调整操作用于增大该第一运行速度,忽略该运行速度调整操作。或者,终端响应于该第一运行速度为至少两个运行速度中的最小值,且该运行速度调整操作用于减小该第一运行速度,忽略该运行速度调整操作。该至少两个运行速度可以为预设的大小不同的运行速度,其涵括了运行速度的可调节范围,通过该至少两个运行速度能够很好地对程序块的运行速度进行调整。在已达到该运行速度可调节范围的极值时,如果再调整运行速度则会超出该可调节范围,运行速度可能会变得极小或极大,这时虚拟对象的运动速度可能极小或者极大,可能因为极大用户可能无法清晰看到程序块的运行情况,不能更好地定位错误程序块,也可能因为运行速度极小,导致程序块的运行时长大幅度延长,程序块的运行效率有所影响。因而,通过上述设置,能够在保证程序块的运行效率,也能够保证用户能够清晰获知程序块的运行情况。
[0152]
在另一些实施例中,终端可以根据滑动操作的方向以及该滑动操作的位移、速度或加速度中任一项的大小,确定该方向对应的运行速度调整值,该运行速度调整值的绝对值与该滑动操作的位移、速度或加速度中任一项的大小正相关。终端可以根据该第一运行速度和该运行速度调整值,确定第二运行速度。
[0153]
在这些实施例中,无需预设几个运行速度以供选择,终端可以直接根据以及运行速度的调整公式来确定出第二运行速度即可。
[0154]
该运行速度调整值可以为正数,也可以为负数。该运行速度调整值的绝对值可以根据该滑动操作的位移、速度或加速度中任一项的大小确定,例如,终端可以根据滑动操作的位移,确定出运行速度调整值的绝对值。运行速度调整值的绝对值与该滑动操作的位移的大小正相关。位移的大小(绝对值)越大,该运行速度调整值的绝对值越大。位移的大小(绝对值)越小,该运行速度调整值的绝对值越小。或者终端可以根据滑动操作的速度,确定出运行速度调整值的绝对值。或者终端可以根据滑动操作的加速度,确定出运行速度调整值的绝对值。
[0155]
通过该正相关设置,用户可以通过一次操作实现不同的运行速度调整方式。比如,用户想要将运行速度从比较大的数值调整到比较小的数值,可以通过在进行滑动操作时滑动比较长距离来实现,这样在需要大幅度调整运行速度时无需进行多次操作,减少操作次数,提高调整效率。又比如,用户想要将运行速度从比较大的数值稍微调小一点,可以通过在进行滑动操作时滑动比较短距离来实现。该运行速度的调整更加细粒度,用户可以根据自己需求精确地调整运行速度,找到更合适的运行速度。
[0156]
该运行速度调整值的正负可以根据滑动操作的方向确定。在一些实施例中,该滑动操作的方向为第一方向,终端可以确定运行速度调整值为正数;该滑动操作的方向为第二方向,终端可以确定运行速度调整值为负数。其中,该第一方向和第二方向的设置与前述
内容同理,例如,第一方向为竖直向下,第二方向为竖直向上。又例如,第一方向为竖直向上,第二方向为竖直向下。又例如,第一方向为水平向左,第二方向为水平向右。又例如,第一方向为水平向右,第二方向为水平向左。本申请实施例对第一方向和第二方向的设置不作具体限定。
[0157]
同理地,该方式中滑动操作的位移、速度或加速度也可以为第一方向或第二方向上的分量来作为其大小,在此不多做赘述。比如,在基于滑动操作的位移确定运行速度调整值时,终端可以获取该滑动操作在第一方向或第二方向上的分量大小,根据该分量大小来确定运行速度调整值的绝对值。该绝对值与该分量大小正相关。
[0158]
上述步骤304为响应于对程序块编辑区域内的滑动操作,且该程序块处于运行中状态,执行该在该程序块运行展示区域中,显示该虚拟对象按照该滑动操作所指示的第二运动速度继续进行运动的步骤。其中,该程序块处于运行中状态是指对程序块进行了运行操作且该程序块还未运行结束的状态。在程序块处于运行中状态,该程序块编辑区域对滑动事件进行响应。该程序块还在运行中,终端可以不支持此时对程序块进行编辑操作,在检测到程序块编辑区域内的滑动事件时,会判断该滑动事件是否用于调整运行速度,因而,该终端会执行该步骤304,根据第一运行速度,确定第二运行速度,并执行后续对虚拟对象的运动控制步骤。
[0159]
在另一种情况中,也即是,检测到对程序块编辑区域的滑动操作时,该程序块处于未运行状态,该程序块编辑区域用于对程序块进行编辑。具体地,终端可以响应于对该程序块编辑区域内的滑动操作,且该程序块处于未运行状态,显示该滑动操作所选中的程序块随该滑动操作的方向和距离进行移动。该程序块处于未运行状态是该程序块还未进行过运行,或者已运行结束的状态,当前时刻该程序块并未在运行。该程序块还没有在运行,用户可能是对程序块还没有编辑好,因而当前在对程序块编辑区域的滑动操作可能是对程序块的编辑操作,终端可以确定该滑动操作所控制的程序块,并控制该程序块随着滑动操作而移动。
[0160]
需要说明的是,该程序块编辑区域在程序块的不同阶段有不同的功能。在编辑程序块阶段中用于检测编辑操作,并根据编辑操作来显示程序块编辑过程以及编辑后的程序块序列。在程序块运行阶段,程序块序列正在运行中,不能再对程序块序列进行编辑,否则容易导致程序块运行出现问题。因而,在程序块运行阶段中,该程序块编辑区域不会对用户的编辑操作进行响应。考虑到这一点,可以对程序块编辑区域设置另一功能,该另一功能即为在程序块运行阶段检测运行速度调整操作以对程序块的运行速度进行调整,这样该程序块运行速度的调整无需再划分出新的区域来支持其操作,能够实现对程序块编辑区域的高度重复利用,这样界面显示更加简洁,且使得程序块运行展示区域能够比较大,用户可以清晰看到程序块运行情况。
[0161]
在操作方式二中,终端可以响应于对运行速度调整控件的点击操作,获取该点击操作所选中的第二运行速度,确定该第二运行速度对应的第二运动速度。其中,第二运行速度是指调整后程序块的运行速度。第二运动速度是指调整后虚拟对象的运动速度。调整前,程序块的运行速度为第一运行速度,虚拟对象的运动速度为第一运动速度。
[0162]
在该运行速度调整控件中显示有至少两个运行速度可供用户选择,用户可以选择任一个,终端可以根据用户的选择来进行调整。例如,在一个具体示例中,如图11中(a)所
示,在调整前,程序块的第一运行速度为1倍速,相应地,虚拟对象的第一运动速度为1倍速。如图11中(b)所示,用户在运行速度调整控件中选择2倍速,则程序块的第二运行速度为2倍速,相应地,虚拟对象的第二运动速度变为2倍速。
[0163]
在一个具体的可能实施例中,如图12所示,该操作方式二中,在检测到点击事件触发,终端可以调整按钮对应的运行速度值,也即是指终端可以将运行速度调整为运行速度调整控件中的选中的数值。该点击事件触发可以使用基本的按钮点击事件监听处理,在事件处理的回调逻辑中,更改对应的运行速率数值即可。
[0164]
305、终端在该程序块运行展示区域中,显示该虚拟对象按照该第二运行速度对应的第二运动速度继续进行运动。
[0165]
终端确定出第二运行速度,程序块的运行速度与虚拟对象的运动速度具有对应关系,二者变化一致。也即是,第二运行速度与第二运动速度对应,虚拟对象的运动速度也就会变成第二运动速度。
[0166]
该步骤304和步骤305为响应于对该程序块的运行速度调整操作,在该程序块运行展示区域中,显示该虚拟对象按照第二运动速度继续进行运动的过程。其中,该第二运动速度与该第一运动速度不同。在程序块运行过程中,用户可以任意调节运行速度,以满足自己的调试需求。例如,如果用户对本次编程结果非常有把握,则可以将运行速度增大,以缩短运行时长,提高程序块调试效率。如果用户对本次编程结果不是很有把握,则可以将运行速度调小一点,这样可以慢慢看着程序块执行效果,在某个程序块运行异常时,用户准确对其进行定位,无需一遍又一遍地调试。
[0167]
在一些实施例中,终端还可以在该程序块运行展示区域中,将显示的该虚拟对象的运动速度更新为该第二运动速度。如图8中(b)所示,右下角显示的运动速度变成了“2”。如图9中(b)所示,右下角显示的运动速度变成了“0.5”。如图11中(b)所示,右下角显示的运动速度变成了“2”。
[0168]
在一些实施例中,终端还可以在程序块编辑区域内,显示该运行速度调整操作所指示的第二运行速度。例如,如图8中(b)所示,终端可以在程序块编辑区域内显示调整后的第二运行速度“x2”801。如图9中(b)所示,终端可以在程序块编辑区域内显示调整后的第二运行速度“x0.5”901。需要说明的是,图8和图9中显示的“x2”801和“x0.5”901可以为按照一定透明度浮现在程序块编辑区域内,其显示时与程序块编辑区域内显示的程序块序列可能是重叠,当前图8和9中“x2”801和“x0.5”901并非被程序块遮挡,而是为了展示出“x2”801和“x0.5”901和程序块序列一起进行显示的样式,其显示并不对原始程序块序列的显示产生影响。
[0169]
本申请实施例,提供了一种可调节运行速度的程序块运行方式,在该方式中,提供运行速度调整功能,在程序块运行时,通过对程序块的运行速度调整操作,可使得程序块的运行速度发生变化,进而通过虚拟对象的运动速度发生变化来表现出来,实现灵活、高效地程序块调试过程,比如,将运行速度调得慢一些来观察虚拟对象运动是否有问题,从而准确确定出错误程序块的位置,无需一遍又一遍地调试。又比如,在程序块运行很顺畅的时候将运行速度调得快一些,快速完成程序块的调试过程,因而,上述方法有效提高程序块的调试效率。
[0170]
上述所有可选技术方案,采用任意结合形成本申请的可选实施例,在此不再一一
赘述。
[0171]
图13是本申请实施例提供的一种程序块运行装置的结构示意图,参见图13,该装置包括:
[0172]
获取模块1301,用于获取程序块,该程序块用于控制虚拟对象运动;
[0173]
显示模块1302,用于响应于对该程序块的运行指令,在程序块运行展示区域中,显示虚拟对象按照第一运动速度进行运动;
[0174]
该显示模块1302,还用于响应于对该程序块的运行速度调整操作,在该程序块运行展示区域中,显示该虚拟对象按照第二运动速度继续进行运动,该第二运动速度与该第一运动速度不同。
[0175]
在一些实施例中,该显示模块1302用于响应于对该程序块的运行指令,在程序块运行展示区域中,显示虚拟对象按照第一运行速度对应的第一运动速度进行运动,该第一运行速度是指该程序块的运行速度。
[0176]
在一些实施例中,该显示模块1302包括确定单元和显示单元;
[0177]
该确定单元用于响应于对该程序块的运行速度调整操作,根据该第一运行速度,确定该程序块的第二运行速度;
[0178]
该显示单元用于在该程序块运行展示区域中,显示该虚拟对象按照该第二运行速度对应的第二运动速度继续进行运动。
[0179]
在一些实施例中,该显示模块1302用于执行下述任一项:
[0180]
响应于对程序块编辑区域内的滑动操作,在该程序块运行展示区域中,显示该虚拟对象按照该滑动操作所指示的第二运动速度继续进行运动;
[0181]
响应于对运行速度调整控件的点击操作,在该程序块运行展示区域中,显示该虚拟对象按照第二运动速度继续进行运动,该第二运动速度与该点击操作所选中的第二运行速度对应。
[0182]
在一些实施例中,该确定单元用于响应于对程序块编辑区域内的滑动操作,根据该滑动操作的位移、速度或加速度中任一项,以及第一运行速度,确定第二运行速度;
[0183]
在一些实施例中,该显示单元用于在该程序块运行展示区域中,显示该虚拟对象按照该第二运行速度对应的第二运动速度继续进行运动。
[0184]
在一些实施例中,该确定单元包括获取子单元和确定子单元;
[0185]
该获取子单元用于响应于对程序块编辑区域内的滑动操作,获取该滑动操作的位移、速度或加速度中任一项;
[0186]
该确定子单元用于响应于该滑动操作的位移、速度或加速度中任一项的大小大于阈值,根据该第一运行速度,确定第二运行速度。
[0187]
在一些实施例中,该确定子单元用于根据该滑动操作的方向,将至少两个运行速度中该方向对应的、与该第一运行速度相邻的运行速度确定为该第二运行速度。
[0188]
在一些实施例中,该确定单元用于:
[0189]
根据该滑动操作的方向以及该滑动操作的位移、速度或加速度中任一项的大小,确定该方向对应的运行速度调整值,该运行速度调整值的绝对值与该位移、速度或加速度中任一项的大小正相关;
[0190]
根据该第一运行速度和该运行速度调整值,确定第二运行速度。
[0191]
在一些实施例中,该装置还包括:
[0192]
第一忽略模块,用于响应于该滑动操作的位移、速度或加速度中任一项的大小小于或等于该阈值,忽略该滑动操作。
[0193]
在一些实施例中,该滑动操作的位移、速度或加速度中任一项的大小为该任一项在第一方向或第二方向上的分量大小;
[0194]
该装置还包括:
[0195]
第二忽略模块,用于响应于该滑动操作的方向为第三方向或第四方向,忽略该滑动操作。
[0196]
在一些实施例中,该显示模块1302用于响应于对程序块编辑区域内的滑动操作,且该程序块处于运行中状态,执行该在该程序块运行展示区域中,显示该虚拟对象按照该滑动操作所指示的第二运动速度继续进行运动的步骤。
[0197]
在一些实施例中,该显示模块1302还用于响应于对该程序块编辑区域内的滑动操作,且该程序块处于未运行状态,显示该滑动操作所选中的程序块随该滑动操作的方向和距离进行移动。
[0198]
在一些实施例中,该显示模块1302还用于执行下述至少一项:
[0199]
在程序块编辑区域内,显示该运行速度调整操作所指示的第二运行速度;
[0200]
在该程序块运行展示区域中,将显示的该虚拟对象的运动速度更新为该第二运动速度。
[0201]
本申请实施例提供的装置,提供了可调节运行速度的程序块运行功能,提供运行速度调整功能,在程序块运行时,通过对程序块的运行速度调整操作,可使得程序块的运行速度发生变化,进而通过虚拟对象的运动速度发生变化来表现出来,实现灵活、高效地程序块调试过程,比如,将运行速度调得慢一些来观察虚拟对象运动是否有问题,从而准确确定出错误程序块的位置,无需一遍又一遍地调试。又比如,在程序块运行很顺畅的时候将运行速度调得快一些,快速完成程序块的调试过程,因而,上述方法有效提高程序块的调试效率。
[0202]
需要说明的是:上述实施例提供的程序块运行装置在程序块运行时,仅以上述各功能模块的划分进行举例说明,实际应用中,根据需要而将上述功能分配由不同的功能模块完成,即将程序块运行装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的程序块运行装置与程序块运行方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0203]
图14是本申请实施例提供的一种终端的结构框图。该终端1400可以是便携式移动终端,比如:智能手机、平板电脑、mp3(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)播放器、mp4(moving picture experts group audio layer iv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1400还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0204]
通常,终端1400包括有:处理器1401和存储器1402。
[0205]
处理器1401可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1401可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程
逻辑阵列)中的至少一种硬件形式来实现。处理器1401也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1401可以集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1401还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0206]
存储器1402可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1402还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1402中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1401所执行以实现本申请中方法实施例提供的程序块运行方法。
[0207]
在一些实施例中,终端1400还可选包括有:外围设备接口1403和至少一个外围设备。处理器1401、存储器1402和外围设备接口1403之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1403相连。具体地,外围设备包括:射频电路1404、显示屏1405、摄像头组件1406、音频电路1407、定位组件1408和电源1409中的至少一种。
[0208]
外围设备接口1403可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1401和存储器1402。在一些实施例中,处理器1401、存储器1402和外围设备接口1403被集成在同一芯片或电路板上;在一些其他实施例中,处理器1401、存储器1402和外围设备接口1403中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0209]
射频电路1404用于接收和发射rf(radio frequency,射频)信号,也称电磁信号。射频电路1404通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1404将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1404包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1404可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或wifi(wireless fidelity,无线保真)网络。在一些实施例中,射频电路1404还可以包括nfc(near field communication,近距离无线通信)有关的电路,本申请对此不加以限定。
[0210]
显示屏1405用于显示ui(user interface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1405是触摸显示屏时,显示屏1405还具有采集在显示屏1405的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1401进行处理。此时,显示屏1405还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1405可以为一个,设置在终端1400的前面板;在另一些实施例中,显示屏1405可以为至少两个,分别设置在终端1400的不同表面或呈折叠设计;在另一些实施例中,显示屏1405可以是柔性显示屏,设置在终端1400的弯曲表面上或折叠面上。甚至,显示屏1405还可以设置成非矩形的不规则图形,也即异形屏。显示屏1405可
以采用lcd(liquid crystal display,液晶显示屏)、oled(organic light

emitting diode,有机发光二极管)等材质制备。
[0211]
摄像头组件1406用于采集图像或视频。可选地,摄像头组件1406包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1406还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0212]
音频电路1407可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1401进行处理,或者输入至射频电路1404以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1400的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1401或射频电路1404的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1407还可以包括耳机插孔。
[0213]
定位组件1408用于定位终端1400的当前地理位置,以实现导航或lbs(location based service,基于位置的服务)。定位组件1408可以是基于美国的gps(global positioning system,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
[0214]
电源1409用于为终端1400中的各个组件进行供电。电源1409可以是交流电、直流电、一次性电池或可充电电池。当电源1409包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
[0215]
在一些实施例中,终端1400还包括有一个或多个传感器1410。该一个或多个传感器1410包括但不限于:加速度传感器1411、陀螺仪传感器1412、压力传感器1413、指纹传感器1414、光学传感器1415以及接近传感器1416。
[0216]
加速度传感器1411可以检测以终端1400建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1411可以用于检测重力加速度在三个坐标轴上的分量。处理器1401可以根据加速度传感器1411采集的重力加速度信号,控制显示屏1405以横向视图或纵向视图进行用户界面的显示。加速度传感器1411还可以用于游戏或者用户的运动数据的采集。
[0217]
陀螺仪传感器1412可以检测终端1400的机体方向及转动角度,陀螺仪传感器1412可以与加速度传感器1411协同采集用户对终端1400的3d动作。处理器1401根据陀螺仪传感器1412采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0218]
压力传感器1413可以设置在终端1400的侧边框和/或显示屏1405的下层。当压力
传感器1413设置在终端1400的侧边框时,可以检测用户对终端1400的握持信号,由处理器1401根据压力传感器1413采集的握持信号进行左右手识别或快捷操作。当压力传感器1413设置在显示屏1405的下层时,由处理器1401根据用户对显示屏1405的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0219]
指纹传感器1414用于采集用户的指纹,由处理器1401根据指纹传感器1414采集到的指纹识别用户的身份,或者,由指纹传感器1414根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1401授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1414可以被设置在终端1400的正面、背面或侧面。当终端1400上设置有物理按键或厂商logo时,指纹传感器1414可以与物理按键或厂商logo集成在一起。
[0220]
光学传感器1415用于采集环境光强度。在一个实施例中,处理器1401可以根据光学传感器1415采集的环境光强度,控制显示屏1405的显示亮度。具体地,当环境光强度较高时,调高显示屏1405的显示亮度;当环境光强度较低时,调低显示屏1405的显示亮度。在另一个实施例中,处理器1401还可以根据光学传感器1415采集的环境光强度,动态调整摄像头组件1406的拍摄参数。
[0221]
接近传感器1416,也称距离传感器,通常设置在终端1400的前面板。接近传感器1416用于采集用户与终端1400的正面之间的距离。在一个实施例中,当接近传感器1416检测到用户与终端1400的正面之间的距离逐渐变小时,由处理器1401控制显示屏1405从亮屏状态切换为息屏状态;当接近传感器1416检测到用户与终端1400的正面之间的距离逐渐变大时,由处理器1401控制显示屏1405从息屏状态切换为亮屏状态。
[0222]
本领域技术人员可以理解,图14中示出的结构并不构成对终端1400的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0223]
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条计算机程序的存储器,上述至少一条计算机程序由可由处理器执行以完成上述实施例中的程序块运行方法。例如,计算机可读存储介质是只读存储器(read

only memory,简称:rom)、随机存取存储器(random access memory,简称:ram)、只读光盘(compact disc read

only memory,简称:cd

rom)、磁带、软盘和光数据存储设备等。
[0224]
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或该计算机程序包括一条或多条程序代码,该一条或多条程序代码存储在计算机可读存储介质中。终端的一个或多个处理器从计算机可读存储介质中读取该一条或多条程序代码,该一个或多个处理器执行该一条或多条程序代码,使得终端执行上述程序块运行方法。
[0225]
在一些实施例中,本申请实施例所涉及的计算机程序可被部署在一个终端上执行,或者在位于一个地点的多个终端上执行,又或者,在分布在多个地点且通过通信网络互连的多个终端上执行,分布在多个地点且通过通信网络互连的多个终端可以组成区块链系统。
[0226]
本领域普通技术人员理解实现上述实施例的全部或部分步骤通过硬件来完成,也通过程序来指令相关的硬件完成,该程序存储于一种计算机可读存储介质中,上述提到的存储介质是只读存储器,磁盘或光盘等。
[0227]
以上描述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1