5. http://fof.edu.vn
Nhi畛m v畛 ti畉p theo l g畉n Ship vo PlayState class sau khi game 達 動畛c kh畛i
t畉o (vi畉t trong hm create()).
Th畛 ch畉y th畛 project b畉ng vi畛c complie, v i畛u khi畛n phi thuy畛n ch畉y long
qung. L動u 箪, ch炭ng ta c畉n gi畛i h畉n kho畉ng kh担ng di chuy畛n c畛a phi thuy畛n
n畉m trong stage. C担ng vi畛c ny c畉n th棚m m畛t o畉n code ki畛m tra t畛a 畛 c畛a
Ship trong Ship class hm update. L動u 箪 c畉n vi畉t sau super.update().
6. http://fof.edu.vn
3. T畉o k畉 畛ch (enemies).
Ti畉n hnh t畉o ra c叩c enemies v畛i file Alien.as trong src/de/pixelate/flixelprimer .
Class Alien.as c坦 th畛 set thu畛c t鱈nh x v y, v狸 v畉y ch炭ng ta c坦 th畛 thi畉t 畉t t畛a 畛
ban 畉u c畛a enimies khi m畛i sinh ra. Trong code, ch炭ng ta set velocity (v畉n t畛c)
t畛i -200 s畉 khi畉n cho c叩c enimes ch畉y t畛 ph畉i sang tr叩i v畛i m畛t t畛c 畛 c畛 畛nh.
V畛 t畛a 畛 y, ch炭ng ta cho enimes di chuy畛n theo dao 畛ng h狸nh sin.
7. http://fof.edu.vn
畛 t畛 畛ng t畉o ra enimies. Ch炭ng ta c畉n th畛c hi畛n vi畛c ny trong class
PlayState. t動畛ng c畛a vi畛c t畉o enimies nh動 sau:
a) T畉o ra m畛t nh坦m ch畛a c叩c aliens (s畛 d畛ng class k畉 th畛a t畛
FlxGroup), sau 坦 g畉n c叩c aliens vo nh坦m ny 畛 d畛 qu畉n l箪 v d畛
x辿t va ch畉m v畛i Ship.
b) 畉m th畛i gian 畛 sinh ra phi thuy畛n, kh畛i 畉u t畛 2,5 s sau 坦 nhanh
d畉n cho t畛i khi 畉t max 畛 gi但y th畛 10.
c) T畉o c叩c aliens theo c叩c t畛a 畛 random, ch畉y t畛 ph畉i qua tr叩i.
11. http://fof.edu.vn
C滴ng gi畛ng c叩ch lm v畛i c叩 aliens. Ch炭ng ta t畉o ra v nh坦m c叩c vi棚n 畉n vo
m畛t FlxGroup. Trong hm update() , ch炭ng ta s畛 d畛ng c但u l畛nh if 畛 ki畛m tra
n畉u ng動畛i ch董i nh畉n n炭t c叩ch (space key) th狸 phi thuy畛n s畉 b畉n 畉n.
12. http://fof.edu.vn
L動u 箪: ch炭ng ta c畉n b畛 sung hm getBulletSpawnPosition() b棚n trong class
Ship.as 畛 x叩c 畛nh v畛 tr鱈 ch鱈nh x叩c c畛a vi棚n 畉n 畛 m滴i phi thuy畛n. C叩c s畛 15 v
2 trong h狸nh ch畛 d湛ng 畛 動畛ng l動畛ng t畛a 畛 m滴i thuy畛n.
5. X畛 l箪 va ch畉m.
但y l ph畉n quan tr畛ng nh畉t c畛a m畛t game v ch炭ng ta s畛 d畛ng hm update()
trong PlayState 畛 lm c担ng vi畛c ny. B畉n ch畉t c畛a vi畛c va ch畉m l 2 h狸nh c坦
x畉p ch畛ng l棚n nhau (overlap) hay kh担ng. 畉u ti棚n ch炭ng ta ki畛m tra xem c叩c
vi棚n 畉n c坦 va ch畉m v畛i c叩c aliens hay kh担ng qua hm overlapAlienBullet(). Th畛
hai l ki畛m tra va ch畉m gi畛a phi thuy畛n v aliens.
C叩c hm callback 動畛c g畛i khi c坦 x畉y ra c叩c tr動畛ng h畛p va ch畉m v ph湛 h畛p
v畛i t畛ng tr動畛ng h畛p va ch畉m. V鱈 d畛, khi aliens b畛 b畉n, hay aliens va ch畉m v畛i
vi棚n 畉n (bullet) th狸 aliens s畉 n畛 tung v i畛m s畉 tng l棚n, hi畛n th畛 l棚n mn h狸nh.
Hay mn h狸nh s畉 rung l棚n m畛t ch炭t khi phi thuy畛n va ch畉m v畛i aliens (s畛 d畛ng
FlxG.shake).
13. http://fof.edu.vn
Sau khi end game s畉 c坦 m畛t o畉n text th担ng b叩o ch董i l畉i, 畛i t動畛ng text 畛 但y
(gameOverText) kh担ng ph畉i l textfield m l FlxText v 動畛c khai b叩o nh動 m畛t
private var b棚n trong PlayState
畛 ng動畛i ch董i c坦 th畛 ch董i l畉i khi k畉t th炭c game th狸 trong hm update c畛a
PlayState s畛 d畛ng c叩ch sau:
Cu畛i c湛ng t畉o ra v湛ng hi畛n th畛 i畛m trong hm create c畛a PlayState v 畉t
FlxG.score v畛 0 b棚n trong hm create c畛a PlayState.as
14. http://fof.edu.vn
6. m thanh trong game.
V畛i c叩c n畛i dung b棚n tr棚n th狸 game 達 c坦 th畛 ch董i 動畛c r畛i. Tuy v畉y 畛 tng
th棚m 畛 h畉p d畉n th狸 c畉n b畛 sung th棚m 但m thanh cho game. G畉n 但m thanh vo
t畛ng action 畛 tng th棚m t鱈nh sinh 畛ng cho game. T畉t c畉 c叩c tham chi畉u t畛i c叩c
file sound 畛u 動畛c khai b叩o 畛 ph畉n 畉u c畛a class PlayState.
S畛 d畛ng FlxG.play() 畛 ch畉y c叩c 但m thanh tr棚n trong c叩c tr動畛ng h畛p: