بررسی تشخیص ورود پلیر به محدوده دشمن در یونیتی_خروج از یک محدوده در یونیتی
منبع:gameover.blog.ir
دشمن: برای بررسی ورود پلیر به محدود دشمن راه های زیادی هست مثل بررسی فاصله با استفاده از تابع Vector2.Distance(a,b) برای دو بعدی و Vector3.Distance برای سه بعدی و .... .
اما روش دیگه استفاده از OnTriggerEnter برای بررسی ورود به محدوده ی ما و همچنین استفاده ازOnTriggerExit(Collider) برای بررسی خروج از ناحیه و انجام عمل دلخواه می باشد.
حالا می تونیم در Inspector به پلیر تگ بدیم (مثل player) و بعد توی کد بگیم به دشمن اگه کسی با تگ player به محدودت وارد شد آتیش بزن یا کار دلخواه رو انجام بده و وقتی از محدودمون خارج شد فلان کار رو انجام بده.
نکته: دقت کنید در حالت دو بعدی از تابع 2d باید استفاده کنید حتما و در حالت سه بعدی هم از تابع سه بعدی.
مثال حالت دو بعدی:
حمله بعد از تشخیص ورود پلیر به محدوده دشمن در حالت دو بعدی:
void OnTriggerEnter2D(Collider2D other) { if (other.tag = "player") { //attack } }
عکس العمل بعد از خروج پلیر از محدوده ی دشمن (دو بعدی):
void OnTriggerExit2D(Collider2D other) { if (other.tag = "player") { //go to idle status } }