Skip to content

Commit b8666d4

Browse files
committed
Update Readme, kurang Game Scene
1 parent bd23b10 commit b8666d4

File tree

1 file changed

+149
-2
lines changed

1 file changed

+149
-2
lines changed

Assets/5-Navigasi-Scene/README.md

Lines changed: 149 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,150 @@
1-
# Navigasi Scene
1+
# 5. Navigasi Scene
22

3-
TBA
3+
Pada Sub bab ini, kita akan belajar cara melakukan navigasi pada scene dan bagaimana membuat kebutuhan lainnya.
4+
5+
**Agar workshop pada hari-h berjalan dengan lancar, setiap peserta diharapkan sudah melakukan instalasi unity secara mandiri pada komputer masing masing**
6+
7+
## Pembuatan Scene
8+
9+
Kali ini kita membutuhkan tiga scene, yaitu scene Menu, scene Setting, dan scene Game. Scene Menu berguna sebagai awal mula game dimulai.
10+
Scene Setting digunakan untuk mengatur kebutuhan resolusi, dan scene Game sebagai scene inti dari game yang akan dibuat. Cara membuatnya mudah yaitu:
11+
12+
- Klik kanan pada Project
13+
- Create Scene
14+
- Rename dengan yang diinginkan
15+
16+
### Menu Scene
17+
Disini kita akan membuat Menu scene yang berisikan tiga button, yaitu Play, Setting, dan Exit. untuk membuat nya:
18+
19+
- Klik kanan di hierarchy, UI, lalu button. Pada Hierarchy akan muncul button dengan text sebagai bawaannya.
20+
21+
- Setelah kita membuat 3 button dan diganti text nya, lalu kita membuat background.
22+
23+
- klik kanan di hierarchy, UI,lalu Panel. Panel digunakan sebagai background. Anda dapat mengganti gambar pada sprite.
24+
25+
- Kemudian kita akan membuat script dimana button tersebut akan berfungsi. peserta membuat script "MainMenu.cs" dengan kode berikut.
26+
27+
```C#
28+
using System.Collections;
29+
using System.Collections.Generic;
30+
using UnityEngine;
31+
using UnityEngine.SceneManagement;
32+
33+
public class MainMenu : MonoBehaviour
34+
{
35+
// Start is called before the first frame update
36+
void Start()
37+
{
38+
39+
}
40+
41+
// Update is called once per frame
42+
public void PlayGame()
43+
{
44+
SceneManager.LoadScene("Game");
45+
}
46+
47+
public void SettingGame()
48+
{
49+
SceneManager.LoadScene("Setting");
50+
}
51+
52+
public void ExitGame()
53+
{
54+
Application.Quit();
55+
}
56+
}
57+
```
58+
59+
- Kemudian membuat sebuah empty gameobject untuk menampung seluruh button nya, kita rename dengan "MainMenu" dan berikan script "MainMenu.cs"
60+
- Pada Button, kemudian kita cari onClick, lalu kita add, dan masukkan "MainMenu". Disitu kita dapat melihat fungsi yang kita buat. Masukkan SettingGame() pada button setting dan seterusnya
61+
- Kemudian menambahkan scene pada build, kita tambahkan ketiganya.
62+
- Scene Menu dapat kita run
63+
64+
### Setting Scene
65+
66+
Disini kita akan membuat Setting scene yang berisikan Text untuk Title, Toggle, dan Dropdown. untuk membuat nya:
67+
68+
- Klik kanan di hierarchy, UI, lalu Text. Pada Hierarchy akan muncul text sebagai Judul.
69+
70+
- Setelah kita membuat Toggle dan diganti text nya.
71+
72+
- klik kanan di hierarchy, UI,lalu Dropdownl. Dropdown ini berfungsi sebagai tombol yang memiliki banyak opsi.
73+
74+
- Kemudian kita akan membuat script dimana button tersebut akan berfungsi. peserta membuat script "SettingMenu.cs" dengan kode berikut.
75+
76+
```C#
77+
using System.Collections;
78+
using System.Collections.Generic;
79+
using UnityEngine;
80+
using UnityEngine.Audio;
81+
using UnityEngine.SceneManagement;
82+
using UnityEngine.UI;
83+
84+
public class SettingMenu : MonoBehaviour
85+
{
86+
Resolution[] resolutions;
87+
public Dropdown resolutionDropdown;
88+
int currentResolutionIndex = 0;
89+
// Start is called before the first frame update
90+
void Start()
91+
{
92+
resolutions = Screen.resolutions;
93+
resolutionDropdown.ClearOptions();
94+
List<string> options = new List<string>();
95+
for (int i = 0; i < resolutions.Length; i++)
96+
{
97+
string option = resolutions[i].width + " x " + resolutions[i].height;
98+
options.Add(option);
99+
100+
if (resolutions[i].width == Screen.currentResolution.width && resolutions[i].height == Screen.currentResolution.height)
101+
{
102+
currentResolutionIndex = i;
103+
}
104+
}
105+
resolutionDropdown.AddOptions(options);
106+
resolutionDropdown.value = currentResolutionIndex;
107+
resolutionDropdown.RefreshShownValue();
108+
109+
}
110+
111+
public void SetFullscreen(bool isFullScreen)
112+
{
113+
Screen.fullScreen = isFullScreen;
114+
}
115+
116+
public void SetResolution(int resolutionIndex)
117+
{
118+
Resolution resolution = resolutions[resolutionIndex];
119+
Screen.SetResolution(resolution.width, resolution.height, Screen.fullScreen);
120+
}
121+
122+
public void BackToMenu()
123+
{
124+
SceneManager.LoadScene("Menu");
125+
}
126+
}
127+
```
128+
129+
- Kemudian membuat sebuah empty gameobject untuk menampung seluruh text, toggle, dan dropdown nya, kita rename dengan "SettingMenu" dan berikan script "SettingMenu.cs", kemudian masukkan object dropdown pada script tersebut.
130+
- Pada toggle, kemudian kita cari onClick, lalu kita add, dan masukkan "SettingMenu". Disitu kita dapat melihat fungsi yang kita buat. Masukkan SetFullscreen() pada button setting dan seterusnya
131+
- Setting Menu dapat kita run
132+
133+
### Game Scene
134+
135+
TBA
136+
137+
## Workshop Pembuatan Game
138+
139+
Pada workshop kali ini, kita akan membahas pembuatan game [top down](https://en.wikipedia.org/wiki/Video_game_graphics#Top-down_perspective) menggunakan Unity dari yang paling mendasar sehingga mudah dipahami oleh pemula.
140+
Beberapa bagian pada workshop kali ini akan banyak bersinggungan dengan pemrograman berbasis [C#](https://en.wikipedia.org/wiki/C_Sharp_(programming_language))
141+
dan untuk hal teknis yang bersinggungan dengan Unity-nya langsung hanya akan disinggung secara singkat.
142+
Nantinya selain mendapat bekal pembuatan game engine Unity, peserta juga diharapkan bisa mendapatkan pengetahuan pada dasar pemrograman yang nantinya bisa dipakai di hal lain.
143+
144+
Alur dari pembuatan game top down menggunakan unity adalah sebagai berikut:
145+
1. [Pengenalan Konsep](./Assets/1-Pengenalan-Konsep/README.md)
146+
2. [Gerakan dan Animasi](./Assets/2-Gerakan-dan-Animasi/README.md)
147+
3. [Object Collision](./Assets/3-Object-Collision/README.md)
148+
4. [Pathfinding](./Assets/4-Pathfinding/README.md)
149+
5. [Navigasi Scene](./Assets/5-Navigasi-Scene/README.md)
150+
6. [Game Deployment](./Assets/6-Game-Deployment/README.md)

0 commit comments

Comments
 (0)