Ada banyak cara untuk menganimasikan sebuah pergerakan planet dan satelitnya dari matahari yang kesemuanya menggambarkan tata surya. Salah satunya adalah dengan apa yang akan kita buat kali ini, yaitu memanfaatkan Drawing API pada Flash untuk menggambarkan komponen-komponen tata surya berupa matahari, planet, dan satelitnya. Selain itu untuk membuatnya beranimasi, kita akan melakukan update posisi relative planet dan satelitnya terhadap orbit berupa lingkaran dengan mengubah nilai rotation MovieClip/Sprite/Shape-nya masing-masing secara berkala dalam interval waktu tertentu sesuai nilai FPS, dengan mendefinisikan listener Event.ENTER_FRAME pada stage.
Pada Trik kali ini, kita akan coba menggambarkan matahari yang dikelilingi oleh satu planet dan satu satelit saja, dengan langkah-langkah pembuatannya sebagai berikut:
- Buatlah sebuah file Flash baru dengan fitur ActionScript 3.0. Caranya klik menu File > New > General > ActionScript 3.0.
- Klik Menu Modify > Document.
- Untuk memberikan kesan Animasi ini berlatar belakang luar angkasa, ubah warna document menjadi gelap.
- Pada panel Properties, tuliskan TataSurya di kolom Document Class. Tekan Enter pada Keyboard, bila muncul warning maka abaikan saja, karena file berisi definisi class-nya baru akan kita buat berikutnya.
- Klik menu File > Save As. Simpan dengan format FLA.
- Buat sebuah file Flash baru dengan fitur ActionScript 3.0 dengan mengklik File > New > General > ActionScript File.
- Tuliskan Script berikut ini pada File:
- Klik menu File > Save As, simpan file kedua ini dengan nama TataSurya.as pada folder yang sama dengan kita menyimpan file FLA (cara ke 5) sebelumnya.
- Lakukan test Movieclip sebelumnya untuk melihat hasilnya, klik menu Control > Test Movie atau dengan menekan shortcut Ctrl+Enter pada Keyboard.
- Hasilnya sebuah Animasi Bulan mengelilingi planet dimana disaat yang sama planet tersebut pun mengelilingi matahari.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
| package { import flash.display.*; import flash.events.*; public class TataSurya extends MovieClip { private var matahari:Sprite = new Sprite(); private var bumi:Sprite = new Sprite(); private var bulan:Shape = new Shape(); public function TataSurya() { matahari.graphics.beginFill(0xFFCC00); matahari.graphics.drawCircle(0,0,40); matahari.graphics.endFill(); matahari.graphics.beginFill(0x000000); matahari.graphics.drawCircle(-10,-10,5); matahari.graphics.drawCircle(10,-10,5); matahari.graphics.endFill(); matahari.graphics.lineStyle(0,0x000000); matahari.graphics.moveTo(-20,10); matahari.graphics.curveTo(0,20,20,10); matahari.graphics.lineStyle(0,0x555555); matahari.graphics.drawCircle(0,0,120); bumi.graphics.beginFill(0x0099CC); bumi.graphics.drawCircle(0,0,20); bumi.graphics.endFill(); bumi.graphics.lineStyle(0,0x333333); bumi.graphics.drawCircle(0,0,30); bulan.graphics.beginFill(0xCCCCCC); bulan.graphics.drawCircle(0,0,5); bulan.graphics.endFill(); this.addChild(matahari); matahari.x = 275; matahari.y = 200; matahari.addChild(bumi); bumi.x = 120; bumi.y = 0; bumi.addChild(bulan); bulan.x = 30; bulan.y = 0; stage.addEventListener(Event.ENTER_FRAME, orbit); } private function orbit(evt:Event):void { matahari.rotation += 1; bumi.rotation += 5; bulan.rotation -= 10; } } } |
Refrensi
0 Comments:
Post a Comment