2007년 12월 21일
자바스크립트로 만드는 객체지향 게임 - 불꽃 레인 클래스
불꽃이 한칸씩 아래로 떨어질 때 마다 폭탄 테이블에 이를 알려서 폭발이 일어나도록 한다.
/* 불꽃레인클래스- 불꽃이떨어지는곳*/
$class({
CLane : {
element : null,
game : null,
bombTable : null,
fireball : null,
fireSpeed : 1,
firePos : 0,
lanePos : 0,
// 좌, 우설정에따라불꽃레인div를생성하고폭탄테이블옆에위치시킨다
init : function(game,bombTable,isLeft) {
this.game = game;
this.bombTable = bombTable;
this.lanePos = (isLeft==true)?0 : 1;
element = document.createElement('div');
this.element=element;
$style(element,'border','1px solid #e090e0');
$style(element,'background','#e0e0e0');
$style(element,'styleFloat','left');
if (isLeft==true) {
bombTable.parentElement.insertBefore(element,bombTable.element);
} else {
bombTable.parentElement.insertBefore(element);
}
$dom.setSize(element,32,bombTable.size.height*29);
},
// 불꽃을생성하여떨어뜨린다
fire : function(speed) {
this.fireSpeed=speed;
this.fireball = new CFire(this);
window.setTimeout(this.moveFire.bind(this),this.fireSpeed*100);
},
// 불꽃을한칸씩아래로이동시킨다
moveFire : function(speed) {
this.fireball.moveDown();
this.firePos++;
if (this.firePos<this.bombTable.size.height) {
this.bombTable.fire(this.firePos,this.lanePos); // 폭탄테이블에불꽃이지나감을알림
window.setTimeout(this.moveFire.bind(this),this.fireSpeed*100);
} else {
// 불꽃이모두내려갔으면불꽃을지운다
this.fireball.hide();
this.fireball=null;
this.firePos=0;
$event.fire(this.game,'fireDrop');
}
}
}
});
# by | 2007/12/21 17:23 | SWAF - 응용 | 트랙백 | 덧글(0)




☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]