Universitas Sumatera Utara Repositori Institusi USU
http://repositori.usu.ac.id
Departemen Matematika
Kertas Karya Diploma (Teknologi Informasi)
2017
Perancangan dan Pembuatan Aplikasi Game Adventure berbasis 2D menggunakan Adobe Flash CS6 ActionScript 3.0 Nainggolan, Reynaldo Frederikus http://repositori.usu.ac.id/handle/123456789/3665 Downloaded from Repositori Institusi USU, Univsersitas Sumatera Utara
PERANCANGAN DAN PEMBUATAN APLIKASI GAME ADVENTURE BERBASIS 2D MENGGUNAKAN ADOBE FLASH CS6 ACTIONSCRIPT 3.0
TUGAS AKHIR
REYNALDO FREDERIKUS NAINGGOLAN 142406010
PROGRAM STUDI D3 TEKNIK INFORMATIKA DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2017
Universitas Sumatera Utara
PERANCANGAN DAN PEMBUATAN APLIKASI GAME ADVENTURE BERBASIS 2D MENGGUNAKAN ADOBE FLASH CS6 ACTIONSCRIPT 3.0
TUGAS AKHIR Diajukan untuk melengkapi tugas dan memenuhi syarat memeperoleh Ahli Madya
REYNALDO FREDERIKUS NAINGGOLAN 142406010
PROGRAM STUDI D3 TEKNIK INFORMATIKA DEPARTEMEN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2017
Universitas Sumatera Utara
i
Universitas Sumatera Utara
PERNYATAAN
PERANCANGAN DAN PEMBUATAN APLIKASI GAMEADVENTURE BERBASIS 2D MENGGUNAKAN ADOBE FLASH CS6 ACTIONSCRIPT 3.0
TUGAS AKHIR
Saya mengakui bahwa tugas akhir ini adalah hasil karya sendiri. Kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Juli 2017
Reynaldo Frederikus Nainggolan 142406010
ii
Universitas Sumatera Utara
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Pemurah dan Maha Penyayang, dengan limpah karunia-Nya Penulis dapat menyelesaikan penyusunan Tugas Akhir ini dengan judul Perancangan dan Pembuatan Aplikasi Game Adventure berbasis 2D menggunakan Adobe Flash CS6 ActionScript 3.0. Terimakasih penulis sampaikan kepada Bapak Drs. Rosman Siregar, M.Si. selaku pembimbing yang telah meluangkan waktunya selama penyusunan Tugas Akhir ini. Terima kasih kepada Ibu Dr. Dra. Elly Rosmaini, M.Si. sebagai Dosen Pembimbing Akademik yang telah membimbing penulis selama duduk di bangku perkuliahan. Terimakasih kepada Ibu Dra. Normalina Napitupulu, M.Sc. dan Bapak Drs. James Piter Marbun, M.Kom selaku Ketua dan Sekretaris Program Studi D3 Teknik Informatika FMIPA USU Medan, Dekan dan Wakil Dekan FMIPA USU, seluruh Staff dan Dosen Program Studi D3 Teknik Informatika FMIPA USU, pegawai FMIPA USU dan rekan-rekan kuliah. Akhirnya tidak terlupakan kepada Bapak, Ibu dan keluarga yang selama ini memberikan bantuan dan dorongan yang diperlukan. Semoga Tuhan Yang Maha Esa akan membalasnya.
Medan, Juli 2017
Reynaldo Frederikus Nainggolan
iii Universitas Sumatera Utara
PERANCANGAN DAN PEMBUATAN GAME ADVENTURE BERBASIS 2D MENGGUNAKAN ADOBE FLASH CS6 ACTIONSCRIPT 3.0
ABSTRAK
Semakin majunya perkembangan teknologi di era modern ini semakin memunculkan game-game baru dengan kualitas grafis yang semakin mendekati dengan kehidupan nyata, game-game terbaru yang menjadikan grafis gamenya lebih nyata memang semakin menarik dan membuat para pemainnya beralih ke game yang lebih modern ini dan mulai melupakan game game 2 dimensi yang bersifat flat atau datar hanya 2 dimensi. Game 2 dimensi yang dulu menjadi favorit di era 90an mulai ditinggalkan, sehingga game adventure berbasis 2 dimensi ini kembali diangkat untuk mempopulerkan kembali game berbasis 2 dimensi yang kurang menarik itu menjadi game 2 dimensi dengan desain tampilan dan grafis yang lebih modern dengan desain flat sebagai dasarnya, sehingga game game seperti ini akan berkembang di pasar modern dan dapat bersaing dengan game game berbasis 3 dimensi. Kata kunci: Adobe Flash CS6, ActionScript 3.0, 2 Dimensi, Game.
iv
Universitas Sumatera Utara
DESIGNING AND MAKING AN ADVENTURE GAME 2D BASED USING ADOBE FLASH CS6 ACTIONSCRIPT 3.0
ABSTRACT
More advanced of technological developments in this modern era more bringing up the new generation of the game with the new graphic quality that more bringing the real life playing into the game, the new game that apply the real life playing is so intersting and made the gamer move on to the newest game that more modern and have been forgetting the 2D game that based is flat because of the graphic is just 2D . 2D Game that was become the favorite in 90line’s had been abandoned, so this 2D Adventure Game is come back to being repopularing the 2D game based that less interested become the 2D based game with design and graphic more modern with design flat style as the base, so game like this would upgraded in modern marketing and can be competed with another 3D based game. Keywords: Adobe Flash CS6, ActionScript 3.0, 2D, Game.
v
Universitas Sumatera Utara
DAFTAR ISI
Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Gambar Daftar Lampiran
i ii iii iv v vi viii ix
Bab 1. Pendahuluan 1.1. Latar Belakang 1.2. Perumusan Masalah 1.3. Batasan Masalah 1.4. Tujuan Penelitian 1.5. Manfaat Penelitian 1.6. Metodologi Penelitian 1.7. Sistematika Penulisan
1 2 3 3 4 4 6
Bab 2. Landasan Teori 2.1. Pengertian Game 2.2. Game Adventure 2.3. Elemen Dasar Game 2.4. Tentang Flash 2.5. Adobe Flash CS6 2.6. Action Script 3.0
8 8 10 12 13 13
Bab 3. Perancangan Sistem 3.1. Data Flow Diagram (DFD) 3.1.1. Diagram Alir Data 3.2. Flowchart Sistem 3.3. Perancangan Sistem
16 17 17 19
Bab 4. Implementasi Sistem 4.1. Tujuan Implementasi Sistem 4.2. Komponen dalam Implementasi Sistem 4.2.1. Perangkat Keras (Hardware) 4.2.2. Perangkat Lunak (Software) 4.2.3. Perangkat Operator (Brainware) 4.3. Tampilan Aplikasi
24 25 25 26 26 27
Bab 5. Kesimpulan dan Saran 5.1. Kesimpulan
32
vi
Universitas Sumatera Utara
5.2. Saran
32
Daftar Pustaka Lampiran
vii
Universitas Sumatera Utara
DAFTAR GAMBAR
Nomor Gambar 3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. 3.8. 4.1. 4.2. 4.3. 4.4. 4.5. 4.6. 4.7. 4.8.
Judul
Diagram Konteks Flowchart Tampilan Utama Flowchart Menu Game Tampilan Intro Game Tampilan Menu Game Tampilan Game Tampilan Game Over Tampilan High Score Halaman Introducing Halaman Proses Loading Halaman Menu Game Halaman Level 1 Halaman Game Over Halaman Level 2 Halaman Finish Level 2 Halaman Completed Game & High Score
Halaman
17 18 19 20 21 21 22 23 27 28 28 29 29 30 30 31
viii
Universitas Sumatera Utara
DAFTAR LAMPIRAN
Nomor Lamp 1. 2. 3 4.
Judul
Halaman
Listing Program Surat Keterangan Hasil Uji Program Kartu Bimbingan Tugas Akhir SK Pembimbing Tugas Akhir
1
ix
Universitas Sumatera Utara
BAB 1 PENDAHULUAN
1.1 Latar Belakang
Game adalah permainan yang terstruktur, yang biasanya dibuat untuk menghilangkan stress atau juga bisa dibuat untuk pendidikan agar orang yang ingin belajar tidak merasakan rasa bosan pada suatu hal yang ingin dia pelajari. Komponen dari Game itu adalah tujuan, aturan, tantangan, dan interaksi. Game pada umumnya melibatkan stimulasi mental atau fisik, dan bisa keduanya. Banyak Game yang bisa mengembangkan kreatifitas seseorang sebagai bahan latihan atau stimulasi pendidikan Di era globalisasi saat ini game sudah menjadi media hiburan yang cukup banyak diminati oleh masyarakat, salah satunya ialah game bergenre adventure. Pada jaman modern seperti ini banyak Game yang melibatkan permainan yang menggunakan Otak tanpa menggerakan seluruh fisik dikarenakan oleh teknologi yang berkembang pesat. Game bergenre adventure peminatnnya tidak hanya gamer, tetapi juga banyak digandrungi anak-anak, remaja, dewasa, serta orang tua. Game adventure juga salah satu permainan yang dapat dimainkan bersama keluarga, contoh game adventure seperti Mario Bross, Metal Slug , Sonic The Hedgehog, Crash Bandicoot dan lainnya.
Universitas Sumatera Utara
2
Game adventure dapat juga dikatakan sebagai sebuah game yang memberikan kesempatan pada pemainnya untuk menganalisis arena permainan secara visual. Game ini juga tidak menuntut para pemainnya agar memiliki kemampuan khusus dalam menyelesaikan sebuah misi, namun cukup dengan mengalahkan musuhmusuh, menghindari rintangan, dan mengikuti alur cerita dalam sebuah permainan. Selain asyik, game bergenre adventure ini juga banyak dimainkan diwaktu senggang, sehingga banyak dari kita pun bertanya bagaimana cara membuat game berjenis petualangan tersebut? Dengan adanya hal ini, penulis tertarik dalam membuat game berjenis adventure dengan Adobe Flash CS6 menggunakan bahasa pemrograman ActionScript 3.0.
1.2 Perumusan Masalah
Game adventure berbasis 2D atau 2 dimensi sekarang kepopulerannya sudah menurun dibandingkan dengan game-game lainnya yg sudah berbasis 3D atau 3 dimensi. Dikarenakan meningkatnya perkembangan teknologi dan minat terhadap grafis game yg lebih baik dari versi 2 dimensi, sehingga penulis berminat untuk membuat Game Adventure berbasis 2D dengan grafis yang terkesan lebih modern, dengan efek tampilan pop art, design yang flat dan terkesan simple.
Universitas Sumatera Utara
3
1.3 Batasan Masalah
Adapun batasan masalah dalam pembuatan game ini meliputi: a. Game adventure ini hanya untuk platform PC dengan player yang mensupport Adobe Flash b. Hanya bisa dimainkan oleh 1 orang pemain c. Game ini dibangun menggunakan bahasa pemrograman ActionScript 3.0 d. Menggunakan Adobe Flash CS6 sebagai tool dalam tahap desain tampilan serta pengkodingan
1.4 Tujuan Penelitian
Adapun tujuan dari penelitian adalah pembuatan game adventure sebagai sarana hiburan bagi semua usia, dengan basis yang lebih modern dan lebih menarik seperti tren yang berkembang sekarang. Dikarenakan game ini menjadi salah satu game favorite penulis, sehingga penulis ingin membuat dan merancang game buatan sendiri dan ingin kembali menaikkan pamor game adventure berbasis 2 dimensi.
Universitas Sumatera Utara
4
1.5 Manfaat Penelitian
Pembuatan game adventure berbasis 2D ini memiliki beberapa manfaat, yaitu : 1.
Bagi penulis, meningkatkan pemahaman dan pengetahuan dalam membangun suatu game, sehingga penulis berkesempatan untuk kembali meningkatkan game ini dan memasuki pasar perdagangan aplikasi.
2.
Bagi pembaca, menjadi acuan untuk melakukan pembuatan game yang lebih baik lagi, sehingga bisa menciptakan versi android, versi playstation, dan lainnya.
3.
Menjadi referensi bagi penelitian-penelitian berikutnya.
1.6 Metodologi Penelitian
Dalam menyusun laporan akhir studi ini, penulis menerapkan beberapa metodologi penelitian untuk merancang, mendesain dan membangun game yang diharapkan. Adapun metodologi penelitian yang diterapkan penulis adalah sebagai berikut : 1.
Pengumpulan data dan informasi a. Studi Pustaka Metode pengumpulan data dan informasi yang dilakukan penulis dengan membaca buku-buku literatur mengenai poin-poin yang bersangkutan dan melakukan
searching
literatur
menggunakan
internet
browser untuk
tambahan data dan informasi.
Universitas Sumatera Utara
5
b. Analisis Permasalahan Pada tahap ini dilakukan analisis terhadap bahan referensi yang telah dikumpulkan pada tahap sebelumnya untuk mendapatkan pemahaman mengenai metode yang diterapkan yakni teknik cut-out untuk animasi 2.
Memahami Model Proses Pada tahap ini penulis menentukan model proses apa yang digunakan dalam pengembangan game tersebut.
3.
Memahami Model Data Model data adalah suatu gambaran yang menunjukkan hubungan antar komponen data yang akan dibuat.
4.
Identifikasi Masalah Dalam penelitian ini, penulis dapat mengidentifikasi masalah yang ada sebagai berikut: a. Berkurangnya minat masyarakat terhadap game yang berbasis 2D, dikarenakan kebanyakan game sudah menganut basis 3D dan grafis yang lebih menarik b. Tergantikannya game-game adventure yang skenario atau jalan ceritanya tidak update yang dapat ditamatkan hanya dengan sekali main, terganti dengan game yang sudah berbasis online dan selalu update
5.
Merancang Konsep Pembuatan Game Konsep pembuatan game yang diusulkan penulis adalah menentukan desain untuk latar belakang permainan, desain karakter, desain objek-objek dalam permainan, pengkodingan, serta pembuatan alur cerita permainan.
Universitas Sumatera Utara
6
6.
Pembuatan Program Pembuatan program dilakukan dengan menggunakan bahasa pemrograman ActionScript 3.0 dan Adobe Flash CS6 sebagai tools dalam tahap mendesain dan merancang pembuatan program. Pembuatan program dilakukan sesuai dengan konsep pembuatan game yang diusulkan.
7.
Implementasi Sistem Implementasi sistem dilakukan sesuai dengan rancangan yang telah dikonsepkan. Implementasi dan pengujian dilakukan pada flash game yang sudah di build dan siap di running
8.
Pengujian Perangkat Lunak Pengujian perangkat lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain dan pengkodean.
9.
Penulisan Laporan Penelitian Pada tahap ini dilakukan penyusunan laporan dari perancangan dan pembuatan Aplikasi Game Adventure Berbasis 2D berupa laporan akhir studi.
1.7 Sistematika Penulisan
Agar dapat memberikan gambaran yang jelas pada penulisan Tugas Akhir ini, maka penulis membaginya dalam beberapa bab sebagai berikut: BAB 1 : PENDAHULUAN Bab ini menguraikan tentang latar belakang pembangunan aplikasi, perumusan masalah, batasan masalah, tujuan penelitian, manfaat
Universitas Sumatera Utara
7
penelitian, metodologi penelitian, hingga sistematika penulisan Tugas Akhir ini.
BAB 2 : LANDASAN TEORI Bab ini menguraikan tentang teori-teori dasar dalam pembangunan aplikasi Game Adventure. Mulai dari pengertian apa itu Flash CS6 hingga apa-apa saja yang dibutuhkan untuk memulai pemrograman dengan ActionScript 3.0.
BAB 3 : PERANCANGAN SISTEM Bab ini menguraikan mengenai perancangan sistem mulai dari perancangan tampilan, perancangan karakter dan objek dalam permainan, perancangan alur cerita permainan, diagram konsep sistem, hingga flowchart sistem.
BAB 4 : IMPLEMENTASI SISTEM Bab
ini
menguraikan
tentang
bagaimana
proses
lanjutan
dari
perancangan sistem. Menguraikan secara detail bagian implementasi sistem dan menyorot apakah implementasi sesuai dengan perancangan sistem.
BAB 5 : KESIMPULAN DAN SARAN Bab ini menguraikan tentang kesimpulan dan saran yang dikutip oleh penulis selama proses pembangunan aplikasi.
Universitas Sumatera Utara
BAB 2 LANDASAN TEORI
2.1 Pengertian Game
Game merupakan kata dari bahasa inggris yang berarti suatu permainan atau pertandingan yang bisa diartikan sebagai suatu aktifitas terstruktur yang sudah biasa dilakukan untuk bersenang senang, sehingga game menjadi kebutuhan dasar untuk menikmati hidup serta menjadi media pembelajaran. Karena itu game tidak hanya dimainkan untuk mencari kesenangan dan hiburan saja bagi penggunanya, namun juga dapat berfungsi sebagai sarana latihan, pendidikan dan simulasi yang diterapkan dalam bidang pengajaran kepada siswa, media pelatihan bagi para trainer, dan simulasi sebagai media pengambaran akan apa yang akan dilakukan.
2.2 Game Adventure
Game Adventure atau petualangan adalah game yang sering kita jumpai di pasaran. Game ini agak umum sehingga hampir semua game juga memiliki unsur game adventure walaupun tidak spesifik. Game ini biasanya memiliki satu tokoh utama yang kita mainkan dan kita jalankan secara langsung dari awal sampai tamat mengikuti jalan cerita.
Universitas Sumatera Utara
9
Beberapa macam genre game diantaranya adalah Adventure Game (Petualangan), Action Shootting Game (Tembak-menembak), Fighting Game (Pertarungan), Strategic Game (Strategi), Simulation Game (Simulasi), Puzzle Game (Menyusun), Sport Game (Olahraga), Education Game (Edukasi). Dalam hal ini, penulis mengambil genre Adventure Game sebagai bahan Tugas Akhir. Pengambilan Adventure
Game
didasarkan
oleh
klasifikasi
game
berdasarkan
tujuan
penggunaannya, yaitu:
1. Game as Game Game yang dimaksud adalah game untuk mencari kesenangan atau hiburan. Contoh umum dari game as game adalah game yang termasuk dalam adventure game, fighting game, sport game, action shooting game, role playing game dan lain-lain.
2. Game as Media Tujuan utama dari game as media adalah untuk menyampaikan pesan tertentu,menyampaikan pesan dari pembuat game tersebut. Contoh umum dari game as media adalah game yang termasuk dalam serious game, seperti advergame, edutainment atau edugame, exergame, simulasi, dan lainnya.
3. Game Beyond Game Bisa disebut juga dengan istilah gamification. Gamification adalah penerapan konsep atau cara berpikir game design ke dalam lingkup non-game. Bentuk
Universitas Sumatera Utara
10
gamification sendiri pun biasanya tidak berupa game, misalnya sistem reward dari poin yang dikumpulkan dengan berbelanja, atau lainnya.
Pada Penelitian Tugas Akhir ini tujuan penggunaan game yang diterapkan ialah game as game. Penulis berusaha membuat game yang lebih menarik dan lebih tren dengan grafis yang flat. Sehingga menjadikan game adventure berbasis 2 dimensi menjadi naik daun kembali dan menjadi pilihan untuk mengisi waktu dan bersenang senang.
2.3 Elemen Dasar Game
Elemen Dasar Game, Menurut Teresa Dillon elemen-elemen dasar sebuah game adalah :
1. Game Rule Game rule merupakan aturan perintah, cara menjalankan, fungsi objek dan karakter didalam game. Dunia game bisa berupa pulau, dunia khayal, dan tempat-tempat lain yang sejenis yang dipakai sebagai setting tempat dalam permainan game.
2. Plot Plot biasanya berisi informasi tentang hal-hal yang akan dilakukan oleh player dalam game secara detail serta perintah tentang hal yang harus dicapai dalam game.
Universitas Sumatera Utara
11
3. Thema Di dalam biasanya ada pesan moral yang akan disampaikan character atau pemain sebagai karakter utama maupun karakter yang lain yang memiliki ciri dan sifat tertentu.
4. Object Merupakan sebuah hal yang penting dan biasanya digunakan pemain untuk memecahkan masalah, ada kalanya pemain harus punya keahlian dan pengetahuan untuk bisa memaninkannya.
5. Text, grafik dan sound Game biasanya merupakan kombinasi dari media teks, grafik maupun suara, walaupun tidak harus semuanya ada dalam permainan game.
6. Animasi Animasi ini selalu melekat pada dunia game, khususnya untuk membuat gerakan karakter karakter yang ada dalam game, properti serta objek-objek didalam game.
7. User Interface Merupakan fitur-fitur yang mengkomunikasikan user dengan game.
Universitas Sumatera Utara
12
2.4 Tentang Flash
Flash adalah program grafis yang diproduksi oleh Macromedia corp, yaitu sebuah vendor software yang bergerak dibidang animasi web. Macromedia Flash pertama kali diproduksi pada tahun 1996. Macromedia flash telah diproduksi dalam beberapa versi. Versi terakhir dari Macromedia Flash adalah Macromedia flash 8. Sekarang Flash telah berpindah vendor menjadi Adobe. Adobe adalah vendor software yang membeli Flash dari vendor sebelumnya yaitu Macromedia. Sejak itu, Macromedia Flash berganti nama menjadi Adobe Flash. Versi
terbaru
dari
Adobe
Flash
adalah
Dalam pembuatan game ini penulis sudah
Adobe
Flash
menggunakan
CS6 Adobe
Professional. Flash CS6
Professional sebagai aplikasinya. Flash tidak hanya digunakan
dalam pembuatan animasi, tetapi pada
zaman sekarang ini flash juga banyak digunakan untuk keperluan lainnya seperti dalam pembuatan game, presentasi,
membangun
web,
animasi
pembelajaran,
bahkan juga dalam pembuatan film. Game yang dihasilkan flash adalah animasi berupa file movie. Movie yang dihasilkan dapat berupa grafik atau teks. Grafik yang dimaksud disini adalah grafik yang berbasis vektor, sehingga saat diakses melalui internet, game akan ditampilkan lebih cepat dan terlihat halus. Selain itu flash juga memiliki kemampuan untuk mengimpor file suara, video maupun file gambar dari aplikasi lain.
Universitas Sumatera Utara
13
2.5 Adobe Flash CS6
Adobe Flash CS6 adalah salah satu aplikasi pembuat animasi yang cukup dikenal saat ini. Berbagai fitur dan kemudahan yang dimiliki menyebabkan Adobe Flash CS6 menjadi program animasi favorit dan cukup populer. Tampilan, fungsi dan pilihan palet yang beragam, serta kumpulan tool yang sangat lengkap sangat membantu dalam pembuatan karya animasi yang menarik.
2.6 Action Script 3.0
ActionScript 3.0 adalah bahasa pemrograman berorientasi objek yang menandakan sebuah langkah penting dalam evolusi kemampuan Flash Player runtime. Motivasi pembuatan ActionScript 3.0 adalah untuk menciptakan bahasa ideal untuk cepat membangun pengayaan aplikasi Internet, yang telah menjadi bagian penting dari pengalaman dalam pembuatan web. Versi sebelumnya dari ActionScript menawarkan kekuatan dan fleksibilitas yang diperlukan untuk membuat media online yang menarik. Kemajuan bahasa actionScript 3.0 sekarang, memberikan kinerja yang luar biasa dan kemudahan pengembangan untuk memfasilitasi aplikasi yang sangat kompleks, dataset besar, dan berorientasi obyek, basis kode dapat digunakan kembali. Dengan ActionScript 3.0, pengembang dapat mencapai produktivitas yang sangat baik dan kinerja dengan konten dan aplikasi yang menargetkan Flash Player.
Universitas Sumatera Utara
14
Pada Flash, Action Script memilki beberapa fungsi dasar, antara lain : 1. Animation Animasi yang sederhana memang tidak membutuhkan Action Script, namun untuk animasi yang kompleks, Action Script akan sangat membantu. Sebagai contoh, animasi bola yang memantul di tanah yang mengikuti hukum fisika akan membutuhkan ratusan frame. Namun dengan menggunakan Action Script, animasi tersebut dapat dibuat hanya dalam satu frame. 2. Navigasi Pergerakan animasi pada Flash secara default bergerak ke depan dari satu frame ke frame yang lainnya hingga selesai. Namun dengan Action Script, jalannya animasi dapat dikontrol untuk berhenti di suatu frame dan berpindah ke sembarang frame sesuai dengan pilihan dari user. 3. User Input Action Script dapat digunakan untuk menerima suatu masukan dari user yang kemudian informasi tersebut dikirimkan kepada server untuk diolah. Dengan kemampuan ini, Action Script dapat digunakan untuk membangun suatu aplikasi web berbasis Flash. 4. Memperoleh Data Seperti yang telah dijelaskan sebelumnya, Action Script dapat melakukan interaksi dengan server. Dengan demikian kita dapat meng-update informasi lalu menampilkannya kepada user.
Universitas Sumatera Utara
15
5. Kalkulasi Action Script dapat melakukan kalkulasi, misalnya seperti yang diterapkan pada aplikasi shopping chart. 6. Grafik Action Script dapat mengubah ukuran sebuah grafik, sudut rotasi, warna movie clip dalam movie, serta dapat menduplikasi dan menghapus item dari screen. 7. Mengenali Environment Action Script dapat mengambil nilai waktu dari sistem yang digunakan oleh user. 8. Memutar Musik Selain animasi yang berupa gerakan, pada program Flash juga dapat diinputkan sebuah musik sehingga animasi yang dihasilkan menjadi lebih menarik. Pada hal ini Action Script dapat digunakan untuk mengontrol balance dan volume dari musik tersebut.
Universitas Sumatera Utara
BAB 3 PERANCANGAN SISTEM
Pada saat hendak membuat sebuah sistem yang akan digunakan pada suatu perusahaan, setiap pengembang aplikasi diharuskan membuat sebuah rancangan dari sistem yang ingin dibuat. Rancangan ini bertujuan untuk memberi gambaran umum dari sistem yang akan berjalan nantinya kepada setiap stakeholder. setiap stakeholder. Perancangan Sistem yang dilakukan merupakan analisis perangkat lunak, analisis program dan model yang akan di buat. Oleh karena itu semua data yang ada didalam sistem akan dikemas dalam suatu basis data, kemudian dideskripsikan kedalam Data Flow Diagram, Diagram, Diagram Alir Data dan Flowchart system. system.
3.1. Data Flow Diagram (DFD)
Data Flow Diagram merupakan suatu diagram yang menggunakan notasi-notasi untuk menggambarkan arus data sistem, yang penggunaannya sangat membantu untuk memahami sistem secara logika, tersruktur dan jelas. Diagram alir data pun dapat digunakan baik pada ta hap analisis maupun tahap desain, namun kecenderungan diagram ini lebih cocok digunakan untuk tahap desain karena dengan diagram tersebut batasan ruang lingkup sistem terlihat sangat jelas sehingga pekerjaan pengembangan sistem yang dilakukan dapat lebih fokus.
Universitas Sumatera Utara
17
3.1.1.Diagram Alir Data
Diagram alir data mengindentifikasikan secara terperinci komponen sistem informasi yang diterima. Tujuan dari penggambaran diagram ini adalah untuk memberikan gambaran umum kepada pemakai (user) tentang sistem yang dirancang.
Gambar 3.1. Diagram Konteks
3.2. Flowchart Sistem
Flowchart adalah sekumpulan bagan yang terdiri dari simbol-simbol tertentu yang mengambarkan suatu rangkaian proses secara detail dan hubungan antara suatu proses (instruksi) dengan proses yang lainnya dari awal hingga akhir dalam suatu program.
Universitas Sumatera Utara
18
Gambar 3.2. Flowchart Tampilan Utama
Universitas Sumatera Utara
19
Gambar 3.3. Flowchart Menu Game
3.3. Perancangan Sistem
Perancangan sistem atau interface meliputi beberapa perancangan diantaranya perancangan menu welcome, menu, menu play, menu help, menu game about dan form Champions. Berikut ini merupakan perancangan-perancangan sistem atau interface yang ada di dalam program aplikasi ini:
Universitas Sumatera Utara
20
1. Tampilan Intro Game
Di awal program aplikasi terdapat tombol yang menuju ke form game yang berikutnya, yaitu form menu game. Tombol itu adalah tombol menu yaitu tombol untuk ke menu game serta tombol exit untuk menutup aplikasi. Hanya tinggal mengklik tombol tujuan maka form dari tombol yang diklik tersebut akan muncul.
Intro
ANIMASI PEMBUKA GAME
Tombol untuk ke form Menu
Tombol untuk keluar dari aplikasi
MENU
EXIT
Gambar 3.4. Tampilan Intro Game
2. Tampilan Menu Game
Di form ini juga terdapat tombol-tombol yang mengarahkan kita ke form-form berikutnya. Seperti tombol Play dan tombol Exit. Tombol Play
langsung
mengarahkan user menuju ke form game dan tombol exit untuk keluar dari aplikasi atau untuk menutup aplikasi.
Universitas Sumatera Utara
21
Menu Game
PLAY EXIT
Gambar 3.5. Tampilan Menu Game
3. Tampilan Game
Di form ini hanya terdapat tampilan game ketika dimainkan, user hanya akan mendapatkan pilihan play again atau quit jika player mati atau kalah di dalam game.
Game
BACKGROUND
COIN
LIFE
PLAYER
ENEMY
Gambar 3.6. Tampilan Game
Universitas Sumatera Utara
22
4. Tampilan Game Over
Pada tampilan ini merupakan pilihan main lagi atau keluar, tampilan ini muncul apabila player mati atau kalah didalam game.
Game Over
GAME OVER PLAY AGAIN QUIT
Gambar 3.7. Tampilan Game Over
5. Tampilan High Score
Tampilan ini muncul ketika player telah menyelesaikan semua level yang ada dan telah berhasil menyelesaikan game (mission complete).
Universitas Sumatera Utara
23
Game Over
HIGH SCORE
BACK TO MENU
EXIT Gambar 3.8. Tampilan High Score
Universitas Sumatera Utara
24
BAB 4 IMPLEMENTASI SISTEM
Implementasi sistem merupakan langkah-langkah atau prosedur yang dilakukan dalam menyelesaikan desain sistem yang telah disetujui, untuk menguji, menginstall dam memulai sistem baru atau sistem yang diperbaiki dari sistem yang lama. Langkah-langkah dari proses implementasi adalah urutan dari kegiatan awal sampai kegiatan akhir yang harus dilakukan dalam mewujudkan sistem yang dirancang. Hasil dari tahapan implementasi ini adalah suatu sistem pengolahan data yang dapat berjalan dengan baik.
4.1. Tujuan Implementasi Sistem
Tujuan implementasi sistem adalah sebagai berikut: 1. Mengkaji rangkaian sistem baik dari segi software maupun hardware sebagai sarana pengolahan data dan penyaji informasi. 2. Menyelesaikan rancangan sistem yang ada dalam dokumen sistem yang baru atau yang telah disepakati. 3. Menguji program-program dan prosedur baru atau dokumen yang diperbaiki. 4. Memastikan bahwa sistem yang dibuat dapat digunakan oleh pemakai tanpa mengalami kesulitan dalam pemakaiannya. 5. Memastikan bahwa sistem telah berjalan lancar dengan mengontrol dan melakukan instalasi dengan benar.
Universitas Sumatera Utara
25
4.2. Komponen dalam Implementasi Sistem
Perancangan sistem yang telah dikerjakan dapat berjalan baik atau tidak, maka perlu dilakukan pengujian terhadap sistem yang telah dikerjakan. Untuk itu dibutuhkan beberapa komponen utama yang mencakup perangkat keras (hardware), perangkat lunak ( software), dan perangkat operator (brainware).
4.2.1. Perangkat Keras (Hardware)
Perangkat keras merupakan bagian dari komputer yang dapat dilihat secara fisik dan dapat disentuh. Perangkat keras merupakan seluruh komponen peralatan yang membentuk suatu sistem komputer serta peralatan lainnya yang memungkinkan komputer dapat melakukan tugasnya.
Dalam pembuatan aplikasi game adventure ini, saya menggunakan perangkat keras sebagai berikut: 1. Laptop dengan processor intel core i3 2. VGA Card Amd Radeon HD 8530M 1GB 3. Harddisk 500 GB 4. Random Access Memory (RAM) 3 GB 5. Keyboard dan Mouse
Universitas Sumatera Utara
26
4.2.2. Perangkat Lunak (Software)
Software merupakan komponen di dalam sistem data berupa program atau instruksi untuk mengontrol suatu sistem. Dalam hali ini, perangkat lunak yang digunakan penulis untuk penulisan aplikasi game adventure ini adalah: 1. Sistem Operasi Windows 10 2. Adobe Flash CS6 sebagai aplikasi pembuatan game. 3. ActionScript 3.0 sebagai bahasa pemrogramannya. 4. Adobe Illustrator sebagai desain karakter dan elemen-elemen dalam game.
4.2.3. Perangkat Operator (Brainware)
Brainware adalah perangkat intelektual yang mengoperasikan dan mengeksplorasi kemampuan dari perangkat keras maupun perangkat lunak. Perangkat operator (brainware) meliputi 4 bagian, yaitu: 1. Analisis Sistem, yaitu orang yang membentuk dan membangun fasilitas rancangan sistem data program. 2. Programmer, yaitu orang yang mengerti bahasa pemrograman yang digunakan dalam membuat dan membangun suatu program. 3. Operator ( Administrator ), yaitu orang yang mengoperasikan sistem seperti masukkan data untuk dioperasikan dan menghasilkan informasi. 4. Pelanggan ( Public), yaitu orang yang memakai sistem yang telah dirancang untuk mendapatkan informasi yang dibutuhkan.
Universitas Sumatera Utara
27
4.3. Tampilan Aplikasi
Pada game adventure ini memiliki banyak scene-scene yang merupakan intro, menu, loading process, level1, dan level2. Adapun tampilan aplikasi game adventure sebagai berikut:
Gambar 4.1. Halaman Introducing
Universitas Sumatera Utara
28
Gambar 4.2. Halaman Proses Loading
Gambar 4.3. Halaman Menu Game
Universitas Sumatera Utara
29
Gambar 4.4. Halaman Level 1
Gambar 4.5. Halaman Game Over
Universitas Sumatera Utara
30
Gambar 4.6. Halaman Level 2
Gambar 4.7. Halaman Finish Level 2
Universitas Sumatera Utara
31
Gambar 4.8. Halaman Completed Game & High Score
Universitas Sumatera Utara
BAB 5 KESIMPULAN DAN SARAN
5.1. Kesimpulan
Dalam penulisan tugas akhir ini telah diuraikan hasil dan pembahasan pada bab – bab sebelumnya, maka penulis dapat mengambil beberapa kesimpulan yaitu sebagai berikut: a. Dengan dibuatnya Game adventure ini penulis mengharapkan agar game ini dapat membawa kembali kesenangan bagi para penggunanya yang sangat merindukan game berbasis 2 dimensi klasik yang di kembangkan dengan grafis yang lebih modern. b. Penulis menggembangkan Game adventure ini kedalam android agar game yang dikembangkan tidak hanya dapat dinikmati melalui perangkat PC namun juga dapat dinikmati melalui perangkat mobile.
5.2. Saran
Dengan selesainya pembuatan game adventure ini, penulis memberikan beberapa saran yang mungkin dapat menjadi bahan pertimbangan dalam upaya pengembangan sistem lebih lanjut: a. Sistem level yang masih kurang banyak, sebaiknya dapat ditambah lebih banyak agar game yang dimainkan semakin lebih menarik dan tertantang dengan level yang lebih sulit.
Universitas Sumatera Utara
33
b. Perlu adanya penambahan fitur boss yang dibuat di akhir level, sehingga ketika player sampai dibagian akhir game, player berhadapan dengan boss besar dari setiap levelnya agar bisa lanjut ke level selanjutnya. c. Penambahan fitur story mode dapat membuat game jadi lebih menarik, contohnya dengan penambahan menu map di game sehingga player memiliki interaksi lebih banyak dengan karakter-karakter lainnya di dalam game, dengan itu lah story mode disarankan oleh penulis.
Universitas Sumatera Utara
DAFTAR PUSTAKA
[LPKBM MADCOMS] Lembaga Pendidikan Komputer, Bisnis dan Manajemen. 2004. Membuat Animasi Kartun dengan Macromedia Flash MX 2004. Andi. Yogyakarta. [LPKBM MADCOMS] Lembaga Pendidikan Komputer, Bisnis dan Manajemen. 2008. Student Book Series: ADOBE FLASH CS3 PROFESSIONAL. Yescom. Yogyakarta. Philipus, E. 2008. First Step to Be Designer: FLASH. Yescom.Yogyakarta Radion, K. 2009. Ultimate Game Design Building RPG Games using Adobe Flash ActionScript. Andi. Yogyakarta. Saputro, A. 2016. Mudah Membuat Game Adventure Menggunakan Adobe Flash CS6 ActionScript 3.0. Andi. Yogyakarta. Syarif, A.M. 2003. Bedah ActionScript: Menguasai Penulisan Script Macromedia Flash MX. Elex Media Komputindo. Jakarta.
Universitas Sumatera Utara
1 Lampiran 1. Listing Program
import flash.events.Event; import flash.geom.Point; import flash.events.KeyboardEvent; import flash.ui.Keyboard; import flash.display.MovieClip; import flash.events.Event; import flash.events.MouseEvent; import flash.system.fscommand;
//variabel gerak player ketika menekan tombol di keyboard// var tekanKiri:Boolean = false; var tekanKanan:Boolean = false; var tekanAtas:Boolean = false; var tekanBawah:Boolean = false; //variabel batas gerak player var batasKiri:Boolean = false; var batasKanan:Boolean = false; var batasAtas:Boolean = false; var batasBawah:Boolean = false;
//variabel serangan var pressA:Boolean=false; var tembakJalanKiri:Boolean=false; var tembakJalanKanan:Boolean=false; var jumPukul:Number=0; //poin untuk gerak player serta koordinat// var poinKiri:Point = new Point(-35, -15); var poinKanan:Point = new Point(35, -15); var poinAtas:Point = new Point(0, 0); var poinBawah:Point = new Point(0, 0);
Universitas Sumatera Utara
2 //variabel loading var loading : Number = 0; //variabel kecepatan gerak player// var xKecepatan : Number = 0; var yKecepatan : Number = 0;
//variabel pengontrol kecepatan, gesekan, gravitasi, dan lompatan player// var kecKonstan:Number = 4; var gesekanKonstan:Number = 0.9; var gravitasiKonstan:Number = 2; var lompatanKonstan:Number = -35; var max_kecKonstan:Number = 18;
var m:int; var p:int;
// hit peluru var somePeluru:Vector.
= new Vector.(); var arrPeluru:Array = [ ]; arrPeluru[0] = back.peluru1; arrPeluru[1] = back.peluru2; arrPeluru[2] = back.peluru3; arrPeluru[3] = back.peluru4; arrPeluru[4] = back.peluru5; arrPeluru[5] = back.peluru6; arrPeluru[6] = back.peluru7; arrPeluru[7] = back.peluru8; arrPeluru[8] = back.peluru9; arrPeluru[9] = back.peluru10; arrPeluru[10] = back.peluru11; arrPeluru[11] = back.peluru12; arrPeluru[12] = back.peluru13; arrPeluru[13] = back.peluru14; arrPeluru[14] = back.peluru15;
Universitas Sumatera Utara
3 arrPeluru[15] = back.peluru16; arrPeluru[16] = back.peluru17; arrPeluru[17] = back.peluru18; arrPeluru[18] = back.peluru19; arrPeluru[19] = back.peluru20; arrPeluru[20] = back.peluru21; arrPeluru[21] = back.peluru22; arrPeluru[22] = back.peluru23; arrPeluru[23] = back.peluru24; arrPeluru[24] = back.peluru25; arrPeluru[25] = back.peluru26; arrPeluru[26] = back.peluru27; arrPeluru[27] = back.peluru28; arrPeluru[28] = back.peluru29; arrPeluru[29] = back.peluru30; arrPeluru[30] = back.peluru31; arrPeluru[31] = back.peluru32; arrPeluru[32] = back.peluru33; arrPeluru[33] = back.peluru34; arrPeluru[34] = back.peluru35; arrPeluru[35] = back.peluru36; arrPeluru[36] = back.peluru37; arrPeluru[37] = back.peluru38; arrPeluru[38] = back.peluru39; arrPeluru[39] = back.peluru40;
somePeluru.push(back.peluru1); somePeluru.push(back.peluru2); somePeluru.push(back.peluru3); somePeluru.push(back.peluru4); somePeluru.push(back.peluru5); somePeluru.push(back.peluru6); somePeluru.push(back.peluru7); somePeluru.push(back.peluru8);
Universitas Sumatera Utara
4 somePeluru.push(back.peluru9); somePeluru.push(back.peluru10); somePeluru.push(back.peluru11); somePeluru.push(back.peluru12); somePeluru.push(back.peluru13); somePeluru.push(back.peluru14); somePeluru.push(back.peluru15); somePeluru.push(back.peluru16); somePeluru.push(back.peluru17); somePeluru.push(back.peluru18); somePeluru.push(back.peluru19); somePeluru.push(back.peluru20); somePeluru.push(back.peluru21); somePeluru.push(back.peluru22); somePeluru.push(back.peluru23); somePeluru.push(back.peluru24); somePeluru.push(back.peluru25); somePeluru.push(back.peluru26); somePeluru.push(back.peluru27); somePeluru.push(back.peluru28); somePeluru.push(back.peluru29); somePeluru.push(back.peluru30); somePeluru.push(back.peluru31); somePeluru.push(back.peluru32); somePeluru.push(back.peluru33); somePeluru.push(back.peluru34); somePeluru.push(back.peluru35); somePeluru.push(back.peluru36); somePeluru.push(back.peluru37); somePeluru.push(back.peluru38); somePeluru.push(back.peluru39); somePeluru.push(back.peluru40);
//hitTest monster
Universitas Sumatera Utara
5 var someMonster:Vector. = new Vector.(); //var serangan Monster:kotakhit = new kotakhit(); var arrMonster:Array = [ ]; arrMonster[0] = back.monster1; arrMonster[1] = back.monster2; arrMonster[2] = back.monster3; arrMonster[3] = back.monster4; arrMonster[4] = back.monster5; arrMonster[5] = back.monster6; arrMonster[6] = back.monster7; arrMonster[7] = back.monster8; arrMonster[8] = back.monster9; arrMonster[9] = back.monster10; arrMonster[10] = back.monster11; arrMonster[11] = back.monster12; arrMonster[12] = back.monster13; arrMonster[13] = back.monster14; arrMonster[14] = back.monster15; arrMonster[15] = back.monster16; arrMonster[16] = back.monster17; arrMonster[17] = back.monster18; arrMonster[18] = back.monster19; arrMonster[19] = back.monster20; arrMonster[20] = back.monster21; arrMonster[21] = back.monster22; arrMonster[22] = back.monster23; arrMonster[23] = back.monster24; arrMonster[24] = back.monster25; arrMonster[25] = back.monster26; arrMonster[26] = back.monster27; arrMonster[27] = back.monster28; arrMonster[28] = back.monster29; arrMonster[29] = back.monster30;
Universitas Sumatera Utara
6 arrMonster[30] = back.monster31; arrMonster[31] = back.monster32; arrMonster[32] = back.monster33; arrMonster[33] = back.monster34; arrMonster[34] = back.monster35; arrMonster[35] = back.monster36; arrMonster[36] = back.monster37; arrMonster[37] = back.monster38; arrMonster[38] = back.monster39; arrMonster[39] = back.monster40;
someMonster.push(back.monster1); someMonster.push(back.monster2); someMonster.push(back.monster3); someMonster.push(back.monster4); someMonster.push(back.monster5); someMonster.push(back.monster6); someMonster.push(back.monster7); someMonster.push(back.monster8); someMonster.push(back.monster9); someMonster.push(back.monster10); someMonster.push(back.monster11); someMonster.push(back.monster12); someMonster.push(back.monster13); someMonster.push(back.monster14); someMonster.push(back.monster15); someMonster.push(back.monster16); someMonster.push(back.monster17); someMonster.push(back.monster18); someMonster.push(back.monster19); someMonster.push(back.monster20); someMonster.push(back.monster21); someMonster.push(back.monster22); someMonster.push(back.monster23);
Universitas Sumatera Utara
7 someMonster.push(back.monster24); someMonster.push(back.monster25); someMonster.push(back.monster26); someMonster.push(back.monster27); someMonster.push(back.monster28); someMonster.push(back.monster29); someMonster.push(back.monster30); someMonster.push(back.monster31); someMonster.push(back.monster32); someMonster.push(back.monster33); someMonster.push(back.monster34); someMonster.push(back.monster35); someMonster.push(back.monster36); someMonster.push(back.monster37); someMonster.push(back.monster38); someMonster.push(back.monster39); someMonster.push(back.monster40);
//membuat indikator healtbar var persentase:int; var maxhealt:Number=100; var healt:Number = maxhealt; var gameOverString:mcgameover = new mcgameover(); var tblPlayAgain:btnPlayAgain = new btnPlayAgain(); var tblQuit:btnQuit = new btnQuit(); var peluru:int;
//-------------------------healtbar.addEventListener(Event.ENTER_FRAME, mchealtbar); function mchealtbar(e:Event): void { persentase = (healt/maxhealt)*100; healtbar.width = persentase; //panjang healtbar.... if (healt >= maxhealt) { healt = maxhealt;
Universitas Sumatera Utara
8 persentase_txt.text = "" + healt; healtbar.width = 100; } if (healt <= 0) { healt = 0; persentase_txt.text = "" + healt; trace("mati"); stage.removeEventListener(Event.ENTER_FRAME,perulangan); player.gotoAndStop("mati"); stage.addChild(gameOverString); gameOverString.x = 450; gameOverString.y = 200; stage.addChild(tblPlayAgain); tblPlayAgain.visible = true; tblPlayAgain.x = 450; tblPlayAgain.y = 250; stage.addChild(tblQuit); tblQuit.visible = true; tblQuit.x = 450; tblQuit.y = 300; } if (back.mc_kotakObat1.hitTestObject(player)) { healt += 50; persentase_txt.text = "" + healt; trace("tambahan nyawa"); back.mc_kotakObat1.gotoAndStop(2); } if (back.mc_kotakObat2.hitTestObject(player)) { healt += 50; persentase_txt.text = "" + healt; trace("tambahan nyawa"); back.mc_kotakObat2.gotoAndStop(2); } if (back.mc_kotakObat3.hitTestObject(player)) {
Universitas Sumatera Utara
9 healt += 50; persentase_txt.text = "" + healt; trace("tambahan nyawa"); back.mc_kotakObat3.gotoAndStop(2); } if (back.mc_kotakObat4.hitTestObject(player)) { healt += 50; persentase_txt.text = "" + healt; trace("tambahan nyawa"); back.mc_kotakObat4.gotoAndStop(2); } if (back.mc_kotakObat5.hitTestObject(player)) { healt += 50; persentase_txt.text = "" + healt; trace("tambahan nyawa"); back.mc_kotakObat5.gotoAndStop(2); } if (back.mc_kotakObat6.hitTestObject(player)) { healt += 50; persentase_txt.text = "" + healt; trace("tambahan nyawa"); back.mc_kotakObat6.gotoAndStop(2); } if (back.mc_kotakObat7.hitTestObject(player)) { healt += 50; persentase_txt.text = "" + healt; trace("tambahan nyawa"); back.mc_kotakObat7.gotoAndStop(2); } if (back.mc_kotakObat8.hitTestObject(player)) { healt += 50; persentase_txt.text = "" + healt; trace("tambahan nyawa"); back.mc_kotakObat8.gotoAndStop(2);
Universitas Sumatera Utara
10 }
// player kena tembak for(peluru=0; peluru
//tombol Play Again tblPlayAgain.addEventListener(MouseEvent.CLICK,pressPlayAgain); function pressPlayAgain(e:MouseEvent): void { //hilangkan tombol paly again, quit, dan
movie clip game over
tblPlayAgain.visible = false; tblQuit.visible = false; gameOverString.visible = false; gotoAndStop("halaman_playAgain"); } //tombol Quit tblQuit.addEventListener(MouseEvent.CLICK,pressQuit); function pressQuit(e:MouseEvent): void { }
stage.addEventListener(Event.ENTER_FRAME,perulangan); function perulangan(e:Event): void {
//tumbukan untuk batas kiri// if (back.collision.hitTestPoint(player.x+poinKiri.x, player.y+poinKiri.y, true)) { batasKiri = true; }
Universitas Sumatera Utara
11 else { batasKiri = false; }
//tumbukan untuk batas kanan// if (back.collision.hitTestPoint(player.x+poinKanan.x, player.y+poinKanan.y, true)) { batasKanan = true; } else { batasKanan = false; }
//tumbukan untuk batas atas// if (back.collision.hitTestPoint(player.x+poinAtas.x, player.y+poinAtas.y, true)) { batasAtas = true; } else { batasAtas = false; }
//tumbukan untuk batas bawah// if (back.collision.hitTestPoint(player.x+poinBawah.x, player.y+poinBawah.y, true)) { batasBawah = true; } else { batasBawah = false; }
//script tumbukan monster dengan player for (m=0; m
Universitas Sumatera Utara
12 trace("bertumbukan dengan bagian bawah"); someMonster[m].gotoAndPlay(2); yKecepatan = lompatanKonstan; score += 50; // score bertambah 50 score_txt.text = "" + score; } else if (someMonster[m].hitTestPoint(player.x + poinKanan.x, player.y + poinKanan.y, true)){ trace("darah berkurang"+"kena bagian kanan"); healt-=25; //darah berkurang sebesar 25 persentase_txt.text = "" + healt; xKecepatan -= 40; yKecepatan = lompatanKonstan; } else if (someMonster[m].hitTestPoint(player.x + poinKiri.x, player.y + poinKiri.y, true)){ trace("darah berkurang"+"kena bagian kiri"); healt-=25; //darah berkurang sebesar 25 persentase_txt.text = "" + healt; xKecepatan += 40; yKecepatan = lompatanKonstan; } else if (someMonster[m].hitTestPoint(player.x + poinAtas.x, player.y + poinAtas.y, true)){ trace("darah berkurang"+"kena bagian atas"); healt-=25; //darah berkurang sebesar 25 persentase_txt.text = "" + healt; xKecepatan = 40; yKecepatan = lompatanKonstan; } }
//script untuk mengontrol player dengan keyboard// if (tekanKiri) {
//ketika menekan arah kiri
xKecepatan -= kecKonstan; player.scaleX = -0.7;
Universitas Sumatera Utara
13 if (xKecepatan < max_kecKonstan*-1) { xKecepatan = max_kecKonstan*-1; } } else if (tekanKanan) {
//ketika menekan arah kanan
xKecepatan += kecKonstan; player.scaleX = 0.7; if (xKecepatan > max_kecKonstan) { xKecepatan = max_kecKonstan; } } else if (tembakJalanKiri) { tekanKanan = false; pressA = false; if (_theyArePressed[Keyboard.A] && _theyArePressed[Keyboard.LEFT]) { player.gotoAndStop("menembak"); xKecepatan += kecKonstan; player.scaleX = 0.7; if (xKecepatan > max_kecKonstan) { xKecepatan = max_kecKonstan; } } } else if (tembakJalanKanan) { tekanKanan = false; pressA = false; if (_theyArePressed[Keyboard.A] && _theyArePressed[Keyboard.RIGHT]) { player.gotoAndStop("menembak"); xKecepatan += kecKonstan; player.scaleX = 0.7; if (xKecepatan > max_kecKonstan) { xKecepatan = max_kecKonstan; }
Universitas Sumatera Utara
14 } }
//script batas kiri, kanan, atas, bawah// if (batasKiri) {
//jika menyentuh batas kiri
if (xKecepatan < 0) { xKecepatan *= -0.5; } } if (batasKanan) {
//jika menyentuh batas kanan
if (xKecepatan > 0) { xKecepatan *= -0.5; } } if (batasAtas) {
//jika menyentuh batas atas
if (yKecepatan < 0) { yKecepatan *= -0.5; } } if (batasBawah) {
//jika menyentuh batas bawah
if (yKecepatan > 0) { yKecepatan *= -0.2;
//kecepatan y dijadikan -
0.2 } if (tekanAtas) {
//jika menekan arah atas
yKecepatan = lompatanKonstan; } }else {
//jika tidak menyentuh lantai yKecepatan += gravitasiKonstan;
} if (batasBawah)
{
//jika menyentuh lantai bawah
if (yKecepatan > 0) { yKecepatan = 0;
//kecepatan y dijadikan 0
} }
Universitas Sumatera Utara
15
xKecepatan *= gesekanKonstan; yKecepatan *= gesekanKonstan; back.x -= xKecepatan; back.y -= yKecepatan;
var visibleP:int;
//script untuk aksi diam dan berlari if ((tekanKiri || tekanKanan || xKecepatan > kecKonstan || xKecepatan < kecKonstan *-1) && batasBawah) { player.gotoAndStop("berlari"); if (tekanKanan && pressA) { player.gotoAndStop("menembak"); trace("main tembak"); // script musuh mati dan hilangkan peluru for(p=0; p<(arrMonster && arrPeluru).length; p++){ trace(p); if(player.pose_6.hit_kotak.hitTestObject(someMonster[p])){ someMonster[p].gotoAndPlay(2); somePeluru[p].gotoAndStop(40); somePeluru[p].visible=false; trace("kena pukul"); } } } if (tekanKiri && pressA) { player.gotoAndStop("menembak"); trace("main tembak"); // script musuh mati dan hilangkan peluru for(p=0; p<(arrMonster && arrPeluru).length; p++){ trace(p); if(player.pose_6.hit_kotak.hitTestObject(someMonster[p])){
Universitas Sumatera Utara
16 someMonster[p].gotoAndPlay(2); somePeluru[p].gotoAndStop(40); somePeluru[p].visible=false; trace("kena pukul"); } } } } else if (pressA) { // player tembak monster/musuh player.gotoAndStop("memukul"); trace("main tembak"); // script musuh mati dan hilangkan peluru for(p=0; p<(arrMonster && arrPeluru).length; p++){ trace(p); if(player.pose_5.hit_kotak.hitTestObject(someMonster[p])){ someMonster[p].gotoAndPlay(2); somePeluru[p].gotoAndStop(40); somePeluru[p].visible=false; trace("kena pukul"); } } } else if (batasBawah) { player.gotoAndStop("diam"); } else { player.gotoAndStop("melompat"); }
//jika bertumbukan dengan koin --for(i=0; i
Universitas Sumatera Utara
17 someVector[i].visible=false; score+=10; score_txt.text=""+score; someVector[i].clear = true; } }
//jika bertumbukan dengan papan --for(u=0; u
//jika bertumbukan dengan papan level 2 --if(player.hitTestObject(back.papanlv2)){ loading++; back.papanlv2.gotoAndStop(2); if(loading >= 10) { loading = 0; healtbar.removeEventListener(Event.ENTER_FRAME,mchealtbar); stage.removeEventListener(Event.ENTER_FRAME,perulangan); gotoAndStop("level2"); } } }
Universitas Sumatera Utara
18
var _theyArePressed:Object = {};
//event keyboard stage.addEventListener(KeyboardEvent.KEY_DOWN, keydown); stage.addEventListener(KeyboardEvent.KEY_UP, keyup);
//fungsi keydown function keydown(e:KeyboardEvent): void { switch (e.keyCode) { case Keyboard.A: { pressA = true;break; } } switch (e.keyCode) { case Keyboard.A && Keyboard.LEFT: { tembakJalanKiri = true;break; } } switch (e.keyCode) { case Keyboard.A && Keyboard.RIGHT: { tembakJalanKanan = true;break; } } if (e.keyCode == Keyboard.LEFT) { tekanKiri = true; } else if (e.keyCode == Keyboard.RIGHT) { tekanKanan = true; } else if (e.keyCode == Keyboard.SPACE) { tekanAtas = true; } else if (e.keyCode == Keyboard.DOWN) {
Universitas Sumatera Utara
19 tekanBawah = true; } }
//fungsi keyup function keyup(e:KeyboardEvent): void { switch (e.keyCode) { case Keyboard.A: { pressA = false;break; } } switch (e.keyCode) { case Keyboard.A && Keyboard.LEFT: { tembakJalanKiri = false;break; } } switch (e.keyCode) { case Keyboard.A && Keyboard.RIGHT: { tembakJalanKanan = false;break; } } if (e.keyCode == Keyboard.LEFT) { tekanKiri = false; xKecepatan = 0; } else if (e.keyCode == Keyboard.RIGHT) { tekanKanan = false; xKecepatan = 0; } else if (e.keyCode == Keyboard.SPACE) { tekanAtas = false; } else if (e.keyCode == Keyboard.DOWN) { tekanBawah = false;
Universitas Sumatera Utara
20 } }
var somePapan:Vector. = new Vector.(); var arrPapan:Array = []; arrPapan[0] = back.papanup; somePapan.push(back.papanup); var u:int;
//hitTest dengan koin var _root:MovieClip = MovieClip(root); var someVector:Vector. = new Vector.(); var arrKoin:Array = []; arrKoin[0] = back.koin1; arrKoin[1] = back.koin2; arrKoin[2] = back.koin3; arrKoin[3] = back.koin4; arrKoin[4] = back.koin5; arrKoin[5] = back.koin6; arrKoin[6] = back.koin7; arrKoin[7] = back.koin8; arrKoin[8] = back.koin9; arrKoin[9] = back.koin10; arrKoin[10] = back.koin11; arrKoin[11] = back.koin12; arrKoin[12] = back.koin13; arrKoin[13] = back.koin14; arrKoin[14] = back.koin15; arrKoin[15] = back.koin16; arrKoin[16] = back.koin17; arrKoin[17] = back.koin18; arrKoin[18] = back.koin19; arrKoin[19] = back.koin20;
Universitas Sumatera Utara
21 arrKoin[20] = back.koin21; arrKoin[21] = back.koin22; arrKoin[22] = back.koin23; arrKoin[23] = back.koin24; arrKoin[24] = back.koin25; arrKoin[25] = back.koin26; arrKoin[26] = back.koin27; arrKoin[27] = back.koin28; arrKoin[28] = back.koin29; arrKoin[29] = back.koin30; someVector.push(back.koin1); someVector.push(back.koin2); someVector.push(back.koin3); someVector.push(back.koin4); someVector.push(back.koin5); someVector.push(back.koin6); someVector.push(back.koin7); someVector.push(back.koin8); someVector.push(back.koin9); someVector.push(back.koin10); someVector.push(back.koin11); someVector.push(back.koin12); someVector.push(back.koin13); someVector.push(back.koin14); someVector.push(back.koin15); someVector.push(back.koin16); someVector.push(back.koin17); someVector.push(back.koin18); someVector.push(back.koin19); someVector.push(back.koin20); someVector.push(back.koin21); someVector.push(back.koin22); someVector.push(back.koin23); someVector.push(back.koin24);
Universitas Sumatera Utara
22 someVector.push(back.koin25); someVector.push(back.koin26); someVector.push(back.koin27); someVector.push(back.koin28); someVector.push(back.koin29); someVector.push(back.koin30); var i:int;
//score var score:Number = 0; score_txt.text = "" + score; // -------
//kecepatan para monster var kecMonster0:Number = 3; var kecMonster1:Number = 3;
Universitas Sumatera Utara
Universitas Sumatera Utara
Universitas Sumatera Utara
Universitas Sumatera Utara
Universitas Sumatera Utara