<?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>
<ul>
<li><a href="/topic/14/adding-boxes-to-a-3d-scene">添加盒子</a></li>
<li><a href="/topic/35/speed-of-3d-objects">三维物体的速度</a></li>
</ul>
<p dir="auto"> </p>
<h2><a class="anchor-offset" name="介绍"></a>介绍</h2>
<p dir="auto">要允许用户跟场景里的物体互动，我们可以允许“<strong>选取</strong>”事件。它跟二维程序里的“<strong>点击</strong>”事件非常相似。当你在场景中点击一个三维物体时，选取事件将会被触发。</p>
<p dir="auto">需要注意的是，事件会在你<strong>释放鼠标时</strong>被触发，而不是当你按下鼠标是触发。</p>
<p dir="auto"> </p>
<h2><a class="anchor-offset" name="开启选取-编程积木"></a>“开启选取”编程积木</h2>
<p dir="auto">默认情况下，选取事件时不被开启的因为他需要一些额外的运算，要开启它，你可以使用“开启选取”编程积木：</p>
<p dir="auto"> <br />
<img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/d2f51ce8-0b19-440f-8660-0b580c8ac1ba.png" width="700" /></p>
<p dir="auto"> </p>
<h3><a class="anchor-offset" name="参数"></a>参数</h3>
<p dir="auto"> </p>
<h4><a class="anchor-offset" name="鼠标按键"></a>鼠标按键</h4>
<p dir="auto">你可以选择让用户使用鼠标左键或鼠标右键来选取。当你正同时使用<a href="/topic/37/the-follow-camera">追踪摄像头</a>时，这个选择不应该跟摄像头的导航按钮一样，以免起冲突。举个例子，如果用户使鼠标右键来控制追踪摄像头，那他应该使用鼠标左键来选取物体。</p>
<p dir="auto"> </p>
<h4><a class="anchor-offset" name="角色列表"></a>角色列表</h4>
<p dir="auto">要指定场景中哪些角色可以被用户选取，你可以指定一个角色列表名称并用逗号来分隔它们，比如<strong>角色1，角色2</strong>。通过这样的方式，任何一个被添加在两个中任一角色的物体都可以被选取。</p>
<p dir="auto"> </p>
<h2><a class="anchor-offset" name="关闭选取-编程积木"></a>“关闭选取”编程积木</h2>
<p dir="auto">有时候你需要在开启选取时间之后将它关闭。你可以使用“关闭选取”编程积木：</p>
<p dir="auto"> <br />
<img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/632a5fdb-ced9-4b40-9350-74d1728bd71d.png" width="500" style="filter:drop-shadow(0.35rem 0.35rem 0.4rem rgba(0, 0, 0, 0.5))" /></p>
<p dir="auto">这个编程积木只需要一个输入，也就是角色名称列表。角色的名字应该要被逗号分隔开来，比如<strong>角色1，角色2</strong>。</p>
<p dir="auto"> </p>
<h2><a class="anchor-offset" name="当被选取-编程积木"></a>“当被选取”编程积木</h2>
<p dir="auto">每当用户选取一个物体时，如果这个事件编程积木被使用在拥有被选取物体的角色时，它将会被触发。</p>
<p dir="auto"> <br />
<img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/41cf79c0-1526-4ddf-b076-2ca877636b5c.png" width="400" /></p>
<p dir="auto"> </p>
<h2><a class="anchor-offset" name="诠释选取事件的编程积木"></a>诠释选取事件的编程积木</h2>
<p dir="auto">当我们选取一个物体时，<strong>我们正在把一束光线从摄像头投射到鼠标，然后再把这束光线一直延伸，直到光纤击中场景中的任一物体</strong>。这束光线和目标物体的交叉点叫做"<strong>被选取点</strong>"，而目标物体被称为”被选取物体“。</p>
<p dir="auto"> <br />
<img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/680ef7dc-085e-4b66-bf4f-7935c4875391.png" width="700" /><br />
 </p>
<p dir="auto">以下四个编程积木可以让你得到更多关于选取事件的信息。</p>
<p dir="auto"> <br />
<img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/06c336f4-4703-4675-bb24-0baa9e3b539f.png" width="800" /></p>
<p dir="auto"> </p>
<h2><a class="anchor-offset" name="演示"></a>演示</h2>
<p dir="auto"> <br />
<img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/b07fef00-af95-4e24-a25b-9ddf9a9ba551.gif" width="480" style="border-radius:5px;border:1px solid #29622d" /><br />
 </p>
<p dir="auto">在这个演示程序里有两个角色。</p>
<p dir="auto">在”<strong>角色1</strong>“里，我们添加了一个黄色的盒子，把它用作平地，然后我们允许用户选取任何在”盒子“角色里创建的物体。接着，我们广播一个信息来添加盒子。</p>
<p dir="auto"> <br />
<img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/1e2654fd-499b-4153-b0c1-b980bf9b21de.png" width="800" style="filter:drop-shadow(0.35rem 0.35rem 0.4rem rgba(0, 0, 0, 0.5))" /></p>
<p dir="auto"> <br />
在“<strong>盒子</strong>”角色中，当我们收到消息时，我们在10个随机位置添加盒子。接着，当任何一个盒子被点击时，我们首先用”被选取物体“编程积木来选择那个盒子，然乎我们设置它的上升速度，让他飞起来。</p>
<p dir="auto"> <br />
<img src="https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/7abb227a-21c0-45f1-bb5c-e38aa5fc4233.png" width="1000" /><br />
 </p>
<p dir="auto">动手时刻：<br />
<a href="https://play.creaticode.com/projects/e09563dbcf2abc29327819bd" target="_blank">https://play.creaticode.com/projects/e09563dbcf2abc29327819bd</a><br /> <br />
<iframe src="https://play.creaticode.com/projects/e09563dbcf2abc29327819bd/embed" width="485" height="402" allowfullscreen></iframe></p>
]]></description><link>https://forum.creaticode.com/topic/369/选取事件</link><generator>RSS for Node</generator><lastBuildDate>Tue, 17 Mar 2026 15:58:18 GMT</lastBuildDate><atom:link href="https://forum.creaticode.com/topic/369.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 26 Jul 2022 07:21:59 GMT</pubDate><ttl>60</ttl></channel></rss>