به نام خدا.

امروز به فکرم رسید که بعد از شروع کردن بازی سازی با یونیتی یه سری کد هایی رو که خیلی کاربرد دارن و خودم هم خیلی دنبالشون گشتم رو تو الفبا بزارم تا اگه کسی خواست بعدا استفاده کنه.برای دیدن کد ها باید به ادامه مطلب رجوع کنید. :)

ذخیره کردن امتیاز یا مرحله برای دفعات بعد.

PlayerPrefs.SetInt ("num", 1);

در بالا اگه خواستید میتونید استرینگ رو هم ست کنید و با کد getInt اونو بخونید. برای پیدا کردن یک آبجکت از روی تگ اون باید از کد زیر استفاده کرد:

GameObject.FindGameObjectWithTag("Player")

و اگر هم می خواید یه گیم آبجکتی رو از روی نامی که براش گذاشتید پیداش کنید از کد زیر:

GameObject.Find("player")

اگه می خواهید کامپوننت یه گیم آبجکتی رو بگیرید و تغییرش بدید باید کد زیر رو استفاده کنید:

GUITexture bombHUD = GameObject.Find("ui_bombHUD").GetComponent();

حالا بعد از گرفتن کامپیوننت می تونید اون رو به هرجوری خواستید تغییر بدید. ... 12/12/1394 بسم الله الرحمن الرحیم. چیز دیگه ای تا عید نمونده. خب دوباره اومدیم سراغ بازی سازی با یونیتی :)) جابه جایی روی سطح برای حرکت و جابه جا شدن در یونیتی چندین راه وجود دارد که ما به دو راه آن اشاره خواهیم کرد.

  1. جابه جایی از طریق force به Rigidbody2d
  2.  جابه جایی از طریق transform

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

public float speed = 10f;
	public Vector2 maxVelocity = new Vector2(0,5);
	// Use this for initialization
	void Update () {
		var forceX = 0f;
		var forceY = 0f;
		var absValX = Mathf.Abs (GetComponent ().velocity.x);
		if (Input.GetKey(KeyCode.RightArrow)){
			if (absValX < maxVelocity.x)
				forceX = speed;
		}
		else if (Input.GetKey(KeyCode.LeftArrow)){
			if (absValX < maxVelocity.x)
				forceX = -speed;
		}
		GetComponent().AddForce(new Vector2(forceX, forceY));
	}

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

transform.Translate(new Vector2(speed *.01f,0));