簡體   English   中英

當一組中至少有一個射彈擊中目標時,如何每組只調用一次函數?

[英]When at least one projectile out of a group hits the target, how to call a function only once per group?

當霰彈槍發射一組彈丸時,假設有 1 或 20 顆彈丸擊中目標:如何每次准確射擊只調用一次函數,而不是每次彈丸碰撞調用一次?

當對射彈或目標本身使用 OnCollisionEnter 時,該方法會為每個單獨的彈丸碰撞調用。

我應該為這個問題使用一個事件嗎? 我該怎么做?

編輯:啊,一旦我想通了,我就忘記編輯了。 我想有些人可能誤解了我的問題。

OnCollisionEnter找到ContactPoint.points

現在您可以在此處使用您的准確度計算並找出哪一個是完美的。

如果完美,則調用函數 else not。

如果有人偶然發現這一點,我的做法是為武器的每次射擊生成一個唯一的 ID,並將其分配給該射擊中的每個射彈。 然后任何擊中目標的射彈都會檢查該唯一 ID 是否已調用該方法。 所以這樣當你發射 1 發有 20 個射彈的子彈時,每個射中目標的射彈都會對目標造成傷害,但無論擊中多少射彈都只會將其擊退一次。

暫無
暫無

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

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