Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • CreatiCode
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

CreatiCode Scratch Forum

  1. CreatiCode Forum
  2. 知识库
  3. 三维积木
  4. 选取事件

选取事件

Scheduled Pinned Locked Moved 三维积木
1 Posts 1 Posters 927 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C Offline
    C Offline
    CreatiCode TA 2
    wrote on last edited by admin
    #1

     

    预备知识

    • 添加盒子
    • 三维物体的速度

     

    介绍

    要允许用户跟场景里的物体互动,我们可以允许“选取”事件。它跟二维程序里的“点击”事件非常相似。当你在场景中点击一个三维物体时,选取事件将会被触发。

    需要注意的是,事件会在你释放鼠标时被触发,而不是当你按下鼠标是触发。

     

    “开启选取”编程积木

    默认情况下,选取事件时不被开启的因为他需要一些额外的运算,要开启它,你可以使用“开启选取”编程积木:

     
    https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/d2f51ce8-0b19-440f-8660-0b580c8ac1ba.png" width="700" style="">

     

    参数

     

    鼠标按键

    你可以选择让用户使用鼠标左键或鼠标右键来选取。当你正同时使用追踪摄像头时,这个选择不应该跟摄像头的导航按钮一样,以免起冲突。举个例子,如果用户使鼠标右键来控制追踪摄像头,那他应该使用鼠标左键来选取物体。

     

    角色列表

    要指定场景中哪些角色可以被用户选取,你可以指定一个角色列表名称并用逗号来分隔它们,比如角色1,角色2。通过这样的方式,任何一个被添加在两个中任一角色的物体都可以被选取。

     

    “关闭选取”编程积木

    有时候你需要在开启选取时间之后将它关闭。你可以使用“关闭选取”编程积木:

     
    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));">

    这个编程积木只需要一个输入,也就是角色名称列表。角色的名字应该要被逗号分隔开来,比如角色1,角色2。

     

    “当被选取”编程积木

    每当用户选取一个物体时,如果这个事件编程积木被使用在拥有被选取物体的角色时,它将会被触发。

     
    https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/41cf79c0-1526-4ddf-b076-2ca877636b5c.png" width="400" style="">

     

    诠释选取事件的编程积木

    当我们选取一个物体时,我们正在把一束光线从摄像头投射到鼠标,然后再把这束光线一直延伸,直到光纤击中场景中的任一物体。这束光线和目标物体的交叉点叫做"被选取点",而目标物体被称为”被选取物体“。

     
    https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/680ef7dc-085e-4b66-bf4f-7935c4875391.png" width="700" style="">
     

    以下四个编程积木可以让你得到更多关于选取事件的信息。

     
    https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/06c336f4-4703-4675-bb24-0baa9e3b539f.png" width="800" style="">

     

    演示

     
    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;">
     

    在这个演示程序里有两个角色。

    在”角色1“里,我们添加了一个黄色的盒子,把它用作平地,然后我们允许用户选取任何在”盒子“角色里创建的物体。接着,我们广播一个信息来添加盒子。

     
    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));">

     
    在“盒子”角色中,当我们收到消息时,我们在10个随机位置添加盒子。接着,当任何一个盒子被点击时,我们首先用”被选取物体“编程积木来选择那个盒子,然乎我们设置它的上升速度,让他飞起来。

     
    https://cdncreaticodecom.b-cdn.net/scratch-gui-projects/forum/7abb227a-21c0-45f1-bb5c-e38aa5fc4233.png" width="1000" style="">
     

    动手时刻:
    https://play.creaticode.com/projects/e09563dbcf2abc29327819bd

    1 Reply Last reply
    0
    • CreatiCodeI 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
    Reply
    • Reply as topic
    Log in to reply
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes


    • Login

    • Don't have an account? Register

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • CreatiCode