Buku Tutorial Narkono PDF
Buku Tutorial Narkono PDF
DAFTAR ISI
2
5.4 Scripting GameOverManager......................................161
5.5 Scripting GameOverManager3....................................165
5.6 Scripting Keluar...........................................................167
5.7 Scripting MainMenuControl ........................................170
5.8 Scripting Menang.........................................................174
5.9 Scripting Narkoba ........................................................177
5.10 Scripting Pause ............................................................179
5.11 Scripting PlayerHealth ................................................182
5.12 Scripting PlayerHealth3 ..............................................187
5.13 Scripting PlayerMotor .................................................191
5.14 Scripting PlayerMotor3 ...............................................194
5.15 Scripting Swipe ............................................................197
BAB VI PENYELESAIAN .......................................................200
6.1 Setting Software Development kit (SDK) Android di
Unity 3d .....................................................................................201
6.1 Setting Project Untuk Android di Unity 3D .................202
DAFTAR PUSTAKA ....................................................................207
3
BAB I
PENDAHULUAN
4
Personal
Enterprise
Kategori ini tersedia untuk sebuah organisasi atau perusahaan
dan juga sebuah team yang ingin mendapatkan full support dari
Unity seperti upgrade, discount, source code licensi, on demand
support dan banyak lagi lainnya.
5
Dengan Kategori-kategori yang di sediakan membuat
Unity sebagai multiplatform game engine dapat menyentuh
berbagai kalangan masyarakat yang ingin mengembangkan
game baik 2D maupun 3D dengan menggunkan Unity.
6
versi beta. Gooball diterbitkan pada bulan Maret 2005 oleh
[2]
Ambrosia Software. OTEE mempekerjakan lebih banyak
pengembang untuk memperbaiki Unity sebelum rilis awal 1.0
pada bulan Juni 2005.
Versi Unity pertama yang tersedia untuk umum hanya
mendukung proyek yang akan dijalankan di Mac OS X. Baru
pada versi 1.1, Unity mendukung ekspor ke Microsoft Windows
dan browser web. Versi 1.1 juga menambahkan dukungan untuk
plugin C / C ++ eksternal, yang memungkinkan pengembang
untuk menggunakan perangkat keras dan perangkat lunak yang
tidak didukung oleh Unity. Tim menghabiskan tiga bulan
berikutnya untuk melakukan debug, mengoptimalkan, dan
menciptakan solusi untuk Personal Computer (PC) yang lebih
tua yang diganggu dengan bug kartu grafis dan masalah driver.
Masalah ini diintegrasikan ke dalam rilis Unity 1.5.[4]
Dua tahun kemudian, Unity versi 2.0 dirilis. Fokus dari rilis
ini adalah untuk memperkuat dukungan Windows dan
meningkatkan kompatibilitas pemain web di seluruh platform.
Untuk mencapai hal ini, tim menambahkan dukungan Microsoft
DirectX, yang telah terinstal pada sistem Windows Vista, seperti
yang diajukan ke OpenGL, yang harus di download secara
[2]
terpisah. Fitur utama lainnya termasuk dalam rilis ini
termasuk: streaming web, bayangan lunak real-time, jaringan,
Unity Asset Server, dan sistem pengenal berbasis kode baru. [2]
Unity 2.0 dirilis pada Konferensi Pengembang Unite 2007.
[2]
Unity Technologies memutuskan untuk mengembangkan
7
versi Unity yang memungkinkan penerbitan untuk iPhone.
Dipasarkan sebagai produk terpisah, Unity iPhone dirilis pada
bulan Desember 2008 dan tersedia dalam versi Basic dan Pro.
[5]
Antara tahun 2008 dan 2009, Tim Unity, yang sekarang
dikenal sebagai Unity Technologies, melihat bahwa pelanggan
mereka membeli komputer Macintosh untuk menggunakan
Unity. Unity Technologies meluncurkan versi pertama Unity
dengan dukungan Windows (Unity 2.5) pada Konferensi
Pengembang Game 2009.
Rilis besar berikutnya adalah versi 3.0 pada tanggal 27
September 2010. [6] Pembaruan ini membawa banyak fitur yang
dikehendaki termasuk penyatuan editor, pencahayaan,
rendering yang ditangguhkan, debugging tingkat rendah, dan
[6]
filter audio FMOD. Pada tanggal 22 Desember 2011, Unity
Technologies memulai versi beta pertama untuk Unity 3.5. Rilis
terbaru Unity 3.5 diterbitkan pada tanggal 14 Februari 2012. [5]
Unity Technologies membuka pre-order untuk Unity 4 pada
tanggal 18 Juni 2012. Rilis berikutnya dalam siklus Unity sekali
lagi membawa banyak fitur baru, termasuk teknologi animasi,
penyebaran Flash, preview penerbitan Linux, dan sistem partikel
Shuriken. Rilis terakhir dari Unity 4.0 menjadi tersedia bagi
pengembang untuk diunduh pada 13 November 2012. Versi
berikutnya dari Unity 4.3, menyertakan dukungan out-of-the-
[7]
box untuk sprite dan pengembangan game 2D. Pengembang
dapat mulai membuat game 2D pada tanggal 12 November 2013
saat Unity 4.3 diluncurkan ke publik. [7]
8
Unity Technologies dibangun pada tahun 2004 oleh
David Helgason (CEO), Nicholas Francis (CCO), dan Joachim
Ante (CTO) di Copenhagen, Denmark setelah game pertama
mereka GooBall, gagal lagi dalam meraih sukses. Nilai dari
sebuah engine dan tool dalam pengembangan game serta
berencana untuk membuat sebuah engine yang dapat digunakan
oleh semua orang dengan harga yang terjangkau. Unity
Technologie mendapat bantuan dana dari Sequoia Capital,
WestSummit Capital, and iGlobe Partners. Kesuksesan Unity
yaitu untuk memenuhi kebutuhan developer yang tidak dapat
membangun game engine mereka sendiri atau membeli lisensi
game engine yang terlalu mahal. Fokus terletak pada
“Democratize game Development” atau diterjemahkan sebagai
“Demokrasi Pembangunan Game” dan membuat sebuah
pembangunan game baik dalam bentuk 2D maupun 3D yang
bisa dicapai oleh banyak orang.
Pada tahun 2008, Unity melihat kebangkitan iPhone dan
menjadi game engine pertama yang melakukan dukungan penuh
pada platform tersebut. Unity sekarang digunakan oleh 53.1%
developers (termasuk mobile game developer) dengan ratusan
game yang dirilis baik untuk iOS maupun Android. Pada tahun
2009, Unity mulai meluncurkan aplikasinya scara gratis,
sehingga jumlah developer yang mendaftar melonjak drastis.
Pada tahun 2012, Unity mencapai popularitas yang sangat tinggi
dengan lebih dar 1 juta developer. Unity sangat mampu melihat
berbagai peluang dan perubahan. Hal inilah yang
9
menjadikannya sbagai game engine “termurah” yang paling
banyak digunakan oleh seluruh orang. Unity dapat digunakan
untuk perorangan dan tidak selalu harus digunakan oleh sebuah
studio game yang berjumlah ratusan orang.
Sejak Unity secara resmi dirilis sebagai Unity versi
1.0.1, banyak pembaharuan (update), upgrades dan fitur yang
telah ditambahkan selama tahun perilisannya tersebut dan Unity
terus berkembang secara terus – menerus. Sekarang ini Unity
sudah ada pada versi 5.3.4 yang di rilis tanggal 15 maret 2016.
Jika ingin mencobanya silahkan men-download di situs
resminya. [8]
10
B. Untuk Menjalankan gameUnity
Sistem 1. Windows XP SP2+, Mac OS X
Operasi 10.8+, Ubuntu 12.04+, SteamOS+.
2. iOS player requires iOS 7.0 atau
diatasnya (dropping6.0).
3. Android: OS 4.1 atau diatasnya,
ARMv7 (Cortex) CPU dengan
mendukung NEON atau Atom
CPU, OpenGL ES 2.0 atau
diatasnya
4. WebGL: versi terbaru dari Firefox,
Chrome, Edge atau Safari.
5. Windows Phone: 8.1 atau
diatasnya.
6. Windows Store Apps: 8.1 atau
diatasnya.
GPU 1. Graphics card: DX9 (shader model
3.0)
2. DX11 dengan feature level 9.3
11
sistem sudah memadai maka langkah selanjutnya adalah men-
download Unity dari situs resminya.
12
2. Proses downloading archive menggunakan Internet
Download Manager, pastikan Unity telah berhasil
di download. Disini akan menggunakan personal
edition alias gratis bagi yang ingin
menggunakannya dengan batasan-batasan tertentu.
Terdapat tombol free download pada bagian bawah
personal edition, klik bagian tersebut.
13
6. Klik next
14
8. Langkah selanjutnya adalah pilih sesuai dengan
spesifikasi pada laptop atau komputer, terdapat 2
pilihan yaitu 64 bit dan 32 bit.
15
10. Setelah itu Unity akan menanyakan apakah kita
akan langsung menghapus installer setelah di instal
apa tidak dan dimana tempat meletakkan installer-
nya. Klik next untuk melanjutkan.
16
11. Unity memulai proses download komponen-
komponennya, Tunggulah hingga selesai.
17
muncul tampilan setup Unity, seperti gambar
dibawah ini:
18
4. Kemudian akan dilanjutkan ke proses yang
selanjutnya, yaitu halaman Choose Components,
kemudian pilih tombol next.
19
6. Tunggu hingga proses selesai, jika proses instalasi
telah selesai tekan tombol next.
20
8. Untuk melakukan aktivasi, maka membutuhkan
jaringan internet agar dapat online dan Login
terlebih dahulu, jika belum memiliki akun bisa
mendafar dengan menekan “Create one”. Jika
sudah memiliki akun langsung saja “Sign in”
menggunakan E-mail dan Password kemudian klik
tombol “Login”.
21
kemudian pilih Unity Personal Edition untuk
menggunakan Unity.
22
12. Tunggu sebentar, proses Aktivasi akan berlangsung
dan hasilnya seperti digambar.
23
14. Maka akan muncul halaman awal aplikasi
Unity3D.
24
BAB II
MEMBUAT PROJECT BARU
25
1. Pada bagian pojok kanan atas kita akan melihat 3 pilihan yaitu
new, open dan sign in.
26
3. Unity akan restart dan mulai memuat Project. Jika memasukkan
banyak asset package maka loadingnya akan semakin lama.
Karena tadi kita tidak mengimport apa-apa jadi akan lebih cepat.
Setelah selesai akan muncul jendela unty beserta tampilan yang
meliputi menu bar, game Scene, play Scene, hirarki dan lain
sebagainya.
27
4. Sebelum kita membuat game, alangkah baiknya jika kita
mengenal terlebih dahulu interface dari Unity ini sehingga
nantinya kita dapat lebih mudah dalam proses pembuatan game.
Dari title bar seperti yang di tunjukkan oleh gambar di atas, kita
dapat mengetahui versi Unity yang di gunakan, nama Scene, nama
Project dan settingan Project. Versi Unity yang di gunakan adalah
versi personal dengan system 64 bit. Scene yang sedang terbuka
adalah adventure for future karena kita sudah membuat Project.
Berikut langkah langkah untuk mem-build project:
28
1. Klik file > Build Settings
29
BAB III
MEMPERSIAPKAN ASSET
3.1 Karakter
Desain karakter bertujuan untuk memudahkan dalam
mendeskripsikan sifat dan tampilan sebuah karakter. Sehingga dalam
memilih bentuk karakter harus disesuaikan dengan target dan tujuan
game yang akan dibuat, berikut langkah mendownload karakter pada
Unity Asset Store
1. Klik dan pilih asset store dan ketikkan pada koloam
search “city”
30
3. Pilih download untuk mendapatkan character pack
tersebut
31
5. Tunggu proses import package selesai
6. Klik import
8. Selesai.
32
3.2 Narkoba
1 Pilih modelling pada toolbar yang tersedia di atas pojok
kiri untuk membuat modelling kapsul untuk
environment Narkoba pada game Narkono
33
4 Aturlah subdivision axis, height dan caps menjadi 12, 4,
4 untuk membentuk face pada kapsul (Narkoba).
34
7 Atur panjang dengan cara menekan tombol R dan Tarik
ke kanan atau ke kiri untuk memperpanjang ukuran
kapsul (Narkoba) tersebut.
8 Klik kanan tahan lalu pilih assign material lalu pilih blin
untuk memberikan tekstur pada kapsul (Narkoba)
35
9 Beri warna merah pada menu colour dan klik warna
merah
36
3.3 Buah Apel
1. Pilih curve lalu pilih EP Curve Tool pada kolom
surfaces.
37
4. Setelah selesai, kembali lagi ke view awal (kanan atas)
38
7. Maka akan tampil seperti ini dengan memilih smooth
shade all.
39
9. Tekan klik pada pola awal lalu pilih Control vertex
10. Lalu pilih move tool dan klik pada vertex dan gerakkan
sesuai keinginan agar berbentuk sebuah apel.
40
11. Setelah itu tahan klik kanan pada apel lalu drag pilih
Control vertex.
41
13. Lalu gunakan move tool untuk menurunkannya ke
bawah.
42
16. Setelah itu pindahkan ke atas apel sehingga membentuk
tangkai apel.
43
18. Buatlah seperti digambar
44
21. Sehingga seperti ini
45
23. Pilih blinn
24. Klik pada color lalu pilih warna yang menurut anda
mirip apel
46
25. Maka hasilnya akan seperti ini
47
3.4 Environment Kota
Environment Kota dalam game narkono ini adalah hasil
download di asset store pada Software Unity. Cara download karakter
pada asset store Unity adalah sebagai berikut.
1. Klik dan pilih asset store dan ketikkan pada kolom
search “city”
48
2. Pilih Simple Town Lite lalu klik Download untuk
mendapatkan asset city.
49
3. Jika proses download telah selesai, import file tersebut
pilih import allimport dan tunggu proses import
asset city tersebut.
50
4. Pada folder asset terdapat Scene city lalu drag ke
jendela Hierarchy. Susun city tersebut sehingga
terlihat panjang.
51
5. Proses pembentukan kota selesai.
52
BAB IV
MEMBUAT SCENE
2. Buat Scene baru pada Project Unity, dengan cara klik kiri pada
hierarchy Create UI Canvas.
53
3. Langkah ketiga yaitu lakukan hal yang sama untuk membuat
panel yang berada didalam Canvas yang berfungsi untuk
membuat panel menu.
54
5. Lakukan hal yang sama pada langkah awal membuat Canvas
namun pilih text untuk memberikan nama pada menu.
55
7. Tukar warna Button seperti gambar berikut
56
9. Lanjutkan hal yang sama untuk membuat menu Button
Pengaturan dan menu Button Keluar.
10. Pilih font yang sesuai dengan keinginan dengan cara blok
text – klik font pada menu Inspector yang ada di sebelah
kanan menu bar pada Unity – lalu ketikkan jenis font yang
diinginkan – lalu berikan warna pada text tersebut.
57
11. Buatlah isi dari menu bermain dengan panel pilih level yaitu
level 1 – level 2 – level 3.
58
12. Pada menu pengaturan yang berisi panel musik buatlah
panel slider agar dapat digeser ke kanan dan ke kiri atau
on/Off pada musik.
59
13. Buat Audio Source untuk memutar musik dengan cara klik
kiri pada toollbar Create – pilih Audio – klik Audio Source.
14. Pilih musik yang akan diputar sebagai musik dalam game.
60
15. Pada main menu Control pilih Audio Source untuk
menampilkan Audio Source yang berfungsi sebagai pemutar
musik.
61
17. Untuk mengaktifkan tombol pilih Canvas pada tombol
Button script.
62
18. Pilih fungsi pada tombol Button bermain dengan cara klik
no function untuk mengaktifkan – main menu Control-
ChangeMenu(int).
63
19. Pada slider musik atur dan mengaktifkan fungsi slider music
64
20. Pada tombol keluar untuk mengaktifkan tombol tersebut klik
no function pada Button script – pilih keluar – lalu klik
DOkeluar.
65
21. Mengaktifkan fungsi pilih level dalam menu bermain
dengan cara klik level 1 pilih Canvas
66
23. Kemudian ketik Level 1 pada kolom dibawahnya
67
4.2 Membuat Scene Level 1
1. Select prefab jalan (Road_L & Road_R) kemudian drag ke
Scene
68
3. Ulangi langkah diatas hingga beberapa kali, hingga terlihat
seperti gambar berikut
69
5. Gabungkan Environment bangunan dan jalan dengan cara
klick Create pada hirarki Create empty, rename jadi
“kota 1”
70
7. Klick dan tahan kota 1 kemudian tarik ke jendela Project
untuk menjadikkannya prefab, tukar nama prefab menjadi
“kota mode 1”
71
9. Select “kota mode 2” pada Hierarchy dan masukkan ke
dalam folder prefab pada jendela Project.
72
11. Select asset jeruk drag dan drop ke dalam jendela Scene,
posisikan di tengah tengah jalan seperti gambar
73
13. Kemudian klik add Component dan tambahkan Audio
Source
74
15. Klik Add Component dan ketik collectable, kemudian pilih
script collectable
75
17. Tambahkan tag MakananSehat dengan cara klik kolom tag
pada jendela Inspector Add Tag
76
19. Setelah itu klik prefab jeruk, klik kolom tag dan pilih
MakananSehat.
20. Copy (tekan ctrl + d pada keyboard) jeruk dan susun pada
sepanjang jalan seperti gambar
77
21. Select prefab narkoba dan masukkan ke dalam Scene
78
23. Pada kolom audio clip pilih sound effect narkoba seperti
gambar berikut
24. Tambahkan tag pada prefab narkoba dengan klik kolom tag
pada Inspector add tag
79
25. Klik tombol + dan ketik narkoba kemudian klik save
80
27. Copy (tekan ctrl + d pada keyboad) prefab narkoba dan
susun di sepanjang jalan seperti gambar
28. Mengganti sky box tampilan langit agar terlihat lebih cerah,
klik Window Lighting Settings
81
29. Kemudian akan tampil jendela lighting, pada kolom skybox
Material pilih Mat_Sky
82
31. Posisikan seperti gambar dibawah, setelah itu ganti nama
menjadi Trigger Sukses
83
33. Select karakter player dan masukkan kedalam Scene
posisikan seperti gambar
84
35. Tambahkan karakter Controller, pada Inspector klik Add
Component, ketikkan karakter Controller kemudian tekan
Enter
85
37. Tambahkan komponen Rigidbody dengan klik Add
Component ketikkan Rigidbody Enter
38. Klik Add Component ketik animator dan tekan Enter untuk
menambahkan komponen animator pada karakter player
86
39. Untuk menjalankan dan mengatur animasi diperlukan
sebuah animator Controller, membuat animator Controller
klik Create pada jendela Project Animator Controller
87
41. Kemudian klik karakter, pada kolom Controller di jendela
Inspector isi animator Controller dengan narkono
88
43. Selanjutnya ganti culling mode dengan Cull Update
Transform
44. Klik Add Component dan ketik Audio Source, tekan Enter
untuk menambahkan Audio Source
89
45. Pada kolom Audio Clip pilih Daydream Anatomy -8 Bit
heroes – 01 Combat
90
47. Membuat tombol pause, Create UI Button
91
48. Atur ukuran tombol seperti gambar dibawah
92
51. Ganti text Button menjadi ||
52. Ubah font style menjadi bold, font size menjadi 50,
alignment menjadi center& middle dan ganti color menjadi
putih, sehingga terlihat seperti berikut
93
54. Pilih Canvas pada tempat yang di lingkari pada gambar
berikut
94
56. Membuat health slider, pada Hierarchy klik Create UI
Slider
95
57. Karna pada bagian ini tidak dibutuhkan Handle slider,
maka pada jendela Hierarchy, klik kanan Handle slider
delete
96
59. Kemudian pada slider script ganti Min value menjadi 0,
max value menjadi 3, centang whole numbers dan value 3
97
61. Select fill pada Hierarchy, ganti source image pada jendela
Inspector dengan gambar yang telah disiapkan.
98
63. Slanjutnya masukkan health icon, pada Hierarchy klik
Create UI Image
99
65. Ganti source image dengan health icon
100
67. Ubah text menjadi Health pada Component text script
101
69. Atur font size menjadi 40
102
71. Tambahkan Component shadow, klik Add component,
ketik shadow dan tekan Enter
103
73. Selanjutnya membuat papan skor, pada Hierarchy klik
Create UI image
104
75. Ganti source image dengan gambar yang telah disiapkan
105
76. Tambahkan text score, pada Hierarchy klik Create UI
text, posisikan tepat didepan ScoreBoard
106
78. Ganti text font dengan PG_Roof Runners_active_bold it
79. Atur font size menjadi 30, dan paragraph alignment seperti
gambar berikut
107
80. Ganti font color menjadi putih
108
82. Atur effect distance pada komponen shadow seperti gambar
dibawah ini
109
84. Klik Create UI Text
110
85. Pada jendela Inspector ganti text menajdi paused
111
87. Atur ukuran kotak text pada jendela Scene seperti gambar
berikut
88. Pada jendela Inspector atur font size menjadi 70, ganti
alignment menjadi center dan middle
112
90. Tambahkan Component shadow dengan klik add
Component ketik shadow dan tekan Enter
113
92. Membuat panel pengaturan, klik Create UI panel,
ganti nama panel menjadi panelPengaturan
114
94. Tambahkan text, pada Hierarchy klik Create UI text
115
95. Atur kotak text seperti gambar berikut
116
98. Atur font size menjadi 60
117
100. Tambahkan Component shadow dengan klik add
Component dan ketik shadow, kemudian tekan Enter
118
103. Ganti text menjadi Musik, atur font size menjadi 40
119
104. Copy (tekan ctrl + d pada keyboard) text musik dan geser
seperti gambar dibawah
120
105. Ganti text menjadi Off
121
107. Ganti text menjadi On
122
109. Posisikan slider diantara text On dan Off
123
111. Pada Hierarchy select Handle, ganti image source pada
jendela Inspector seperti gambar berikut
124
113. Ganti warna Handle pada jendela Inspector
125
115. Pindahkan tombol ke bawah slider
126
116. Atur ukuran tombol seperti gambar berikut
127
118. Tambahkan Component shadow, klik add Component dan
ketik shadow jkemudian tekan Enter
128
120. Ganti font menjadi PG_Roof Runners_active_bold it
129
122. Ganti warna text menjadi putih
130
124. Atur effect distance pada Component shadow
131
127. Ganti text PAUSED menjadi SELAMAT ANDA
BERHASIL MENGHINDARI NARKOBA
132
129. Pada Hierarchy select ScoreBoard kemudian copy (tekan
ctrl + d pada keyboard), pindahkan ScoreBoard (1) ke
dalam panel menang
133
131. Ganti text pada tombol resume menjadi Main lagi
134
134. Tukar text Selamat Anda Berhasil Menghindari Narkoba
menjadi Maaf Anda Gagal Menghindari narkoba
135
135. Hapus ScoreBoard (1) pada PanelKalah
136
137. Pada kolom No function pilih Pause OnUnPause ()
137
139. Pada kolom No function pilih Pause OnUnPause ()
138
141. Pada kolom Function pilih keluar DOkeluar ()
139
143. Pada kolom Function pilih AudioSource Volume ()
140
145. Pada kolom Function pilih MainMenuControl
ChangeMenu (int), isikan 0 (angka nol) pada kolom yang
dilingkari pada gambar
141
147. Pada kolom Function pilih MainMenuControl
LoadAScene (), ketik level 1 pada kolom dibawahnya
142
148. Berikutnya PanelMenang Button MenuUtama pilih
Canvas pada tempat yang di lingkari pada gambar berikut
143
150. Selanjutnya untuk PanelKalah langkah yang dilakukan
sama dengan PanelMenang.
144
153. Save Scene dengan klik file Save Scene as
145
4.3 Membuat Scene level 2
1. Scene Level 2 merupakan Scene Level 1 yang dilakukan
beberapa perubahan terhadap susunan Environment-nya.
146
3. Tambahkan prefab narkoba untuk meningkatkan kesulitan
dalam bermain, select narkoba kemudian copy(tekan ctrl +
d pada keyboard) dan atur posisinya.
147
5. Save Scene dengan nama Level 2, klik file save scene as
ketik Level 2 klik save
148
4.4 Membuat Scene level 3
1. Perbedaan Scene Level 2 dan Level 3 terletak pada
kecepatan berlari player
2. Langkah pertama yang dilakukan yaitu menghapus script
PlayerMotor, select karakter player klik pada bagian yang
dilingkari pada gambar dibawah remove component
149
4. Pilih karakter player untuk mengisi kolom Controller
150
7. Select game manager pada Hierarchy, hapus script
GameOverManager di Inspector
151
9. Save Scene dengan nama Level 3
152
BAB V
SCRIPTING
153
3. Double click pada script, maka secara otomatis akan
terbuka applikasi MonoDevelope, ketik script berikut:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
154
startOffset = transform.position -
lookAt.position;
}
moveVector = lookAt.position +
startOffset;
//X
moveVector.x = 0;
//Y
moveVector.y = Mathf.Clamp(moveVector.y,
3, 5);
155
transform.position =
Vector3.Lerp(moveVector +
animationOffset,moveVector,transition);
transition += Time.deltaTime * 1 /
animationDuration;
transform.LookAt(lookAt.position +
Vector3.up);
}
transform.position = moveVector;
}
}
156
3. Double click pada script, maka secara otomatis akan
terbuka applikasi MonoDevelope, ketik script berikut:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
void OnTriggerEnter()
{
157
GameManager1.instance.Collect(value,
gameObject);
AudioSource source =
GetComponent<AudioSource>();
source.Play();
}
}
158
3. Double click pada script, maka secara otomatis akan
terbuka applikasi MonoDevelope, ketik script berikut:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
int score;
int finalScore;
Text scoreText;
Text winText;
private void Awake()
{
if (instance == null)
159
instance = this;
else if (instance != null)
Destroy(gameObject);
scoreText =
scoreTextObject.GetComponent<Text>();
winText =
winScoreObject.GetComponent<Text>();
passedObject.GetComponent<Renderer>().enabled =
false;
Destroy(passedObject, 1.0f);
score = score + passedValue;
scoreText.text = "Score: " +
score.ToString();
finalScore = score;
winText.text = "Score: " +
finalScore.ToString();
}
public void damaging(GameObject
passedObject)
{
passedObject.GetComponent<Renderer>().enabled =
false;
Destroy(passedObject, 1.0f);
}
}
160
4. Masukkan score text pada kolom manager seperti gambar
dibawah
161
3. Double click pada script, maka secara otomatis akan
terbuka aplikasi MonoDevelope, ketik script berikut:
using System;
using UnityEngine;
void Awake()
162
{
KalahPanel.SetActive(false);
}
void Update()
{
if (playerHealth.currentHealth <= 0)
{
restartTimer += Time.deltaTime;
if (restartTimer >= restartDelay)
{
AudioSource.SetActive(false);
KalahPanel.SetActive(true);
}
}
}
}
163
5. Isi kolom Player Health dengan object player
164
5.5 Scripting GameOverManager3
165
4. Double click pada script, maka secara otomatis akan
terbuka aplikasi MonoDevelope, ketik script berikut:
using System;
using UnityEngine;
void Awake()
{
// Set up the reference.
KalahPanel.SetActive(false);
}
void Update()
{
if (playerHealth.currentHealth <= 0)
{
166
restartTimer += Time.deltaTime;
if (restartTimer >= restartDelay)
{
AudioSource.SetActive(false);
KalahPanel.SetActive(true);
}
}
}
}
Pada Script Keluar ini berfungsi untuk keluar dari game dan menutup
aplikasi.
167
3. Double click pada script, maka secara otomatis akan
terbuka aplikasi MonoDevelope, ketik script berikut:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
168
4. Kembali ke unity, Klik tanda tambah pada button script
169
5.7 Scripting MainMenu Control
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
170
using UnityEngine.UI;
using UnityEngine.SceneManagement;
void Start()
{
DisableAllMenus();
GoHome();
aSource = GetComponent<AudioSource>();
}
171
public void PlayAudio(AudioClip audioToPlay)
{
aSource.PlayOneShot(audioToPlay);
}
172
5. Pada kolom home pilih object canvas
173
8. Isi element 0 dengan canvas
174
3. Double click pada script, maka secara otomatis akan
terbuka aplikasi MonoDevelope, ketik script berikut:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
175
MenangPanel.SetActive(false);
}
176
6. Selanjutnya pada kolom Menang Panel pilih object
PanelMenang
177
3. Double click pada script, maka secara otomatis akan
terbuka applikasi MonoDevelope, ketik script berikut:
using UnityEngine;
using System.Collections;
void Awake()
{
player =
GameObject.FindGameObjectWithTag("Player");
playerHealth =
player.GetComponent<PlayerHealth>();
gameObject.transform.Rotate(Vector3.left
* Time.deltaTime * rotateSpeed);
}
178
void OnTriggerEnter(Collider other)
{
if (other.gameObject == player)
{
playerHealth.TakeDamage(attackDamage);
GameManager.instance.damaging(
gameObject);
AudioSource source =
GetComponent<AudioSource>();
source.Play();
}
}
}
4. Save script (ctrl + s)
179
3. Double click pada script, maka secara otomatis akan
terbuka applikasi MonoDevelope, ketik script berikut:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
180
}
181
6. Pada kolom Pause Panel pilih object ButtonPause
182
3. Double click pada script, maka secara otomatis akan
terbuka applikasi MonoDevelope, ketik script berikut:
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
183
public Color flashColour = new Color(1f, 0f,
0f, 0.1f);
Animator anim;
AudioSource playerAudio;
PlayerMotor playerMovement;
public bool isDead = false;
bool damaged;
void Awake()
{
anim = GetComponent<Animator>();
playerAudio =
GetComponent<AudioSource>();
playerMovement =
GetComponent<PlayerMotor3>();
currentHealth = startingHealth;
isDead = false;
}
void Update()
{
if (damaged)
{
184
damageImage.color = flashColour;
}
else
{
damageImage.color =
Color.Lerp(damageImage.color, Color.clear,
flashSpeed * Time.deltaTime);
}
damaged = false;
}
void Death()
{
isDead = true;
185
anim.SetTrigger("isDead");
playerAudio.enabled = false;
playerMovement.enabled = false;
}
}
186
5.12 Scripting Player Health3
187
4. Double click pada script, maka secara otomatis akan terbuka
aplikasi MonoDevelope, ketik script berikut:
using UnityEngine.UI;
using System.Collections;
188
Animator anim;
AudioSource playerAudio;
PlayerMotor3 playerMovement;
public bool isDead = false;
bool damaged;
void Awake()
{
anim = GetComponent<Animator>();
playerAudio =
GetComponent<AudioSource>();
playerMovement =
GetComponent<PlayerMotor3>();
currentHealth = startingHealth;
isDead = false;
}
void Update()
{
if (damaged)
{
damageImage.color = flashColour;
189
}
else
{
damageImage.color =
Color.Lerp(damageImage.color, Color.clear,
flashSpeed * Time.deltaTime);
}
damaged = false;
}
void Death()
{
isDead = true;
anim.SetTrigger("isDead");
190
playerAudio.enabled = false;
playerMovement.enabled = false;
}
}
Script Player Motor ini berfungsi agar player berlari dan dapat juga
diatur kecepatanya.
191
3. Double click pada script, maka secara otomatis akan terbuka
aplikasi MonoDevelope, ketik script berikut:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
void Start()
{
Controller =
GetComponent<CharacterController>();
}
void Update()
{
if (Time.time < animationDuration)
{
Controller.Move(Vector3.forward *
speed * Time.deltaTime);
return;
}
moveVector = Vector3.zero;
if (Controller.isGrounded)
{
192
verticalVelocity = -0.5f;
}
else
{
verticalVelocity -= gravity *
Time.deltaTime;
}
moveVector.x =
Input.GetAxisRaw("Horizontal");
if (Input.GetMouseButton(0))
{
if (Input.mousePosition.x >
Screen.width / 2)
moveVector.x = speed;
else
moveVector.x = -speed;
}
moveVector.y = verticalVelocity;
moveVector.z = speed;
Controller.Move(moveVector *
Time.deltaTime);
}
}
4. Save script(ctrl+s), kemudian select object Player dan drag
ke kolom controller
193
5.14 Scripting Player Motor3
194
4. Double click pada script, maka secara otomatis akan terbuka
aplikasi MonoDevelope, ketik script berikut:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
void Start()
{
Controller =
GetComponent<CharacterController>();
}
195
void Update()
{
if (Time.time < animationDuration)
{
Controller.Move(Vector3.forward *
speed * Time.deltaTime);
return;
}
moveVector = Vector3.zero;
if (Controller.isGrounded)
{
verticalVelocity = -0.5f;
}
else
{
verticalVelocity -= gravity *
Time.deltaTime;
}
moveVector.x =
Input.GetAxisRaw("Horizontal");
if (Input.GetMouseButton(0))
{
if (Input.mousePosition.x >
Screen.width / 2)
moveVector.x = speed;
else
moveVector.x = -speed;
}
moveVector.y = verticalVelocity;
moveVector.z = speed;
Controller.Move(moveVector *
Time.deltaTime);
}
}
196
5.15 Scripting Swipe
197
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
float startTime;
float endTime;
Vector3 startPos;
Vector3 endPos;
float swipeDistance;
float swipeTime;
void Update () {
if (Input.touchCount > 0)
{
Touch touch = Input.GetTouch(0);
if (touch.phase == TouchPhase.Began)
{
startTime = Time.time;
startPos = touch.position;
}
else if (touch.phase ==
TouchPhase.Ended)
{
endTime = Time.time;
endPos = touch.position;
198
swipeDistance = (endPos -
startPos).magnitude;
swipeTime = endTime - startTime;
if (swipeTime < maxTime &&
swipeDistance > minSwipeDist)
{
swipeA();
}
}
}
}
void swipeA()
{
Vector2 distance = endPos - startPos;
if (Mathf.Abs(distance.x) >
Mathf.Abs(distance.y))
{
Debug.Log("Horizontal Swipe");
if(distance.x > 0)
{
Debug.Log("Right Swipe");
player.GetComponent<PlayerMotor>();
}
if (distance.x < 0)
{
Debug.Log("Left Swipe");
player.GetComponent<PlayerMotor>();
}
}
else if (Mathf.Abs(distance.x) <
Mathf.Abs(distance.y))
{
199
Debug.Log("Vertical Swipe");
if (distance.y > 0)
{
Debug.Log("Up Swipe");
}
if (distance.y < 0)
{
Debug.Log("Down Swipe");
}
}
}
}
200
BAB VI
PENYELESAIAN
201
6.2 Setting Project Untuk Android Di Unity 3D
202
b. Klik Player Setting kemudian isikan company dan product
name serta Bundle Identifier. Jika anda mempunyai logo
game silahkan import pada icon. Juga ganti Package Name
nya.
203
204
c. Tarik semua Scene yang telah dibuat pada folder Scene ke
Scene in Builder kemudian klik Build. Tunggu hingga
proses Build selesai maka game telah berhasil di build ke
APK.
d. Klik build dan pilih lokasi save, kemudian ketik nama file
Narkono.Apk
205
e. Hasil build Narkono.Apk
206
DAFTAR PUSTAKA
207