30 Mart 2016 Çarşamba

Ses Açıp Kapama olayı nasıl yapılır ?

 Ses açıp kapama


Bu dersimize sizlere Unity3D Engine oyun moturuyla bir sahnedeki ses kapatıp açma olayınadan bahsedeceğiz , sadece bununla kalmayıp butonlarımız resimlerini sesin açık veya kapalı olmasına göre değiştireceğiz.


 

Kodlamammıza geçmeden önce bu admları gerçekleştirelim

 Hierarchy Panelimize sağ tıklayıp Create Empty diyip boş bir GameObject oluşturuyoruz ve GameObjectimize tıklıyoruz.


Tıklama işlemini gerçekleştirdikten sonra Inspector Paneline gelip Add Component diyip bir Audio Source oluşturalim akabinde AudioClip sekmesine projemize eklemiş olduğumuz ses dosyasını cağırıyoruz ses dosyamız uzantısı mp3 olması tercih edilebilir bir yoldur.



Şimdi kodlarımıza geçmenin vakti geldi.


Algoritması

  1. Image Componentini cağırmak lazım resimleri kullanmak için.
  2. AudioSource Componentini çağırmak lazım ses dosyası için.
  3. iki adet Sprite almak için Sprite Componentini çağrıyoruz.
  4. Sesin kontrol etmek için boolean değişkeni atadık.
  5. SesControl adında bir fonksiyon oluşturup buttondan cağırıyoruz.
  6. AudioSource'un  mute özelliğini True False yaparak sesi kontrol ediyoruz.
------------------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class Sound : MonoBehaviour {

    Image _image;    
    public AudioSource audio;

    [Header("ResimAcKapa")]
    public Sprite OnSprite; 
    public Sprite OffSprite; 

    bool ses = true;

    void Start() {
        
        _image = GetComponent<Image>();
        audio = GetComponent<AudioSource>();
    }

    void Update() {
        
    if (ses == false) {
            audio.mute = true;
    }
    if(ses == true){
        audio.mute = false;
    }

}

    public void SesControl(){
        
        if (audio.mute) {
            ses = true;
            _image.sprite = OnSprite;
        } 
        else {
            _image.sprite = OffSprite;
            ses = false;
        }
    }
}


Gani BASABAK

3 yorum:

  1. Bu yorum yazar tarafından silindi.

    YanıtlaSil
  2. Burada public void SesKontrol() fonksiyonu butonun onclick özelliğine mi atanacak?

    YanıtlaSil
  3. Adı gani olan birini görmek mutlu etti 🤩 yıllardır kaybettiğim adaşımı buldum, hem de yazılımcı 😃 yazı faydalı oldu teşekkürler

    YanıtlaSil