• G#

Animation. Login

Sarankan perubahan

Success!

Terima kasih untuk membantu kami meningkatkan kualitas Dokumentasi Unity. Meskipun kami tidak dapat menerima semua pengajuan, kami membaca setiap perubahan yang disarankan dari pengguna kami dan akan melakukan pembaruan di mana berlaku.

Close

Penjelasan gagal

Untuk beberapa alasan perubahan yang disarankan Anda tidak dapat diajukan. Silahkan <a>try lagi</a> dalam beberapa menit. Dan terima kasih untuk mengambil waktu untuk membantu kami meningkatkan kualitas Dokumentasi Unity.

Close

Cancel

Beralih ke Manual

Declaration

public bool Play( PlayMode mode = PlayMode.StopSameLayer);

Declaration

publik bool Play(string animation, PlayMode mode = PlayMode.StopSameLayer);

Description

Memainkan animasi tanpa campuran.

Jika tidak ada nama yang disediakan maka animasi default akan dimainkan. Dalam kasus di mana animasi tidak dapat dimainkan (misalnya ketika tidak ada animasi default atau tidak ada animasi dengan nama yang ditentukan), fungsi akan kembali false. PlayMode opsional memungkinkan Anda memilih bagaimana animasi ini akan mempengaruhi yang lain sudah bermain.

Jika animasi yang ditentukan sudah bermain maka animasi lain akan dihentikan tetapi animasi tidak akan mundur ke awal. Ketika akhir animasi tercapai secara otomatis akan dihentikan dan diubah kembali ke awal kecuali PlayMode ditetapkan ke Loop. Jika Animasi. Login disebut pada objek selama pembaruan bingkai di mana objek juga deactivated maka panggilan akan secara efektif dibatalkan. Animasi tidak akan mulai bermain ketika objek kemudian diaktifkan kembali. Namun, jika panggilan pada bingkai berikutnya (sekali objek masih tidak aktif) maka animasi akan mulai bermain setelah mengaktifkan kembali.

Untuk menggunakan Animasi. Login data animasi harus terlihat di jendela Inpsector. Jendela ini berisi semua animasi untuk GameObject dalam array. Sebagai contoh dua animasi jump dan spin disimpan dalam daftar Animasi. Animasi. Login dapat bermain setiap animasi ini. Animation juga dapat menggabungkan animasi. Sebuah (tidak didukung dan tidak didokumentasikan) AnimationState. layer digunakan untuk ini. Misalnya meninggalkan jump pada lapisan nol dan bergerak spin ke layer 123 akan memungkinkan mereka untuk dimainkan bersama.

Animations harus ditandai sebagai 'Legacy' dalam Inspektur untuk animasi untuk ditemukan oleh metode ini. Pilihan ini muncul setelah beralih Jendela Inspektur ke 'Debug'.

using UnityEngine;

// Animation.Play example. Let the S and J keys start // a spin or jump animation. Let Space play back spin and // jump at the same time. Let Z play spin and jump with // spin doubled in speed. // // Spin: rotate the cube 360 degrees in half or one second // Jump: bounce up to 2 units and down in one second // // Note: AnimationState.layer is no longer supported, but still exists.

public class ExampleScript : MonoBehaviour { private Animation anim;

void Start() { anim = gameObject.GetComponent<Animation>(); anim["spin"].layer = 123; }

// double the spin speed when true private bool fastSpin = false;

void Update() { // leave spin or jump to complete before changing if (anim.isPlaying) { return; }

if (Input.GetKeyDown(KeyCode.S)) { Debug.Log("Spinning"); anim.Play("spin"); }

if (Input.GetKeyDown(KeyCode.J)) { Debug.Log("Jumping"); anim.Play("jump"); }

// combine jump and spin if (Input.GetKeyDown(KeyCode.Space)) { Debug.Log("Jumping and spinning"); anim.Play("jump"); anim.Play("spin"); }

// have spin speed reverted to 1.0 second if (fastSpin == true) { anim["spin"].speed = 1.0f; fastSpin = false; }

if (Input.GetKeyDown(KeyCode.Z)) { Debug.Log("Jumping and spinning in half a second"); anim.Play("jump"); anim["spin"].speed = 2.0f; anim.Play("spin");

// we've used spin at a speed of two, now mark // the spin speed to revert back to one fastSpin = true; } } }