<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[三维 - 迷宫游戏（难度：3级）]]></title><description><![CDATA[<h2><a class="anchor-offset" name="用到的相关知识"></a>用到的相关知识</h2>
<ul>
<li><a href="/topic/192/%E5%88%9B%E5%BB%BA%E4%B8%89%E7%BB%B4%E5%9C%BA%E6%99%AF">创建三维场景</a></li>
<li><a href="/topic/326/%E7%BB%98%E5%88%B6%E9%80%A0%E5%9E%8B">绘制造型</a></li>
<li><a href="/topic/381/%E5%A2%9E%E5%8E%9A%E6%95%88%E6%9E%9C">将二维造型挤出为三维物体</a></li>
<li><a href="/topic/357/%E8%B0%83%E6%95%B4%E7%89%A9%E4%BD%93%E5%A4%A7%E5%B0%8F">调整物体大小</a></li>
<li><a href="/topic/378/%E6%9B%B4%E6%96%B0%E7%89%A9%E4%BD%93%E7%BA%B9%E7%90%86">更新物体纹理</a></li>
<li><a href="/topic/368/%E4%B8%89%E7%BB%B4%E7%89%A9%E4%BD%93%E7%9A%84%E9%80%9F%E5%BA%A6/1">三维物体的速度</a></li>
<li><a href="/topic/363/%E4%B8%89%E7%BB%B4%E6%96%B9%E5%90%91%E5%92%8C%E6%97%8B%E8%BD%AC/1">三维方向和旋转</a></li>
<li><a href="/topic/353/%E5%9C%A8%E5%9C%BA%E6%99%AF%E4%B8%AD%E6%B7%BB%E5%8A%A0%E5%8C%96%E8%BA%AB/1">在场景中添加化身</a></li>
<li><a href="/topic/370/%E8%BF%BD%E8%B8%AA%E6%91%84%E5%83%8F%E5%A4%B4/1">追踪摄像头</a></li>
<li><a href="/topic/738/%E5%8C%96%E8%BA%AB%E5%8A%A8%E7%94%BB">化身动画</a></li>
<li><a href="/topic/372/%E7%94%A8%E5%B0%84%E7%BA%BF%E6%8A%95%E5%B0%84%E6%A3%80%E6%9F%A5%E7%89%A9%E4%BD%93%E7%A2%B0%E6%92%9E/1">用射线投射检查物体碰撞</a></li>
</ul>
<p dir="auto"> <br />
 </p>
<h2><a class="anchor-offset" name="介绍"></a>介绍</h2>
<p dir="auto">在本教程中，我们将制作一个简单的三维迷宫游戏，一个人物角色在你设计的迷宫中跑动。效果如下：</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/3be60eae-70f6-4909-b27b-809b17d56b6b.gif" width="480" style="border-radius:5px;border:1px solid #29622d" /></p>
<p dir="auto"> </p>
<h3><a class="anchor-offset" name="第1步-创建一个-草地-场景"></a>第1步 - 创建一个“草地“场景</h3>
<p dir="auto">首先新建一个项目，并删除小狗角色。在“空的1”角色中，添加绿旗积木和积木“<a href="/topic/192/%E5%88%9B%E5%BB%BA%E4%B8%89%E7%BB%B4%E5%9C%BA%E6%99%AF">创建三维场景</a>”。注意，你需要点击输入框并选择“草地“场景。这是个轻量级的场景，有一大块草坪和蓝天。</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/afc26bf7-88a2-4cf1-9671-d958cf5c81be.png" width="400" style="filter:drop-shadow(0.35rem 0.35rem 0.4rem rgba(0, 0, 0, 0.5))" /></p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/f8aff1ff-6c14-4597-83dd-dcbea127b8dc.gif" width="460" style="border-radius:5px;border:1px solid #29622d" /></p>
<p dir="auto"> </p>
<h3><a class="anchor-offset" name="第2步-在造型编辑器中添加几个矩形方框"></a>第2步 - 在造型编辑器中添加几个矩形方框</h3>
<p dir="auto">现在我们来设计迷宫。添加一个空的角色，命名为“迷宫”。进入造型编辑器选项卡，<a href="/topic/326/%E7%BB%98%E5%88%B6%E9%80%A0%E5%9E%8B">绘制矩形方框</a>。更改为无填充色，在轮廓中拾取一种颜色，然后绘制多个方框。这些方框将转化为三维迷宫的城墙。</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/f8dc0696-7f5d-42fb-939e-9b3b02e6a008.gif" width="1000" style="border-radius:5px;border:1px solid #29622d" /></p>
<p dir="auto"> </p>
<h3><a class="anchor-offset" name="第3步-在城墙上打开几个缺口"></a>第3步 - 在城墙上打开几个缺口</h3>
<p dir="auto">现在我们需要在城墙上打开几个缺口。我们可以用橡皮擦工具擦除部分城墙并形成缺口；</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/4fd5f2b8-1216-481f-a94a-7908a39eb90c.gif" width="845" style="border-radius:5px;border:1px solid #29622d" /></p>
<p dir="auto"> </p>
<h3><a class="anchor-offset" name="第4步-将二维造型挤出为三维"></a>第4步 - 将二维造型挤出为三维</h3>
<p dir="auto">现在我们把这个二维迷宫挤出为三维迷宫，要使用“挤出”工具。</p>
<p dir="auto">在第一个角色中，<a href="/topic/535/%E5%B9%BF%E6%92%AD%E6%B6%88%E6%81%AF%E4%B8%8E%E6%8E%A5%E6%94%B6%E6%B6%88%E6%81%AF/1">发送一条消息</a>——“添加迷宫”：</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/50d7bd93-7772-4e70-90e1-d692ef3a8135.png" width="350" style="filter:drop-shadow(0.35rem 0.35rem 0.4rem rgba(0, 0, 0, 0.5))" /></p>
<p dir="auto">在“迷宫”角色中，当收到“添加迷宫”消息，就运行积木“<a href="/topic/381/%E5%A2%9E%E5%8E%9A%E6%95%88%E6%9E%9C">挤出</a>”：</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/9e4c2322-89a9-464f-9e38-cbc7563fe932.png" width="550" style="filter:drop-shadow(0.35rem 0.35rem 0.4rem rgba(0, 0, 0, 0.5))" /></p>
<p dir="auto">现在就可以在三维场景中看到迷宫了：</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/9d1f944c-321c-49e4-b735-f6361b3539f2.gif" width="480" style="border-radius:5px;border:1px solid #29622d" /></p>
<p dir="auto"> </p>
<h3><a class="anchor-offset" name="第5步-旋转迷宫并缩放迷宫"></a>第5步 - 旋转迷宫并缩放迷宫</h3>
<p dir="auto">三维迷宫有些问题，是竖着的，而且太小了。因为x轴朝向右，为了把迷宫变成水平的，我们将其绕x轴<a href="/topic/363/%E4%B8%89%E7%BB%B4%E6%96%B9%E5%90%91%E5%92%8C%E6%97%8B%E8%BD%AC/1">旋转</a>270度（或-90度）。</p>
<p dir="auto">我们还可以把迷宫三个维度都<a href="/topic/357/%E8%B0%83%E6%95%B4%E7%89%A9%E4%BD%93%E5%A4%A7%E5%B0%8F">放大</a>20倍。迷宫角色更新后的代码如下。</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/e03ec9f6-2759-4e38-ba0e-9c3822b66d87.png" width="550" style="filter:drop-shadow(0.35rem 0.35rem 0.4rem rgba(0, 0, 0, 0.5))" /></p>
<p dir="auto">现在我们就得到一个漂亮的三维迷宫：</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/819926c6-7bb9-4fd6-842a-e83f395679f3.gif" width="480" style="border-radius:5px;border:1px solid #29622d" /></p>
<p dir="auto"> </p>
<h3><a class="anchor-offset" name="第6步-更换城墙材质"></a>第6步 - 更换城墙材质</h3>
<p dir="auto">为了让城墙更逼真，我们可以<a href="/topic/378/%E6%9B%B4%E6%96%B0%E7%89%A9%E4%BD%93%E7%BA%B9%E7%90%86">更换城墙材质</a>，通过在迷宫角色中添加如下积木来实现。大家可以随意尝试不同的材质。</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/b855ceb5-ec65-4f97-b2ac-23f63ed609e3.png" width="700" style="filter:drop-shadow(0.35rem 0.35rem 0.4rem rgba(0, 0, 0, 0.5))" /></p>
<p dir="auto">就会得到更好看的城墙，如下所示：</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/31dfa356-4e73-4bc1-b932-0b06aaf0d1a9.gif" width="480" style="border-radius:5px;border:1px solid #29622d" /></p>
<p dir="auto"> </p>
<h3><a class="anchor-offset" name="第7步-添加人物角色"></a>第7步 - 添加人物角色</h3>
<p dir="auto">接下来，我们回到第一个角色，用如下积木<a href="/topic/353/%E5%9C%A8%E5%9C%BA%E6%99%AF%E4%B8%AD%E6%B7%BB%E5%8A%A0%E5%8C%96%E8%BA%AB/1">添加人物角色</a>：</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/8e48f3b7-be55-486b-a1a0-d6b12fa67681.png" width="450" /></p>
<p dir="auto">默认情况下，这个人物站在中央：</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/71b20606-ffb3-4398-9f4e-b3bdcd79e7b8.gif" width="480" style="border-radius:5px;border:1px solid #29622d" /></p>
<p dir="auto"> </p>
<h3><a class="anchor-offset" name="第8步-添加一个-追踪-摄像头"></a>第8步 - 添加一个“追踪”摄像头</h3>
<p dir="auto">为了让游戏玩家总是能看到人物前面的东西，我们在人物后面添加一个<a href="/topic/370/%E8%BF%BD%E8%B8%AA%E6%91%84%E5%83%8F%E5%A4%B4/1">“追踪”摄像头</a>，“主方向”设置为“目标”。这意味着摄像头方向永远与人物的方向一致。</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/d2a7aa48-2ca2-434e-8472-abce3ab08de8.png" width="1000" /></p>
<p dir="auto">当人物跑动时，摄像头会跟随人物，我们就不能再用鼠标指针来旋转摄像头。</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/4b80af13-a855-4656-980a-f12bb9909cec.gif" width="480" style="border-radius:5px;border:1px solid #29622d" /></p>
<p dir="auto"> </p>
<h3><a class="anchor-offset" name="第9步-按-w-键前进"></a>第9步 - 按“W”键前进</h3>
<p dir="auto">为了让人物跑动，我们要制作一个新的积木，命名为“操作键”，用以操作按键事件。在这个新积木的定义中，首先编辑“W”键，“W”键让人物向前跑。注意，在“重复执行”循环中我们要设置简短的等待时间，否则人物就跑得太快了。</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/0a3fc411-1fbb-47b0-b15f-408855c6ce84.png" width="450" /></p>
<p dir="auto">现在，如果我们按“W”键，人物就向前奔跑，摄像头会一直跟随人物：</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/e47cca68-2de8-49bc-a4af-7a90a930086e.gif" width="480" style="border-radius:5px;border:1px solid #29622d" /></p>
<p dir="auto"> </p>
<h3><a class="anchor-offset" name="第10步-左转-右转"></a>第10步 - 左转、右转</h3>
<p dir="auto">接下来，我们再添加2个按键：按“A”键左转，按“D”键右转。注意，这个新的逻辑与“W”键无关，所以我们可以同时进行跑动和转向。</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/309a041b-2b2a-4770-9bbe-773c4be0c7ef.png" width="300" /></p>
<p dir="auto">现在，人物可以在三维迷宫内穿行了：</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/f9dc5c7b-e852-4cc1-bd65-bfd22b237b93.gif" width="480" style="border-radius:5px;border:1px solid #29622d" /></p>
<p dir="auto"> </p>
<h3><a class="anchor-offset" name="第11步-添加跑步动画"></a>第11步 - 添加跑步动画</h3>
<p dir="auto">为了让人物跑动，我们需要做两处改动。</p>
<p dir="auto">首先，需要为人物<a href="/topic/738/%E5%8C%96%E8%BA%AB%E5%8A%A8%E7%94%BB">加入“跑”动画</a>。就如同教人物如何跑步：</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/5418cf34-10d9-4e86-8732-911dfeb37adc.png" width="580" /></p>
<p dir="auto">然后，我们要根据是否按下“W”键来启动动画“跑”还是“待命”。注意，我们不需要添加“待命”动画，因为，当人物载入场景时默认添加“待命”动画。</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/675cb302-8bc4-4e0f-80ae-1a9d151cbf68.png" width="1100" /></p>
<p dir="auto">这一步完成后，人物就出现奔跑动画：</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/15169614-ffcb-4d70-9a06-659cd8f2541f.gif" width="480" style="border-radius:5px;border:1px solid #29622d" /></p>
<p dir="auto"> </p>
<h3><a class="anchor-offset" name="第12步-撞到城墙即停止"></a>第12步 - 撞到城墙即停止</h3>
<p dir="auto">最后一步，我们要让人物碰到城墙后停止前进，从而让人物寻找迷宫出路。</p>
<p dir="auto">首先，我们要在人物角色和迷宫角色之间<a href="/topic/372/%E7%94%A8%E5%B0%84%E7%BA%BF%E6%8A%95%E5%B0%84%E6%A3%80%E6%9F%A5%E7%89%A9%E4%BD%93%E7%A2%B0%E6%92%9E/1">打开碰撞</a>。“Z位移”要设置为<strong>人物高度的一半</strong>，在这个项目中为50。若需深入了解这个积木，请查看<a href="/topic/372/%E7%94%A8%E5%B0%84%E7%BA%BF%E6%8A%95%E5%B0%84%E6%A3%80%E6%9F%A5%E7%89%A9%E4%BD%93%E7%A2%B0%E6%92%9E/1">这篇教学内容</a>。</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/e5ebf0ee-e490-4254-8176-062f3bd027a0.png" width="1000" /></p>
<p dir="auto">接下来，我们需要更改人物移动的方式。不用积木“移动”，而是要用积木“<a href="/topic/368/%E4%B8%89%E7%BB%B4%E7%89%A9%E4%BD%93%E7%9A%84%E9%80%9F%E5%BA%A6/1">设置速度</a>”让人物奔跑和停止。</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/d5c9006c-eb25-4445-a798-6632bf96ffe4.png" width="400" /></p>
<p dir="auto">得到的最终结果如下：</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/74a62ecb-a293-4a34-8372-1fd183dda443.gif" width="480" style="border-radius:5px;border:1px solid #29622d" /></p>
<p dir="auto"> </p>
<h3><a class="anchor-offset" name="创意扩展"></a>创意扩展</h3>
<p dir="auto">从这个基本的迷宫游戏，你可以扩展成多种形式。下面是一些创意想法：</p>
<ol>
<li>
<p dir="auto"><strong>不同场景</strong>：这个迷宫游戏还可以做成乌龟在水下迷宫游泳、飞机在空中迷宫飞行。</p>
</li>
<li>
<p dir="auto"><strong>路径标记</strong>：如果迷宫太过复杂，游戏玩家可能需要一些方法来标记他走过哪些路。</p>
</li>
<li>
<p dir="auto"><strong>奖品</strong>：我们可以在迷宫中放置一些宝石，让游戏玩家捡宝石，宝石能让游戏玩家跑得更快甚至可以跳过城墙。</p>
</li>
<li>
<p dir="auto"><strong>分多种级别</strong>：你可以检查人物的位置，看是否走出迷宫。如果成功走出迷宫，你可以展示“已完成级别“信息，然后游戏玩家点击一个按钮进入下一级别。</p>
</li>
</ol>
]]></description><link>https://forum.creaticode.com/topic/779/三维-迷宫游戏-难度-3级</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Jul 2026 05:36:15 GMT</lastBuildDate><atom:link href="https://forum.creaticode.com/topic/779.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 27 Jan 2023 13:48:32 GMT</pubDate><ttl>60</ttl></channel></rss>