By Unknown | 11.37
Posted in: | 2 komentar

Membuat Game Tower Defense Bagian 2 (AS2)

Membuat GameTower Defense


Bagian Bagian Tutorial


Bagian 1 : Persiapan
Bagian 2 : Menambahkan Prajurit
Bagian 3 : Menambahkan Musuh
Bagian 4 : Membuat Prajurit Menembak Musuh
Bagian 5 : Win / Loss Game
Bagian 6 : Membuat Properti Game
Bagian 7 : Sentuhan Akhir

Bagian 2 : Menambahkan Prajurit

       Pada bagian ini kita akan menambahkan prajurit pada saat kita klik daerah yang kosong.
Lanjutkan tutorial sebelumnya, pada frame 1 layer action tambahkan actionscript pada baris 65-102.

stop();

//setting vars to step in for turns and special blocks
var S:String = 'START';
var F:String = 'FINISH';
var U:String = 'UP';
var R:String = 'RIGHT';
var D:String = 'DOWN';
var L:String = 'LEFT';

var startDir:String;//the direction the enemies go when they enter
var finDir:String;//the direction the enemies go when they exit
var startCoord:Number;//the coordinates of the beginning of the road
var lvlArray:Array = new Array();//this array will hold the formatting of the roads

lvlArray = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   0,0,0,0,R,1,1,D,0,0,R,1,1,D,0,0,R,1,1,D,0,0,
   0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,
   0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,
   S,D,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,R,1,F,
   0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,
   0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,
   0,R,1,1,U,0,0,R,1,1,U,0,0,R,1,1,U,0,0,0,0,0,
   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   ];

//the names of these variables explain what they do
var currentLvl:Number = 1;
var gameOver:Boolean = false;

function startGame():Void{//we'll run this function every time a new level begins
 //right now we don't have any code
}

