«یا اللهُ یا رَبِّ یا حَیُّ یا قَیّوم یا ذَالجَلالِ وَ الاکرام اَسئَلُکَ بِاسمِکَ اَلعَظیم اَلاَعظَم اَن تَرزُقَنی رِزقاً حَلالاً طَیِّباً بِرَحمَتِکَ الواسِعَه یا اَرحَمَ الرّاحِمِین.»
ساخت ui button در یونیتی 5/ایجاد دکمه و اختصاص اسکریپت برای آن/ساخت دکمه و کدنویسی :: گیم اور _ بازیسازی با unity + مطالب متفرقه

گیم اور _ بازیسازی با unity + مطالب متفرقه

آموزش های علمی با اجازه ی خدا تقدیم به هرکس خدا بخواد

آموزش های علمی با اجازه ی خدا تقدیم به هرکس خدا بخواد

به نام خدا
--
گروه قدیم ما promakers.ir یا پرومیکرز بود که بالای هزار اموزش توش ساخته بودم به اسم sajjad3011 ولی حیف ادمین سایتش عوض کرد
حالا سوالی بود کاری بود این شمارمه

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

---
سوالی بود بذارید
نظر خصوصی نذارید
پاسخش سخته
دوست داشتید شماره بذارید تو واتساپ یا ایتا یا .... گروه بزنیم.
09358077198

بایگانی
پیوندها

منبع:gameover.blog.ir

این یک کلیپ آموزشی که برای شما ساختیم:

http://www.mediafire.com/file/jdywgx70f07s3nh/mp4_ui_button_click_go_level.zip


توی یونیتی 5.1 در hierarchy راست کلیک کن و create->ui->canvas رو بزن تا یک مستطیل ایجاد بشه. جابجاشم کنی فرقی نداره به جای صفحه ی اصلی موبایل جاساز میشه.

حالا می تونی button رو به همون طریق ایجاد کنی و بذاری روش: create->ui->button
بعدش تکستچر دکمه رو توی inspector عوض کن . خصوصیت شناور بودن هم می تونی تنظیم کنی (چپ چین و راست چین و ....)
اگه می خوای واسه کلیکش هم کد بنویسی ابتدا انتخابش کن بعدش توی inspector یک دکمه ی + مثبت هست اونو بزن یک فیلد اضافه میشه. گیم ابجکتی که می خوای رو بکش بنداز روش.
حالا می تونی تابع دلخواهی که داخل اسکریپت های اون گیم ابجکت وجود داره رو از لیست انتخاب کنی برای اجرا.
اینم ببینید:
http://answers.unity3d.com/questions/922045/unity-5-ui-button-onclick.html

+

http://answers.unity3d.com/questions/942622/how-do-you-call-a-function-with-a-button-unity-5-u.html




چند نکته :(زبان سیشارپ)

* برای کد نویسی هم می تونید public Button رو تعریف کنید و دکمه ها رو بکشید بندازید روشون.

* ضمنا باید فاضی نام using UnityEngine.UI رو هم در قسمت بالایی بیارید.

* کد نویسی هم توی تابع Start() باید باشه.

مثال :

