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
  Mekanik Yardım dcnsll 0 440 04-04-2022, Saat: 21:49
Son Yorum: dcnsll
Photo Build || IL2CPP_CodeGenAndCompile Error || Lütfen Yardım Ediniz umutsarac 1 1,135 15-04-2021, Saat: 09:33
Son Yorum: Eyelay
Exclamation vuforia eklerken hata!! Acil yardım! oben95 0 565 01-04-2021, Saat: 14:15
Son Yorum: oben95
  IronSource yardım SinanSK0 0 559 16-02-2021, Saat: 11:50
Son Yorum: SinanSK0
  Yardım edermisiniz ? ( Hata : Kod ) magicalgame_1 2 999 14-12-2020, Saat: 14:18
Son Yorum: magicalgame_1

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi