<?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[从摄像头发射物体]]></title><description><![CDATA[<p dir="auto"> </p>
<h2><a class="anchor-offset" name="简介"></a>简介</h2>
<p dir="auto">在“第一人称射击”类型的游戏中，我们需要从摄像头的角度发射子弹或箭头等物体。当你使用 <a href="https://www.forum.creaticode.com/topic/775/%E7%AC%AC%E4%B8%80%E4%BA%BA%E7%A7%B0%E8%A7%86%E8%A7%92%E7%9A%84%E6%91%84%E5%83%8F%E5%A4%B4" target="_blank" rel="noopener noreferrer nofollow ugc">第一人称视角摄像机</a>时，这尤其有用。</p>
<p dir="auto">本文将介绍 3 个可以帮助你做到这一点的积木。</p>
<p dir="auto"> <br />
 </p>
<h2><a class="anchor-offset" name="复制摄像头方向"></a>复制摄像头方向</h2>
<p dir="auto">将物体添加到场景中时，它面向与 Y 轴相同的方向。我们可以使用以下积木使物体面向与摄像头相同的方向：</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/b0782fb8-717e-45fe-a0c1-6047a4de7bf1.png" alt="e6c6235f-f97e-4df0-aada-a137a2c20686-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto"> </p>
<p dir="auto">例如，让我们添加一个指向前方的盒子。每当你单击“复制摄像头方向”积木时，这个盒子都会旋转到与摄像头相同的方向：</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/25e7042a-eede-49ee-b182-62d03641083a.gif" alt="nn1.gif" class=" img-fluid img-markdown" /></p>
<p dir="auto"> <br />
 </p>
<h2><a class="anchor-offset" name="复制摄像头位置"></a>复制摄像头位置</h2>
<p dir="auto"> </p>
<p dir="auto">同样，我们也可以使用“复制摄像头位置”积木将物体移动到与摄像头相同的位置：</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/d9c0605f-1793-40db-b041-1c4ecafb572a.png" alt="3093af08-f803-4d52-a727-9d336f04749b-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto"> <br />
例如，如果我们运行“复制摄像头位置”积木，盒子将移动到与摄像头相同的位置。你不会再看到盒子了，因为现在摄像头就在那个盒子里。这时候你需要把摄像头拉远才能看到盒子。</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/11c87680-691a-446f-a616-1572af2d3c1d.gif" alt="nn2.gif" class=" img-fluid img-markdown" /></p>
<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/8afa1969-7797-4691-8daa-a2d2006e6d23.png" alt="418edf9b-d21a-4fbe-8170-67cacf2039e6-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto"> <br />
作为演示，在下面的程序中，我们每隔 0.5 秒添加一个新盒子，并将它从摄像头的位置射出：</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/e76e4009-7510-4e9b-aa03-edd7cf188b76.png" alt="fb981494-e69e-4fa7-9205-6193a8c234e3-image.png" class=" img-fluid img-markdown" /></p>
<p dir="auto"> <br />
当我们运行程序时，新的盒子会不断射出。</p>
<p dir="auto"><img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/21a646ad-f0ae-45c3-910e-aa52bc93c6dd.gif" width="500" style="border-radius:5px;border:1px solid #29622d" /></p>
<p dir="auto"> <br />
请注意，当我们设置其“定向速度”时，盒子不会移动到地面以下。如果你希望盒子继续向下移动，则需要为摄像头设置更高的目标点（例如 Z = 10000），让射出的盒子远离地面。</p>
<p dir="auto">这是演示项目：</p>
<p dir="auto"><a href="https://play.creaticode.cn/projects/997b4bdbb13724d6b5c1ede2" target="_blank" rel="noopener noreferrer nofollow ugc">https://play.creaticode.cn/projects/997b4bdbb13724d6b5c1ede2</a></p>
]]></description><link>https://forum.creaticode.com/topic/913/从摄像头发射物体</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Jul 2026 21:03:55 GMT</lastBuildDate><atom:link href="https://forum.creaticode.com/topic/913.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 14 Mar 2023 19:21:22 GMT</pubDate><ttl>60</ttl></channel></rss>