1. Tujuan
2. Alat
(diuji di Flash CC)
3. Bahan
Download file tersebut kemudian extract. Ambil file “Flint2d_4.0.1.swc”
4. Dasar Teori
5. Tugas Praktikum
- Lakukan petunjuk praktikum yang diberikan
- Ubah posisi dari animasi tersebut
- Ubah warna dari animasi tersebut
- Ubah radius dari animasi tersebut
- Ubah posisi animasi tersebut setiap kali muncul
6. Petunjuk Praktikum
- Buat project ActionScript 3
- Buka action window dengan menekan tombol “actions” pada panel di sebelah kanan
- Salin kode berikut pada “actions” window
- Sehingga “actions” window berisi kode seperti berikut
import org.flintparticles.common.actions.*; import org.flintparticles.common.counters.*; import org.flintparticles.common.displayObjects.Dot; import org.flintparticles.common.easing.Quadratic; import org.flintparticles.common.events.EmitterEvent; import org.flintparticles.common.initializers.*; import org.flintparticles.twoD.actions.*; import org.flintparticles.twoD.emitters.Emitter2D; import org.flintparticles.twoD.initializers.*; import org.flintparticles.twoD.renderers.*; import org.flintparticles.twoD.zones.*; var emitter:Emitter2D = new Emitter2D(); emitter.counter = new Blast( 700 ); emitter.addInitializer( new SharedImage( new Dot( 2 ) ) ); emitter.addInitializer( new ColorInit( 0xFFFFFF00, 0xFFFF6600 ) ); emitter.addInitializer( new Velocity( new DiscZone( new Point( 0, 0 ), 200, 120 ) ) ); emitter.addInitializer( new Lifetime( 5 ) ); emitter.addAction( new Age( Quadratic.easeIn ) ); emitter.addAction( new Move() ); emitter.addAction( new Fade() ); emitter.addAction( new Accelerate( 0, 50 ) ); emitter.addAction( new LinearDrag( 0.5 ) ); emitter.addEventListener( EmitterEvent.EMITTER_EMPTY, restart, false, 0, true ); var renderer:BitmapRenderer = new BitmapRenderer( new Rectangle( 0, 0, 500, 400 ) ); renderer.addFilter( new BlurFilter( 2, 2, 1 ) ); renderer.addFilter( new ColorMatrixFilter( [ 1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0.95,0 ] ) ); renderer.addEmitter( emitter ); addChild( renderer ); emitter.x = 250; emitter.y = 150; emitter.start(); function restart( ev:EmitterEvent ):void { Emitter2D( ev.target ).start(); } - Tekan “OK” kemudian jalankan movie-nya (Test Movie, Ctrl + Enter)
7. Hasil Praktikum
*Jika
8. Kesimpulan
import org.flintparticles.common.actions.*;
import org.flintparticles.common.counters.*;
import org.flintparticles.common.displayObjects.Dot;
import org.flintparticles.common.easing.Quadratic;
import org.flintparticles.common.events.EmitterEvent;
import org.flintparticles.common.initializers.*;
import org.flintparticles.twoD.actions.*;
import org.flintparticles.twoD.emitters.Emitter2D;
import org.flintparticles.twoD.initializers.*;
import org.flintparticles.twoD.renderers.*;
import org.flintparticles.twoD.zones.*;
var emitter:Emitter2D = new Emitter2D();
emitter.counter = new Blast( 300 );
emitter.addInitializer( new SharedImage( new Dot( Math.floor(Math.random()*(1+5-1)+1) ) ) );
emitter.addInitializer( new ColorInit( Math.random()*0xFFFFFF, Math.random()*0xFFFFFF ) );
emitter.addInitializer( new Velocity( new DiscZone( new Point( 0, 0 ), Math.floor(Math.random()*(1+300-50)+50), Math.floor(Math.random()*(1+120-50)+50) ) ) );
emitter.addInitializer( new Lifetime( 5 ) );
emitter.addAction( new Age( Quadratic.easeIn ) );
emitter.addAction( new Move() );
emitter.addAction( new Fade() );
emitter.addAction( new Accelerate( 0, 50 ) );
emitter.addAction( new LinearDrag( 0.5 ) );
emitter.addEventListener( EmitterEvent.EMITTER_EMPTY, restart, false, 0, true );
var renderer:BitmapRenderer = new BitmapRenderer( new Rectangle( -100, 0, 1300, 800 ) );
renderer.addFilter( new BlurFilter( 2, 2, 1 ) );
renderer.addFilter( new ColorMatrixFilter( [ 1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0.95,0 ] ) );
renderer.addEmitter( emitter );
addChild( renderer );
emitter.x = Math.floor(Math.random()*(1+1100));
emitter.y = Math.floor(Math.random()*(1+800));
emitter.start();
function restart( ev:EmitterEvent ):void
{
var i:int;
for (i = 0; i <= Math.floor(Math.random()*(1+5-3)+3); i++)
{
emitter.addInitializer( new Lifetime( Math.floor(Math.random()*(1+5-1)+1) ) );
emitter.addInitializer( new ColorInit( Math.random()*0xFFFFFF, Math.random()*0xFFFFFF ) );
emitter.x = Math.floor(Math.random()*(1+1100));
emitter.y = Math.floor(Math.random()*(1+800));
emitter.addInitializer( new SharedImage( new Dot( Math.floor(Math.random()*(1+5-1)+1) ) ) );
emitter.addInitializer( new Velocity( new DiscZone( new Point( 0, 0 ), Math.floor(Math.random()*(1+400-200)+200), Math.floor(Math.random()*(1+200-50)+50) ) ) );
Emitter2D( ev.target ).start();
}
}
