Anda di halaman 1dari 34

ActionScript adalah bahasa pemrograman yang bagus untuk membuat game.

Sangat mudah untuk


belajar, cepat untuk mengembangkan dengan, dan sangat kuat.

Kita mulai dengan melihat ActionScript 3.0 dan Flash Professional CS5 pada lingkungan yang asli.
Kemudian, kita membangun beberapa program sederhana untuk lebih terbiasa dengan versi baru
dari ActionScript.

Apakah itu ActionScript 3.0?

ActionScript 3.0 diperkenalkan pada tahun 2006 dan telah menjadi bahasa pemrograman utama
untuk Flash sejak saat itu. Versi asli dari ActionScript diperkenalkan pada tahun 1996 dengan rilis
dari Flash 4. Sebelumnya tidak disebut dengan ActionScript, dan Anda bahkan tidak bisa
mengetikkan jenis kode Anda. Sebaliknya, Anda memilih pernyataan dari serangkaian menu drop-
down.

Flash 5 pada tahun 2000 meningkat secara baik pada pengenalan formal dengan ActionScript
1,0. Ini bahasa scripting berisi semua fitur-fitur yang berlebihan yang merupakan pengembangan
berbasis bahasa web, seperti Lingo Macromedia Director dan Sun Java. Tapi, hal tersebut hadir
secara mendadak dengan kecepatan dan kekuatan.

Flash MX 2004, juga dikenal sebagai Flash 7, membawa kita ActionScript 2.0, yang jauh lebih
kuat versi bahasa pemogramannya yang membuat lebih mudah untuk membuat program
berorientasi objek. Ini jauh lebih dekat dengan ECMA Script, sebuah standar untuk bahasa
pemrograman yang dikembangkan oleh Asosiasi Produsen Komputer Eropa (Europe Computer
Programming Association). JavaScript, bahasa pemrograman yang digunakan di browser, juga
didasarkan pada ECMA Script.







ActionScript 3.0 adalah puncak dari tahun pembangunan. Karena setiap versi Flash keluar,
pengembang mendorongnya untuk membatasi. Versi berikutnya memperhitungkan bagaimana
pengembang yang menggunakan Flash dan apa kelemahan dari versi ActionScript saat ini.
Sekarang kita memiliki lingkungan pengembangan yang sangat baik untuk pengembangan game 2D.
Anda akan menemukan bahwa salah satu kekuatan utamanya adalah mampu untuk mendapatkan
game dan berjalan dengan hanya sedikit kode.



CATATAN
Flash Player memiliki dua kode penerjemah yang terpisah yang dibangun untuk itu. Yang pertama
adalah untuk konten yang tua dan akan menafsirkan kode ActionScript 1.0/2.0. Yang kedua adalah
juru kode lebih cepat yang bekerja dengan ActionScript 3.0. Anda mendapatkan kinerja terbaik dari
permainan Anda jika Anda tetap hanya menggunakan kode ActionScript 3.0.








Membuat Sebuah Program ActionScript Sederhana
Source Files

http://flashgameu.com

A3GPU201_HelloWorld.zip
Saat memperkenalkan bahasa pemrograman baru, adalah sebuah tradisi untuk memulai dengan
program Hello Word. Idenya adalah dengan hanya menulis sebuah program yang tidak apa-apa
selain menampilkan kata Hello World di layar






Penggunaan Sederhana dari Trace

Kita dapat membuat versi terbatas Hello World dengan menggunakan function trace di script di
timeline utama. Semua jejak itu adalah output beberapa teks ke dalam panel output Flash.

Untuk membuat film Flash yang baru, pilih File, New dari menu. Anda akan disajikan dengan
jendela New Document terlihat pada Figure 1.1.




CATATAN
Flash Professional CS5 sebenarnya flash 11. Adobe telah dibundel bersama-sama berbagai versi
potongan perangkat lunak seperti Flash, PhotoShop, Illustrator, dan Dreamweaver ke dalam paket
mereka "CS5". Jumlah teknis versi Flash di CS5 adalah Flash 11. Hal ini benar untuk menyebutnya
sebagai baik flash 11 atau Flash CS5. Pemutaran mesin dipasang di browser menggunakan skema
penomoran yang berbeda dan versi 10 dari Flash Player.


CATATAN
Program Hello World dimulai pada 1974 ketika itu termasuk dalam tutorial internal yang
dokumen di Bell Labs. Ini adalah program pertama yang saya pelajari ketika saya duduk di depan
PDP-11 terminal di sekolah di akhir 70-an. Hampir setiap buku pengantar pemrograman
memiliki contoh Hello World di awal.



Figure 1.1
Pilih ActionScript 3.0
Untuk membuat sebuah
Flash Movie baru










Setelah mengklik OK, Anda akan memperoleh Flash movie baru dengan nama Untitled-1. Ini akan
terlihat sebagai Flash dokumen saat ini, seperti yang terlihat pada Figure 1.2


Figure 1.2
Halaman dokumen
Flash termasuk timeline
dan sebuah stage
area kerja. Disana
terdapat banyak cara
untuk mengkonfigurasi
ruang lingkup Flash,
sehingga panel Anda
mungkin dapat berada
dalam lokasi yang
berbeda.


Bagian atas jendela dokumen termasuk timeline, dengan frame dimulai dengan 1 dan melebar ke
kanan lebih kurang dari 50 frame dapat dilihat pada Gambar 1.2, meskipun hal ini tergantung pada
ukuran jendela. Jumlah frame dapat diperpanjang sejauh kebutuhan animator, tetapi sebagai game
programmer, kita biasanya hanya perlu beberapa frame untuk membangun permainan kami.
Timeline dapat memiliki satu atau lebih lapisan di dalamnya. Secara dasarnya, ada satu lapisan,
bernama Layer 1, di jendela.
Pada layer 1, Anda melihat sebuah keyframe tunggal, diwakili oleh sebuah kotak dengan titik kosong
di bawah frame nomor 1.








.



trace("Hello World.");
Anda dapat menempatkan script di setiap keyframe dalam setiap lapisan timeline. Untuk melakukan
ini, pilih keyframe, pilih menu Window, kemudian pilih Tindakan.
Tombol ini menampilkan panel Actions. Anda dapat melihat hasil pada Figure 1.3. Ini mungkin
terlihat berbeda untuk Anda karena dapat disesuaikan dalam berbagai cara, termasuk memiliki set
perintah penuh ActionScript dan function dalam menu di sisi kiri.
Figure 1.3
Panel Tindakan
juga dapat
diakses oleh
cara pintas keyboard
Alt + F9 (Windows)
atau Option + F9
(Mac).




Panel Tindakan ini pada dasarnya hanya sebuah jendela teks-entri. Namun, dapat melakukan jauh
lebih banyak untuk Anda, seperti membantu Anda memformat kode Anda. Kami tidak menggunakan
panel Actions banyak untuk karena tujuan dari buku ini sebagian besar kode kita berada di class
eksternal.
Untuk membuat program yang sederhana Hello World, masukkan teks berikut ke dalam panel
Action:

trace ("Hello World.");

Itu saja. Anda telah membuat program yang pertama Anda ActionScript 3.0. Untuk mengujinya, pilih
Control, Test Movie, Test atau gunakan shortcut Command + Return pada Mac atau Ctrl + Enter pada
Windows. Jika Anda tidak membangun film sendiri, Anda dapat membuka HelloWorld1.fla dan
menggunakan file ini untuk mengujinya.


CATATAN
Keyframe adalah istilah animasi. Jika kita belajar animasi dengan Flash, bukan belajar program, kita
akan menggunakan keyframes sepanjang waktu. Pada dasarnya, sebuah keyframe ini adalah titik
dalam timeline di mana posisi dari satu atau lebih elemen animasi secara khusus ditetapkan. Antara
keyframes, elemen akan berubah posisi. Untuk misalnya, jika ada sebuah keyframe pada frame 1
dimana sebuah elemen di sisi kiri layar dan sebuah keyframe pada frame 9 dimana elemen yang
sama di sisi kanan layar, di antara keyframes, pada frame 5, elemen akan muncul di
tengah layar.

Kami tidak menggunakan keyframes untuk animasi, melainkan menggunakannya untuk
menempatkan elemen pada layar dalam modus yang berbeda: seperti intro, bermain, dan
gameover.



Sekarang, mencari panel output. Tampaknya, bahkan jika Anda memiliki panel yang tertutup. Tapi,
itu cenderung menjadi panel kecil, sehingga dengan mudah bisa muncul di sudut layar Anda tanpa
Anda ihat. Bahkan mungkin muncul dalam satu set panel bersama dengan timeline, untuk Misalnya,
Figure 1.4 menunjukkan apa yang seharusnya terlihat.
Figure 1.4
Panel Output
menunjukkan hasil
dari function panggilan
trace



Meskipun program Hello World ini secara teknis tidak menghasilkan "Hello World," itu dapat terjadi
hanya saat Anda menguji film di Flash CS5. Jika Anda menanamkan film ini dalam browser, itu tidak
akan menunjukkan apa-apa di layar. Kita perlu untuk melakukan sedikit lebih banyak pekerjaan
untuk menciptakan Program Hello World sesungguhnya.
Membuat Keluaran pada Layar
Untuk memiliki tampilan kata Hello World di layar, kita membutuhkan lebih dari satu baris kode.
Pada kenyataannya, kita membutuhkan tiga.

