Pertemuan 4 Nyoba Mono Develop Unity C Script
Pertemuan 4 Nyoba Mono. Develop, Unity C# Script + Ngetes Unity Lab Mata Kuliah Algoritma & Pemrograman Program Studi Desain Teknologi Permainan Sekolah Tinggi Multi Media Yogyakarta Tri Anggraeni, S. Kom. , M. Sc. Referensi: Chamillard, A. T. (2017). Beginning C# Programming with Unity: Mono. Develop Edition. Colorado: Burning Teddy.
Sintaks C# Application Class • Penjelasan tentang “ini program apa”. • Keywords (kata-kata yang merupakan sintaks C#). Tidak boleh salah tulis.
Sintaks Aturan yang menentukan urutan kata-kata dan pemberian tanda-tanda baca yang digunakan di program. • Materi Pertemuan 2 : – Yang disimpan di memori komputer : angka 0 dan 1. – Yang diinputkan ke komputer : bukan angka 0 & 1. – Perlu “sesuatu” untuk mengubah dari bukan 0 & 1 menjadi 0 & 1. – Bahasa pemrograman – Intepreter language / compiler language 2 types of programming languages
Intepreter language vs compiler language • Pada interpreted languages : interpreter converts program untuk dieksekusi CPU. Lambat. Karena conversion dilakukan ketika menjalankan (menge-run) program. • Pada compiled languages : compiler converts program to machine instructions (0 & 1) ; kemudian CPU run those instructions. Compiled programs run faster than interpreted programs because the translation to machine instructions has already been done. • Interpreters & compilers check the syntax of the program to make sure they're grammatically correct while they're translating them.
C# a compiled language or an interpreted language? • Both! • That's one of the characteristics that makes C# such a powerful programming language. • Ketika programs C# di-compile, compiler tidak men-generate machine instructions, tapi men-generate Common Intermediate Language (CIL). • CIL : portable to any machine. • Ketika program di-run (dijalankan), CIL is interpreted into machine instructions by the. NET Common Language Runtime (CLR) disebut hybrid approach gives C# great portability, waktu eksekusi program tidak lambat karena banyak translation effort dilakukan ketika compiler mengenerates CIL & karena CLR melakukan optimisasi.
Starting Mono. Develop • Go to C: Program FilesUnityMono. Developbin • Put a shortcut on your desktop. • Double click the Mono. Develop. exe file.
Klik New
Klik Console Project, klik Next
Isi Project Name, ubah lokasi penyimpanan ke lokasi yang lebih disukai. Klik Create.
Template console application Compile dengan menekan F 8 atau mengeklik menu Build, kemudian Build All.
Jika muncul “Build succeeded” di bawah menu Window, run (jalankan) dengan cara menekan Ctrl-F 5 Akan tampil :
Untuk membuka file program yang sudah ditutup/di-close • Klik File, Recent Solutions, atau: • Masuk ke folder solusi & klik 2 x file. sln-nya.
Next : Penjelasan sintak-sintak yang dipakai di program tadi : • • • Sintaks "using" Namespace Classes Method Main method Console Output Tanda kurung kurawal Comments Identifiers Mo dibahas apa dibaca sendiri?
Sintaks “using” Menggunakan namespaces & classes lain. • Namespaces & classes : kumpulan kode C# yang sudah ditulis, dites, & di-debug oleh orang lain. using System; Memberitau compiler bahwa program akan mengakses classes di namespace System.
Namespace Cara untuk mengelompokkan kode-kode program C#. Contoh : namespace Print. Rain. Message{ Menginformasikan di namespace mana class ini berada. IDE (Integrated Development Environment) otomatis mengenerate nama namespace di program berdasarkan nama project. Classes Building blocks for the problem solutions. File. cs : sering disebut juga application class karena merupakan class yang menjalankan program.
Method • Beberapa baris program di dalam class yang merupakan suatu struktur tersendiri & dapat digunakan untuk melakukan suatu hal. Diawali dengan access identifier, tipe, nama method, & dapat memiliki argumen. • Sering disebut dengan fungsi / function, tetapi lebih benar kalau disebut method.
Main Method yang dimiliki semua application classes. Entry point (titik masuk) utama ke aplikasi. Ketika program dijalankan : program melakukan hal-hal yang tertulis di Main method harus dideklarasikan sesuai dengan yang disediakan secara default oleh IDE : public static void Main(string[] args)
Console Output • Console. Write method : menampilkan apapun yang ada di dalam tanda kurungnya, & menempatkan cursornya pada baris output itu. • Console. Write. Line method : sda tapi cursor setelahnya ada di baris berikutnya.
Tanda kurung kurawal Banyak tanda kurung kurawal: Setelah namespace Setelah class Setelah mendeklarasikan nama method Letaknya tidak boleh salah
Comments • Tiap beberapa baris program harus diawali comment untuk menjelaskan untuk apa/apa yang dilakukan beberapa baris itu. • Macam-macamnya : – Class documentation comments : berisi deskripsi class. Harus diawali dengan baris ///<summary> dan diakhiri dengan baris ///</summary>. Contoh : /// <summary> /// A class to print Hello World message /// </summary> – Line comments : diawali // – Comment yang panjang sampai lebih dari 1 baris diapit tanda /* dan */. • IDE colors the text you enter for comments gray.
Identifiers Nama (untuk menamai apapun pada program). Aturan identifier : • Dapat terdiri atas huruf, angka, & underscores. • Tidak boleh diawali dengan angka, tidak boleh mengandung spasi. Tidak boleh berupa keywords (kata-kata yang merupakan sintaks C#). • Identifiers yang diperbolehkan : Weapon, player. Name, Spell, Delay. Time • Identifiers yang salah : 2_Names, int, double, player name • C# is case sensitive : identifier player. Name tidak sama dengan identifier playername pastikan menggunakan consistent capitalization style to avoid confusion.
Output program tadi : • Bagaimana kalau ingin menampilkan : Hello World! I’m eni • Tambahkan di bawah Console. Write. Line ("Hello World!"); : Console. Write. Line (“I’m eni");
Program sebelumnya : disebut Console application
Let’s try to make Unity scripts of the same output • Buka Unity. Bisa dari Start Menu atau shortcut di Desktop (jika ada). Klik New.
Ubah isian Project name menjadi Unity. Install. Test. Ubah lokasi ke yang lebih mudah diingat. Ubah Klik radio button 2 D. Klik tombol Create project. Akan tampil layout default editor Unity: Dapat diubah dengan cara mengeklik dropdown layout di pojok kanan atas & memilih salah satu pilihannya :
A bit about the different panes in Unity editor Pane Hierarchy : Menampilkan daftar semua object yang ada di scene yang diklik. Pane Project : Menampilkan & mengorganisasikan semua aset (scripts, art assets, sound effects, dll)
Membuat folder scenes & menyimpan scene yang sekarang • Di pane Project, klik Create, Folder. Beri nama : scenes • Save dengan Ctrl-S. Pastikan nge-save-nya di folder scenes yang baru dibuat. • Beri nama scene 0. Tekan Enter.
Klik 2 x folder scenes. Akan muncul: Di pane Hierarchy, klik dropdown di kiri scene 0. Akan muncul Main Camera (objek yang secara default disediakan Unity ketika menciptakan project).
Klik Main Camera di Pane Hierarchy • Perhatikan di sebelah kanan. Muncul Pane Inspector yang berisi karakteristik Main Camera. Menambahkan folder scripts • Di pane Project, klik Assets, Create, Folder, beri nama scripts, hingga terlihat : • Klik kanan folder scripts, pilih Create, C# Script, beri nama Install. Test.
Klik 2 x script Install. Test • Tampil window Mono. Develop :
Kalau yang tampil Visual Studio, untuk menampilkan Mono. Develop secara default : • Di Unity-nya, klik Menu Edit, Preferences, External Tools • Pada pilihan External Script Editor, klik Mono. Develop, klik Close.
The Install. Test Mono. Develop • Sama gak, dengan yang di Console Application? Tidak • Yang kita state mo buat : Unity scripts of the same output. • What output? Teks Hello. World.
Gimana cara nampilin Teks Hello. World-nya? • Di method Start. • Di antara kurung kurawal method Start, ketik sintaks untuk menampilkan teks Hello. World di program sebelumnya. (Jika lupa, copy dari program sebelumnya. Bisa dibuka di Notepad. ) Tambahkan teks I’m [your name] • Hapus method Update & comment di atasnya. (Karena tidak dipakai di program ini. ) • Jalankan (run) dengan F 8. • Tampil outputnya? Tidak. Ada error tiap manggil method Console. Writeline.
• Ganti Console. Write. Line dengan print • Jalankan (run) dengan F 8 lagi. Tampil outputnya? Tidak. Tapi muncul Build succeeded di bawah menu Window. • • • Save. Close Mono. Develop. Go back to the Unity editor. Klik tombol Play di bagian atas tengah Unity. Tampil outputnya? Tidak. Kenapa ya… Don’t worry.
Unity uses component-based system for objects we include in our games Very powerful technique Memudahkan pemberian behavior di objek-objek hanya dengan cara meng-attach (“memasang”) komponen yang tepat ke objek-objek itu. Contoh nyata : – Mengattach colliders (“penabrak”) sehingga suatu object berlari sampai ke suatu tujuan (nanti). – Mengattach rigidbodies sehingga suatu objek mengikuti hukum-hukum fisika (nanti). Script juga merupakan komponen yang di-attach ke 1 objek / lebih.
So what? ? • Program Unity. Install. Test tadi harus diattach sebagai komponen ke suatu objek di scene yang sudah dibuat. • How? – Drag script dari pane Project ke atas Main Camera di pane Hierarchy atau pane Scene. – Sehingga ketika Main Camera diklik, script Install. Test yang sudah di-add sebagai komponen Main Camera bisa terlihat di pane Inspector (kadang loading sebentar sebelum bisa terlihat).
Kadang karena belum terlihat di pane Inspector, kita ngeattach 2 scriptnya lagi sehingga tiba 2 ada lebih dari 1 script di komponen Main Camera Seperti berikut : Then how? Hapus attachan script yang berlebihan. How? Klik kanan pada attachan script yang berlebihan itu, kemudian klik Remove Component.
Klik tombol Play lagi (di bagian atas tengah Unity) • Klik pane Console. Tampaklah outputnya : • Klik tombol Play lagi untuk keluar dari mode Play. • Simpan dengan Ctrl-S. • Jika muncul warning : Berarti belum keluar dari mode Play Klik tombol Play.
Great job making your first C# script in Unity!
Latihan/PR : Pelajari program berikut & coba buat di Console Application & C# script Unity using System; namespace Aplikasi. Persegi. Panjang{ /// <summary> /// Outputs a variety of rectangular characteristics /// </summary> class Main. Class { /// <summary> /// Outputs panjang, lebar, and area for rectangular with panjang & lebar ini /// </summary> /// <param name="args">command-line arguments</param> public static void Main(string[] args) { int panjang = 9; int lebar = 8; } } } // luas persegi panjang dengan panjang & lebar itu : int area = panjang * lebar; Console. Write. Line(“panjang : " + panjang + “, lebar : ” + lebar +", Area: " + area); Console. Write. Line(); // modifikasi jika ada error ketika menjalankan program ini
- Slides: 40