You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Assets/2-Gerakan-dan-Animasi/README.md
+32-5Lines changed: 32 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,9 +3,8 @@
3
3
Bab ini akan menjelaskan beberapa hal berikut:
4
4
5
5
1. Menggerakkan Objek
6
-
2. Mengambil Posisi _Mouse_
7
-
3. Mengatur Animasi _Sprite_
8
-
4. Mengubah _Sprite_ Objek _Player_ Berdasarkan Posisi _Mouse_
6
+
2. Mengatur Animasi _Sprite_
7
+
3. Mengubah _Sprite_ Objek _Player_ Berdasarkan Posisi _Mouse_
9
8
10
9
## Menggerakkan Objek
11
10
Buat _script_ C# baru (misal kita beri nama _MovementInput.cs_), kemudian buka _script_ yang sudah dibuat pada _text editor_ atau _IDE yang telah ter-_install_ di komputer Anda. Tambahkan kedua _variabel_ berikut di dalam _class MovementInput_
@@ -32,14 +31,16 @@ Supaya kita mampu menggerakkan objek sesuai dengan input yang diberikan pada _ke
32
31
33
32
Fungsi _GetAxisRaw_ membutuhkan sebuah parameter input berupa _keyword_ untuk mendapatkan jenis input apa yang ingin didapatkan. Daftar _Keyword_ dapat kita lihat pada konfigurasi input _Unity_ melalui _Edit > Project Settings > Input Manager_
34
33
35
-
<!-- Tambahin gambar Project Settings > Input Manager -->
Fungsi _GetAxisRaw_ akan menghasilkan nilai antara -1, 0, dan 1 tergantung dari tombol yang ditekan; apabila tombol diatur sebagai _negative button_, nilai yang dihasilkan adalah -1. Sebaliknya, apabila diatur sebagai _positive button_, nilai yang dihasilkan adalah 1. Apabila tidak ada tombol yang ditekan, nilai yang dihasilkan adalah 0.
38
37
39
38
Variable _inputX_ dan _inputY_ digunakan untuk menampung informasi input dari fungsi _Input.GetAxisRaw()_. Informasi input dari kedua variabel akan digabung menjadi satu variabel bertipe _Vector3_, yaitu sebuah _class_ yang mendefinisikan sebuah vektor dalam dimensi tiga. Objek akan digeser melalui fungsi _Translate()_ dengan variabel _Vector3_ sebagai input dan besar perpindahan objek. Terlihat pada contoh bahwa _movement_ selain dikalikan dengan _speed_ juga dikalikan dengan _Time.deltaTime_. Hal ini dilakukan agar simulasi perpindahan objek per detik dapat berjalan dengan benar, sebaliknya perpindahan objek akan terlihat semakin cepat.
40
39
41
40
Mari kita uji coba program yang telah kita tulis dengan menjalankan mode _Game mode_. Anda akan mendapati pergerakan diagonal objek yang terlihat lebih cepat dibanding pergerakan vertikal maupun horizontal. Hal ini terjadi karena perbedaan panjang vektor pada variabel _movement_. Untuk mengatasi masalah tersebut, kita perlu menormalisasi variabel _movement_ agar panjang vektornya bernilai 1.
42
41
42
+
<!--Tambahin gambar masalah normalisasi vektor-->
43
+
43
44
```C#
44
45
voidUpdate()
45
46
{
@@ -48,4 +49,30 @@ Mari kita uji coba program yang telah kita tulis dengan menjalankan mode _Game m
48
49
49
50
//Mengambil nilai variabel vektor unit dari variabel Vector3 yang baru dibuat
0 commit comments