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
Photo Build || IL2CPP_CodeGenAndCompile Error || Lütfen Yardım Ediniz umutsarac 1 138 15-04-2021, Saat: 09:33
Son Yorum: Eyelay
Exclamation vuforia eklerken hata!! Acil yardım! oben95 0 116 01-04-2021, Saat: 14:15
Son Yorum: oben95
  IronSource yardım SinanSK0 0 165 16-02-2021, Saat: 11:50
Son Yorum: SinanSK0
  Yardım edermisiniz ? ( Hata : Kod ) magicalgame_1 2 323 14-12-2020, Saat: 14:18
Son Yorum: magicalgame_1
Exclamation Space Zıplama Sorunu lütfen yardım ivolverine1 1 347 15-10-2020, Saat: 18:23
Son Yorum: No_99

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi