Hey merhaba ziyaretçi bize destek olmak ister misin ? Hemen Kayıt Ol Seni hiç sıkmadan kayıt edeceğiz endişelenmek bize destek olduğun için teşekkürler.



  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Küp Movement Yardım
#1
merhaba, bir küp yapmaya çalışıyorum sadece yukarı ve aşağıya doğru yuvarlanarak hareket edecek. yapmak istediğim kullanıcı oyuna girdiğinde küp ekranın altında olacak ve hareketsiz duracak ama ekrana dokunduğu saniye küp yukarıya doğru yuvarlanarak gitmeye başlicak taki tekrar ekrana dokunduğunda bu sefer yukarı değil yön değiştirip aşağıya doğru inmeye başlicak. kısaca her dokunuşta yön değiştirerek (yukarı veya aşağı) durmaksızın yol alcak. şu ana kadar elimdeki kod bu ve bu kodta sadece klavye tuşlarıyla yapılıyor onda da her zaman basman gerekiyor hareket etmesi için;

Kod:
using UnityEngine;
using System.Collections;
public class Cube : MonoBehaviour
{
   public float tumblingDuration = 0.2f;
   void Update()
   {
       var dir = Vector3.zero;
       if (Input.GetKey(KeyCode.UpArrow))
           dir = Vector3.forward;
       if (Input.GetKey(KeyCode.DownArrow))
           dir = Vector3.back;
       if (Input.GetKey(KeyCode.LeftArrow))
           dir = Vector3.left;
       if (Input.GetKey(KeyCode.RightArrow))
           dir = Vector3.right;
       if (dir != Vector3.zero && !isTumbling)
       {
           StartCoroutine(Tumble(dir));
       }
   }
   bool isTumbling = false;
   IEnumerator Tumble(Vector3 direction)
   {
       isTumbling = true;
       var rotAxis = Vector3.Cross(Vector3.up, direction);
       var pivot = (transform.position + Vector3.down * 0.5f) + direction * 0.5f;
       var startRotation = transform.rotation;
       var endRotation = Quaternion.AngleAxis(90.0f, rotAxis) * startRotation;
       var startPosition = transform.position;
       var endPosition = transform.position + direction;
       var rotSpeed = 90.0f / tumblingDuration;
       var t = 0.0f;
       while (t < tumblingDuration)
       {
           t += Time.deltaTime;
           if( t < tumblingDuration)
           {
               transform.RotateAround(pivot, rotAxis, rotSpeed * Time.deltaTime);
               yield return null;
           }
           else
           {
               transform.rotation = endRotation;
               transform.position = endPosition;
           }
       }
       isTumbling = false;
   }
}
  Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
Exclamation PHOTON ACİL YARDIM !!!! gc1dcc2 0 105 07-04-2020, Saat: 23:07
Son Yorum: gc1dcc2
Heart UNİTY HATA YARDIM gc1dcc2 2 261 20-02-2020, Saat: 18:06
Son Yorum: gc1dcc2
  Unity de Bölüm Menüsü Yardım oznyvz 1 303 09-01-2020, Saat: 15:14
Son Yorum: erhnaygrn
  Hazır oyun alıp geliştirmek istiyorum YARDIM bayeco06 2 356 11-12-2019, Saat: 23:51
Son Yorum: bayeco06
  Unity Ugulama için yardım Hayubiq 1 312 24-11-2019, Saat: 12:13
Son Yorum: abayir41

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi