簡體   English   中英

如何判斷一個精靈是否正在接觸 Unity2D 中的另一個精靈

[英]How to tell if a sprite is touching another sprite in Unity2D

所以說我有兩個精靈。 這些精靈不會有任何 BoxCollider2D 或 RigidBody2D。

我如何能夠使用第一個精靈內部的腳本來檢測一個精靈是否正在接觸另一個精靈。

例如,我有一個球員和一面旗幟。 我希望玩家觸碰旗幟時會發生一些事情

很抱歉,如果這寫得不好或信息不足,如果您需要更多信息,請發表評論,我會回復。

你不想因為碰撞而產生物理排斥的對撞機嗎? 如果您只想檢測兩個對象是否相互進入, Triggers可能就是您要尋找的。 您將需要在兩個對象上都有一個對撞機,但可以將它們標記為isTrigger 要准確了解關閉OnTriggerEnter2D至 go 所需的內容,請查看collision action matrix

如果你真的不想和碰撞器有任何關系,你可以自己為這兩個對象實現基本的碰撞檢測。 對於兩個簡單的盒子,可以使用AABB碰撞檢測,就是取兩個盒子的角,判斷角是否重疊。

if (obj1Pos.x < obj2Pos.x + obj2.width &&
   obj1Pos.x + obj1.width > obj2Pos.x &&
   obj1Pos.y < obj2Pos.y + obj2.height &&
   obj1Pos.y + obj1.height > obj2Pos.y) {
    // collision detected!
}

如果您想了解更多關於自我實現以檢測 2D 碰撞, 這是一個很好的閱讀 隨着更復雜的幾何體,碰撞變得更高級,但我相信你只想使用觸發器。 如果您對觸發器是什么、它們如何 function 等有更多疑問。我可以回答它們,但我不確定您想如何解決問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM