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 Ağır Çekim Sorunu Yardım. xrasit 2 104 28-08-2020, Saat: 13:58
Son Yorum: No_99
  Bir yardım edin! Crax5466 1 236 31-05-2020, Saat: 01:56
Son Yorum: Maximen
Exclamation PHOTON ACİL YARDIM !!!! gc1dcc2 0 276 07-04-2020, Saat: 23:07
Son Yorum: gc1dcc2
Heart UNİTY HATA YARDIM gc1dcc2 2 569 20-02-2020, Saat: 18:06
Son Yorum: gc1dcc2
  Unity de Bölüm Menüsü Yardım oznyvz 1 553 09-01-2020, Saat: 15:14
Son Yorum: erhnaygrn

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi