(1394/9/22، 04:36 عصر)arminfk نوشته است: on start layot >> monster >>set angel
و حالا مشخصات
player x
player y
دوست عزیز این هیچ ربطی به حرکت دشمن به سمت پلیر نداره بلکه مختصات یا زاویه یک شئ را مشخص می کنه (و برای بازی هایی که در چهار جهت حرکت دارد استفاده می شود نه بازی پلتفرمی) شما برای اینکه دشمن حرکت کنه ابتدا بهش رفتار پلتفرم (platform) میدین سپس کنترول اون را در قسمت پنجره ویژگی ها به NO تغییر میدین تا کنترول اون دست شما نباشه:
سپس می تونید از رویداد های (actions) داخل اسپریت دشمن که بهش رفتار پلتفرم دادین , از گزینه های set vector X و set vector Y استفاده کنید که برای جرکت دشمن باید در محور X باشد و به سمت پلیر:
کد:
Every tick >>> Enamy.set vector X = player.x
الان در اونت بالا پلیر شما هر سمت (محور X) حرکت کند اسپریت دشمن هم به آن سمت حرکت می کند ولی قصد ما این است که دشمن به سمت ما حرکت کند پس یک - به مختصات پلیر اضافه می کنیم:
کد:
Every tick >>> Enamy.set vector X = -player.x
الان اگر پلیر شما سمت چپ باشد و دشمن سمت راست و بازی را تست کنید میبنید که دشمن به سمت پلیر حرکت می کند ولی وقتی از پلیر رد می شود باید دوباره دنبال پلیر ما بیوفتد ولی چون گفتیم - پس به راه خود ادامه میدهد برای اینکه آن را نیز درست کنیم می توانیم از روش های مختلفی استفاده کنیم.
اینم یک روش ساده:
ابتدا به دشمن خود رفتار پلتفرم داده و کنترول آن را روی No بگذارید سپس یک متغیر از نوع نوشته (text) به اسپریت دشمن اضافه کرده و مقدار آن را "Right" بگذارید:
اگر مختصات محور X پلیر (Compare X) بزرگتر از مقدار محور X دشمن بود مقدار متغیر دشمن به "left" و اگر کوچکتر بود به "Right"
تغییر کنه.
حالا تو اونت سوم گفتیم اگر مقدار متغیر برابر "left" بود دشمن برعکس ما حرکت کنه در غیر اینصورت (Else) به سمت پلیر ما.
اینم سورس