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

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

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

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

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

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

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

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

چگونگی ایجاد صدا بر روی GUI

جمعه, ۲۸ خرداد ۱۳۹۵، ۰۸:۳۹ ب.ظ

gameover.blog.ir

ترجمه:sajjad3011

یک UI | Panel بسازید.اسمشو بذارید MP3Panel .
اندازشو به دلخواه تنظیم کنید.این پنلی هست که قراره دکمه ها رو روش بذارید.
چند تا دکمه از طریق UI | Button بذارید روش و یک گوشه از کانواس تون جا بدید. مثل این شکل)گوشه
پایین و سمت راست(:

اسم هاشون:

PlayButton و PauseButton و StopButton و PrevButton و NextButton

متن ها به ترتیب: Play, Pause, Stop, Prev, Next قرار بدید.


یک کامپوننت Audio Source (Script) بدید به پنل MP3Panel . برای اینکار مسیر Add Component | Audio | Audio Source رو طی کنید.حالا می تونید یک فایل موزیک بندازید روش.

یک اسکریپت سیشارپ به نام MP3PlayerScript بسازید و بدید به MP3Panel .
خط اول:

using UnityEngine.UI;
خط بعدی قبل از تعریف کلاس ، بدون سمی کالن در پایان دستور)نقطه ویرگول ;
[RequireComponent(typeof(AudioSource))]
در خط فوق گفتیم برای استفاده از اسکریپت یک کامپوننت Audio Source (Script) باید به گیم ابجکت ای
که از این اسکریپت استفاده می کنه اختصاص داده بشه.اگه اختصاص داده نشه به طور اتوماتیک/خودکار
اختصاص داده خواهد شد و قابل حذف نخواهد بود.


قبل از شروع کار چهار متغیر تعریف می کنیم:
private AudioSource audioSource;
public AudioClip[] musicList;
private int index=0;
private bool isStopByPlayer;
اولی برای ذخیره
دومی آرایه ای از نوع AudioClip برای ذخیره ی لیست فایل های موزیک.
سومی برای ذخیره ی اندیس یا شماره سلول ارایه شامل صدای در حال پخش.
آخری هم برای اینکه مشخص کنیم پلیر موزیک رو قطع کرده یا نه.

void Start () {
audioSource = GetComponent<AudioSource> ();
}
تابع بعدی برای play :
public void Play(){
audioSource.Play ();
isStopByPlayer = false;
}
تابع بعدی توقف:
public void Pause(){ audioSource.Pause (); isStopByPlayer = true; }
تابع بعدی stop :

public void Stop(){
audioSource.Stop ();
isStopByPlayer = true;
}
تابع next برای اجرای موسیقی بعدی:
public void next(){
index++;
if (index == musicList.Length)
index = 0;
audioSource.clip = musicList [index];
Play ();
}

تابع previous برای اجرای موسیقی قبلی:
public void previous(){
index--;
if (index == -1)
index = musicList.Length-1;
audioSource.clip = musicList [index];
Play ();
}
و اما تابع آپدیت:
void Update () {
if (!audioSource.isPlaying && !isStopByPlayer)      next ();
}
در تابع آپدیت گفتیم اگه موسیقی پایان یافت و توسط پلیر استاپ نشده تابع next() رو اجرا کنه.
اسکریپت رو save کنید و به یونیتی برگردید . حالا باید event ها رو اضافه کنیم.
هر 5 دکمه رو انتخاب کنید چون می خوایم همه رو با هم ویرایش کنیم.
روی + در inspector بزنید)پایین و سمت راست گوشه ی رویداد OnClick )
سپس پنل MP3Panel رو بکشید روی متغیر object .
در مرحله بعد باید به هر باتن یک رویداد متفاوت بدیم.بنابراین برای هر باتن منوی کشویی رو باز کرده و
اسکریپت MP3PlayerScript و سپس تابع مربوط رو که داخل اسکریپت تعریف کردیم نسبت بدید.
تابع Play() به دکمه PlayButton .
تابع Pause () به دکمه PauseButton
تابع Stop () به دکمه StopButton .
تابع next() به دکمه NextButton .
تابع previous () به دکمه PrevButton .
پس از این باید عمل دیگه ای انجام بدیم.ما می خوایم وقتی موزیک در حال اجراست کاربر نتونه دکمه ی
PlayButton رو بزنه.می تونیم به طور داینامیک اونو enable و disable کنیم.
برای اینکار دکمه ی PlayButton و StopButton و PauseButton رو انتخاب کرده تا بتونیم همه رو با هم
ویرایش کنیم.
در رویداد OnClick روی دکمه ی + بزنید.
PlayButton رو Drag کنید روی متغیر object .اگه سخته از لیست انتخاب کنید
در پایان،از منوی drop-down گزینه ی Button | Interactable رو انتخاب کنید.
به طور پیشفرض،یک مقدار Boolean باید false باشد و این مقدار برای PlayButton مناسب است اما نه
برای دو دکمه ی دیگر.بنابراین دکمه های StopButton و PauseButton رو انتخاب کرده و مقدار
Interactable ساخته شده برای این دو را true کنید.
مثل هر MP3 player دیگر باید در شروع صحنه دکمه ی PlayButton رو غیرفعال) Disable ( کنیم.بنابراین
پس از انتخاب آن ، تیک متغیر Interactable رو در inspector رو بردارید.
در پایان چند فایل موزیک زیبا رو به پروژه و لیست اضافه کنید

نکته: پارامتر size رو گذاشتم 4 تا چهار موزیک بتونم اضافه کنم به آرایه.
حالا می تونید پروژه رو اجرا بگیرید.

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

http://gameover.sellfile.ir/prod-403328-%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86+%DA%A9%D8%AA%D8%A7%D8%A8+%D9%81%D8%A7%D8%B1%E2%80%8B%D8%B3%DB%8C+%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C+%D9%88%D8%A7%D8%B3%D8%B7+%DA%A9%D8%A%E2%80%8B7%D8%B1%D8%A8%D8%B1%DB%8C+ui+%D8%AF%D8%B1+%DB%8C%D9%88%D9%86%DB%8C%D8%AA%DB%8C+%%E2%80%8BD8%A8%D8%B1%D8%A7%DB%8C+%D8%A7%D9%88%D9%84%DB%8C%D9%86+%D8%A8%D8%A7%D8%B1+%D8%AF%E2%80%8B%D8%B1+%D8%A7%DB%8C%D8%B1%D8%A7%D9%86.html



موافقین ۰ مخالفین ۰ ۹۵/۰۳/۲۸
مدیرکل

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

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