Navigation

    CreatiCode Scratch Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • CreatiCode

    用距离检查物体之间的碰撞

    三维积木
    1
    1
    190
    Loading More Posts
    • 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
      CreatiCode TA 2 last edited by admin

       

      预备知识

      • 三维物体的速度
      • 名称和角色物体

       

      介绍

      我们经常需要检查两个物体是不是正在触碰彼此。举个例子,如果一个角色碰到了盒子,我们可以让角色坐在盒子上。

       

       

      检查两个物体是否正在触碰彼此的最简单方法就是检查他们之间的距离。

       

      利用X和Y位置来计算距离

      当两个物体都在平地上时,我们只需要使用X和Y位置来检查它们之间的距离:

       

       

      举个例子,角色和盒子之间的直线二维距离被展示在下图中:

       

       

      演示程序

      在这个程序例子中,我们把一个盒子放在Y=100的位置。

       

       
      接着,每次我们点击”w“键时,我们都把角色向前移一下:

       

       

      动手时刻:

      https://play.creaticode.com/projects/836c92f886f791086cf57b1c

       

      使用三维距离

      有时候,二维距离并不足够准确。举个例子,假设一个物体漂浮在空中,而角色处于物体下方。两者之间的二位距离很接近0,但是他们并没有接触到彼此。要把垂直的距离纳入考量,我们需要计算三维距离:

       

       

      演示程序

      在这个程序例子中,我们把一个盒子放在Z=140的位置,然后我们把角色移到她和盒子之间的三维距离少过110的位置。

       

       


       

      动手时刻:

      https://play.creaticode.com/projects/32f4e2bffc79c532fbeba129

      1 Reply Last reply Reply Quote 0
      • Pinned by  info-creaticode info-creaticode 
      • First post
        Last post