Şimdi Ara

Unity hareket

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
3 Misafir - 3 Masaüstü
5 sn
12
Cevap
0
Favori
413
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba oyun yapımında birkaç karakterim var ve bunların tek seferlik sağa sola ve ileri şeklinde dokunarak hareket ettirmek istiyorum bunu nasıl yazarım ??




    < Bu mesaj bu kişi tarafından değiştirildi Guest-7D430CD60 -- 6 Ekim 2020; 11:15:13 >



  • Eğer telefon ekranında dokunmayı algıyabilmek istiyorsan, Unity Touch kontrollerine bakabilirsin. Sonrasında eğer rigidbody componenti ekli ise örneğin ekranda dokunduğun koordinatları, Camera.ScreenToWorldPoint(dokunduğumyer.transform.position) fonksiyonu ile oyun koordinatlarına çevirip rigidbody'yi hareket ettirerek o noktaya gönderebilirsin.





  • Teşekkürler denicem..

  • Artık Touch komutları olmadan da (özel dokunma durumları hariç, mesela aynı anda çoklu dokunma vb...) mouse üzerinden yazdığınız tutup sürükleme gibi şeyleri mobilde kullanabiliyorsunuz.


    Misal: OnMouseDrag() fonksiyonuyla bir şeyi sürüklediniz, bu otomatik olarak telefonda dokunarak da işlevini sürdürmeye devam ediyor. Tocuh'a çevirmeye gerek yok.

  • Unity hareket

    Böyle bir dokunmatik kodum var ama projemdeki her karakterin içine atınca hepsi aynı anda hareket ediyolar bunların tek tek hareket ettirmek için nasıl bir kod yazmam gerekiyor yardımcı olursanız sevinirim şimdiden teşekkürler..



    < Bu mesaj bu kişi tarafından değiştirildi pokesee -- 14 Kasım 2020; 12:28:28 >
  • quote:

    Orijinalden alıntı: pokesee

    Unity hareket

    Böyle bir dokunmatik kodum var ama projemdeki her karakterin içine atınca hepsi aynı anda hareket ediyolar bunların tek tek hareket ettirmek için nasıl bir kod yazmam gerekiyor yardımcı olursanız sevinirim şimdiden teşekkürler..

    Her karaktere özel unique yani özel bir değişken belirleyip (int tipinde olabilir, ID gibi), o an o özel değişken neyse ona ait karakterde hareket fonksiyonların çalışsın. Yani IF bloğu açıp int id == ... şeklinde sorgula. Ya da daha iyisi switch-case açarak yaptır bu sorguyu. Aklıma ilk gelen bu.





  • quote:

    Orijinalden alıntı: Fulton

    Her karaktere özel unique yani özel bir değişken belirleyip (int tipinde olabilir, ID gibi), o an o özel değişken neyse ona ait karakterde hareket fonksiyonların çalışsın. Yani IF bloğu açıp int id == ... şeklinde sorgula. Ya da daha iyisi switch-case açarak yaptır bu sorguyu. Aklıma ilk gelen bu.



    Alıntıları Göster

    Kodlama ile çok fazla bilgim yok biraz daha ayrıntılı yazabilir misiniz tam olarak nereye neyi yazmalıyım ?

  • quote:

    Orijinalden alıntı: pokesee

    Kodlama ile çok fazla bilgim yok biraz daha ayrıntılı yazabilir misiniz tam olarak nereye neyi yazmalıyım ?



    Alıntıları Göster

    Ne yapmak istediğinizi detaylı yazmanız lazım, mesela tek tek hareket ettirmekten kasıt nedir? Her dokunduğunda sırayla hareket etsinler diyorsanız, bir sayaç oluşturursunuz, bunu da genel olarak boş bir objeye falan atarsınız ayrı scriptle. Karakterlerdeki bu hareket scriptinden bu objedeki scripte ve sayaca ulaşıp her dokunma işleminde o sayacı arttırırsınız. Sayacın değerini de her defasında karakterlerin mesehla child indeksine göre falan karşılaştırıp hangi karakter olduğunu ayırt ettirebilirsiniz.


    Yani buradan benim için de anlatması biraz zor, belki diğer arkadaşlar daha iyi anlatıp örnekleyebilirler.




    < Bu mesaj bu kişi tarafından değiştirildi Fulton -- 19 Kasım 2020; 18:12:6 >




  • quote:

    Orijinalden alıntı: Fulton

    Ne yapmak istediğinizi detaylı yazmanız lazım, mesela tek tek hareket ettirmekten kasıt nedir? Her dokunduğunda sırayla hareket etsinler diyorsanız, bir sayaç oluşturursunuz, bunu da genel olarak boş bir objeye falan atarsınız ayrı scriptle. Karakterlerdeki bu hareket scriptinden bu objedeki scripte ve sayaca ulaşıp her dokunma işleminde o sayacı arttırırsınız. Sayacın değerini de her defasında karakterlerin mesehla child indeksine göre falan karşılaştırıp hangi karakter olduğunu ayırt ettirebilirsiniz.


    Yani buradan benim için de anlatması biraz zor, belki diğer arkadaşlar daha iyi anlatıp örnekleyebilirler.



    Alıntıları Göster

    Yapmak istediğim basit aslında bir satranç oyunu benzeri mesela bir taşı üzerine dokunup diğer kareye geçicek sağa sola ileri hareketi sadece ve bunu mobil cihazda dokunmatik olarak yani hazır bir kod ta bulamadım benzerleri var ama tam istediğim gibi yok





  • quote:

    Orijinalden alıntı: pokesee

    Yapmak istediğim basit aslında bir satranç oyunu benzeri mesela bir taşı üzerine dokunup diğer kareye geçicek sağa sola ileri hareketi sadece ve bunu mobil cihazda dokunmatik olarak yani hazır bir kod ta bulamadım benzerleri var ama tam istediğim gibi yok



    Alıntıları Göster

    Genel olarak ekrana dokunmak değil de sadece o objeye dokunulduğunda hareket etmesi için "void OnMouseDown", "void OnMouseDrag" gibi fonksiyonlara bakabilirsiniz. Mouse yazıyor ama dokunmatikte de geçerli. Tabi bu fonksiyonlar oyun objelerinde geçerli. UI yani arayüz(Canvas) objeleri için yapacaksanız Pointer eventlarına göz atmalısınız.





  • Tamamdır teşekkürler

  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.