Baris pertama menciptakan area teks baru yang akan ditampilkan pada layar, yang disebut kolom
teks. Ini adalah wadah untuk menampung teks.

Baris kedua tempat kata-kata Hello World ke dalam kolom teks.

Kemudian, baris ketiga menambahkan bahwa bidang teks ke stage. Stage area tampilan dari sebuah
Flash movie. Anda dapat mengatur unsur-unsur di atas stage sementara film diautorisasi. Selama
pemutaran, stage adalah area yang terlihat oleh pengguna.

Dalam ActionScript 3.0, membuat objek seperti kolom teks tidak menambahkan mereka ke stage.
Anda perlu melakukannya sendiri. Ini biasanya dapat berguna kemudian, ketika Anda ingin
sekelompok objek bersama-sama dan tidak memiliki semua yang ditempatkan langsung di atas
stage.














CATATAN
Setiap elemen visual dalam ActionScript 3.0 disebut objek layar. Ini bisa menjadi kolom teks,
elemen grafis, tombol, atau bahkan komponen antarmuka pengguna (seperti pop-up
menu). Menampilkan objek juga dapat koleksi benda display lainnya. Misalnya,
menampilkan objek dapat menahan semua bagian dalam permainan catur, dan papan catur lain
menampilkan objek di bawahnya. Tahap itu sendiri adalah objek layar, sebenarnya adalah tampilan
objek dikenal sebagai klip video (movie clip)



Berikut adalah tiga baris kode untuk program Hello World baru kami. ini hanya mengganti satu baris
kode dalam frame 1 dari timeline dari contoh sebelumnya:

var myText:TextField = new TextField();
myText.text = "Hello World";
addChild(myText);







Kode menciptakan variabel bernama myText dari tipe TextField. Ini kemudian menetapkan teks
properti dari bidang teks ke "Hello World" sebelum menambahkannya sebagai turunan dari layar
stage objek.

Kata kunci var sebelum penggunaan pertama dari variabel myText memberitahu compiler bahwa
kita membuat sebuah variabel bernama myText, lorong besar dan jenis, TextField, memberitahu
compiler apa jenis nilai variabel ini yang dipegang (dalam hal ini, referensi ke bidang teks).

Hasil dari program ini adalah "Hello World" kecil pada standar font serif pada upperleft pada sudut
layar. Pilih Control, Test Movie untuk melihatnya. File sumber HelloWorld2.fla. Gambar 1.5
menunjukkan bidang ini teks kecil yang kita buat

Figure 1.5
Jendela menunjukkan
"Hello World yang
kecil di kiri atas.












Alasan teks muncul di kiri atas dan bahwa font tertentu adalah bahwa kita belum mengatur properti
lain dari text field. Setelah kita belajar sedikit lagi, kita dapat mengatur teks lokasi, ukuran, dan font.




CATATAN
Saat mengetik kode ini, Flash secara otomatis akan menyisipkan satu baris di bagian atas Anda
script: import flash.text.TextField;. Hal ini karena segera setelah itu terlihat Anda menggunakan
objek TextField yang mengasumsikan Anda ingin memasukkan bagian dari perpustakaan
ActionScript 3.0 ke film Flash Anda. Dengan itu yang termasuk, Anda dapat membuat objek
TextField.



Class ActionScript 3.0 Pertama Kami

Kami tidak menggunakan script pada timeline kecuali kita memiliki sesuatu yang dibutuhkan khusus
untuk dilakukan pada frame tertentu dalam timeline. Untuk sebagian besar, kode kita ada di file
class ActionScript eksternal.

Jadi, mari kita kembali program Hello World sebagai class eksternal.












Untuk membuat file ActionScript eksternal, pilih File, New, dan pilih ActionScript 3.0 Class. Anda
mungkin akan diminta untuk menentukan nama untuk class, jadi ketiklah HelloWorld3.

Selanjutnya akan membuka jendela dokumen ActionScript baru yang menempati ruang yang sama
sebagai halaman dalam Flash movie. Alih-alih timeline dan area kerja stage, namun, kita hanya
memiliki area pengeditan teks yang besar, seperti yang ditunjukkan pada Figure 1.6.

Figure 1.6
Dokumen ActionScript
berisi program
Hello World
sederhana.









Seperti yang dapat Anda lihat pada Figure 1.6, program ini jauh lebih panjang dari tiga baris program
Hello World yang kita buat sebelumnya. Mari kita lihat apa setiap bagian dari kode tersebut.
Sebuah file class dimulai dengan menyatakan bahwa itu adalah paket yang berisi class. Kemudian,
harus mendefinisikan apa bagian dari ActionScript yang diperlukan dalam program ini. Dalam hal ini,
kita perlu menampilkan objek di atas stage dan menciptakan kolom teks. Hal ini membutuhkan
penggunaan flash.display class dan class-class flash.text:

flash.display classes and the flash.text classes:
package {
import flash.display.*;
import flash.text.*;

CATATAN
Sebuah class (class) adalah cara lain untuk mengacu pada objek Flash, seperti elemen grafis atau
film itu sendiri. Kami juga sering merujuk pada class sebagai bagian kode objek. Jadi Anda memiliki
film dan film class. Hal ini akan menentukan data apa yang terkait dengan film dan apa fungsi yang
dapat melakukan. Dalam film ini, Anda mungkin memiliki klip video elemen dalam perpustakaan dan
klip video yang memiliki class sendiri yang mendefinisikan apa yang dapat dilakukan.










Baris berikutnya dari kode adalah definisi class. Dalam hal ini, perlu class publik, yang berarti bahwa
hal itu dapat diakses oleh film utama. Nama class adalah HelloWorld3, yang harus sesuai dengan
nama dari file, yang HelloWorld3.as. Class ini meluas MovieClip, yang berarti bekerja dengan movie
clip (dalam hal ini, stage itu sendiri):

public class HelloWorld3 extends MovieClip {

Class berisi function tunggal. Nama function ini HelloWorld3, yang sama persis dengan nama class.
Ketika suatu function bernama sama dengan nama class , itu dilakukan sesegera mungkin begitu
class diinisialisasi. Ini disebut function konstruktor.

Dalam hal ini, class melekat pada film, sehingga function ini berjalan segera setelah film ini
diinisialisasi.

Di dalam function tersebut adalah tiga baris kode yang sama kita gunakan pada contoh sebelumnya:

public function HelloWorld3() {
var myText:TextField = new TextField();
myText.text = "Hello World!";
addChild(myText);
}
}
}
Untuk mendapatkan kode ini bekerja di film, Anda perlu membuat sebuah film baru yang segar.
Contoh disebut HelloWorld3.fla. Film ini tidak perlu memiliki apa pun di timeline sama sekali, tetapi
harus diberi class dokumen. Hal ini mengindikasikan bahwa File ActionScript mengontrol film.

Untuk mengatur class dokumen, lihatlah panel Properties yang biasanya muncul saat Anda
pilih tahap Flash movie. Jika Anda tidak melihatnya, Anda dapat mengambilnya dengan memilih
Window, Properties. Anda melihat panel yang ditunjukkan pada Figure 1.7 di sebelah kanan.
Kemudian, masukkan nama class HelloWorld3 ke bidang class dokumen.






CATATAN
Anda dengan cepat perlu untuk mengetahui class apa yang perlu untuk diimpor pada saat
permulaan program Anda. Disana hanya terdapat dua dari segelintir yang kami gunakan dalam
keseluruhan buku. Untuk sesuatu fungsi ActionScripts yang tidak biasa, Anda dapat selalu melihat
dalam masukan bantuan Flash untuk melihat fungsi-fungsinya dimana class perpustakaan dapat
diimpor.

Figure 1.7
Class document
Pada film ini diset
Sebagai HelloWorld





Sekarang dalam film mengetahui bahwa hal tersebut harus memuat dan menggunakan file
HelloWorld3.as. ketika Anda menguji film, dia mengkompilasi file class AS menjadi film. Menjalankan
film akan menginisialisasi class, yang akan menjalankan function HelloWorld3 dan menampilkan teks
"Hello World.

Bekerja dengan Flash CS5

Meskipun sebagian besar pekerjaan kami adalah dalam ActionScript, kita perlu tahu beberapa istilah
dan beberapa dasar-dasar tentang bekerja dengan Flash CS5 timeline, stage, dan perpustakaan.










Tampilan Objek dan Daftar Tampilan

Kita sudah membahas tampilan objek. Mereka pada dasarnya merupakan elemen grafis. Kebanyakan
paling serbaguna dari semua tampilan obyek adalah movie clip, yang merupakan elemen grafis yang
mencakup sejumlah objek tampilan lain, ditambah timeline untuk animasi.

Sebuah versi sederhana dari movie clip adalah sprite. Sprite pada dasarnya adalah sebuah movie clip
dengan hanya satu frame. Ketika kita membuat objek tampilan dari awal dalam ActionScript, kita
biasanya membuat sprite. Mereka secara alami lebih efisien daripada movie clip karena mereka
tidak memiliki overhead dari beberapa frame animasi.

Tampilan objek lainnya sudah termasuk hal-hal seperti bidang teks, bitmap, dan video.

Beberapa tampilan objek, seperti movie clip dan sprite, dapat memiliki tampilan benda-benda lain di
dalamnya. Misalnya, Anda dapat memiliki sebuah sprite yang berisi beberapa sprite lainnya, serta
beberapa bidang teks dan bitmap.

CATATAN
Jika Anda baru ke Flash, lihatlah "Menggunakan Flash (using Flash)" dalam dokumentasi Bantuan.
Bagian tersebut memberikan penjelasan rinci panggung, timeline, perpustakaan, dan Flash lainnya
elemen ruang kerja dan memberitahu Anda bagaimana untuk menangani antarmuka Flash.

Tampilan objek bersarang memberikan Anda sebuah cara untuk mengatur elemen grafis Anda.
Untuk misalnya, Anda dapat membuat sprite permainan tunggal untuk menampung semua elemen
permainan yang Anda buat dengan ActionScript. Kemudian, Anda bisa memiliki latar belakang dalam
sprite itu yang berisi latar belakang beberapa elemen sprite. Sebuah permainan potongan sprite bisa
berada di atas itu dan berisi potongan permainan bergerak.

Karena movie clip dan sprite dapat berisi beberapa objek, masing-masing dari mereka
mempertahankan daftar barang-barang untuk menentukan urutan di mana mereka ditampilkan. Hal
ini disebut daftar tampilan. Kita dapat memodifikasi daftar tampilan untuk menempatkan benda di
depan atau di belakang benda lainnya.

Kita juga dapat memindahkan benda dari satu tampilan objek utama ke yang lain. Hal ini tidak
membuat sebuah salinan dari objek, tetapi benar-benar menghapus dan menambahkan lagi. Hal ini
membuat tampilan objek menjadi sangat fleksibel dan mudah untuk dikerjakan
.
Stage

Stage adalah area kerja grafis utama dalam Flash. Ini adalah representasi dari layar yang dilihat oleh
pengguna ketika mereka sedang bermain permainan.

Figure 1.2 menunjukkan halaman dokumen dengan stage yang mengambil sebagian besar ruang. Ini
juga menunjukkan timeline di bagian atas.

Banyak permainan kami yang memiliki stage benar-benar kosong dan waktu kosong. Semua elemen
grafis dibuat oleh kode ActionScript.

Namun, banyak permainan memiliki unsur-unsur grafis sudah duduk di atas stage. Hal ini penting
terutama ketika seorang desainer grafis nonprogrammer terlibat dalam membuat
permainan. Perancang mungkin ingin untuk meletakkan elemen-elemen antarmuka dan
menyesuaikannya selama pembangunan. Ini sama sekali tidak praktis untuk memiliki elemen-
elemen yang dibuat oleh ActionScript dalam kasus-kasus seperti ini.

Selama pengembangan, stage dapat digunakan sebagai tempat untuk menciptakan elemen grafis
dengan cepat. Misalnya, Anda dapat menggambar menggunakan alat gambar di atas stage, pilih
bentuk, dan kemudian tekan F8 untuk membuat movie clip singkat di perpustakaan.

Perpustakaan

Perpustakaan flash berisi media apapun yang Anda butuhkan dalam permainan Anda dan dibundel
ke file akhir SWF. Anda juga dapat mengimpor elemen media lain ke dalam film Anda, seperti Anda
lihat pada saat kita mengimpor gambar bitmap eksternal dalam Bab 6, Picture Puzzles: : Sliding
dan Jigsaw. "

Figure 1.8 menunjukkan panel perpustakaan. Sebagian besar item di perpustakaan adalah movie
clips. Item pertama adalah sebuah tombol, dan beberapa yang ada di folder Sounds adalah suara-
suara.



Figure 1.8
Panel Perpustakaan
menunjukkan semua
objek media
tersimpan di dalam
film saat itu.









Pada Figure 1.8, beberapa movie clip memiliki nama di kolom Linkage. ini adalah item yang dapat
ditarik dari perpustakaan dengan kode ActionScript kita pada saat dijalankan.

Timeline

Sebuah Flash movie dipecah menjadi frame. Timeline di bagian atas jendela memungkinkan Anda
untuk memilih frame yang ditampilkan di area kerja stage pada bagian bawah jendela. Karena kita
tidak memproduksi animasi, tapi aplikasi permainan, kita menggunakan frame untuk membedakan
antara layar permainan yang berbeda.

Figure 1.9 memperlihatkan timeline. Hanya tiga frame sedang digunakan. Mereka semua adalah
keyframes. Yang pertama adalah untuk layar pengenalan permainan dan berisi beberapa petunjuk.
Yang kedua adalah bingkai di mana permainan ini dimainkan. Yang ketiga adalah pesan "Game
Over" dan tombol Play Again

Figure 1.9
Timeline telah
telah sedikit
diperluas menggunakan
menu pull-down
di sebelah kanan, sehingga
frame adalah
sedikit lebih besar.





Setiap keyframe memiliki label, meskipun Anda tidak bisa melihatnya di timeline. Anda dapat
melihat bendera kecil di lapisan atas dari setiap frame, yang menandakan bahwa ada label sana.
Untuk melihat dan mengatur frame label, Anda perlu memilih frame, dan kemudian memeriksa
Properti panel. Ini berisi field Frame. Dalam hal ini, telah diatur untuk "mulai", dan Anda dapat
mengedit jika Anda membutuhkan (lihat Gambar 1.10).

Figure 1.10
Panel Properties
memungkinkan Anda
untuk mengatur atau
mengubah label bingkai.









Jika Anda melihat kembali Figure 1.9, Anda dapat melihat bahwa ada empat lapisan. Lapisan
pertama, Label, berisi tiga keyframes. Cara Anda membuat frame dan keyframes adalah dengan
menggunakan F5 untuk menambahkan bingkai ke lapisan, dan kemudian F7 untuk menambahkan
keyframe di antara mereka frame.

Lapisan kedua, bernama Score, berisi hanya dua keyframes, frame 1 dan 2. Jadi, bingkai 3 adalah
hanya sebuah perpanjangan dari frame 2. Ini berarti elemen score hadir selama permainan
dimainkan pada frame 2 masih ada pada frame 3.

Timeline, stage, dan perpustakaan adalah alat utama Anda visual untuk mengembangkan permainan
Anda.

Menulis dan Mengedit ActionScript

Meskipun biasanya agak diperlukan untuk bekerja dalam dokumen Flash untuk menciptakan
permainan, kita menghabiskan sebagian besar waktu kita di jendela dokumen ActionScript.

Kami melihat jendela ini dalam figure 1.6, tapi figure 1.11 menunjukkan hal berbeda. Di sebelah kiri
adalah menu hirarkis sintaks ActionScript 3.0











Figure 1.11
Jendela ActionScript
dokumen memiliki
banyak peralatan
yang berguna di bagian
atasnya









Di bagian atas jendela, Anda melihat dua tab. Itu karena dua dokumen terbuka: HelloWorld3.fla dan
HelloWorld3.as. Hal ini memungkinkan Anda untuk bekerja pada Flash movie dan dokumen
ActionScript pada waktu yang bersamaan. Anda dapat beralih di antara mereka dengan mengklik
tab. Anda juga dapat memiliki file ActionScript lainnya terbuka, yang membuktikan berguna
jika Anda bekerja dengan class ActionScript beberapa pada saat yang sama.

Perhatikan pada Figure 1.11 bahwa garis-garis kode yang indentasi. Cara yang tepat untuk
melakukan ini adalah dengan menggunakan tombol Tab. Ketika Anda tekan Return atau Enter di
akhir baris kode, kursor secara otomatis muncul indentasi ke tingkat yang tepat di baris berikutnya.
Jika Anda ingin menghapus Tab berhenti untuk menarik garis lebih dekat ke kiri, tekan Delete atau
Shift+Tab.








Peralatan baris skrip jendela di atas melakukan berbagai function yang ActionScript setiap
programmer harus tahu bagaimana menggunakan. Berikut adalah daftar (seperti yang ditunjukkan di
jendela, dari kiri ke kanan):

Add A New Item to the Script-Ini adalah menu drop-down besar yang memberikan Anda
akses ke setiap perintah ActionScript. Ada begitu banyak sehingga sulit untuk digunakan untuk
perintah standar, tetapi dapat berguna untuk menemukan yang lebih jelas.

Find-Gunakan ini untuk membuka Cari (find) dan Ganti (replace) kotak dialog. Anda juga dapat
menggunakan Perintah F (Mac) atau Ctrl F (Windows).

Check Syntax-Ini adalah cara yang berguna untuk memiliki compiler Flash manakah precheck
sebuah pada sintaks dari naskah Anda. Anda dapat melihat hasilnya di panel output.

Auto Format-Perintah ini mengambil seluruh script Anda dan memformat dengan tabbing
konsisten, spasi, dan tanda kurung. Jika Anda memutuskan untuk menggunakan ini, pastikan
untuk mengunjungi Preferensi untuk Auto Format untuk membuat beberapa keputusan
tentang apa tombol ini harus dan tidak harus dilakukan.

