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
Sad AdMob Reklam hata yardim MaKsiMuS 6 557 03-08-2019, Saat: 18:21
Son Yorum: blackiron
Question 2D Harita Yapımı Sorunu. Lütfen Yardım! kerem_nhuhp 1 93 17-07-2019, Saat: 02:41
Son Yorum: sercan.aydemir
  Yardım - 2 Boyutlu Objelerin Titremesi Scofailed 1 141 23-04-2019, Saat: 14:00
Son Yorum: abayir41
  Toggle ile ilgili yardım WOLKY 1 165 29-03-2019, Saat: 10:57
Son Yorum: WOLKY
Video Unity Yardım - 2 Boyutlu Oyunda Kutunun Titremesi Scofailed 0 139 26-03-2019, Saat: 15:29
Son Yorum: Scofailed

Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi