可视化编程方法、装置、电子设备及计算机可读存储介质与流程
未命名
08-18
阅读:74
评论:0
1.本技术涉及计算机的技术领域,具体而言,涉及一种可视化编程方法、装置、电子设备及计算机可读存储介质。
背景技术:
2.目前市面存在很多少儿编程产品,这些少儿编程产品通常都会设置一个2d(two-dimensional,二维)场景,当用户编程完成后,可以通过运行编辑的程序控制2d场景中的对象执行相应的动作。但是,现有的少儿编程产品对训练儿童的空间思维能力的效果不佳,且2d场景中的对象能够执行的动作较少,使得编程产品的形式和内容单一,难以满足用户日益增长的使用需求。
技术实现要素:
3.本技术提供一种可视化编程方法、装置、电子设备及计算机可读存储介质,以解决现有技术对训练儿童的三维空间思维能力的效果不佳,且2d场景无法呈现三维模型的立体感,无法产生透视效果,使得2d编程产品难以满足用户日益增长的使用需求的问题。
4.第一方面,本技术提供一种可视化编程方法,包括:响应用户加载编程界面的操作,显示编程界面,所述编程界面包括场景区域,所述场景区域上显示有3d(three-dimensional,三维)编程对象和;响应用户修改所述3d编程对象的属性的修改操作,将所述3d编程对象在所述场景区域中的显示状态修改为与所述修改操作对应的属性一致。
5.本技术实施例中,设置有3d编程对象,用户可以通过编程控制3d编程对象执行不同的动作,进而能够有效训练用户的空间思维能力。并且,相较于现有的2d编程对象,3d编程对象能够执行较多2d编程对象无法执行的动作,增加编程产品的形式和内容,一步满足用户的实际使用需求。
6.结合上述第一方面提供的技术方案,在一些可能的实施方式中,所述3d编程对象的属性包括三维坐标、大小比例、三维旋转度。
7.本技术实施例中,3d编程对象的三维坐标、大小比例、三维旋转度均可修改,使得3d编程对象在所述场景区域中的显示状态可以更加灵活地进行调整,提高了3d编程对象的多样性和灵活性,进而提高用户的使用体验。
8.结合上述第一方面提供的技术方案,在一些可能的实施方式中,所述编程界面包括修改控件,其中,所述修改控件用于修改所述3d编程对象的属性。
9.本技术实施例中,通过在编程界面设置修改控件,使得用户可以通过该修改控件修改3d编程对象的属性,简化了修改3d编程对象的属性的操作,用户可以直观感受到3d编程对象在三维场景中所处空间的位置等属性等变化进而能够提升用户的使用体验。
10.结合上述第一方面提供的技术方案,在一些可能的实施方式中,在所述响应用户修改所述3d编程对象的属性的修改操作,将所述3d编程对象在所述场景区域中的显示状态修改为与所述修改操作对应的属性一致之前,所述方法还包括:响应用户选择所述3d编程
对象的选择操作,从预设的3d编程对象库中确定所述3d编程对象,并基于所述3d编程对象的预设初始属性在所述场景区域中显示所述3d编程对象。
11.本技术实施例中,设置有3d编程对象库,用户可以根据实际使用需求选择不同的3d编程对象,丰富了编程产品的多样性,进而提高了用户使用体验。
12.结合上述第一方面提供的技术方案,在一些可能的实施方式中,在所述响应用户修改所述3d编程对象的属性的修改操作,将所述3d编程对象在所述3d场景区域中的显示状态修改为与所述修改操作对应的属性一致之后,所述方法还包括:响应用户配置代码块组的配置操作,在代码块配置区域添加与所述配置操作对应的代码块组,其中,所述代码块组包括至少一个代码块;响应用户运行所述代码块组的运行操作,控制所述3d编程对象在所述场景区域中执行与所述代码块组对应的动作。
13.结合上述第一方面提供的技术方案,在一些可能的实施方式中,所述动作包括弹跳、物理碰撞、移动、跑步中的至少一种。
14.本技术实施例中,3d编程对象能执行弹跳、物理碰撞、移动、跑步等动作,相较于现有技术中基于2d编程对象的编程方法仅能支持前进、后退、向左和向右的直线动作,本技术提供的基于3d编程对象的编程方法能支持的编程内容更多,更能满足用户的使用需求。
15.结合上述第一方面提供的技术方案,在一些可能的实施方式中,当所述代码块组包括使所述3d编程对象执行发声操作时,所述控制所述3d编程对象在所述场景区域中执行与所述代码块组对应的动作,包括:控制所述3d编程对象执行与所述发声操作对应的动作,并播放与所述发声操作对应的语音,其中,所述语音的播放音量和声道通过所述3d编程对象在所述场景区域中的坐标确定。
16.本技术实施例中,由于语音的播放音量和声道通过3d编程对象在场景区域中的坐标确定,使得播放的语音更加贴合3d场景,提高用户的使用体验。
17.结合上述第一方面提供的技术方案,在一些可能的实施方式中,所述编程界面包括多个预设代码块,所述响应用户配置代码块组的配置操作,在代码块配置区域添加与所述配置操作对应的代码块组,包括:响应用户将所述代码块组需求的每个代码块拖拽至所述代码块配置区域,与所述代码块组中的其他代码块进行拼接的配置操作,控制所述代码块组需求的每个代码块按照用户拖拽的轨迹进行移动,并与所述代码块组中的其他代码块进行拼接,其中,所述代码块组中的每个代码块均为所述多个预设代码块中的一个。
18.本技术实施例中,用户只需要将代码块组需求的每个代码块拖拽至代码块配置区域,与代码块组中的其他代码块进行拼接,即完成可配置代码块组,简化了用户配置代码块组的操作。
19.结合上述第一方面提供的技术方案,在一些可能的实施方式中,所述代码块配置区域和所述场景区域重合,所述场景区域包括位置图层,所述位置图层用于显示所述代码块配置区域中的代码块组在所述场景区域上的位置,所述在代码块配置区域添加与所述配置操作对应的代码块后,所述方法还包括:隐藏所述代码块配置区域中的代码块组。
20.本技术实施例中,通过隐藏代码块配置区域中的代码块,可以使得场景区域的图像能完整展示给用户,提高用户的观看体验。同时,利用位置图层显示代码块配置区域中的每一个代码块在场景区域上的位置,使得用户能准确找到隐藏的代码块组的位置,便于后续调整代码块组。
21.第二方面,本技术提供一种可视化编程装置,包括:显示模块和属性修改模块,显示模块用于响应用户加载编程界面的操作,显示编程界面,所述编程界面包括场景区域;属性修改模块用于在所述场景区域上显示有3d编程对象的情况下,响应用户修改所述3d编程对象的属性的修改操作,将所述3d编程对象在所述场景区域中的显示状态修改为与所述修改操作对应的属性一致。
22.第三方面,本技术实施例还提供一种编程系统,包括:服务器和上述第二方面所述的可视化编程装置,其中,所述可视化编程装置与所述服务器通信连接。
23.第四方面,本技术实施例还提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行如上述第一方面实施例和/或结合上述第一方面实施例的任一种可能的实施方式提供的方法。
24.第五方面,本技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被计算机运行时,执行如上述第一方面实施例和/或结合上述第一方面实施例的任一种可能的实施方式提供的方法。
附图说明
25.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
26.图1为本技术实施例示出的一种可视化编程方法的流程示意图;
27.图2为本技术实施例示出的一种编程界面的示意图;
28.图3为本技术实施例示出的一种3d编程对象库的显示示意图;
29.图4为本技术实施例示出的一种修改控件的示意图;
30.图5为本技术实施例示出的一种代码块组的示意图;
31.图6为本技术实施例示出的一种包括位置图层的场景区域的示意图;
32.图7为本技术实施例示出的一种可视化编程装置的结构框图;
33.图8为本技术实施例示出的一种电子设备的结构框图。
具体实施方式
34.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
35.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方
法、物品或者设备中还存在另外的相同要素。
36.下面将结合附图对本技术的技术方案进行详细地描述。
37.请参阅图1,图1为本技术实施例示出的一种可视化编程方法的流程示意图,下面将结合图1对其包含的步骤进行说明。
38.s100:响应用户加载编程界面的操作,显示编程界面。
39.编程界面包括场景区域,如图2所示。其中,场景区域是3d场景。
40.显示编程界面中场景区域的具体方式可以是:将场景和用户选择的资源(例如3d编程对象)加载到内存当中,加载完成后向gpu(graphics processing unit,图形处理器)发送渲染指令。gpu利用预设的shader(着色器)计算出图形顶点和material(素材)材质的对应关系,并把3d通过正交投射的方式投射在2d屏幕上,实现3d图形的渲染显示。
41.3d编程对象可以是任意类型的3d模型,例如可以是人物模型、动物模型、植物模型、交通工具模型等,此处不对3d编程对象的具体类型进行限制。
42.3d编程对象可以是预先设置好的,也即在加载场景区域时,3d编程对象和场景区域一同加载,此时,加载完成的场景区域中显示有该预先设置的3d编程对象。或者,也可以是用户根据实际使用需求进行添加的,此时,可以是先加载场景区域,在场景区域加载完成后,响应用户添加3d编程对象的操作,在场景区域中添加用户选择的3d编程对象。
43.由于在不同的应用场景下,需要的3d编程对象可能不同,因此,为了提高本方案的适用范围,在响应用户加载编程界面的操作,显示编程界面后,该可视化编程方法还包括:响应用户选择3d编程对象的选择操作,从预设的3d编程对象库中确定3d编程对象,并基于3d编程对象的预设初始属性在场景区域中显示3d编程对象。其中,3d编程对象库中包括多个3d编程对象。
44.当3d编程对象库中包括的3d编程对象数量较多时,为了便于用户快速查找到需要使用的3d编程对象,可选的,3d编程对象库可以将3d编程对象进行分类。为了便于理解,请参阅图3。
45.图3所示的3d编程对象库的左侧部分展示了3d编程对象的类型(例如图3所示的animals、people、sports、food、music、weapons、for test等),图3所示的3d编程对象库的右侧部分用于显示选中的3d编程对象的类型包括的所有3d编程对象(例如图3所示的dirt cube、lori、tree 1、bush 3、ball 3等)。图3所示的3d编程对象库仅为本技术提供的一种实施例,不应将其作为对本技术的限制。
46.相应地,响应用户选择3d编程对象的选择操作,从预设的3d编程对象库中确定3d编程对象的具体过程可以是:响应用户选择目标3d编程对象类型的操作,显示该目标3d编程对象类型包括的所有3d编程对象。响应用户选择3d编程对象的选择操作,从目标3d编程对象类型中确定3d编程对象,并基于3d编程对象的预设初始属性在场景区域中显示3d编程对象。
47.其中,3d编程对象的分类可以根据实际需求进行设置,此处不对其进行限制。
48.可选的,当3d编程对象库中不存在用户需要的3d编程对象时,还可以响应用户上传3d编程对象的操作,在3d编程对象库中添加用户上传的3d编程对象。或者,可以是响应用户下载3d编程对象的操作,在3d编程对象库中添加用户下载的3d编程对象。其中,用户下载的3d编程对象可以是其他用户(例如由教研老师、开发人员等上传)上传的。
49.s200:在场景区域上显示有3d编程对象的情况下,响应用户修改3d编程对象的属性的修改操作,将3d编程对象在场景区域中的显示状态修改为与修改操作对应的属性一致。
50.3d编程对象的属性可以包括3d编程对象自身的物理属性以及表征自身位置的位置属性。
51.一种实施方式下,3d编程对象的属性可以包括三维坐标、大小比例、三维旋转度。
52.可选的,3d编程对象的属性还可以包括物理碰撞属性、物理重力属性、是否具有发光特性、发光颜色、模型皮肤中的至少一种。
53.3d对象由3d顶点构成的网格和2d uv贴图构成。uv贴图是3d模型表面的平面表示,通过将uv贴图投射在网格3d坐标系下的顶点坐标上从而使3d对象具有蒙皮效果。
54.创建uv贴图的过程称为uv展开。u和v指的是2d空间的水平轴和垂直轴,因为x、y和z已经在3d空间中使用。一旦多边形网格(3d顶点构成的网格)已经创建,下一个步骤是“解包它”入uv地图。为多边形网格赋予生命并使其看起来更逼真,需要为多边形网格添加纹理。然而,目前不存在3d纹理,多边形网格的纹理是通过uv映射将3d网格转换为2d信息,然后将2d纹理(uv贴图)包裹在3d网格周围生成具有特定效果的3d模型。
55.可选的,可以设置多个uv贴图和3d网格,此时一个3d网格可以对应有多个uv贴图。用户可以选择不同的3d网格(也即模型),并可以在对应模型的属性面板选择想要的uv贴图。然后即可基于选择的uv贴图和3d网格得到目标3d模型。
56.可以理解的是,三维坐标表征3d编程对象在场景区域中的具体位置,通过调整三维坐标可以调整3d编程对象在场景区域中的具体位置。
57.大小比例表征3d编程对象相对于场景区域的大小,通过调整大小比例可以放大或缩小3d编程对象。
58.三维旋转度表征3d编程对象相较于预设的参考坐标系的每一条坐标轴的旋转角度,通过调整三维旋转度可以调整3d编程对象的位置姿态,例如调整3d编程对象的朝向等。
59.物理碰撞属性包括3d编程对象是否具有碰撞体积以及对应的碰撞模型(可以通过包围盒计算3d编程对象的碰撞模型,包围盒可以是aabb包围盒、obb包围盒等)。通过调整物理碰撞属性可以控制3d编程对象是否与其他3d编程对象或场景区域中的物体发生碰撞。
60.在3d编程对象与其他3d编程对象或场景区域中的物体发生碰撞时,通过两者各自对应的包围盒(碰撞模型)计算出碰撞的方式和碰撞点。其中,利用包围盒检测不同物体之间的碰撞是本领域常规技术手段,为简要描述,此处不再赘述。
61.物理重力属性表征3d编程对象的下落速度,物理重力属性越高,3d编程对象的下落速度越快。
62.通过调整3d编程对象的是否具有发光特性,可以控制3d编程对象发光或不发光。其中,当3d编程对象发光时,可以设置3d编程对象的发光颜色。发光颜色的具体类型可以根据实际需求设置,此处不对发光颜色的具体类型进行限制。
63.为了便于修改3d编程对象的属性,一种实施方式下,编程界面中还包括修改控件,其中,修改控件用于修改3d编程对象的属性。
64.可选的,编程界面中可以仅包括一个修改控件,此时,通过这一个修改控件修改3d编程对象的所有属性。例如,修改控件可以是包括3d编程对象所有属性的属性配置表,用户
通过修改属性配置表中的不同属性,实现修改3d编程对象在场景区域中的显示状态。
65.可选的,编程界面中可以包括多个修改控件,相应地,每一种修改控件对应3d编程对象的一种属性。
66.例如,多个修改控件可以包括用于修改三维坐标的修改控件、用于修改大小比例的修改控件、用于修改三维旋转度的修改控件、用于修改物理碰撞属性的修改控件、用于修改物理重力属性的修改控件、用于修改是否具有发光特性的修改控件、用于修改发光颜色的修改控件。
67.可选的,用于修改三维坐标的修改控件可以是包括“x”、“y”、“z”三个坐标值的表格,用户通过填写数值的方式修改三维坐标。或者,用户可以直接拖动3d编程对象实现修改3d编程对象的三维坐标。此处举例仅为便于理解,不应作为对本技术的限制。
68.用于修改大小比例的修改控件可以是一个滚动条(包括滑动区域和滑块),滑块在滑动区域中的位置表征大小比例的数值,其中,滑动区域的两个端点分别表征大小比例的最大值和最小值。或者,用于修改大小比例的修改控件也可以是一个表格,用户通过填写数值的方式修改大小比例。此处举例仅为便于理解,不应作为对本技术的限制。
69.用于修改三维旋转度的修改控件可以是包括“x轴旋转度”、“y轴旋转度”、“z轴旋转度”三个旋转度的表格,用户通过填写数值的方式修改三维旋转度。或者,用于修改三维旋转度的修改控件也可以是一个球体,当该球体发生旋转时,3d编程对象对应进行旋转,且旋转的角度相同。此时,用户通过旋转该球体(例如拖拽球体等操作)实现调整3d编程对象的三维旋转度。此处举例仅为便于理解,不应作为对本技术的限制。
70.用于修改物理碰撞属性的修改控件可以是一个可以是一个勾选框,用户通过勾选或取消勾选来确定3d编程对象是否具有碰撞属性。当3d编程对象具有碰撞属性时,3d编程对象可以与其它具有碰撞属性的3d对象发生碰撞。此处举例仅为便于理解,不应作为对本技术的限制。
71.用于修改物理重力属性的修改控件可以是一个表格,用户通过填写数值的方式修改物理重力属性。此处举例仅为便于理解,不应作为对本技术的限制。
72.用于修改是否具有发光特性的修改控件可以是一个勾选框,用户通过勾选或取消勾选来确定3d编程对象是否发光。此处举例仅为便于理解,不应作为对本技术的限制。
73.用于修改发光颜色的修改控件可以是一个包括多种颜色的颜料盘,用户可以通过选择颜料盘中的不同颜色,实现修改3d编程对象的发光颜色。可以理解的是,当3d编程对象的是否具有发光特性为发光时,3d编程对象的发光颜色才生效。此处举例仅为便于理解,不应作为对本技术的限制。
74.为了便于理解,修改控件的一种具体实现方式如图4所示。修改控件1为用于修改三维坐标的修改控件;修改控件2为用于修改大小比例的修改控件;修改控件3为用于修改三维旋转度的修改控件;修改控件4为用于修改物理重力属性的修改控件;修改控件5包括用于修改是否具有发光特性的修改控件和用于修改发光颜色的修改控件。
75.其中,修改控件可以显示在编程界面的底部,或者显示在场景区域的底部;也可以是显示在编程界面的左侧和/或右侧,此处不对修改控件的具体显示位置进行限制。
76.一种实施方式下,当场景区域中存在多个3d编程对象时,用户可通过点击等方式选中想要修改的3d编程对象,此时,修改控件用于修改选中的3d编程对象的属性。通过修改
控件修改选中的3d编程对象的属性的方式与前文记载的通过修改控件修改3d编程对象的属性的方式一致,为简要描述,此处不再赘述。
77.在s200后,该可视化编程方法还包括s300、s400。
78.s300:响应用户配置代码块组的配置操作,在代码块配置区域添加与所述配置操作对应的代码块组。其中,代码块组包括至少一个代码块。
79.一种实施方式下,编程界面包括多个预设代码块,s300的具体实现方式可以是:响应用户将代码块组需求的每个代码块拖拽至代码块配置区域,与代码块组中的其他代码块进行拼接的配置操作,控制代码块组需求的每个代码块按照用户拖拽的轨迹进行移动,并与代码块组中的其他代码块进行拼接,其中,代码块组中的每个代码块均为多个预设代码块中的一个。
80.为了便于理解,请参阅图5,以代码块组包括第一代码块、第二代码块、第三代码块这3个代码块为例进行说明,s300的具体实现方式可以是:首先响应用户将第一代码块移动至代码块配置区域的操作,将第一代码块移动至代码块配置区域。然后响应用户将第二代码块移动至代码块配置区域,并与第一代码块进行拼接的操作,将第二代码块移动至代码块配置区域与第一代码块拼接。最后响应用户将第三代码块移动至代码块配置区域,并与第一代码块、第二代码块进行拼接的操作,将第三代码块移动至代码块配置区域,并将第三代码块与第一代码块和第二代码块进行拼接,其中,第一代码块、第二代码块、第三代码块的具体拼接顺序可以根据实际情况设置,用户移动代码块的顺序不代表代码块之间的连接顺序。此处举例仅为便于理解,不应将其作为对本技术的限制。
81.其中,编程界面还可以包括预设代码块区域,上述的多个预设代码块均显示在该预设代码块区域中。用户可以通过拖拽的方式将预设代码块区域中的代码块移动到代码块配置区域中。
82.s400:响应用户运行代码块组的运行操作,控制3d编程对象在场景区域中执行与代码块组对应的动作。
83.其中,3d编程对象执行的动作包括弹跳、物理碰撞、移动、跑步中的至少一种。
84.其中,响应用户运行代码块组的运行操作,控制3d编程对象在场景区域中执行与代码块组对应的动作的具体方式可以是,首先对代码块组进行编译,得到可执行代码。cpu按照代码块组中代码块的顺序,依次运行每个代码块对应的可执行代码产生控制指令,并控制gpu执行相应的渲染绘制,从而改变场景区域中的视觉效果,实现控制3d编程对象在场景区域中执行与代码块组对应的动作。
85.一种实施方式下,当代码块组包括使3d编程对象执行发声操作时,控制3d编程对象在场景区域中执行与代码块组对应的动作的具体方式可以是:控制3d编程对象执行与发声操作对应的动作,并播放与发声操作对应的语音。其中,语音的播放音量和声道通过3d编程对象在场景区域中的坐标确定。
86.其中,可以在场景区域中设置一个参考坐标点,3d编程对象与该参考坐标点的距离越远,语音的播放音量越小。通过3d编程对象与该参考坐标点的相对位置确定声道。
87.具体的,以屏幕相机为基准,相机位置为用户接受声音位置。3d编程对象位置为声源位置。声音大小由声源位置到声音接受位置的距离大小来控制。距离越远,声音越小;反之距离越近,声音越大。以声源接受位置为声音参考点,声音通道由声源位置到声音参考点
的左右方位决定。声源位置越靠近声音参考点左边,那么左声道分配的音量越多,右声道分配的音量越少。反之,声源位置越靠近声音参考点右边,左声道分配音量越少,右声道分配音量越多。从而实现了3d音效的播放效果。
88.当代码块配置区域和场景区域重叠时,为了提高用户的观看体验,一种实施方式下,在s300后,该可视化编程方法还可以包括:隐藏代码块配置区域中的代码块。通过隐藏代码块配置区域中的代码块,可以使得场景区域的图像能完整展示给用户,提高用户的观看体验。
89.可选的,在代码块隐藏后,还可以响应用户点击代码块隐藏区域的操作,显示隐藏的代码块。从而可以再次对代码块进行调整。
90.可选的,可以将一个隐藏代码块作为代码块组的第一个代码块,在此代码块下面的所有代码块在其它客户端都不会显示。该代码块组是否隐藏可以根据实际需求进行控制。
91.例如,可以是教师端将一个隐藏代码块作为代码块组的第一个代码块,当学生端下载该代码块组后,学生端不会显示该代码块组。此处举例仅为便于理解,不应作为对本技术的限制。
92.为了便于用户后续调整代码块配置区域中的代码块组,一种实施方式下,编程界面的场景区域中还包括位置图层。如图6所示:
93.位置图层用于显示代码块配置区域中的每一个代码块在场景区域上的位置。由于位置图层显示代码块配置区域中的每一个代码块在场景区域上的位置,使得用户能准确找到每一个代码块的位置。
94.图6所示的虚线构成的代码块为隐藏的代码块,在实际应用中为不可视状态。
95.基于同样的技术构思,本技术还提供一种可视化编程装置,如图7所示,该可视化编程装置包括显示模块和属性修改模块。
96.显示模块,用于响应用户加载编程界面的操作,显示编程界面,所述编程界面包括场景区域,所述场景区域上显示有3d编程对象。
97.属性修改模块,用于响应用户修改所述3d编程对象的属性的修改操作,将所述3d编程对象在所述场景区域中的显示状态修改为与所述修改操作对应的属性一致。
98.一种实施方式下,所述3d编程对象的属性包括三维坐标、大小比例、三维旋转度。
99.一种实施方式下,所述编程界面包括修改控件,其中,所述修改控件用于修改所述3d编程对象的属性。
100.可视化编程装置还包括选择模块,选择模块用于在所述响应用户修改所述3d编程对象的属性的修改操作,将所述3d编程对象在所述场景区域中的显示状态修改为与所述修改操作对应的属性一致之前,响应用户选择所述3d编程对象的选择操作,从预设的3d编程对象库中确定所述3d编程对象,并基于所述3d编程对象的预设初始属性在所述场景区域中显示所述3d编程对象。
101.可视化编程装置还包括处理模块,处理模块用于在所述响应用户修改所述3d编程对象的属性的修改操作,将所述3d编程对象在所述场景区域中的显示状态修改为与所述修改操作对应的属性一致之后,响应用户配置代码块组的配置操作,在代码块配置区域添加与所述配置操作对应的代码块组,其中,所述代码块组包括至少一个代码块。
102.处理模块,还用于响应用户运行所述代码块组的运行操作,控制所述3d编程对象在所述场景区域中执行与所述代码块组对应的动作。
103.一种实施方式下,所述动作包括弹跳、物理碰撞、移动、跑步中的至少一种。
104.处理模块,具体用于当所述代码块组包括使所述3d编程对象执行发声操作时,控制所述3d编程对象执行与所述发声操作对应的动作,并播放与所述发声操作对应的语音,其中,所述语音的播放音量和声道通过所述3d编程对象在所述场景区域中的坐标确定。
105.处理模块,具体用于所述编程界面包括多个预设代码块时,响应用户将所述代码块组需求的每个代码块拖拽至所述代码块配置区域,与所述代码块组中的其他代码块进行拼接的配置操作,控制所述代码块组需求的每个代码块按照用户拖拽的轨迹进行移动,并与所述代码块组中的其他代码块进行拼接,其中,所述代码块组中的每个代码块均为所述多个预设代码块中的一个。
106.处理模块,还用于在所述代码块配置区域和所述场景区域重合,所述场景区域包括位置图层,所述位置图层用于显示所述代码块配置区域中的每一个代码块在所述场景区域上的位置时,隐藏所述代码块配置区域中的代码块。
107.本技术实施例所提供的可视化编程装置100,其实现原理及产生的技术效果和前述可视化编程方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述可视化编程方法实施例中相应内容。
108.基于同样的发明构思,本技术还提供一种编程系统,该编程系统包括服务器和可视化编程装置。
109.其中,所述可视化编程装置与所述服务器通信连接。可视化编程装置的具体实现方式及原理在前文已叙述清楚,为简要描述,此处不再赘述。
110.一种实施方式下,可视化编程装置可以包括多个,每个可视化编程装置均与服务器通信连接。
111.可选的,可以为每一个可视化编程装置设置权限,不同的可视化编程装置的权限可以不同。
112.例如,可以设置可视化编程装置为学生端或教师端。作为教师端的可视化编程装置可以对场景区域进行修改或建立场景区域,得到新的场景区域。之后,教师端可以将场景区域上传至服务器中。学生端可以访问服务器下载场景区域。
113.其中,教师端在上传场景区域时,可以将教学内容(例如教学需要使用的代码块、课后习题等)与场景区域关联,并将关联后的场景区域和教学内容同步上传到服务器中。此时,当学生端下载场景区域时,同步下载与场景区域关联的教学内容。
114.可选的,教师端还可以建立一组代码块组,并将一个隐藏代码块作为该代码块组的第一个代码块。此中情况下,当学生端下载包括该代码块组的教学内容时,该代码块组不会在学生端显示。
115.请参阅图8,其为本技术实施例提供的一种电子设备200。所述电子设备200包括:收发器210、存储器220、通讯总线230、处理器240。
116.所述收发器210、所述存储器220、处理器240各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线230或信号线实现电性连接。其中,收发器210用于收发数据。存储器220用于存储计算机程序,如
存储有图7中所示的软件功能模块,即可视化编程装置100。其中,可视化编程装置100包括至少一个可以软件或固件(firmware)的形式存储于所述存储器220中或固化在所述电子设备200的操作系统(operating system,os)中的软件功能模块。所述处理器240,用于执行存储器220中存储的可执行模块,例如可视化编程装置100包括的软件功能模块或计算机程序。此时,处理器240,用于响应用户加载编程界面的操作,显示编程界面,所述编程界面包括场景区域,所述场景区域上显示有3d编程对象;响应用户修改所述3d编程对象的属性的修改操作,将所述3d编程对象在所述场景区域中的显示状态修改为与所述修改操作对应的属性一致。
117.其中,存储器220可以是,但不限于,随机存取存储器(random access memory,ram),只读存储器(read only memory,rom),可编程只读存储器(programmable read-only memory,prom),可擦除只读存储器(erasable programmable read-only memory,eprom),电可擦除只读存储器(electric erasable programmable read-only memory,eeprom)等。
118.处理器240可能是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器240也可以是任何常规的处理器等。
119.其中,上述的电子设备200,包括但不限于个人电脑、服务器等。
120.本技术实施例还提供了一种计算机可读存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的电子设备200运行时,执行上述所示的可视化编程方法。该计算机可读存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
121.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
技术特征:
1.一种可视化编程方法,其特征在于,包括:响应用户加载编程界面的操作,显示编程界面,所述编程界面包括场景区域;在所述场景区域上显示有3d编程对象的情况下,响应用户修改所述3d编程对象的属性的修改操作,将所述3d编程对象在所述场景区域中的显示状态修改为与所述修改操作对应的属性一致。2.根据权利要求1所述的方法,其特征在于,所述3d编程对象的属性包括三维坐标、大小比例、三维旋转度。3.根据权利要求1所述的方法,其特征在于,所述编程界面包括修改控件,其中,所述修改控件用于修改所述3d编程对象的属性。4.根据权利要求1所述的方法,其特征在于,在所述响应用户修改所述3d编程对象的属性的修改操作,将所述3d编程对象在所述场景区域中的显示状态修改为与所述修改操作对应的属性一致之前,所述方法还包括:响应用户选择所述3d编程对象的选择操作,从预设的3d编程对象库中确定所述3d编程对象,并基于所述3d编程对象的预设初始属性在所述场景区域中显示所述3d编程对象。5.根据权利要求1所述的方法,其特征在于,在所述响应用户修改所述3d编程对象的属性的修改操作,将所述3d编程对象在所述场景区域中的显示状态修改为与所述修改操作对应的属性一致之后,所述方法还包括:响应用户配置代码块组的配置操作,在代码块配置区域添加与所述配置操作对应的代码块组,其中,所述代码块组包括至少一个代码块;响应用户运行所述代码块组的运行操作,控制所述3d编程对象在所述场景区域中执行与所述代码块组对应的动作。6.根据权利要求5所述的方法,其特征在于,所述动作包括弹跳、物理碰撞、移动、跑步中的至少一种。7.根据权利要求6所述的方法,其特征在于,当所述代码块组包括使所述3d编程对象执行发声操作时,所述控制所述3d编程对象在所述场景区域中执行与所述代码块组对应的动作,包括:控制所述3d编程对象执行与所述发声操作对应的动作,并播放与所述发声操作对应的语音,其中,所述语音的播放音量和声道通过所述3d编程对象在所述场景区域中的坐标确定。8.根据权利要求5所述的方法,其特征在于,所述编程界面包括多个预设代码块,所述响应用户配置代码块组的配置操作,在代码块配置区域添加与所述配置操作对应的代码块组,包括:响应用户将所述代码块组需求的每个代码块拖拽至所述代码块配置区域,与所述代码块组中的其他代码块进行拼接的配置操作,控制所述代码块组需求的每个代码块与所述代码块组中的其他代码块进行拼接,其中,所述代码块组中的每个代码块均为所述多个预设代码块中的一个。9.根据权利要求5所述的方法,其特征在于,所述代码块配置区域和所述场景区域重合,所述场景区域包括位置图层,所述位置图层用于显示所述代码块配置区域中的代码块组在所述场景区域上的位置,所述在代码块配置区域添加与所述配置操作对应的代码块
后,所述方法还包括:隐藏所述代码块配置区域中的代码块组。10.一种可视化编程装置,其特征在于,包括:显示模块,用于响应用户加载编程界面的操作,显示编程界面,所述编程界面包括场景区域,所述场景区域上显示有3d编程对象;属性修改模块,用于在所述场景区域上显示有3d编程对象的情况下,响应用户修改所述3d编程对象的属性的修改操作,将所述3d编程对象在所述场景区域中的显示状态修改为与所述修改操作对应的属性一致。11.一种编程系统,其特征在于,包括:服务器和如述权利要求10所述的可视化编程装置,其中,所述可视化编程装置与所述服务器通信连接。12.一种电子设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器,用于存储程序;所述处理器,用于调用存储于所述存储器中的程序,以执行如权利要求1-9中任一项所述的方法。13.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被计算机运行时,执行如权利要求1-9中任一项所述的方法。
技术总结
本申请提供一种可视化编程方法、装置、电子设备及计算机可读存储介质,涉及计算机技术领域。可视化编程方法包括:响应用户加载编程界面的操作,显示编程界面,所述编程界面包括场景区域,所述场景区域上显示有3D编程对象;响应用户修改所述3D编程对象的属性的修改操作,将所述3D编程对象在所述场景区域中的显示状态修改为与所述修改操作对应的属性一致。由于设置有3D编程对象,使得用户可以通过编程控制3D编程对象执行不同的动作,从而能够有效训练用户的空间思维能力。并且,相较于现有的2D编程对象,3D编程对象能够执行较多2D编程对象无法执行的动作,能进一步提高编程产品的多样性和适用性。性和适用性。性和适用性。
技术研发人员:王宇航 陈向东 曾顺超 贾强强
受保护的技术使用者:北京思明启创科技有限公司
技术研发日:2023.05.10
技术公布日:2023/8/16
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
