var beerArr:Array=new Array(); //맥주들 담을 배열
var num10Arr:Array=["","열","스물","서른","마흔","쉰","예순","일흔","여든","아흔"];//10자리 숫자 한글
var num01Arr:Array=["빵","한","두","세","네","다섯","여섯","일곱","여덟","아홉"];//1자리 숫자 한글
var beerHolder:MovieClip=new MovieClip(); //맥주들 무비 담을 무비클립
var secTimer:Timer=new Timer(1000); //1초 타이머
var timerNum:int; //맥주 카운팅용 변수
var beerMaxNum:int = 99; //최대 맥주수
var exp:TextField=new TextField(); //설명용 텍스트 필드
var titleT:TextField=new TextField(); //타이틀용 텍스트 필드
var sign:TextField=new TextField(); //날자, 사인용 텍스트 필드
function init(){
timerNum = beerMaxNum;
stage.addChild(exp); //설명용 텍스트 필드 화면에 추가
exp.x = 20, exp.y = 300;
exp.width=400;
exp.scrollH=3; exp.scrollV=3;
//exp.mouseWheelEnabled;//마우스 휠 사용 가능
//exp.background=true;
//exp.backgroundColor=0xECF2F9;
exp.text = "";
exp.text = numToText((timerNum))+" 병의 맥주가 벽장에 있네, "+numToText((timerNum))+" 병의 맥주라네.";
stage.addChild(titleT);
titleT.x=220, titleT.y=10, titleT.width=300;
titleT.text = "아흔아홉병의 맥주";
stage.addChild(sign);
sign.x=430, sign.y=380, sign.width=300;
sign.text = "2015/6/11 木 바람들들";
stage.addChild(beerHolder); //맥주들 무비클립 담을 무비클립 화면 추가
beerMovInit(); //맥주들 무비클립 생성, 초기화, 배열에 넣기
secTimer.addEventListener(TimerEvent.TIMER, inTime);
secTimer.start();
}
function inTime(e:TimerEvent){ //타이머 작동시 처리
timerNum--;
if(timerNum >= 0){
beerHolder.getChildByName("br"+timerNum).alpha = 0.2;
exp.text = numToText((timerNum+1))+"병의 맥주가 벽장에 있네,"+numToText((timerNum+1))+"병의 맥주라네";
exp.appendText("\n하나를 내려서 넘겨주었네,"+numToText(timerNum)+"병의 맥주가 벽장에 있네.");
if(timerNum==0) exp.text = "더 이상 벽장에 맥주가 없네.";
}else{
while(beerHolder.numChildren){ beerHolder.removeChildAt(0); }
beerArr = [];
exp.text = "이제 맥주는 없다네.\n가게에 가서 더 사왔네,"+numToText(beerMaxNum)+"병의 맥주가 벽장에 있네";
secTimer.stop(); //타이머 정지
init();
}
}
function numToText(num:int){ //숫자 한글로 변환
var ten, one, numText;
ten = int(num / 10); //십자리 수 분리 저장
one = num % 10; //한자리 수 분리 저장
if(num > 9){ //10 이상일 때
numText = num10Arr[ten] + num01Arr[one];
if(num == 20) numText = "스무"; //20일 때
}else{ //한 자리 수 일 때
numText = num01Arr[one];
}
return numText;
}
function beerMovInit(){ //맥주들 무비클립 생성, 초기화, 배열에 넣기
for(var i=0; i < beerMaxNum; i++){
var m:MovieClip=new MovieClip(); //새 빈 무비클립 만들기
m.name = "br"+i;
m.t=new TextField(); //맥주 무비클립 내 텍스트필드 만들기
m.t.x =-15, m.t.y = -15;
m.t.text = i+1;
m.addChild(m.t);
m.x = 30 + i % 20 * 25;
m.y = 70 + Math.floor(i/20)*50;
m.graphics.lineStyle(1,0); //맥주 병 그래픽 그리기
m.graphics.moveTo(0, 0);
m.graphics.lineTo(0, -10);
m.graphics.lineTo(-5, -15);
m.graphics.lineTo(-5, -20);
m.graphics.lineTo(-10, -20);
m.graphics.lineTo(-10, -15);
m.graphics.lineTo(-15, -10);
m.graphics.lineTo(-15, 0);
m.graphics.lineTo(0, 0);
beerHolder.addChild(m); //화면에 추가하여 표시
beerArr.push(m); //배열에 추가
}
}
init();
|