2016-03-31 15 views
1

Müzikçalarımı havadayken yönlendirebilmeyi istiyorum. Bu nedenle, tabletin x yönünde hareket edip etmediğini kontrol eden FixedUpdate() numaralı telefonla çağrılan CheckTilt() isimli bir yöntemi çıldırdım. CheckTilt()'un içindeki koşul, oyuncu havadayken ve gerçekte bu parça düzgün çalışıyorsa temel olarak yanlış olan isGrounded adı verilen bool10 değişkenine dayanmaktadır. Ancak, oyuncuyu ivmeölçer bazında hareket ettiremiyorum. İşte benim yöntemdir:2B nesneyi ivmeölçer ile hareket ettirmeye çalışmak

public void checkTilt() 
{ 
    if (!isGrounded) 
    { 

      float tiltSpeed = 10.0f; 
      float x = Input.acceleration.x; 
      Vector2 tilted = new Vector2(x, 0); 
      myRigidBody.AddForce(tilted * tiltSpeed * Time.deltaTime); 
    } 

} 

Diğer Bilgiler: Ben android cihaz için bu inşa ediyorum ve birlik uzaktan kumanda ile test ettik.

+0

uzaktan hiç çalışmaz. – Fattie

+0

cihazına kurulum yapmanız gerekiyor. Eğer x yönünde 2 boyutlu bir nesneyi hareket ettireceksem bu işe yarıyor mu? –

+0

tamam, cevabı bu yüzden - yönetim kurulu düzenli tutmak için koydu. – Fattie

cevap

2

Neyse ki, bu yanıt sadece Unity uzaktan kumandasıyla çalışan gibi bir şey değil - bunu denemek için oluşturmanız gerekir.

Diğer sorunuz: "Parite" yi tahmin etmek neredeyse imkansız. Bunu denemek zorundasınız ve eğer bu doğru değilse, -1f ile çarpın. (Ne yapmak, eşliği takaslar ekranda bir UI düğmesi, include - ancak bunu elde edene kadar gerçekten sadece iki kez inşa) taşındığında


"Hâlâ herhangi bir hareket almıyorum ... "

Bu, eksenlerin doğru şekilde alınmasında inanılmaz bir acıdır. EVET, aslında, bir 2D oyun olsa bile, 3 eksenini okumak için ihtiyacınız olacak% 100 bir gerçektir.

unutma o

Elma aptalca KULLANIMI Z-GERİYE oryantasyon ...

onlar oyun sektöründe hiç çalışmamış mutlak aptallar çünkü.

enter image description here

DOCO

Ama neredeyse kesinlikle bunu yapmak zorunda olacak:

Haklısınız, Tuval/UI sistemi kullanılarak aşina? eğer bana söyleme.

1) tuval yapmak ve üç metin alanları ) bu

public Text showX; 
public Text showY; 
public Text showZ; 

ve sonra

showX.text = yourAccelerometer.x.ToString("f2"); 
.. same for the others .. 

Bir ağrı gibi görünüyor ama temin ederim ki, SADECE var do eklemek Neler olup bittiğini anlamak için.

+0

Bu bir çözüm gibi görünüyor, birkaç kez inşa edip iplik.Teşekkürler –

+0

Hareket halinde hala hareket alamıyorum. Eğer 2 –

+0

Dürüst bir hata olsa bile z hızlanma tespit etmek gerekir Bu güncelleme bir ton –