یک دکمه برای خروج بسازید و اسکریپت زیر رو بدید به یک گیم ابجکت (مثال canvas) سپس دکمه رو بکشید بندازید روی متغیر btnExit :
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class Move : MonoBehaviour {
	public Button btnExit;

	void Start ()
	{

		btnExit.onClick.AddListener(()=>{
			Application.Quit();

		});

}


نکته:
کامپوننت event system هم اگه نیاز شد باید اختصاص بدید بهش(با زدن دکمه Add component و تایپ event system و انتخاب از لیست)
برای کدنویسی رویداد ها(مثل نگه داشتن کلیک یا .....) باید اسکریپتی بنویسید که یک تابع از نوع public void مثلا داشته باشه.

 سپس یک Event Trigger component به دکمه اضافه کنیم (با زدن دکمه ی component در inspector بعد از انتخاب دکمه در hierarchy)، و add new event type رو می زنیم و نوع رویدادی که می خوایم کد رو اختصاص بدیم بهش از لیست انتخاب می کنیم مثل pointerClick ، مثل Drag یا غیره.

مثلا ما Drag رو انتخاب می کنیم.

 بعدش روی + می زنیم و دکمه رو می کشیم روی None(object) تا معرفی کنیم می خوایم از اسکریپت اختصاص داده بهش استفاده کنیم.



سپس از لیست no function ابتدا اسکریپتی که ساخته بودیم رو پیدا و از زیرشاخش تابعی که به صورت void public توی اسکریپت خودمون تعریف کرده بودیم انتخاب می کنیم(یادتون نره حتما نوع تابع باید از نوع public باشه ویلا توی لیست نمیاد)

http://s6.picofile.com/file/8219224792/ui_trigger_eventj.jpg
-
مثلا می تونید رویداد drag رو انتخاب کنید و یک اسکریپت برای حرکت بسازید و بهش اختصاص بدید:
using UnityEngine;
using System.Collections;

public class test : MonoBehaviour {

	// Use this for initialization
public void move(){
		transform.position = Input.mousePosition;
	}
}


سوالی بود بپرسید.
موافقین ۰ مخالفین ۰ ۹۴/۰۸/۰۲
مدیرکل

نظرات (۱۵)

پاسخ:
سلام عزیزم.سپاس از شما.یدا... ایدیکم و من ا... توفیق..
سلام ببخشید برای پخش صدای بعد ار زدن یک دکمه در UI جدید یونیتی باید چه اسکریپتی بنویسم؟
میشه راهنمایی کنید؟
سلام خسته نباشید
برای فشردن و نگه داشتن دکمه ui باید از کدام رویداد استفاده کرد ؟
من می خوام با فشردن دکمه ، ابجک به جهت مورد نظر حرکت کند
اینم کد حرکت
transform.position += Vector3.up * speed * Time.deltaTime;

ممنون
پاسخ:
سلام.

Returns true while the user holds down the key identified by name. Think auto fire.

Input.GetKeyDown

Returns true during the frame the user starts pressing down the key identified by name.

Input.GetKeyUp

Returns true during the frame the user releases the key identified by name.

سلام استاد ، چرا من اسکریپت بالایی رو که برای خروج نوشتین رو وارد میکنم ارور میده و میگه که اسکریپت اشتباه داره ، حتی کپی اش کردم ولی بازهم ارور میده ، لطفا یه راهنمایی بفرمایید ، ارور هم اون دوتا پرانتز آخری رو نشون میده ،

پاسخ:
فقط کپی کد ملاک نیست. متغیرهایی که public تعریف شده در inspector ظاهر میشه. شما باید ui button خودتون رو drag کنید روی متغیر مربوط در inspector:
	public Button btnExit;


سوال بود بیا تو گروه تلگرام که بالای وبلاگ لینک رو گذاشتیم.
با سلام به استاد گرامی واقعا دستتون دردنکنه خیلی کمک کردین 
من میخوام بازیرو برای اندروید درست کنم خیلی قسمتاشودرست کردم ولی نمیتونم کلید مجازی و اسکریپتشودرست کنم اصلا اسکریپتشو نمیدونم خواهش میکنم کمکم کنید
پاسخ:
سلام. این رو بخونید:
http://afradstudio.ir/2016/07/24/254/
اقا سلام
خواهش میکنم بهم بگید چجوری برای اندروید بایونیتی منو بسازم اطفا بگید تگر تونستید به ایمیلم بفرستید برادر خیلی واجبه هاهاا
پاسخ:
سلام
لطفا در کانال تلگرام @gameoverblog عضو بشید تا از مطالبی که در این باب و مطالب مفید دیگر هست استفاده کنید.

همچنین توصیه می کنیم برای حمایت از ما این کتاب بسیار مفید رو  تهیه بفرمایید.

بهترین کتاب فارسی ترجمه شده برای یو آی در یونیتی با قیمت بسیار ارزان

https://zarinp.al/23261

کتاب عالی فارسی ساخت انواع منو و سیستم خون و رادار و یوزر اینترفیس در یونیتی با قیمت عالی





سلام
ممنون از مطالب مفیدتون
اگه بخوایم کاربر حتما یه دکمه بزنه تا مابقی دستورات اجرا بشن چه کدی باید نوشته بشه؟
و تا کاربر دکمه درست رو نزنه پیغام بده دکمه مناسب را وارد کنید!
سلام 
کدی وجود داره که با کلیک رو Button رنگ object  تغیر کنه 
اگر هست لطفا کد و ارسال کنید ممنون
سلام.
یه متغیر داریم که نوعشو نمیدونیم ولی یکی از حالت های button , toggle , dropdown هستش. میخواییم وقتی کاربر یکی از این حالت ها رو انتخاب کرد بسته به انتخاب کاربر کامپوننت رو از gameobject مربوطه فراخوانی کنیم.
چطور میشه این کارو انجام داد.. مرسی
پاسخ:
سلام بیاید توی کانال عضو بشید اونجا گروه پرسش پاسخ یونیتی مون رو معرفی می کنیم:
@gameoverblog1
سلام 
ایا میشه به وسیله کلیک رو Button یک انمیشین پخش بشه 
اگر هست ممنون میشم توضیح بدید
سلام من کدی میخوام که وقتی روی باتن کلید شد یک پنل رو باز کن داخل همون صفحه ممنون میشم کمکم کنید 
پاسخ:
سلام.
بیاید تو کانال تلگرام ما و بعد وارد گروه بشید:
@gameoverblog
سلام خواهشا همین جا بگید خیلی لنگم
سلام ببخشید من یک بازی 2D ساختم که با ریجید بادی و شتاب حرکت میکنه و یه متغیر ریجید بادی به نام پلیر ریجید بادی تعریف کردم و کامپوننت ریجید بادی پلیرمو بهش نسبت دادم:
 float move = Input.GetAxis("Horizontal");
playerRigidbody.velocity = new Vector2(move * moveSpeed, playerRigidbody.velocity.y);
moveSpeed یه مقدار اعشاریه.
حالا اگه من بخوام دوتا دکمه طراحی کنم که باهاش این شتاب صورت بگیره باید چیکار کنم؟ 
با تشکر
پاسخ:
سلام
http://opizo.com/2ysjBX


سلام  من میخوام برای بازیم یک دکمه تعین کنم ک پلیر بتونه باهاش شلیک کنه بازیمم 3D  هستش ممنون میشم اگر راهنمایی کنید 
پاسخ:
بیا گروه تلگرام توی کانال @gameoverblog می گیم.

برای کلیک از این الهام بگیر:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class Move : MonoBehaviour {

 public Button btn1;

 void Start () {
 btn1.onClick.AddListener(TaskOnClick);
}

void TaskOnClick(){
  Application.Quit();
}

}



سلام من میخوام وقتی دکمه رو زدم آبجکت بچرخه تا وقتی که باتن رو ول کنم این کار رو چطور انجام بدم؟

ممنون میشم راهنمایی کنید.

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی