자바스크립트로 만드는 객체지향 게임 - 불꽃 레인 클래스

 불꽃 레인은 불꽃이 떨어지는 장소다. 실제 해당 요소의 div를 생성하고 불꽃 클래스를 생성하여 떨어뜨린다.
 불꽃이 한칸씩 아래로 떨어질 때 마다 폭탄 테이블에 이를 알려서 폭발이 일어나도록 한다.

/* 불꽃레인클래스- 불꽃이떨어지는곳*/

$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)

트랙백 주소 : http://reizes.egloos.com/tb/1686175
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

◀ 이전 페이지          다음 페이지 ▶