三维 - 无人机飞行(难度:1)
-
覆盖的关键课题
介绍
在这个教程中,我们会操控无人机跨越一个场景:

步骤 1 - 创建一个三维场景
创建一个新项目,并移除小狗角色。在“空白1”角色中,添加绿旗积木以及"创建三维场景"编程积木。请选择一些自带物体的场景,比如“城堡”、“城市”、“花园”和“村庄”。需要注意的是,如果你的电脑运行得比较慢,“城市”和“村庄”场景需要用更长时间来加载。

步骤 2 - 添加一个无人机模型
你可以通过积木"添加模型"来添加一个无人机模型。点击输入框“请选择”,将会弹出模型库,你可以选择自己喜欢的模型。需要注意的是,你需要为无人机设置一个合理的高度,以便它看起来不会太大,也不会太小。

需要注意的是,如果你把这个积木独立开来,只点击这个积木,运行速度会比较快。如果你把这个积木放到“创建三维场景”积木下面并一起运行,那就会需要更长时间。
步骤 3 - 添加一个追踪摄像头
因为无人机会到处飞行,我们不能使用静止的摄像头。相反,我们需要使用一个"追踪摄像头",无论目标物体去哪里,这种摄像头就会跟随到哪里。

需要注意的是,你需要把”主方向“设置为”目标“,从而使摄像头永远和无人机面向同一个方向。
步骤 4 - 新建一个积木”操控按钮“
为了把所有操控逻辑都放在同一个地方,让我们首先新建一个积木,名为”操控按钮“。你还可以为这个积木选择一个新的颜色。

步骤 5 - 当”e“键被按下的时候上升
我们让无人机在按下”e“键时升起,在没有按键被按下时停下。我们需要一个”重复执行“循环来持续检查”e“键是否被按下。要让无人机上升和停止,我们可以把对应的"上升速度"分别设置成400和0。

按下”e“键时如下所示:

步骤 6 - 当”q“键被按下时下降
每当”q“键被按下的时候,我们应该把”上升速度“设置成一个负数,以便无人机会下降。你自己可以添加这个逻辑代码吗?

修改程序如下:

使用“上升速度”的一个好处就是无人机将不会降落到地面以下(Z坐标为0)。请尝试做做看。
步骤 7 - 当”a“键被按下时左转
每当“a”键被按下时,我们应该通过设置“Z轴旋转”速度来使无人机左转。同样地,当没有按键被按下时,我们应该把Z轴旋转速度重置为0:

需要注意的是,这是一个新的“如果-否则”分支,而它应该被放置在前一个的“如果-否则”分支的下方,这是因为处理旋转速度和上升速度的逻辑并没有依赖关系,是相互独立的。举个例子,无人机可以同时上升和旋转。

步骤 8 - 当”d“键被按下时右转
接下来,你可以自己尝试让无人机在按下“d”键时右转吗?

这是其中一个办法,我们只需要把“Z轴旋转”从-100设置成100。

步骤 9 - “w” 和 "s"键用以向前移动和向后移动
最后,我们需要再添加两个按键:“w”键让无人机向前飞,而“s”键让无人机向后飞。你可以把对应的“前进速度”分别设置成一个正数和一个负数。

添加新积木的方法如下:

最终程序如下所示,以供参考。



创意扩展
你可以有很多办法来扩展这个程序。下面是一些创意想法:
-
I CreatiCode pinned this topic on
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login