تبلیغات
تبلیغات
تبلیغات
تبلیغات

مشکل گرفتن فاصله بین دو آبجکت
(1 مشاهده) (1) مهمان
  • صفحه:
  • 1

موضوع: مشکل گرفتن فاصله بین دو آبجکت

مشکل گرفتن فاصله بین دو آبجکت 5 ماه, 1 هفته پیش #128675

  • Night Sky
  • آفلاین
  • کاربر تازه وارد
  • ارسال: 58
  • دریافت تشكر: 38
  • 
سلام دوستان، من یه اسپرایت دایره ساختم که با برخورد به آبجکت تیر scale پلیر بزرگتر میشه
	void OnTriggerEnter2D(Collider2D col){
		transform.localScale += new Vector3 (0.01f,0.01f,0.01f);
	}


برای گرفتن فاصله بین پلیر و تیر هم از کدی که به تیر دادم با دستور vector.distance فاصله رو میگیرم

اما مشکلی که هست هر چی بیشتر پلیر بزرگ میشه (local scale) فاصله بین پلیر و تیر هم مثله سابق حساب میشه!

یعنی تا همونقدر نزدیک نشه مثله وقتی که کوچیکه پلیر دستور انجام نمیشه و تیر میره کمی داخل پلیر و بعد انجام میشه
درحالی که قبل بزرگ شدن از فاصله ای که دادم دستور انجام میشه.

پوزیشن پلیر هم توی آپدیت هم گذاشتم تا همیشه چک بشه پوزیشنش اما فرقی نکرد..


مشکل از کجای کارمه؟:

	public Transform player;
	public float spd = 7f;

	void Start () {
		player = GameObject.FindGameObjectWithTag ("Player").transform;
	}

	void Update () {
		float dis = Vector2.Distance (transform.position,player.position);

		if (dis < 3f)
			print("ok");
	}

پاسخ: مشکل گرفتن فاصله بین دو آبجکت 5 ماه, 1 هفته پیش #128676

  • aya
  • آفلاین
  • كاربر فعال
  • ارسال: 679
  • دریافت تشكر: 576
سلام،

دلیلش اینه که مرکز پلیر برای ترانسفورم انتخاب میسه و به اسکیل اصلا ارتباطی نداره

میتونی به پلیر کلایدر بدی از وسط کولایدر کهفاصله دو نقطه تقسیم بر دو هست تا مکان مورد نظر بدست بیاری

درضمن کولایدر هم با اسکیل پلیر حتما باید اسکیل بشه
پروردگارا! قطعا من به هرچه از خیر از تو به من رسد نیازمندم
كاربران زیر تشكر كردند: Night Sky
  • صفحه:
  • 1
زمان ایجاد صفحه: 0.11 ثانیه

جدیدترین آثار ارسالی در گالری

تبلیغات
تبلیغات

جدیدترین ارسالهای تالارگفتگو