CATATAN
Anda juga dapat memilih bagian dari kode dan tekan Tab untuk memindahkan semua ke kanan
dengan satu Tab berhenti. Anda dapat shift Tab untuk memindahkan seluruh bagian ke kiri juga.

Show Code Hint-Ini mungkin yang paling berguna dari semua tombol. Ketika Anda mulai
mengetik sebuah function, seperti gotoAndStop (), Anda mendapatkan petunjuk kode yang
langsung muncul membiarkan Anda tahu apa parameter function menerima. Namun, jika
Anda ingin mengedit function panggilan kemudian, Anda dapat menempatkan kursor di dalam
parameter function dan kemudian menggunakan tombol ini untuk membawa kembali
petunjuk.

Debug Options- menu drop-down ini memungkinkan Anda untuk mengatur dan menghapus
breakpoints. Kami membahas debugging nanti dalam bab ini dalam bagian Pengujian dan
Debugging "

Collapse Between Braces-Jika Anda mengklik tombol ini, bagian awal saat kode, antara kurung
kurawal, diurutkan untuk satu baris. Kode ini masih ada, tapi tersembunyi. Anda dapat klik
pada tanda segitiga (Mac) atau plus (Windows) untuk sisi kiri dari jendela atau tombol Perluas
Semua untuk memperluas itu. Gambar 1.12 menunjukkan apa tampak seperti ketika beberapa
kode telah berkembang.

Figure 1.12
Sekumpulan kode
telah berkembang.
Ini terjadi apabila
Anda memiliki banyak
skrip dan ingin
menyembunyikan
bagian dari kode yang
tidak begitu bekerja
dengan baik.




Collapse Selection-kode yang sedang dipilih.

Expand All-semua bagian yang berkembang ini beralih ke status normal mereka.

Apply Block Comments-Pilih beberapa kode dan tekan tombol ini untuk mengaktifkan seleksi
masuk komentar dengan menambahkan / * sebelum dan * / setelah. Lihat bagian berikutnya
"Strategi Pemograman Permainan dengan ActionScript" untuk lebih lanjut tentang komentar
kode Anda.

Aplly Line Comment- Garis saat ini berubah menjadi komentar. Jika beberapa baris yang
dipilih, seluruh baris berubah menjadi komentar dengan menambahkan / / di depan setiap
baris.

Remove Comment-komentar Ternyata dipilih kembali ke dalam kode. Hal ini berguna bila
Anda ingin untuk sementara menghapus kode dari program Anda. Anda dapat mengomentari
baris-baris kode sehingga mereka tidak kompilasi, dan kemudian hapus komentar tanda untuk
membawa kode kembali.

Show/Hide Toolbox-matikan tombol ini daftar ActionScript di sebelah kiri sisi jendela.



Di sebelah kanan tombol adalah menu drop-down berlabel Target (Sasaran). Tombol ini
memungkinkan Anda untuk memilih dokumen Flash film yang mengkompilasi dan berjalan ketika
Anda memilih Kontrol, Test Movie. Hal ini memungkinkan untuk membuat perubahan ke kode Anda
dan menguji film tanpa harus beralih kembali ke jendela dokumen pertama. Biasanya, dokumen
Flash movie yang terakhir dilihat yang akan ditampilkan di sini, tapi Anda dapat memilih beberapa
dokumen jika yang terbuka.

Fitur lain yang penting dari halaman dokumen ActionScript adalah nomor ke kiri. Setiap baris
memiliki nomor sendiri. Ketika Anda mendapatkan kesalahan kompilator ketika mencoba untuk
menerbitkan film Anda, mereka mengacu pada nomor baris sehingga Anda dapat melacak masalah.

Strategi Pemrograman Game ActionScript

ActionScript 3.0 ini sangat fleksibel. Anda dapat mengikuti sejumlah gaya pemrograman dan masih
menciptakan permainan yang bekerja dengan baik.

Namun, beberapa programmer lebih memilih gaya tertentu atas orang lain. Aku telah memilih
metode untuk buku ini yang memungkinkan kita untuk fokus pada kode permainan inti, mungkin
mengorbankan beberapa organisasi maju.

Metode Class tunggal

Program Hello World ketiga sebelumnya dalam bab ini hanya merupakan salah satu file class terkait
dengan Flash Movie dengan nama yang sama. Ini pendekatan yang sederhana cepat dan mudah.












Dengan satu file class, semua properti class dapat kami definisikan secara jelas sebagai variabel di
atas class.

Class dokumen mengontrol timeline utama, yang berarti bahwa kita dapat memanggil function-
function publik di class dari tombol ditempatkan di stage oleh desainer. Kita juga bisa dengan mudah
mengontrol timeline utama, melompat ke frame yang berbeda.

Pendekatan Langkah Terkecil

Ini bagian informasi berikutnya mungkin yang paling penting dalam buku ini. Ini hanyalah
sesederhana seperti ini :

CATATAN
Alternatifnya adalah dengan menggunakan file class yang berbeda untuk objek permainan yang
berbeda dan prosesnya. Hal ini dapat membuat sulit untuk melacak apa kodenya dan dimana
dalam permainan kecil. Untuk Misalnya, jika bola bertabrakan dengan dayung di permainan, adalah
mendeteksi tabrakan di class objek bola atau class objek dayung itu?

Anda tentu dipersilahkan untuk memecahkan kode tersebut ke dalam beberapa class jika Anda
sudah familiar dengan jenis organisasi dari pengalaman Anda dengan bahasa pemrograman lain.


Jika Anda tidak tahu bagaimana memprogram sesuatu, pecahkan menjadi langkah yang lebih
kecil sampai Anda bisa.
Proggrammer Pemula, dan beberapa programmer berpengalaman yang hanya lupa aturan ini, sering
terjebak saat menulis kode. Mereka berpikir: "Saya tidak tahu bagaimana membuat Program
melakukan tugas tertentu. "

Namun, ini hanyalah sebuah kasus tugas benar-benar menjadi beberapa tugas, tidak hanya satu.

Misalnya, seorang programmer mungkin ingin membuat sebuah pesawat ruang angkasa berputar di
sekitar ketika pemain menekan tombol panah. Programmer menjadi frustrasi karena dia tidak yakin
bagaimana untuk menyelesaikan tugas ini.

Kuncinya adalah untuk memecah tugas "berputar sebuah pesawat ruang angkasa:" Periksalah untuk
melihat apakah kiri panah ditekan. Kurangi dari properti rotasi sprite kapal. Periksa untuk melihat
apakah panah kanan ditekan. Tambahkan ke properti rotasi sprite kapal.

Tugas berputar sebuah pesawat ruang angkasa sebenarnya empat tugas yang lebih kecil
digabungkan menjadi satu. Kadang-kadang pemrogram awal membuat kesalahan yang sama dalam
cara yang lebih besar. Mereka menganggap mereka tidak dapat membuat seluruh permainan karena
tampaknya terlalu rumit. Tapi, jika Anda mematahkan permainan menjadi tugas yang lebih kecil dan
lebih kecil (dan mengambil setiap langkah satu per satu), Anda dapat membuat permainan apapun.

Sebuah permainan mendera-tahi lalat-sederhana mungkin memerlukan kurang dari seratus tugas,
sedangkan permainan platform yang kompleks mungkin memerlukan beberapa ratus. Tapi setiap
tugas, jika dipecah menjadi langkah-langkah sederhana, hanya menjadi mudah pada saat dibangun.

Praktek Pemrograman Yang Baik

Sambil belajar untuk menggunakan ActionScript 3.0 untuk membuat game, hal itu juga merupakan
ide yang baik untuk menjaga beberapa praktek pemrograman umum baik dalam pikiran. Ini bukan
aturan begitu banyak seperti pedoman. Bahkan aku mengistirahatkan mereka di setiap halaman-
halaman buku ini. Tidak ada keraguan bahwa Anda akan menjadi programer yang lebih baik jika
Anda belajar tentang praktek-praktek ini.

Gunakan Komentar Dengan Baik

Komentari kode Anda dengan komentar yang berarti tapi sederhana.

Apa yang tampaknya seperti kerja ekstra sekarang akan membuat Anda berterima kasih kepada diri
sendiri sejak dari sekarang ketika Anda harus kembali dan memodifikasi kode Anda.

Jika Anda bekerja dengan programmer lain, atau berpikir bahkan ada kesempatan remote yang
orang lain akan harus memodifikasi kode Anda di beberapa titik di masa depan, pedoman ini harus
menjadi aturan.

Ada umumnya dua jenis komentar: baris komentar dan komentar blok. Sebuah baris komentar
hanyalah sebuah kalimat pendek di akhir baris atau kadang-kadang satu baris komentar sebelum
baris kode. Sebuah blok komentar adalah komentar yang lebih besar, biasanya satu kalimat atau
lebih, sebelum function atau bagian dari kode:



someActionScriptCode(); // this is a line comment

// this is a line comment
someActionScriptCode();

/* This is a block comment.
Block comments can be much longer.
And contain a description of what is to come. */

Hal ini sama pentingnya untuk membuat komentar Anda berarti dan singkat. Jangan hanya
menyatakan kembali apa kode sudah mengatakan, seperti ini:

// loop 10 times
for (var i:int=0;i<10;i++) {
Juga, tidak menggunakan paragraf teks ketika beberapa kata akan melakukannya. Sebuah komentar
yang panjang dan bertele-tele bisa sama tidak berguna karena tidak ada komentar sama sekali.
Jangan berlebihan.

Gunakan Variabel Deskriptif dan Nama Function

Jangan takut untuk menggunakan nama yang panjang dan deskriptif untuk variabel dan function.
Jika Anda melakukannya, kode menjadi sedikit jelas. Berikut adalah suatu contoh:

public function putStuff() {
for(var i:int=0;i<10;i++) {
var a:Thing = new Thing();
a.x = i*10;
a.y = 300;
addChild(a);
}
}

Apakah kode yang melakukan? Itu seperti menempatkan salinan dari movie clip di layar. tapi
apakah movie clip dan untuk tujuan apa? Bagaimana dengan berikut ini?

public function placeEnemyCharacters() {
for(var enemyNum:int=0; enemyNum<10; enemyNum++) {
var enemy:EnemyCharacter = new EnemyCharacter();
enemy.x = enemyNum*10;
enemy.y = 300;
addChild(enemy);
}
}

Kembali ke kode ini akan jauh lebih mudah.











Mengaktifkan Kode Berulang atau Serupa ke dalam Functionnya

Jika Anda perlu menggunakan baris kode yang sama lebih dari satu kali dalam sebuah program,
pertimbangkan mengubahnya menjadi function sendiri dan memanggil function itu sebagai
gantinya.

Sebagai contoh, mungkin ada beberapa tempat dalam permainan Anda di mana Anda ingin
memperbarui skor. Jika skor ditampilkan dalam bidang teks bernama scoreDisplay, Anda
melakukannya seperti ini:

scoreDisplay.text = "Score: "+playerScore;

Tapi bukannya termasuk baris ini kode yang sama di lima tempat, Anda harus meletakkan function
panggilan di lima tempat sebagai gantinya:

showScore();

Lalu functionnya akan terlihat seperti ini :

public function showScore() {
scoreDisplay.text = "Score: "+playerScore;
}
Dengan kode ini hanya di satu tempat, itu adalah sepele untuk mengubah kata Skor tampilan untuk
Poin. Anda tidak perlu mencari dan mengganti seluruh kode Anda karena hanya di satu tempat.

Anda dapat melakukan hal yang sama bahkan jika kode ini tidak identik. Sebagai contoh, misalkan
Anda memiliki lingkaran di mana Anda menempatkan 10 salinan dari movie clip A pada sisi kiri stage
dan loop lain di mana Anda menempatkan 10 eksemplar dari B klip di sisi kanan stage. Anda bisa
membuat function yang mengambil referensi film klip dan posisi horisontal untuk penempatan dan
tempat movie clip. Kemudian, Anda dapat menyebutnya dua kali, sekali untuk Sebuah movie clip dan
sekali untuk film klip B.

Uji Kode Anda dalam Potongan Kecil

Ketika Anda menulis kode Anda, ujilah dalam sebagai potongan sekecil mungkin. Dengan cara ini,
Anda menangkap kesalahan ketika Anda menulis kode Anda.

Misalnya, jika Anda ingin membuat lingkaran yang menempatkan 10 lingkaran pada layar secara
acak lokasinya dengan warna acak, Anda ingin untuk membuat pertama kali10 lingkaran di lokasi
acak. Ujilah dan dapatkan bagian yang bekerja sama seperti yang Anda inginkan. Kemudian,
tambahkan acak function warna.

CATATAN
Satu pengecualian umum untuk ini adalah penggunaan i sebagai variabel tambahan yang digunakan
dengan untuk loop. Dalam contoh sebelumnya, saya akan meninggalkan i dan tidak berubah ke
enemyNum. Cara baik baik-baik saja, tetapi telah menjadi cukup standar untuk programmer untuk
menggunakan i in untuk loop. Bahkan, bersarang untuk loop biasanya pergi untuk menggunakan j
dan k dalam penggunaan loop juga.

Hal Ini pada dasarnya merupakan perpanjangan dari pendekatam kecil pemrograman. Patahkan
tugas pemogramman Anda ke dalam langkah-langkah kecil. Buat kode untuk setiap langkah.
Kemudian, uji setiap langkah.

Konsep Dasar ActionScript

Mari kita lihat pada sintaks pemrograman yang paling dasar dalam ActionScript 3.0. Jika Anda masih
awam untuk ActionScript tetapi telah menggunakan bahasa pemrograman lain, ini adalah cara cepat
untuk melihat bagaimana ActionScript bekerja.

Dalam kasus Anda telah menggunakan ActionScript ActionScript 2.0 atau sebelumnya, saya
menunjukkan beberapa tempat dimana ActionScript 3.0 berbeda.

Membuat dan Menggunakan Variabel

Menyimpan nilai dalam ActionScript 3.0 dapat dilakukan dengan pernyataan tugas sederhana.
Namun, Anda perlu untuk mendeklarasikan variabel pertama kali Anda menggunakannya. Anda
dapat melakukan ini dengan menempatkan var sebelum penggunaan pertama dari variabel:

var myValue = 3;

Atau, Anda bisa mendeklarasikan variabel pertama dan menggunakannya nanti:

var myValue;

Bila Anda membuat variabel dengan cara ini, itu adalah jenis Obyek serbaguna. Ini berarti dapat
memegang jenis nilai variabel: angka, string seperti "Halo", atau sesuatu yang lebih kompleks seperti
array atau referensi film klip.

Namun, jika Anda mendeklarasikan variabel untuk menjadi jenis tertentu, Anda hanya dapat
menggunakan variabel untuk menyimpan nilai dari jenis yang sama:

var myValue: int = 7;

Sebuah tipe variabel int dapat berupa bilangan bulat, positif atau negatif. Sebuah variabel uint hanya
untuk bilangan bulat positif. Jika Anda ingin menggunakan nilai fraksional, juga dikenal sebagai
floating-point, Anda harus menggunakan jenis Number:

var myValue: Number = 7.8;

Ada juga tipe String dan Boolean. String memegang teks, dan nilai-nilai Boolean harus baik benar
atau salah.

Ini adalah tipe primitif dasar. Namun, Anda juga dapat memiliki array, klip video dan referensi sprite,
dan jenis baru yang sesuai class kode yang Anda buat.






CATATAN
Ada keuntungan efisiensi pasti untuk menggunakan variabel yang didefinisikan secara sempit. Untuk
Misalnya, nilai-nilai int dapat diakses banyak kali lebih cepat daripada nilai Nomor. Hal ini dapat
membantu Anda mempercepat proses permainan penting jika Anda tetap sebagai dasar tipe yang
sama mungkinnya untuk semua variabel.

Operasi pada variabel numerik seperti hampir semua bahasa pemrograman lain. Penambahan,
pengurangan, perkalian, dan pembagian dilakukan dengan, -, *, dan / operator:

var mynumber: Number = 7.8 2;
var myOtherNumber: int = 5-6;
var myOtherNumber: Number = mynumber * 3;
myNextNumber var: Number = mynumber / myOtherNumber;

Anda juga dapat menggunakan operator khusus untuk menyederhanakan operasi. Sebagai contoh,
operator increment sebuah variabel dengan satu. Para - Operator berkurang dengan satu:

mynumber;

Anda dapat menggunakan =, -=, *=, dan / = untuk melakukan suatu operasi pada variabel asli. Untuk
Misalnya, ini menambah tujuh ke variabel:

mynumber = 7;

Anda juga dapat menggunakan tanda kurung untuk mengatur urutan operasi:

var mynumber: Number = (3 7) * 2;

String juga dapat dimanipulasi dengan operator dan operator =:

var myString: String = "Hello";
var myOtherString = myString "World";
myString = "World";

Ketika kita menggunakan variabel dalam class, mereka menjadi bagian dari class itu. Dalam kasus itu,
kami harus mendefinisikan mereka lebih baik sebagai pribadi atau publik. Perbedaannya adalah
bahwa pribadi variabel tidak dapat diakses oleh kode di luar class. Untuk sebagian besar tujuan, ini
adalah apa yang Anda inginkan sebagai function class harus satu-satunya hal yang dapat mengubah
class variabel nilai.








Penyataan Kondisi

Pernyataan jika dalam ActionScript adalah sama seperti di banyak bahasa pemrograman:
if (myValue == 1) {
doSomething ();
}

Perbandingan == memeriksa kesetaraan umum. Anda juga dapat menggunakan>, <,> =, dan <= untuk
lebih besar dari, kurang dari, lebih besar dari atau sama dengan dan kurang dari atau sama dengan,
masing-masing.

CATATAN
Ada juga variabel yang memegang lebih dari sekedar nilai tunggal. Array, misalnya, mengadakan
serangkaian nilai-nilai dan sangat berguna untuk pemrograman game. Kita akan melihat array pada
awal Bab 4, "Permainan Otak:. Memori dan Pengurangan"

Anda juga dapat menambahkan else dan else if untuk mengembangkan strukturnya :

if (myValue == 1) {
doSomething();
} else if (myValue == 2) {
doSomethingElse();
} else {
doNothing();
}

Anda dapat juga memperumit kondisi dengan && and ||. Mereka mewakili penggunaan and dan or
sebagai operator pembanding.










Perulangan

Perulangan dilakukan dengan untuk pernyataan atau laporan sementara.

Untuk Pernyataan for memiliki tiga bagian: pernyataan awal, kondisi, dan mengubah pernyataan.
Sebagai contoh, kode berikut menyetel variabel i ke nol, loop selama kurang dari 10, dan
meningkatkan nilai i setiap kali melalui loop:

for (var i: int = 0; i <10; i + +) {
doSomething ();
}

Anda dapat menggunakan perintah break untuk keluar dari loop setiap saat. Perintah terus
melompati sisa baris kode dalam loop dan memulai iterasi berikutnya melalui loop.

Sebuah perulangan while pada dasarnya adalah sebuah lingkaran yang terus selamanya asalkan
kondisi awal ini terpenuhi:

var i: int = 0;
while (i <10) {
i + +;
}

Sebuah variasi dari perulangan while adalah perulangan do. Ini adalah dasarnya sama, kecuali
Pernyataan bersyarat adalah setelah loop, memastikan bahwa dijalankan setidaknya sekali:




CATATAN
Bahasa Pemograman lainnya menggunakan and dan or dalama kondisi pernyataan. Namun dalam
ActionScript 3.0 hanya && dan || yang disetujui

if ((myValue == 1) && (myString == "This")) {
doSomething();
}


var i:int = 0;
do {
i++;
} while (i <10);

Fungsi (Function)
Untuk membuat function dalam ActionScript 3.0, Anda hanya perlu untuk menyatakan function,
apakah parameter yang dibutuhkan, dan apa yang dikembalikan. Kemudian menentukan function
dengan kode di dalamnya.

Jika function ini berada dalam class, Anda perlu juga menentukan apakah public atau private
functionnya. Sebuah function private tidak bisa diakses di luar class. Dengan class satuan kami
kembangkan metode permainan, kita menggunakan sebagian besar class privat.









Berikut ini adalah function sederhana dari dalam class. Jika function ini berada di timeline utama,
bukan di class, kita akan meninggalkan kata kunci private:

private function myFunction(myNumber:Number, myString:String): Boolean {
if (myNumber == 7) return true;
if (myString.length < 3) return true;
return false;
}
Semua contoh function ini adalah untuk mengembalikan true jika salah satu nomor adalah tujuh
atau
string kurang dari tiga. Ini adalah contoh sederhana untuk menunjukkan sintaks balik menciptakan
function.

Pengujian dan Debugging
Tidak seorang pun, bahkan programmer paling berpengalaman, menulis kode yang sempurna. Jadi,
kita harus menulis kode, menguji, dan debug.

Jenis Bugs
Ada tiga alasan untuk debug kode Anda. Yang pertama adalah bahwa Anda mendapatkan pesan
kesalahan ketika mengkompilasi atau berjalan. Dalam hal ini, Anda harus mencari tahu masalah dan
memperbaikinya.Biasanya, Anda dapat melihat masalah dengan segera (misalnya, nama variabel
salah eja).
Alasan kedua adalah bahwa program ini tidak bekerja seperti yang diharapkan. Mungkin
penggunaan spasi yang seharusnya untuk bergerak, tetapi tidak. Atau, masukan pengguna tidak
diterima. Atau, mungkin peluru kebakaran pahlawan pada musuh lulus tepat melalui mereka. Jenis
bug perlu diburu, dan kadang-kadang dapat memakan waktu cukup lama.

CATATAN
Anda mungkin menemukan bahwa fungsi kadang-kadang disebut sebagai metode. Dalam
dokumentasi, metode istilah sering digunakan, tetapi fungsi kata kunci yang digunakan untuk
mendefinisikan, seperti Anda lihat dalam fungsi berikut. Jadi, saya lebih suka menggunakan istilah
fungsi












Alasan ketiga untuk debug kode Anda adalah untuk memperbaikinya. Anda dapat melacak inefisiensi
dan masalah yang menyebabkan slowdowns. Kadang-kadang ini hanya sebagai kritis sebagai bug
karena permainan lambat yang mungkin tidak dapat dimainkan.

Metode Pengujian
Anda dapat melacak masalah dengan kode Anda dalam beberapa cara. Yang paling sederhana
adalah dengan hanya berjalan melalui kode di kepala Anda. Misalnya, berjalan melalui garis, kode
berikut dengan line, dan melakukan perhitungan seperti Anda adalah komputer:

var mynumber: int = 7;
mynumber = 3;
mynumber *= 2;
mynumber;

Anda tidak perlu untuk menjalankan kode untuk memberitahu bahwa nilai mynumber sekarang 21.

Untuk situasi di mana kode yang terlalu panjang atau terlalu perhitungan sulit, perintah sederhana
trace mengirimkan informasi ke panel Output untuk Anda untuk memeriksa:

var mynumber: int = 7;
mynumber = 3;
mynumber *= 2;
mynumber;
trace ("mynumber =", mynumber);

Saya menggunakan pernyataan trace sering pada saat pengembangan. Sebagai contoh, jika pemain
membuat sekelompok pilihan pada awal permainan, saya mengirim hasil dari pilihan-pilihan untuk
Keluaran panel dengan trace. Dengan begitu, sementara aku sedang menguji, aku punya pengingat
Apakah pilihan Saya sebelum bermain game bila hal sesuatu yang tidak terduga terjadi.

Menggunakan Debugger
Dengan Flash Anda dapat menggunakan debugger runtime untuk memeriksa kode Anda sementara
film Anda berjalan.

Menetapkan suatu Breakpoint
Cara paling sederhana untuk debug sebuah program adalah untuk menetapkan titik istirahat. Anda
dapat melakukan ini dengan memilih baris kode Anda dan memilih Debug, Toggle Breakpoint dari
menu. Anda juga dapat menekan Command B (Mac) atau Ctrl B (Windows) untuk membuat atau
menghapus breakpoint.

CATATAN
Sejauh ini, jenis yang paling umum dari pertanyaan saya dapatkan dari programmer lain adalah
bahwa mereka memiliki beberapa kode yang tidak bekerja seperti yang diharapkan. Dapatkah saya
memberitahu mereka apa yang salah dengan itu?

Ya, tapi jawabannya tepat di depan mereka, mereka hanya perlu menggunakan keterampilan
debugging mereka untuk menemukannya. Dan, sebagai pencipta kode, mereka biasanya dalam jauh
lebih baik posisinya untuk melakukan itu daripada saya.


Figure 1.13 menunjukkan kode DebugExample.as dengan mengatur breakpoint. Anda dapat
melihatnya sebagai titik di sisi kiri jendela sebelum baris kedelapan. Program sederhana
menciptakan Bidang teks 10 dengan angka 0 sampai 9 di dalam mereka dan menempatkan mereka
secara vertikal di sisi kiri layar.

Figure 1.13
Kursor telah
ditempatkan pada
baris ke 8
dan kemudian Debug,
Toggle Breakpoint
Ttlah dipilih untuk
mengatur sebuah
breakpoint disana.






















Melangkah Dengan Kode

Ada lima tombol di bagian atas panel Console Debug Anda di kiri atas. Yang pertama adalah tombol
Lanjutkan, yang dilanjutkan film dari titik di mana ia diberhentikan. Yang kedua adalah X. Ini
mengakhiri sesi debugging dan melanjutkan film dari titik ini tanpa debugging.

Tiga lainnya melibatkan langkah melalui kode. Yang pertama mengeksekusi baris saat ini dan
bergerak ke yang berikutnya. Jika baris saat ini kode memanggil function lain, hal ini menjalankan
functionnya. Di sisi lain, tombol berikutnya, Step In, program melangkah ke function baru jika ada
pada baris yang sama. Menggunakan tombol ini lagi dan lagi berarti Anda mengunjungi setiap baris
program individu, bukan melompati panggilan function.

Tombol terakhir langkah keluar dari function saat ini. Jadi, gunakan tombol ini untuk menyelesaikan
arus function dan pergi ke baris berikutnya dari function Anda hanya kiri.

Figure 1.15 menunjukkan panel men-debug setelah Anda melangkah ke function showNumber dan
kemudian bergerak ke bawah beberapa baris. Anda dapat melihat bahwa panel Variabel
menunjukkan nilai i. Anda juga dapat memperluas variabel myText untuk melihat semua properti
dari halaman teks.

Di kiri atas, Anda dapat melihat di mana Anda berada dalam program. Anda sedang dalam function
showNumber, yang disebut dari function konstruktor untuk class. Ini sangat berguna ketika Anda
memiliki function yang bisa disebut bentuk beberapa tempat.

Mengetahui bagaimana menggunakan debugger untuk memperbaiki bug dan perilaku tak terduga
adalah sama pentingnya dengan mengetahui bagaimana untuk menulis kode di tempat pertama.
Ketika Anda bekerja pada game di buku ini dan mereka mencoba untuk memodifikasi sesuai dengan
kebutuhan anda, juga bekerja pada belajar bagaimana untuk debug.

Figure 1.15
Panel debug
menunjukkan perkembangan
dari program
seperti langkah Anda.

















Terbitkan Game Anda

Setelah Anda menyelesaikan permainan dan diuji untuk kepuasan Anda, sekarang saatnya untuk
menerbitkannya. Game Flash biasanya diterbitkan ke Web dengan menambahkan mereka dalam
halaman HTML.

Flash membuat ini relatif mudah, tetapi ada beberapa pilihan yang harus Anda pahami sebelum
penerbitan.

Anda dapat mengakses dialog Publish Settings dengan memilih File, Publish Settings. Pastikan Anda
melihat film Flash (. fla) file pertama, bukan class ActionScript (. sebagai) file.

Publikasikan pengaturan yang berhubungan dengan file film Flash.

Ada tiga bagian biasanya dalam dialog Publish Settings: Format, Flash, dan HTML.

Format

Pengaturan Format, ditunjukkan dalam Figure 1.16, memungkinkan Anda untuk memilih file mana
yang untuk ekspor.

Format gambar yang sebagian besar untuk substitusi ketika pengguna tidak memiliki Flash pemain
diinstal. Proyektor adalah untuk aplikasi yang berdiri sendiri, sebagai lawan untuk menciptakan
format flashdisk (. Swf) file untuk pemutaran di web browser.

Figure 1.16
Hanya format
Flash dan HTML
yang dipilih untuk
diekspor















Jika Anda memiliki halaman web template kustom yang sudah Anda gunakan di situs Anda, piliham
HTML mungkin tidak diperlukan. Dalam hal ini, Anda tidak ingin halaman default untuk menanamkan
permainan Anda ke dalamnya. Namun, Anda mungkin ingin tetap mengekspor, dan kemudian
mengambil tubuh kode dari contoh halaman ini untuk digunakan dalam ruang yang tepat pada
halaman Anda sendiri.
Flash

Pengaturan Flash adalah yang paling penting untuk mengekspor film Flash yang kompleks seperti
permainan kita. Anda dapat mengaturnya untuk mengekspor Flash Player 10 file dengan set versi
ActionScript untuk ActionScript 3.0 (lihat Figure 1.17).

Figure 1.17
Disana terdapat
pengaturan yang baik
untuk game Flash
secara umum
digunakan



















Anda juga dapat mengatur Melindungi dari pilihan Impor. Hal ini membuat lebih sulit bagi seseorang
untuk men-download film Anda dan memodifikasi untuk digunakan sendiri.









Kepentingan tertentu untuk pengembang permainan adalah pengaturan Percepatan Hardware. tidak
ada modus normal atau apa yang sebelumnya lebih tua versi Flash telah digunakan. Tetapi dengan
CS5 Anda juga memiliki pilihan untuk mengatur ke Direct atau GPU. Yang pertama mencoba untuk
menggambar grafik langsung ke layar, bukan ke jendela browser. GPU mencoba untuk menggunakan
Prosesor grafis di komputer untuk melakukan beberapa gambar dan video playback.

Uji kedua jika Anda ingin, meskipun Anda harus melakukannya dalam browser sebagai pengujian di
Flash menggunakan keduanya. Flash turun kembali ke pengaturan None jika salah satu modus Direct
atau GPU tidak tersedia pada komputer pemutaran.

CATATAN
Sayangnya, tidak ada cara pasti untuk melindungi Flash movie Anda setelah itu telah menempatkan
di Web. Ada program decompiler diluar sana yang mengambil kompresi dan melindungi SWF file
serta mengubahnya menjadi sebuah film FLA dapat digunakan. Menggunakan Lindungi dari Impor
dan Film Compress membuat ini lebih sulit, tetapi selalu bahaya.
Sisa dari pengaturan Flash mengutamakan kompresi dan pengaturan keamanan. Anda dapat
memeriksa Flash dokumentasi untuk deskripsi rinci masing-masing.

HTML

Pengaturan HTML adalah hal penting jika Anda ingin menggunakan halaman HTML yang dibuat oleh
Penerbitan di situs Anda. Hal ini setidaknya ide yang baik untuk melihat bagaimana Adobe berpikir
Anda harus mempublikasikan film Flash Anda. Figure 1.18 menunjukkan pilihan ini.

Figure 1.18
Pengaturan HTML
membiarkan Anda
memilih sebuah
template HTML untuk
diekspor dengan
Flash Movie


















Pengaturan default Flash Hanya menggunakan JavaScript untuk menempelkan video ini. Hal ini
bergantung pada File swfobject.js, yang diproduksi saat penerbitan, juga. Halaman HTML utama
kemudian membebankan JavaScript dalam file ini, yang kemudian menempatkan film Flash dalam
tag <div> dalam halaman web.











Salah satu pilihan populer adalah memiliki skala Flash movie untuk mengisi seluruh jendela browser.
Hal ini dapat dilakukan dengan hanya mengubah pengaturan Dimensi untuk Persentasi dan Lebar

CATATAN
Mengapa pergi ke semua hal yang susah dengan menggunakan JavaScript ketika Anda hanya dapat
menggunakan sederhana <object> / <embed> tag, seperti Anda mungkin telah dilakukan di masa
lalu? Karena paten sengketa, Microsoft harus mengubah cara media tertanam ke dalam halaman di
Internet Explorer. Setiap media yang tertanam langsung ke halaman sekarang memerlukan klik
untuk mengaktifkannya di Internet Explorer 7 dan beberapa versi Internet Explorer 6. Namun, hal ini
Metode JavaScript menghindari itu klik ekstra.
dan Height menjadi 100. Sekarang film sebagai skala besar karena dapat, sementara masih pas di
jendela dan mempertahankan proporsinya.

Mengubah Skala untuk Fit Exact memungkinkan untuk kehilangan proporsi dan skala vertikal untuk
sesuai dengan ketinggian jendela dan horizontal agar sesuai dengan lebar jendela.

Karena semua grafis vektor dalam skala flash baik dan kode Anda bekerja dengan baik pada setiap
skala, kadang-kadang ide yang baik untuk memungkinkan pemain untuk menyesuaikan ukuran
permainan dengan hanya mengubah ukuran jendela browser mereka. Dengan cara ini, orang dengan
monitor kecil dan monitor besar dapat memainkan game yang mereka suka.

Pilihan lain adalah pengaturan Kualitas. Pada pengaturan default Tinggi, Flash player membuat
gambar pada resolusi tinggi untuk mendapatkan yang terbaik anti-aliasing efek di tepi vektor bentuk.
Mengubah ke Medium mengurangi resolusi anti-aliasing, tetapi meningkatkan kinerja film.
Menggunakan Auto tinggi berarti bahwa ia mencoba untuk menggunakan pengaturan Tinggi, namun
turun ke bawah ke Medium jika pemutaran terlalu lambat. Menggunakan kualitas rendah
menghapus semua anti-aliasing, tapi menawarkan kecepatan pemutaran tertinggi.

Opsi terakhir, terbaik, seperti pengaturan Tinggi. Perbedaannya adalah nikmat yang masih Tinggi
kecepatan lebih dari kualitas ketika menghidupkan. Kualitas terbaik nikmat terlepas dari kecepatan.

Daftar Pemograman Game ActionScript

Ketika Anda sedang membangun sebuah game Flash, ada banyak faktor untuk mempertimbangkan.
Kadang-kadang mudah untuk melupakan elemen kunci yang mengarah ke permainan tidak bekerja
dengan benar. Untuk membantu Anda menghindari beberapa masalah sederhana, di sini adalah
daftar berguna yang dapat Anda lihat.

Penerbitan dan Dokumen Pengaturan

Sangat mudah untuk melupakan bahwa ada pengaturan penting dalam dialog Publish Settings dan
Properti film panel.

Mengatur Dengan Benar Class Dokumen?
Figure 1.7 menunjukkan bagaimana untuk mengatur class dokumen dengan menggunakan panel
dokumen film. Lupa untuk mengatur ini berarti bahwa film berjalan dan hanya mengabaikan class
yang Anda buat.

Mengatur Penerbitan Dengan Benar?
Pastikan Anda mengatur Publish Settings sehingga film Flash dikompilasi untuk Flash 10 dan
ActionScript 3.0. Sangat diragukan bahwa film Anda, bahkan jika ini adalah mengkompilasi tidak
diatur benar, tapi mungkin menjadi mungkin.

Periksa Pengaturan Keamanan
Dalam Publish Settings di bagian Flash, ada pengaturan Putar Keamanan Lokal. Ini dapat diatur untuk
baik Akses File Lokal Hanya atau untuk Akses Jaringan Hanya File. Untuk membuat film Flash yakin
aman, Anda harus memilih satu atau yang lain.

Hal ini dapat menjadi masalah jika Anda memiliki file lokal yang Anda butuhkan untuk mengakses,
dan ini diatur ke Jaringan Akses File Saja. Jika Anda menggunakan file eksternal sama sekali dan hal-
hal yang tidak bekerja seperti yang diharapkan ketika Anda meng-upload ke server, membuat
tempat ini menjadi tempat pertama yang Anda cek.


Nama Class, Function, dan Variabel
Bahkan jika Anda mencoba untuk mengikuti praktek-praktek pemrograman yang baik dicatat
sebelumnya dalam bab ini, Anda masih dapat membuat beberapa kesalahan sederhana yang bisa
sulit untuk melacak.

Mengingat Kasus Yang Sensitif

Bila Anda menamakan variabel atau function, masalah terjadi. Jadi, myVariable dan myvariable sama
sekali berbeda. Demikian pula, myClass class bernama menjalankan function myClass ketika
menginisialisasi. Jika Anda memiliki menamakannya ClassSaya oleh kecelakaan, bagaimanapun, tidak
disebut.

Perbedaan nama variabel biasanya ditangkap oleh compiler karena salah eja, nama variabel tidak
akan diinisialisasi. Tapi, hal tersebut bisa saja dilupakan bahwa Anda telah menyatakan variabel dan
menyatakan lagi dengan kapitalisasi berbeda. Ini adalah sesuatu untuk berjaga-jaga didalamnya.

Apakah File Movie Clip Class Tersedia?
Jika movie clip ini diberi nama Linkage untuk digunakan oleh ActionScript, dapat menggunakan baik
class standar yang dinamis, atau Anda dapat menciptakan sebuah class untuk itu. Misalnya, Anda
dapat membuat EnemyCharacter movie clip dan kemudian memiliki sebuah file class
EnemyCharacter.as yang terikat didalmnya.

Namun, mudah untuk melupakan class ini atau salah memberi nama itu. Sebagai contoh, sebuah
Enemycharacter.as (c huruf kecil) file hanya diabaikan dan tidak melekat pada EnemyCharacter
movie clip.

Apakah Pengembangan Class Adalah Hal yang Tepat?
Anda dapat memulai class film dengan definisi seperti ini:

public class myClass extends Sprite {

Namun, dengan memperluas Sprite bukan MovieClip, Anda mengasumsikan bahwa film hanya
memiliki satu frame. Setiap kode yang merujuk pada frame lain tidak bekerja seperti yang
diharapkan.

Apakah Function Konstruktor Mengatur Nama yang Tepat?
Jika Anda memiliki class bernama myClass, function konstruktor harus diberi nama persis myClass,
jika tidak, ia tidak berjalan ketika class diinisialisasi. Atau, jika Anda tidak ingin hal itu
menjalankannya segera, berikan nama tersebut sesuatu seperti startMyClass dan menyebutnya
setelah bingkai dimulai.



Runtime Issues

Ada juga masalah yang tidak menyebabkan kesalahan kompilator dan tampaknya tidak menjadi
masalah pada semua pada awalnya. Kemudian, mereka dapat muncul kemudian dalam
pembangunan dan menjadi sangat frustasi untuk melacak.

Apakah Anda Mengatur Properti Objek Sebelum Siap?

Yang satu ini membuat saya gila. Pada dasarnya, apa yang terjadi adalah bahwa Anda melompat ke
frame baru di film atau movie clip, dan kemudian mencoba untuk mengatur atau mengakses
properti dari sebuah objek di sana. Namun, frame dan obyek yang belum diinisialisasi, sehingga
properti
tidak ada.

TooEarlyExample.fla dan TooEarlyExample.as menggambarkan hal ini. Class tersebut melompat ke
timeline utama ke frame 2, di mana dua bidang teks menunggu. Hal tersebut kemudian segera
mencoba untuk mengatur teks dari field pertama, tapi itu hanya panggilan pesan runtime error.
Bidang kedua adalah mengatur kapan film dilakukan menginisialisasi dan menjalankan script di
frame yang. Bahwa script pada gilirannya panggilan function dalam class. Function ini menset teks
dari kolom kedua tanpa masalah.

Apakah Anda Membuang Objek?

Meskipun ini mungkin tidak menyebabkan banyak masalah, itu adalah praktik yang baik untuk ingat
untuk membuang semua benda yang Anda buat setelah Anda selesai menggunakan mereka.
Misalnya, jika Anda memiliki pemain menembak peluru di sekitar layar, mereka mungkin bisa
menahan dengan kunci dan menembak ribuan dalam satu menit. Ketika mereka meninggalkan
daerah terlihat dari layar, Anda tidak ingin hal ini berkeliaran dalam memori dan dapat dilacak.
Untuk menghapus sebuah objek, Anda hanya perlu untuk menyingkirkan semua referensi ke dalam
variabel dan array Andadan menggunakan removeChild untuk membawanya keluar dari daftar layar.

Apakah Semua Variabel Diketik Dengan Baik?

Faktor lain yang mungkin tidak menyebabkan masalah langsung, tapi mungkin masih jangka panjang
masalah, adalah mengetik variabel. Jangan menggunakan jenis Nomor ketika uint int atau bahkan
melakukannya. Hal yang terakhir ini jauh lebih cepat dan membutuhkan memori yang lebih sedikit.
Jika Anda memiliki ribuan nomor disimpan dalam array, Anda mungkin akan melihat perlambatan
beberapa dengan menggunakan Nomor ketika int akan dilakukan.

Lebih buruk dari contoh ini adalah menggunakan variabel untyped, yang Objek. Mereka dapat
menyimpan angka dan bilangan bulat, tetapi memiliki overhead yang lebih jauh. Juga, melihat keluar
untuk menciptakan MovieClips yang dapat menjadi tunggal dengan berbingkai Sprite.

Apakah Anda Mengingat untuk Sertakan Semua Font?

Menggunakan ActionScript dinamis dengan bidang teks yang rumit. Jika Anda menempatkan bidang
teks di atas stage dan lupa untuk menanamkan font yang mereka gunakan, Anda mendapatkan
pesan kesalahan. Lebih buruk dari itu, jika Anda dinamis membuat bidang teks dan mencoba untuk
menggunakan font yang tidak tertanam dalam Anda film, maka Anda mungkin hanya mendapatkan
ruang kosong, bukan teks.
Cara Anda menambahkan font untuk film Anda adalah pergi ke panel Perpustakaan dan
menggunakan hak kepemilikan pada menu pull-down untuk menambahkan font ke Perpustakaan.
Perlu diingat bahwa Anda mungkin perlu menanamkan beberapa versi font untuk menangani variasi
seperti Arial versus Arial Bold

Lihat bagian "Using Point Bursts in a Movie" di Bab 8, "Casual Games: Match Three and Collapsing
Blocks," untuk diskusi lebih lanjut pada kesulitan terlibat dengan embedding font.

Pengujian Masalah

Item ini berhubungan dengan hal-hal yang dapat terjadi selama pengujian atau hal-hal yang harus
menjadi bagian pendekatan pengujian Anda.

Apakah Anda Perlu Menonaktifkan Keyboard Shortcuts?

Jika Anda menggunakan keyboard input saat pengujian film Anda, Anda mungkin menemukan
bahwa beberapa kunci tidak merespon. Hal ini karena lingkungan pengujian memiliki beberapa cara
pintas keyboard yang membuat tombol tersebut dapat ditekan.

Untuk mengaktifkan cara pintas keyboard dari dalam lingkungan pengujian dan memungkinkan film
Anda bertindak seperti itu akan ketika pada Web, pilih Kontrol, Nonaktifkan Keyboard Shortcuts.

Apakah Anda Mengujinya pada Model Bingkai yang Lain?

Jika Anda menggunakan animasi berbasis waktu, seharusnya tidak peduli apa frame rate anda sudah
siap untuk, 1 atau 60; animasi harus bergerak sepanjang pada kecepatan yang sama. Namun, ihal itu
sangat berharga pada saat pengujian frame rate yang rendah, katakanlah 6 atau 12, untuk melihat
apakah pengguna pada mesin yang lambat dapat melihat. Kami menggunakan animasi berbasis
waktu di seluruh buku ini.

Selain itu, pengujian bernilai pada frame rate lambat dan tinggi untuk melihat apakah tidak ada
beberapa sistem yang masih menggunakan animasi berbasis waktu atau tanggapannya.

Apakah Anda Mengujinya dari Server?

Masalah serupa adalah dalam tengah kepalanya ketika Anda berasumsi bahwa semua benda hadir di
awal film. Yang benar adalah bahwa Flash film streaming, yang berarti mereka mulai bermain
sebelum semua media telah dimuat.

Ketika Anda menguji film secara biasa, bagaimanapun, semua media langsung di sana. Kemudian,
ketika Anda meng-upload dan tes pada server, beberapa mungkin hilang untuk beberapa detik
pertama atau bahkan menit.






CATATAN
Ketika Anda menguji film, Anda bisa merestart tes dengan memilih View, Simulasikan Download.
Juga, lihatlah Lihat, Download Pengaturan untuk mengatur kecepatan download yang diinginkan
simulasi, seperti 56K. Kemudian, restart film dengan objek mengalir di di tingkat yang diinginkan.
Saya juga mengetest dengan server yang ada untuk memastikan.

Solusi untuk setiap masalah yang mungkin timbul adalah memiliki layar loading yang tidak
melakukan apapun tapi menunggu untuk semua media yang akan streaming. Kami melihat sebuah
contoh dari layar loading di Bab 2, "ActionScript Game Elements."

Daftar ini seharusnya membuat lebih mudah bagi Anda untuk menghindari masalah umum dan
mengabdikan lebih banyak waktu untuk menciptakan permainan dan sedikit waktu untuk melacak
bug.

Sekarang bahwa kita memiliki dasar-dasar ActionScript 3.0 sudah selesai, bab selanjutnya melihat
adakah contoh yang singkat dari membangun blok yang dapat Anda gunakan untuk membuat game.

Anda mungkin juga menyukai