_root.createEmptyMovieClip('roadHolder',_root.getNextHighestDepth());//add a MovieClip to hold the road
function makeRoad():Void{
 var row:Number = 0;//the current row we're working on
 var block;//this will act as the block that we're placing down
 for(i=0;i<lvlArray.length;i++){//creating a loop that'll go through the level array
  if(lvlArray[i] == 0){//if the current index is set to 0 
   /////*****EMPTY BLOCK*****/////
   _root.createEmptyMovieClip('block'+i,_root.getNextHighestDepth());//create a gray empty block
   _root['block'+i].beginFill(0x333333);
   _root['block'+i].lineTo(0,0);
   _root['block'+i].lineTo(0,25);
   _root['block'+i].lineTo(25,25);
   _root['block'+i].lineTo(25,0);
   _root['block'+i].endFill();
   //and set the coordinates to be relative to the place in the array
   _root['block'+i]._x= (i-row*22)*25;
   _root['block'+i]._y = row*25;
   //giving the block some rollover and rollout effects
   _root['block'+i].onRollOver = function(){
    //Change the color to green
    var newColor = new Color(this);
    newColor.setRGB(0x006600);
   }
   _root['block'+i].onRollOut = function(){
    //Change this color back to gray
    var newColor = new Color(this);
    newColor.setRGB(0x333333);
   }
   _root['block'+i].onRelease = function(){
    //this function will run when the empty block is clicked on
    
    //change this guy's color back
    var newColor = new Color(this);
    newColor.setRGB(0x333333);
    //set all other mouse functions to null in order to keep it from being clicked again
    this.onRollOver = null;
    this.onRollOut = null;
    this.onRelease = null;
    //create an empty turret movieclip that will be on the top root layer
    _root.createEmptyMovieClip('t'+this._name,_root.getNextHighestDepth());
    
    //drawing the turret, it will have a gray, circular, base with a white gun
    _root['t'+this._name].beginFill(0x999999);//coloring the base light gray
    _root['t'+this._name].moveTo(0, 12.5);//move the entire shape a certain way
    //create 4 curves so that it'll look like a circle
    _root['t'+this._name].curveTo(0,25,12.5,25);
    _root['t'+this._name].curveTo(25,25,25,12.5);
    _root['t'+this._name].curveTo(25,0,12.5,0);
    _root['t'+this._name].curveTo(0,0,0,12.5);
    _root['t'+this._name].endFill();//end the fill so we can make a new one
    
    _root['t'+this._name].createEmptyMovieClip('gun',_root['t'+this._name].getNextHighestDepth());
    _root['t'+this._name].gun.beginFill(0xFFFFFF);
    _root['t'+this._name].gun.lineTo(-2,-2);
    _root['t'+this._name].gun.lineTo(2,-2);
    _root['t'+this._name].gun.lineTo(2,15);
    _root['t'+this._name].gun.lineTo(-2,15);
    _root['t'+this._name].gun.lineTo(-2,-2);
    _root['t'+this._name].gun.endFill();
    _root['t'+this._name].gun._x = 12.5;
    _root['t'+this._name].gun._y = 12.5;
    _root['t'+this._name].gun._rotation=90;
    _root['t'+this._name]._x = this._x;
    _root['t'+this._name]._y = this._y;
   }
  } else if(lvlArray[i] == 1){//if there is supposed to be a row
   /////*****EMPTY ROAD*****/////
   //just add a box that will be a darker color and won't have any actions
   roadHolder.createEmptyMovieClip('block'+i,roadHolder.getNextHighestDepth());
   roadHolder['block'+i].beginFill(0x111111);
   roadHolder['block'+i].lineTo(0,0);
   roadHolder['block'+i].lineTo(0,25);
   roadHolder['block'+i].lineTo(25,25);
   roadHolder['block'+i].lineTo(25,0);
   roadHolder['block'+i].endFill();
   roadHolder['block'+i]._x= (i-row*22)*25;
   roadHolder['block'+i]._y = row*25;
  } else if(String(lvlArray[i])){//if it's a string, meaning a special block
   /////*****SPECIAL DIRECTIONAL ROAD PIECE*****/////
   roadHolder.createEmptyMovieClip('block'+i,roadHolder.getNextHighestDepth());
   roadHolder['block'+i].beginFill(0x111111);
   roadHolder['block'+i].lineTo(0,0);
   roadHolder['block'+i].lineTo(0,25);
   roadHolder['block'+i].lineTo(25,25);
   roadHolder['block'+i].lineTo(25,0);
   roadHolder['block'+i].endFill();
   roadHolder['block'+i]._x= (i-row*22)*25;
   roadHolder['block'+i]._y = row*25;
  }
  for(var c:Number = 1;c<=16;c++){
   if(i == c*22-1){
    //if 22 columns have gone by, then we move onto the next row
    row++;
   }
  }
 }
}
//run these functions at the start
makeRoad();
startGame();


Preview


Read more
By Unknown | 20.46
Posted in: | 0 komentar

Membuat Game Tower Defense Bagian 1 (AS2)

Membuat Game Tower Defense




Bagian - Bagian Tutorial

Bagian 1 : Persiapan

       Tower Defense adalah salah satu genre game yang sangat populer selama bertahun - tahun ini. Meskipun dalam pengembangannya game ini cukup sulit untuk dikembangkan. Walaupun begitu, game ini sangat menyenangkan untuk dimainkan. Pada kesempatan kali ini saya akan memandu anda untuk menciptakan sebuah game ber-genre tower defense yang sederhana.
  • Pertama, buat Flash Document ActionScript 2.0 baru berukuran 550px x 400px dengan background berwarna hitam serta kecepatan Frame Per Second (FPS) 24.
  • Buat layer baru diatas layer 1 dan ganti namanya menjadi layer Action.
  •  Masukkan ActionScript berikut kedalam Frame 1 layer Action
 
stop();

//setting vars to step in for turns and special blocks
var S:String = 'START';
var F:String = 'FINISH';
var U:String = 'UP';
var R:String = 'RIGHT';
var D:String = 'DOWN';
var L:String = 'LEFT';

var startDir:String;//the direction the enemies go when they enter
var finDir:String;//the direction the enemies go when they exit
var startCoord:Number;//the coordinates of the beginning of the road
var lvlArray:Array = new Array();//this array will hold the formatting of the roads

lvlArray = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   0,0,0,0,R,1,1,D,0,0,R,1,1,D,0,0,R,1,1,D,0,0,
   0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,
   0,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,
   S,D,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,R,1,F,
   0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,
   0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,0,0,0,
   0,R,1,1,U,0,0,R,1,1,U,0,0,R,1,1,U,0,0,0,0,0,
   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
   0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
   ];

//the names of these variables explain what they do
var currentLvl:Number = 1;
var gameOver:Boolean = false;

function startGame():Void{//we'll run this function every time a new level begins
 //right now we don't have any code
}

_root.createEmptyMovieClip('roadHolder',_root.getNextHighestDepth());//add a MovieClip to hold the road
function makeRoad():Void{
 var row:Number = 0;//the current row we're working on
 var block;//this will act as the block that we're placing down
 for(i=0;i<lvlArray.length;i++){//creating a loop that'll go through the level array
  if(lvlArray[i] == 0){//if the current index is set to 0 
   /////*****EMPTY BLOCK*****/////
   _root.createEmptyMovieClip('block'+i,_root.getNextHighestDepth());//create a gray empty block
   _root['block'+i].beginFill(0x333333);
   _root['block'+i].lineTo(0,0);
   _root['block'+i].lineTo(0,25);
   _root['block'+i].lineTo(25,25);
   _root['block'+i].lineTo(25,0);
   _root['block'+i].endFill();
   //and set the coordinates to be relative to the place in the array
   _root['block'+i]._x= (i-row*22)*25;
   _root['block'+i]._y = row*25;
   //giving the block some rollover and rollout effects
   _root['block'+i].onRollOver = function(){
    //Change the color to green
    var newColor = new Color(this);
    newColor.setRGB(0x006600);
   }
   _root['block'+i].onRollOut = function(){
    //Change this color back to gray
    var newColor = new Color(this);
    newColor.setRGB(0x333333);
   }
  } else if(lvlArray[i] == 1){//if there is supposed to be a row
   /////*****EMPTY ROAD*****/////
   //just add a box that will be a darker color and won't have any actions
   roadHolder.createEmptyMovieClip('block'+i,roadHolder.getNextHighestDepth());
   roadHolder['block'+i].beginFill(0x111111);
   roadHolder['block'+i].lineTo(0,0);
   roadHolder['block'+i].lineTo(0,25);
   roadHolder['block'+i].lineTo(25,25);
   roadHolder['block'+i].lineTo(25,0);
   roadHolder['block'+i].endFill();
   roadHolder['block'+i]._x= (i-row*22)*25;
   roadHolder['block'+i]._y = row*25;
  } else if(String(lvlArray[i])){//if it's a string, meaning a special block
   /////*****SPECIAL DIRECTIONAL ROAD PIECE*****/////
   roadHolder.createEmptyMovieClip('block'+i,roadHolder.getNextHighestDepth());
   roadHolder['block'+i].beginFill(0x111111);
   roadHolder['block'+i].lineTo(0,0);
   roadHolder['block'+i].lineTo(0,25);
   roadHolder['block'+i].lineTo(25,25);
   roadHolder['block'+i].lineTo(25,0);
   roadHolder['block'+i].endFill();
   roadHolder['block'+i]._x= (i-row*22)*25;
   roadHolder['block'+i]._y = row*25;
  }
  for(var c:Number = 1;c<=16;c++){
   if(i == c*22-1){
    //if 22 columns have gone by, then we move onto the next row
    row++;
   }
  }
 }
}
//run these functions at the start
makeRoad();
startGame();

Preview



Read more
By Unknown | 12.00
Posted in: | 0 komentar

Apa Itu ActionScript ?

logo actionscript
Action Script adalah bahasa pemrograman Adobe Flash yang dirancang untuk memudahkan programmer untuk membuat aplikasi berbasis flash, keuntungannya antara lain adalah untuk system navigasi pada suatu situs atau presentasi, menghemat ukuran file, membuat hal-hal yang bersifat interaktif.





PERKEMBANGAN ACTIONSCRIPT

ActionScript “1.0″ Dengan rilis Flash 5 pada bulan September 2000, “aksi” dari Flash 4 ditingkatkan sekali lagi dan bernama “ActionScript” untuk pertama kalinya. Ini adalah versi pertama dengan ActionScript pengaruh dari JavaScript dan ECMA-262 (Third Edition) standar, mendukung kata objek model standar dan banyak dari inti tipe data . Lokal variabel dapat dinyatakan dengan pernyataan var, dan user-defined fungsi dengan parameter yang lewat dan kembali nilai-nilai juga dapat diciptakan. Terutama, ActionScript sekarang bisa juga diketik dengan editor teks daripada yang dirakit dengan memilih tindakan dari daftar drop-down dan kontrol kotak dialog.  Dengan rilis berikutnya dari authoring tool-nya, Flash MX, dan pemain yang sesuai, Flash Player 6 , bahasa dasarnya tetap tidak berubah, hanya ada perubahan kecil, seperti penambahan pernyataan switch dan “kesetaraan ketat” (== =) operator, yang membawa lebih dekat menjadi ECMA-262 -compliant. Dua fitur penting dari ActionScript yang membedakannya dari versi terbaru yang jenisnya longgar sistem dan ketergantungan pada prototipe berbasis warisan . Mengetik Loose mengacu pada kemampuan sebuah variabel untuk menyimpan semua jenis data. Hal ini memungkinkan untuk pembangunan script yang cepat dan sangat cocok untuk proyek skala kecil scripting. Berbasis warisan Prototype adalah ActionScript 1.0 mekanisme untuk menggunakan kembali kode dan pemrograman berorientasi obyek . Alih-alih kata kunci kelas yang mendefinisikan karakteristik umum dari sebuah kelas , ActionScript 1.0 menggunakan obyek khusus yang berfungsi sebagai “prototipe” untuk kelas objek. Semua karakteristik umum dari sebuah kelas didefinisikan dalam’s prototipe objek kelas dan setiap instance dari kelas yang berisi link ke objek prototipe.

ActionScript 2.0 Penyempurnaan utama berikutnya dari bahasa, ActionScript 2.0, diperkenalkan pada bulan September 2003 dengan merilis Flash MX 2004 dan pemain yang sesuai, Flash Player 7 . Dalam menanggapi permintaan pengguna untuk bahasa lebih siap dan lebih kompleks untuk aplikasi yang lebih besar, ActionScript 2.0 menampilkan waktu kompilasi memeriksa jenis dan kelas berbasis sintaks , seperti kelas kata kunci dan meluas. (Sementara ini diperbolehkan untuk pemrograman berorientasi objek pendekatan yang lebih terstruktur, kode masih akan dikompilasi untuk ActionScript 1.0 bytecode , yang memungkinkan untuk digunakan pada Flash Player sebelumnya 6 juga,. lainnya Dalam kata-kata berbasis kelas warisan sintaks itu lapisan di atas sistem berbasis prototipe yang ada.) Dengan ActionScript 2.0, pengembang dapat membatasi variabel untuk tipe tertentu dengan menambahkan anotasi tipe sehingga kesalahan ketik mismatch dapat ditemukan pada saat kompilasi . ActionScript 2.0 juga memperkenalkan berbasis warisan kelas sintaks sehingga pengembang dapat membuat kelas dan interface, sebanyak yang mereka akan di-berbasis kelas bahasa seperti Java dan C + + . Versi ini sesuai sebagian kepada ECMAScript draft spesifikasi Edisi Keempat.

ActionScript 3.0 Pada bulan Juni 2006, ActionScript 3.0 debutnya dengan Adobe Flex 2.0 dan pemain yang sesuai, Flash Player 9 . ActionScript 3.0 adalah restrukturisasi mendasar bahasa, begitu banyak sehingga sama sekali berbeda menggunakan mesin virtual . Flash Player 9 berisi dua mesin virtual, AVM1 untuk kode yang ditulis dalam ActionScript 1.0 dan 2.0, dan AVM2 untuk konten yang ditulis dalam ActionScript 3.0. Actionscript 3.0 menambahkan dukungan terbatas untuk akselerasi hardware ( DirectX , OpenGL ).


TERIMA KASIH
SEMOGA BERMANFAAT

 

Read more
By Unknown | 10.57
Posted in: | 0 komentar

Apa Itu Adobe Flash ?

logo adobe flash
Adobe Flash (dahulu bernama Macromedia Flash) adalah salah satu perangkat lunak komputer yang merupakan produk unggulan Adobe Systems. Adobe Flash digunakan untuk membuat gambar vektor maupun animasi gambar tersebut. Berkas yang dihasilkan dari perangkat lunak ini mempunyai file extension .swf dan dapat diputar di penjelajah web yang telah dipasangi Adobe Flash Player. Flash menggunakan bahasa pemrograman bernama ActionScript yang muncul pertama kalinya pada Flash 5.
 
Sebelum tahun 2005, Flash dirilis oleh Macromedia. Flash 1.0 diluncurkan pada tahun 1996 setelah Macromedia membeli program animasi vektor bernama FutureSplash. Versi terakhir yang diluncurkan di pasaran dengan menggunakan nama 'Macromedia' adalah Macromedia Flash 8. Pada tanggal 3 Desember 2005 Adobe Systems mengakuisisi Macromedia dan seluruh produknya, sehingga nama Macromedia Flash berubah menjadi Adobe Flash.

Adobe Flash merupakan sebuah program yang didesain khusus oleh Adobe dan program aplikasi standar authoring tool professional yang digunakan untuk membuat animasi dan bitmap yang sangat menarik untuk keperluan pembangunan situs web yang interaktif dan dinamis. Flash didesain dengan kemampuan untuk membuat animasi 2 dimensi yang handal dan ringan sehingga flash banyak digunakan untuk membangun dan memberikan efek animasi pada website, CD Interaktif dan yang lainnya. Selain itu aplikasi ini juga dapat digunakan untuk membuat animasi logo, movie, game, pembuatan navigasi pada situs web, tombol animasi, banner, menu interaktif, interaktif form isian, e-card, screen saver dan pembuatan aplikasi-aplikasi web lainnya.

Dalam Flash, terdapat teknik-teknik membuat animasi, fasilitas action script, filter, custom easing dan dapat memasukkan video lengkap dengan fasilitas playback FLV. Keunggulan yang dimiliki oleh Flash ini adalah ia mampu diberikan sedikit code pemograman baik yang berjalan sendiri untuk mengatur animasi yang ada didalamnya atau digunakan untuk berkomunikasi dengan program lain seperti HTML, PHP, dan Database dengan pendekatan XML, dapat dikolaborasikan dengan web, karena mempunyai keunggulan antara lain kecil dalam ukuran file outputnya

Movie-movie Flash memiliki ukuran file yang kecil dan dapat ditampilkan dengan ukuran layar yang dapat disesuaikan dengan keingginan. Aplikasi Flash merupakan sebuah standar aplikasi industri perancangan animasi web dengan peningkatan pengaturan dan perluasan kemampuan integrasi yang lebih baik. Banyak fiture-fiture baru dalam Flash yang dapat meningkatkan kreativitas dalam pembuatan isi media yang kaya dengan memanfaatkan kemampuan aplikasi tersebut secara maksimal. Fiture-fiture baru ini membantu kita lebih memusatkan perhatian pada desain yang dibuat secara cepat, bukannya memusatkan pada cara kerja dan penggunaan aplikasi tersebut. Flash juga dapat digunakan untuk mengembangkan secara cepat aplikasi-aplikasi web yang kaya dengan pembuatan script tingkat lanjut. Di dalam aplikasinya juga tersedia sebuah alat untuk men-debug script.

Dengan menggunakan Code hint untuk mempermudah dan mempercepat pembuatan dan pengembangan isi ActionScript secara otomatis. Untuk memahami keamanan Adobe Flash dapat dilihat dari beberapa sudut pandang, berdasarkan beberapa sumber referensi bahwa tidak ada perbedaan menyolok antara HTML dan JavaScript dimana didalamnya terdapat banyak tools yang dapat diambil dari SWF termasuk ActionScript. Sehingga kode data dapat terjamin keamanannya. Oleh sebab itu, semua kebutuhan data yang terdapat dalam SWF dapat diambil kembali melalui server. Keuntungan menggunakan metode yang sama dengan menggunakan aplikasi web yang standar adalah akan menjamin dan mengamankanpenyimpanan dan perpindahan data.


TERIMA KASIH
SEMOGA BERMANFAAT

Read more