| 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(); |