2016-04-09 9 views
1

Unity'deki Animasyon parametreleriyle nasıl çalışacağımı öğreniyorum (Flash AS3 Arkaplanından geliyorum). Aşağıda gördüğünüz gibi benim hedefim 'un animasyonunu jump numaralı duruma getirmektir. Oluşturulan animasyon parametresi Boo yanlış olarak ayarlanmış ve amacım Unityscript kodunda bunu true olarak değiştirmektir. GameObject 'un animasyon denetleyicisinin adı sadece controller'dur. enter image description hereUnityscript Animasyon Parametresi UCE0001: ';' beklenen

enter image description here

Ama Konsol onlar noktalı virgül bekliyoruz bana anlatıyor! Gördüğünüz gibi senaryonumda noktalı virgül yok. Burada sorun nedir? Bu sorunu çözmek için yararlı bulabileceğiniz başka bilgiler varsa, bunu göndermekten memnuniyet duyarız.

+1

Gerçekten kısa koduna sahip tıklatın: Animatör; animator.SetBool ("Boo", true); '........' animatör '....' 'controller' değil, çünkü bir Bileşen değildir ........ http: // docs.unity3d.com/ScriptReference/Animator.html –

+0

@AlexeyShimansky bu hala aynı hatayı alıp çözmediği bir şey çözmedi ama yine de teşekkürler – DrakeTruber

+0

@AlexeyShimansky, Yukarıdaki önerilen kodunuzun durumumun bağlamında olduğunu mu varsayıyorum? Ya da bu, elde etmek istediklerimin sadece bir örneğidir. Eğer öyleyse, yeni değişken animatörü nasıl tanımlarım? "Var kontrolör: Kontrolör" olur mu? – DrakeTruber

cevap

1

3 ve 4 numaralı satırlarda, Javascript stilinde değil, C# stilinde kitaplıkları almaya çalışıyorsunuz.

import UnityEngine; 
import System.Collections; 
... etc. 

Ve hata ortadan kalkar:

Yani, yerine using size import kullanmalıdır. Ama uyarılar gelecek)) Neden? UnityEngine (C#) veya ithalat UnityEngine (unityscript) ve System.Collection.Generic kullanarak Varsayılan olarak

otomatik senaryo üstüne eklenir ama bunu görmüyorum.

Yani bunun ithalat kaldırabilir veya size verir: BCW0008: WARNING: Duplicate namespace: 'UnityEngine' ve BCW0008: WARNING: Duplicate namespace: 'System.Collections'.


Ayrıca Unity3dController bileşeni yoktur.

function Start() { 
    GetComponent(Animator).SetBool("Boo", true); //(GetComponent("Animator") as Animator).SetBool("Boo", true); 
} 

Ama bu bileşenin kullanarak küresel için size beyan etmelidir değişken animatör, Animator tipi: Ama çok az kod olacak durumda Animator bileşen http://docs.unity3d.com/ScriptReference/Animator.html

sahiptir. Ve sonra onu her yerde dosyada kullanabilirsin.

Örnek (javascript tstyle):

#pragma strict 

var anim : Animator; 

function Start() { 
    anim = GetComponent(Animator); // GetComponent("Animator"); 
} 

function Update() { 

    if (Input.GetKeyDown(KeyCode.Space))  
     anim.SetBool("Boo", true); 
} 

daha Mesela ben biraz daha `var animatör olmalı düşünüyorum)) this link

+0

Teşekkürler Alexey, bu daha mantıklı. Ama ben hala biraz kafam karışmış, neden "(" Animator ") 'u Animator olarak söyledik) ..."ve değil" (GetComponent (Animator)) "? – DrakeTruber

+0

@DrakeSwartzy Oh, haklısınız) Cevabımı güncelledim >>>>>>>>> GetComponent (Animator) .SetBool (" Boo ", true) kullanabilirsiniz), 'tırnaksız ..... veya' (Anımsatıcı olarak) (Animator olarak) .SetBool ("Boo", true); 'tırnak işaretleri ve tip dökümü ile –

+0

Aferin. Tüm sıkı çalışmanız için teşekkür ederiz! – DrakeTruber