|
Unity Ses Oynatma Sorunu.





-
-
Yürüme vektörünün magnitude ile bence yapabilirsin,
mesela if magnitude > 0:
play.sound
else:
dontplay.sound -
GetKey değil GetKeyDown dene
< Bu ileti mobil sürüm kullanılarak atıldı > -
Denemeye gerek bile yok kardeşim Getkeydown da tuşa basıldığında 1 kez çalıştırıyor. yani bunu kullanırsam düzgün bir yürüme elde edemem. -
if (!GetComponent<AudioSource>().isPlaying && Input.GetKeyDown(KeyCode.A))
{
GetComponent<AudioSource>().PlayOneShot(sesler[1]);
}
else
{
GetComponent<AudioSource>().Stop();
}
böyle denedim ama olmadı magnitude ne için kullanılıyor ve yazdığın dil hangisi ben sadece C# biliyorum. -
1.YÖNTEM:
if (!GetComponent<AudioSource>().isPlaying && Input.GetKeyDown(KeyCode.A))
{
GetComponent<AudioSource>().PlayOneShot(sesler[1]);
}
if (GetComponent<AudioSource>().isPlaying && Input.GetKeyUp(KeyCode.A))
{
GetComponent<AudioSource>().Stop();
}
2.YÖNTEM:
if (!GetComponent<AudioSource>().isPlaying && Input.GetKey(KeyCode.A))
{
GetComponent<AudioSource>().PlayOneShot(sesler[1]);
}
else if(GetComponent<AudioSource>().isPlaying && !Input.GetKey(KeyCode.A))
{
GetComponent<AudioSource>().Stop();
}
< Bu mesaj bu kişi tarafından değiştirildi Progressive288 -- 16 Temmuz 2018; 12:6:10 > -
Kardeşim ikisinide denedim ama hala devam ediyor. Acaba ses dosyasının uzunluğundan kaynaklı bir problem olabilirmi? -
İkiside çalışıyor, ben bizzat denedim. Birden fazla ses oynatıyorsan sorun o olabilir. Birden fazla yapıp yapmadığını kontrol et.
< Bu mesaj bu kişi tarafından değiştirildi Progressive288 -- 16 Temmuz 2018; 17:10:57 > -
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class OHareket : MonoBehaviour {
public GameObject oyuncu, gm;
public int hiz = 5, yhiz = 200;
public bool yerde, dead, sagS, solS;
public Rigidbody2D rb;
public AudioClip[] sesler;
public AudioSource audioSource;
// Use this for initialization
void Start () {
rb = GetComponent<Rigidbody2D>();
dead = gm.GetComponent<GameManager>().dead;
audioSource = GetComponent<AudioSource>();
}
// Update is called once per frame
void Update () {
if (Input.GetKey(KeyCode.A))
{
oyuncu.transform.Translate(new Vector3(-hiz * Time.deltaTime, 0 ,0));
oyuncu.transform.localScale = new Vector3(1,1,1);
if (audioSource.isPlaying == false && Input.GetKey(KeyCode.A))
{
audioSource.PlayOneShot(sesler[1]);
sagS = true;
}
else
{
sagS = false;
}
if (sagS==false)
{
audioSource.Stop();
Debug.Log("A");
}
}
if (Input.GetKey(KeyCode.D))
{
oyuncu.transform.Translate(new Vector3(hiz * Time.deltaTime, 0, 0));
oyuncu.transform.localScale = new Vector3(-1, 1, 1);
if (audioSource.isPlaying == false && Input.GetKey(KeyCode.D))
{
audioSource.PlayOneShot(sesler[1]);
Debug.Log("1D");
}
else if (audioSource.isPlaying == true && Input.GetKeyUp(KeyCode.D))
{
audioSource.Stop();
Debug.Log("D");
}
}
if(Input.GetKeyDown(KeyCode.W) && yerde && !dead)
{
rb.AddForceAtPosition(new Vector2(0, yhiz), Vector2.up);
yerde = false;
audioSource.PlayOneShot(sesler[0]);
}
}
private void OnCollisionEnter2D(Collision2D col)
{
if (col.gameObject.tag == "Yer")
{
yerde = true;
}
}
}
kodun tamamı bu kardeşim. bir hata almıyorum calışıyor ama ses hala aynı. senin dediğinide denedim bu kodda olmadı? galiba bende bi sıkıntı var yanlış yere yazıyorum. acaba if in içinemi yazmalıyım yoksa dışına mı ? (Bu kodu sadece mantığını anlaman için yazdım kardeşim yoksa orjinali bu değildi forumlarda önerilenleri deniyorum farklı farklı)
< Bu mesaj bu kişi tarafından değiştirildi egmtncakgn -- 16 Temmuz 2018; 17:29:4 >
-
Karakterin hizi ile cozebilirsin.
Hiz 0 ise sesi kessin demen yeterli olacaktir.
< Bu ileti mobil sürüm kullanılarak atıldı > -
Kardeşim farkettimde acemisin galiba, bende ilk başladığımda senin gibi böyle hatalar yapıyordum :D
HATALI KOD:
if (Input.GetKey(KeyCode.A))
{
oyuncu.transform.Translate(new Vector3(-hiz * Time.deltaTime, 0 ,0));
oyuncu.transform.localScale = new Vector3(1,1,1);
if (audioSource.isPlaying == false && Input.GetKey(KeyCode.A))
{
audioSource.PlayOneShot(sesler[1]);
sagS = true;
}
else
/// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< Neyin else'i bu? sagS false olmaz çünkü A'ya hala basıyorsun bu yüzden 2. if parantezindeki A'ya basıyoru silmelisin.
{
sagS = false;
}
if (sagS==false)
{
audioSource.Stop();
Debug.Log("A");
}
}
DOĞRU KOD:
if (Input.GetKey(KeyCode.A)) // A'ya basınca
{
oyuncu.transform.Translate(new Vector3(-hiz * Time.deltaTime, 0 ,0));
oyuncu.transform.localScale = new Vector3(1,1,1);
if (audioSource.isPlaying == false )
{
audioSource.PlayOneShot(sesler[1]);
if(sagS != true)
{
sagS = true;
}
}
}
else // A'ya basmayınca
{
if (sagS != false)
{
sagS = false;
}
if(audioSource.isPlaying)
{
audioSource.Stop();
}
Debug.Log("A");
}
< Bu mesaj bu kişi tarafından değiştirildi Progressive288 -- 17 Temmuz 2018; 13:35:8 >
-
merhabalar
bendede ses sorunu var.effect leri calmaya calıstıgımda ugultu sesi gelıyor arkaplanda ruzgar sesi ve dier efektler duyuluyor.audio source olarak 1-fly camera digeride benım audıomamagerde var gozukuyor.Fakat gaia nın ruzgar sesi yagmur vs sesini veren audiosource ve malbers anımatıon nun audiosource ni bulamadım arka pland a atın kısnemesı duyuluyor.onları durdurbılsem calısacak benım efektler sanırım.
script
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
using UnityEngine.UI;
using UnityEngine.Audio;
using UnityEngine.UIElements;
public class Audio_player1 : MonoBehaviour
{
public GameObject Player;
public GameObject Rabbit;
public GameObject Dear;
public GameObject Bear;
public GameObject Boar;
public GameObject Wolf;
public GameObject Duck;
public GameObject Ibex;
public GameObject Orc_Ursag;
public AudioSource AudioSource;
[SerializeField]
private AudioClip firstAudioClip;
[SerializeField]
private AudioClip secondAudioClip;
[SerializeField]
private AudioClip thirdAudioClip;
[SerializeField]
private AudioClip forthAudioClip;
[SerializeField]
private AudioClip fifthAudioClip;
[SerializeField]
private AudioClip sixthAudioClip;
[SerializeField]
private AudioClip seventhAudioClip;
[SerializeField]
private AudioClip eighthAudioClip;
[SerializeField]
private AudioClip ninethAudioClip;
[SerializeField]
private AudioClip tenthAudioClip;
[SerializeField]
private AudioClip eleventhAudioClip;
[SerializeField]
private AudioClip twelwethAudioClip;
[SerializeField]
private AudioClip thireenthAudioClip;
[SerializeField]
public AudioSource audioSource;
[SerializeField]
AudioListener audioListener;
public AudioClip[] clips;
[SerializeField] public AudioSource FlyCam;
void Start()
{
//audioSource = this.GetComponent<AudioSource>();
//GetComponent<AudioSource>().Stop();
GetComponent<AudioSource>();
audioSource.volume = 0.45f;
AudioSource.loop = true;
}
void Update()
{
if (AttackRange1.audi == 1)
{
FlyCam.Stop();
audioSource = GetComponent<AudioSource>();
audioSource.clip = firstAudioClip;
audioSource.Play();
}
if (AttackRange1.audi == 2)
{
audioSource = GetComponent<AudioSource>();
audioSource.clip = secondAudioClip;
}
if (Attack_dear.dr == 1)
{
audioSource = GetComponent<AudioSource>();
audioSource.clip = thirdAudioClip;
}
if (Attack_dear.dr == 2)
{
audioSource = GetComponent<AudioSource>();
audioSource.clip = forthAudioClip;
}
if (Attack_boar.br == 1)
{
audioSource = GetComponent<AudioSource>();
audioSource.clip = fifthAudioClip;
}
if (Attack_boar.br == 2)
{
audioSource = GetComponent<AudioSource>();
audioSource.clip = sixthAudioClip;
}
if (Attack_wolf.vlf == 1)
{
audioSource = GetComponent<AudioSource>();
audioSource.clip = seventhAudioClip;
}
if (Attack_wolf.vlf == 2)
{
audioSource = GetComponent<AudioSource>();
audioSource.clip = eighthAudioClip;
}
if (Rabbit_attack.rbt == 1)
{
audioSource = GetComponent<AudioSource>();
audioSource.clip = ninethAudioClip;
}
if (Attack_duck.dck == 1)
{
//AudioSource.clip = tenthAudioClip;
//audioSource.Play();
audioSource = GetComponent<AudioSource>();
audioSource.clip = tenthAudioClip;
}
if (Attack_duck.dck == 2)
{
audioSource = GetComponent<AudioSource>();
audioSource.clip = eleventhAudioClip;
}
if (Atack_Orc.dr == 1)
{
audioSource = GetComponent<AudioSource>();
audioSource.clip = twelwethAudioClip;
}
if (Atack_Orc.dr == 2)
{
audioSource = GetComponent<AudioSource>();
audioSource.clip = thireenthAudioClip;
}
audioSource = GetComponent<AudioSource>();
audioSource.Play();
//audioSource.PlayOneShot(audioSource.clip);
//audioSource.PlayOneShot(audioSource.clip, Vector3.one);
if (audioSource.isPlaying)
{
Debug.Log("Audio is playing");
}
//if (((Player.activeInHierarchy) && (Healt_player1.pq == 0)) || ((Bear.activeInHierarchy) && (AttackRange1.ar == 0)) || ((Dear.activeInHierarchy) && (Attack_dear.ar == 0)) || ((Boar.activeInHierarchy) && (Attack_boar.ar == 0))
//|| ((Wolf.activeInHierarchy) && (Attack_wolf.ar == 0)) || ((Rabbit.activeInHierarchy) && (Rabbit_attack.ar == 0)) || ((Ibex.activeInHierarchy) && (Ibex_attack.ar == 0)) || ((Duck.activeInHierarchy) && (Attack_duck.ar == 0)) || ((Orc_Ursag.activeInHierarchy) && (Atack_Orc.ar == 0)))
//{
//audioSource.Stop();
//audioSource.enabled = false;
//}
}
}
play edildiginde Debug.Log("Audio is playing");i goruyorum,audio source de clıp degisiyor,volume calısıyor,loop tıkl ıoluyor gelgelelim ugultu ve arkaplan seslerını duyuyorum sadece playı sonlandırırken play e bastıgımda effeckt gelıyor.cıkamadım ıcınden.yardım lutfen.
tsklr sımdıden
slmr
-
tekrar merhabascript i revize ettim.Fakat degişen birsey olmadı.İsin garibi inpector penceresinde AudioSource nun logaritmicRollof una tıkladıgımda gayet guzel calısıyor.anlayamadım.Birde void Start() ı void Aweke() olarak degiştirip deneyecegim.Yardımlarınıza sımdıden tesekkurler.
slmr
using UnityEngine;
public class Audio_player1 : MonoBehaviour
{
public GameObject Player;
public GameObject Rabbit;
public GameObject Dear;
public GameObject Bear;
public GameObject Boar;
public GameObject Wolf;
public GameObject Duck;
public GameObject Ibex;
public GameObject Orc_Ursag;
[SerializeField]
public AudioSource AudioSource;
[SerializeField]
private AudioClip firstAudioClip;
[SerializeField]
private AudioClip secondAudioClip;
[SerializeField]
private AudioClip thirdAudioClip;
[SerializeField]
private AudioClip forthAudioClip;
[SerializeField]
private AudioClip fifthAudioClip;
[SerializeField]
private AudioClip sixthAudioClip;
[SerializeField]
private AudioClip seventhAudioClip;
[SerializeField]
private AudioClip eighthAudioClip;
[SerializeField]
private AudioClip ninethAudioClip;
[SerializeField]
private AudioClip tenthAudioClip;
[SerializeField]
private AudioClip eleventhAudioClip;
[SerializeField]
private AudioClip twelwethAudioClip;
[SerializeField]
private AudioClip thireenthAudioClip;
void Start()
{
//audioSource = this.GetComponent<AudioSource>();
//GetComponent<AudioSource>().Stop();
//GetComponent<AudioSource>();
//audioSource.volume = 0.45f;
//AudioSource.loop = true;
}
void Update()
{
if (AttackRange1.audi == 1)
{
AudioSource.clip = firstAudioClip;
}
if (AttackRange1.audi == 2)
{
AudioSource.clip = secondAudioClip;
}
if (Attack_dear.dr == 1)
{
AudioSource.clip = thirdAudioClip;
}
if (Attack_dear.dr == 2)
{
AudioSource.clip = forthAudioClip;
}
if (Attack_boar.br == 1)
{
AudioSource.clip = fifthAudioClip;
}
if (Attack_boar.br == 2)
{
AudioSource.clip = sixthAudioClip;
}
if (Attack_wolf.vlf == 1)
{
AudioSource.clip = seventhAudioClip;
}
if (Attack_wolf.vlf == 2)
{
AudioSource.clip = eighthAudioClip;
}
if (Rabbit_attack.rbt == 1)
{
AudioSource.clip = ninethAudioClip;
}
if (Attack_duck.dck == 1)
{
AudioSource.clip = tenthAudioClip;
}
if (Attack_duck.dck == 2)
{
//audioSource = GetComponent<AudioSource>();
AudioSource.clip = eleventhAudioClip;
}
if (Atack_Orc.dr == 1)
{
//audioSource = GetComponent<AudioSource>();
AudioSource.clip = twelwethAudioClip;
}
if (Atack_Orc.dr == 2)
{
//audioSource = GetComponent<AudioSource>();
AudioSource.clip = thireenthAudioClip;
}
GetComponent<AudioSource>();
AudioSource.volume = 0.45f;
AudioSource.loop = true;
AudioSource.Play();
//AudioSource.PlayOneShot(audioSource.clip);
//
if (AudioSource.isPlaying)
{
Debug.Log("Audio is playing");
}
// oyuncular oldugunde efect kesıliyor sorungıderilenekadar bu bolumu ıptal ettım
//if (((Player.activeInHierarchy) && (Healt_player1.pq == 0)) || ((Bear.activeInHierarchy) && (AttackRange1.ar == 0)) || ((Dear.activeInHierarchy) && (Attack_dear.ar == 0)) || ((Boar.activeInHierarchy) && (Attack_boar.ar == 0))
//|| ((Wolf.activeInHierarchy) && (Attack_wolf.ar == 0)) || ((Rabbit.activeInHierarchy) && (Rabbit_attack.ar == 0)) || ((Ibex.activeInHierarchy) && (Ibex_attack.ar == 0)) || ((Duck.activeInHierarchy) && (Attack_duck.ar == 0)) || ((Orc_Ursag.activeInHierarchy) && (Atack_Orc.ar == 0)))
//{
//audioSource.Stop();
//audioSource.enabled = false;
//}
}
}
Bu mesaj IP'si ile atılan mesajları ara Bu kullanıcının son IP'si ile atılan mesajları ara Bu mesaj IP'si ile kullanıcı ara Bu kullanıcının son IP'si ile kullanıcı ara
KAPAT X