|
윈도우 버전과 달라진 부분만 소스를 게시합니다.
안드로이드에서 작동하기 위해 air for android를 적용하여 윈도우 버전에서 추가한 부분입니다.
////////////////////////////////////////
//// 메인 메뉴 시작 ////////////////////
///////////////////////////////////////////
import flash.display.StageOrientation;
import flash.events.StageOrientationEvent;
//this.height = stage.stageHeight;
//this.height = stage.stageHeight;
//this.width = stage.stageWidth;
//this.y = 0;
//stage.scaleMode =StageScaleMode.NO_SCALE; //원본 크기 그대로 보이기
stage.align = StageAlign.TOP_LEFT;
var fontsizecon:Number = 180;
var screenppt:Number = 1;
var screenpptWidth:Number = 1400;
var cblabelformat:TextFormat = new TextFormat();
cblabelformat.size =20;
getscreenppt();
function getscreenppt() {
screenppt = (stage.fullScreenHeight/stage.fullScreenWidth);
if (screenppt < 1) screenppt = 1/screenppt;
screenppt = (int(screenppt*100))/100;
screenpptWidth = 640*screenppt;
}
//stage.scaleMode="exactFit"; // 해상도와 관계없이 화면에 가득차게 보이기
NativeApplication.nativeApplication.addEventListener(Event.ACTIVATE, onActive );
NativeApplication.nativeApplication.addEventListener(Event.DEACTIVATE, onDeactive);
function onActive(event:Event) {
if (onTimerActive) {
hmTimer.start();
}
}
function onDeactive(event:Event) {
if (onTimerActive) {
hmTimer.stop();
}
}
/// 화면 전환 이벤트 정의 ////
//NativeApplication.nativeApplication.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, onOrientatixxxxxxonChange);
stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGE, onOrientatixxxxxxonChange);
function onOrientatixxxxxxonChange(event:StageOrientationEvent) {
switch (event.afterOrientation) {
case StageOrientation.DEFAULT: //세로 화면
trace("세로화면 default");
stageRotatedEvent(currentFrame, 1);
// gosacombo.rowCount = 20;
break;
case StageOrientation.ROTATED_RIGHT: //가로 화면
trace("가로화면 ROTATED_RIGHT");
stageRotatedEvent(currentFrame, 23);
// gosacombo.rowCount = 10;
break;
case StageOrientation.ROTATED_LEFT: //가로 화면
trace("가로화면 ROTATED_LEFT");
stageRotatedEvent(currentFrame, 23);
// gosacombo.rowCount = 10;
break;
case StageOrientation.UPSIDE_DOWN: //세로 화면
trace("세로화면 UPSIDE_DOWN");
stageRotatedEvent(currentFrame, 4);
// gosacombo.rowCount = 20;
break;
}
}
function stageRotatedEvent(thisframeno, rotatedDRLU):void {
// fontsizecon = 180;
if (thisframeno == 3) {
if (rotatedDRLU == 23) {
qwordT.x = 10; //int(stage.fullScreenWidth*0.02); // 10; (int(stage.stageWidth) - int(stage.fullScreenWidth))/2;
qwordT.y = 80; //int(stage.fullScreenHeight*0.05); //stage.fullScreenHeight/10;
qwordT.width = screenpptWidth-20; //int(stage.fullScreenWidth*0.96); // - stage.fullScreenWidth/20); // stage.stageWidth-20; //stage.fullScreenWidth-20;
qwordT.height = 480; //int(stage.fullScreenHeight*0.5); //60 - stage.fullScreenHeight/20); //-160; //stage.fullScreenHeight-160; //stage.fullScreenHeight-(stage.fullScreenHeight*2/10);
setqwordTformat()
} else if (rotatedDRLU != 23) {
qwordT.x = 10;
qwordT.y = 368;
qwordT.width = 780;
qwordT.height = 208;
setqwordTformat();
}
} else if (thisframeno == 1) {
if (rotatedDRLU == 23) gosacombo.rowCount = 14 else gosacombo.rowCount = 20;
}
}
/*
stage.addEventListener(Event.RESIZE, resizeHandler);
function resizeHandler(event:Event):void {
switch (stage.orientation) {
}
*/
function setqwordTformat() {
if (qwordT.text.length <= 8) fontsizecon = int((qwordT.width-20)/qwordT.text.length)
// else if ((qwordT.text.length > 4) && (qwordT.text.length <= 8)) fontsizecon = qwordT.width/qwordT.text.length
else if (qwordT.text.length > 8) fontsizecon = 60;
trace(fontsizecon);
if (fontsizecon > (qwordT.height - 10)) fontsizecon = qwordT.height - 10;
trace(fontsizecon*qwordT.text.length);
trace("qwordT.width "+qwordT.width);
var my_fmt:TextFormat = new TextFormat();
my_fmt.size = fontsizecon;
qwordT.setTextFormat(my_fmt);
}
// stage.addEventListener(StageOrientationEvent.ORIENTATION_CHANGING, CHrot); //<== 회전이벤트Listener
/*
function CHrot(e:StageOrientationEvent):void {
switch(e.afterOrientation){
case StageOrientation.DEFAULT:<== 기본적으로 서있는 상태
case StageOrientation.UPSIDE_DOWN:<==뒤집어져 있는 상태
e.preventDefault();<== 이벤트 강제 종료
break;
}
switch(e.afterOrientation){
case StageOrientation.DEFAULT: //세로 화면
trace("세로화면 default");
trace(this.width);
break;
case StageOrientation.ROTATED_RIGHT: //가로 화면
trace("가로화면 ROTATED_RIGHT");
break;
case StageOrientation.ROTATED_LEFT: //가로 화면
trace("가로화면 ROTATED_LEFT");
break;
case StageOrientation.UPSIDE_DOWN: //세로 화면
trace("세로화면 UPSIDE_DOWN");
break;
}
}
*/
//[출처] 자동회전할때 가로는 가로만 세로는 세로로만 회전되는 소스 공개합니다. 유용하게 쓰세요 (플래시(Flash)로 생계를 이어가는 사람들의 모임:플생사모) |작성자 루아리우
//var transitionOn:Boolean = true; // true, false
//var transitionType:String = "Fade"; // Blinds, Fade, Fly, Iris, Photo, PixelDissolve, Rotate, Squeeze, Wipe, Zoom, Random
function changeScene(event:MouseEvent):void {
hmTimer.stop();
//아래 : index에 변화를 준 오브젝트는 다른 장면으로 전환될 때
//인덱스가 상승하며 다른 화면에도 보이는 현상이 있어 remove로 제거한다
//remove하더라도 메모리에서 완전히 제거되는 것이 아니고
//오브젝트를 참조하고 있는 변수들이 있으면 화면에서만 안보이는 것.
//따라서 이 프레임에 되돌아 올 때 오브젝트를 배열하는 함수의 의해 다시 보이게 된다
//trace("메뉴의 부모는 "+event.currentTarget.parent.name);
//이 화면에서 다른 화면으로 갈 때만 리무브 실행
// if (("mainmenu1" == event.currentTarget.parent.name) && ("mbtnmix" != event.currentTarget.name)){
if ((currentFrame == 1) && ("mbtnmix" != event.currentTarget.name)){
for( var i = 1 ; i < 21; i++){
removeChild(this["hjc"+i]);
removeChild(this["hgc"+i]);
}
}
// trace("메뉴의 부모는 "+event.currentTarget.parent.name);
if (event.currentTarget.name == "mbtnmix") {
// TransitionManager.start(this, {type:PixelDissolve, direction:Transition.OUT, duration:1.25});
gotoAndStop(1);
// TransitionManager.start(this, {type:Blinds, direction:Transition.IN, duration:1.25});
} else if (event.currentTarget.name == "mbtnhanja") {
// TransitionManager.start(this, {type:Blinds, direction:Transition.OUT, duration:1.25});
gotoAndStop(2);
// TransitionManager.start(this, {type:Fade, direction:Transition.IN, duration:1.25});
} else if (event.currentTarget.name == "mbtnword") {
// TransitionManager.start(this, {type:Fade, direction:Transition.OUT, duration:1.25});
gotoAndStop(3);
// TransitionManager.start(this, {type:Fly, direction:Transition.IN, duration:1.25});
} else if (event.currentTarget.name == "mbtngosa") {
// TransitionManager.start(this, {type:Fly, direction:Transition.OUT, duration:1.25});
gotoAndStop(4);
// TransitionManager.start(this, {type:Iris, direction:Transition.IN, duration:1.25});
} else if (event.currentTarget.name == "mbtnrandom") {
// TransitionManager.start(this, {type:Iris, direction:Transition.OUT, duration:1.25});
gotoAndStop(5);
// TransitionManager.start(this, {type:Photo, direction:Transition.IN, duration:1.25});
} else if (event.currentTarget.name == "mbtnhanmoonswag") {
// TransitionManager.start(this, {type:Photo, direction:Transition.OUT, duration:1.25});
gotoAndStop(6);
// TransitionManager.start(this, {type:PixelDissolve, direction:Transition.IN, duration:1.25});
}
}
mainmenu1.mbtnmix.addEventListener(MouseEvent.CLICK, changeScene);
mainmenu1.mbtnhanja.addEventListener(MouseEvent.CLICK, changeScene);
mainmenu1.mbtnword.addEventListener(MouseEvent.CLICK, changeScene);
mainmenu1.mbtngosa.addEventListener(MouseEvent.CLICK, changeScene);
mainmenu1.mbtnrandom.addEventListener(MouseEvent.CLICK, changeScene);
mainmenu1.mbtnhanmoonswag.addEventListener(MouseEvent.CLICK, changeScene);
///// 메인 메뉴 끝 //////////////////////
/////////////////////////////////////////