youngzeen's dev site
custom sdk & libraries

youngzeenkim@gmail.com
http://youngzeen.com












YoungZeen's MobileUX game functions

----------------------------------------------------------------------
YoungZeen's MobileUX game functions
----------------------------------------------------------------------

* 아래의 게임 기능관련 명령어들은 페이지 이름이 'game'으로 시작하는 페이지에서만 작동이 됩니다.


(1) gamePlayer( [이동 방향] , [조정 방식], [속도] )

게임 페이지 안에 사용자가 조종할 수 있는 메인 캐릭터를 하나 만드는 기능.
페이지 안에, 메인캐릭터 역할을 하는 무비클립들을 만들어 놓고 (중심점은 좌측 상단으로 지정) 'player'로 instance name을 지정.

[이동 방향] : X, Y, XY 중 하나를 설정.
[조정 방식] : BUTTON_A, BUTTON_B, TAB, GYRO, DRAG 중 하나를 설정.
[속도] : 이동 속도를 숫자로 지정. 생략할 경우에는 기본 속도 10으로 설정됨. BUTTON_B를 선택한 경우 한 번 클릭으로 움직이는 값을 설정.

조정 방식을 BUTTON_A 또는 BUTTON_B로 설정할 경우, 버튼 역할을 하는 버튼들을 button으로 만들어서(무비클립이 아니라),
'control_left', 'control_right', 'control_up', 'control_down'의 이름으로 instance name을 지정.
방향이 X 또는 Y 일 경우에는 필요한 2개만, XY일 경우에는 4개를 모두 만들어야 함.

  game.gamePlayer("X", "BUTTON_A", 15);
  game.gamePlayer("X", "BUTTON_B", 70);
  game.gamePlayer("XY", "DRAG");
  game.gamePlayer("Y", "TAB", 12);
  game.gamePlayer("XY", "GYRO");
	

(2) gameBack( [이동 방향], [속도] )

게임 페이지 안에 배경 무비클립이 이동하도록 하는 기능.
페이지 안에, 페이지 크기보다 가로 또는 세로로 긴 무비클립들을 만들어 놓고 (중심점은 좌측 상단으로 지정) 'back'으로 instance name을 지정.

[이동방향] : UP, DOWN, LEFT, RIGHT 중 하나를 설정.
[속도] : 숫자가 클수록 이동 속도가 빨라짐.

  game.gameBack("DOWN", "5");
  game.gameBack("LEFT", "10");
	

(3) gameBackBack( [이동 방향], [속도] )

게임 페이지 안에 back 외에 배경 무비클립을 하나 더 만드는 기능.

* 이 BackBack은 Back과 달리 시각적인 역할만 하며, gameClick, gameHit 등의 게임 기능 역할을 할 수는 없습니다.

게임 페이지 안에 배경 무비클립이 이동하도록 하는 기능.
페이지 안에, 페이지 크기보다 가로 또는 세로로 긴 무비클립들을 만들어 놓고 (중심점은 좌측 상단으로 지정) 'backback'으로 instance name을 지정.

[이동방향] : UP, DOWN, LEFT, RIGHT 중 하나를 설정.
[속도] : 숫자가 클수록 이동 속도가 빨라짐.

  game.gameBackBack("DOWN", "7");
	

(4) gameMove( [햅틱 여부], [속도] )

게임 페이지 안에 무비클립들을 만들어 놓고, 움직임을 줄 수 있는 기능.

* 각 무비클립들은 중심점이 가운데(center)로 지정되어야 합니다. 좌측 상단이 아니라.
* 각 무비클립의 이름(instance name)은 각각 다 달라야 합니다.

[햅틱 여부] : 무비클립이 벽에 부딪일 때 햅틱이 일어나도록 할 지 여부. ON은 햅틱 사용, NO는 사용하지 않음.
[속도] : 숫자가 클수록 이동 속도가 빨라짐. 생략할 경우에는 기본 속도 10이 설정됨.

* 바운스 움직임: 벽에 닿으면 튕겨져 나와 반대 방향으로 움직임. 무비클립이 화면을 벗어나지 않음.
* 패스 움직임: 벽에 닿더라도 지나쳐서 화면 밖으로 사라지고 잠시 후에 반대편에서 다시 나타남.
* 드래그: 움직이지 않고 정지되어 있으나, 사용자가 드래그해서 이동시킬 수 있음.

각 무비클립의 이름에 따라, 다음과 같이 다른 움직임 방식과 방향을 줄 수 있습니다.
'gm' + '움직임 방식(b/p)' + '이동 방향(x/y)' + '시작 방향(l/r/u/d)'

예를 들어, 무비클립의 이름(instance name)이 아래와 같이 시작할 경우,
- gmbxl: 바운스 움직임 / 가로 방향 이동 / 왼쪽으로 시작.
- gmbxr: 바운스 움직임 / 가로 방향 이동 / 오른쪽으로 시작.
- gmbyu: 바운스 움직임 / 세로 방향 이동 / 위쪽으로 시작.
- gmbyd: 바운스 움직임 / 세로 방향 이동 / 아래쪽으로 시작.
- gmbdl: 바운스 움직임 / 가로+세로 모든 방향 이동 / 시계방향으로 시작.
- gmbdr: 바운스 움직임 / 가로+세로 모든 방향 이동 / 반시계방향으로 시작.
- gmpxl: 패스 움직임 / 가로 방향 이동 / 왼쪽으로 시작.
- gmpxr: 패스 움직임 / 가로 방향 이동 / 오른쪽으로 시작.
- gmpyu: 패스 움직임 / 세로 방향 이동 / 위쪽으로 시작.
- gmpyd: 패스 움직임 / 세로 방향 이동 / 아래쪽으로 시작.
- drag: 사용자가 해당 무비클립을 드래그해서 이동시킬 수 있음.

  game.gameMove("NO", 10);
  game.gameMove("ON", 7);
	

(5) gameScore( [시작 점수], [목표 점수], [화면표시 방법], [무비클립 이름], [이동할 페이지], [이동 전에 표시될 무비클립 이름] )

게임 페이지 안에 스코어를 만드는 기능.

[시작 점수] : 숫자. 게임 처음 시작시 기본 점수 설정.
[목표 점수] : 숫자. 여기서 설정한 점수가 되면 이동할 페이지로 이동됨.
[화면표시 방법] : SHOW, BAR, HIDE 중에서 설정. SHOW일 경우, 지정한 무비클립의 위치/크기에 숫자로 표시됨.
   BAR일 경우, 지정한 무비클립에서 스코어에 따라 보여지는 영역이 점점 많아지는 형태로 표시.
[무비클립 이름] : SHOW를 선택했을 경우, 숫자가 표시될 위치와 크기로 무비클립을 만들어서 그 무비클립 이름을 설정.
   BAR를 선택했을 경우, bar 역할을 할 무비클립을 만들어서 그 무비클립 이름을 설정.
[이동할 페이지] : 이동할 페이지의 페이지(무비클립) 이름.
[이동 전에 표시될 무비클립 이름] : 이동할 페이지로 가기 전에 화면 상에 표시될 무비클립 이름. 무비클립이 다 플레이되면 이동할 페이지로 이동.
   사용하지 않을 경우에는 생략 가능.

  game.gameScore(0, 100, "SHOW", "scoreMC", "successPage");
  game.gameScore(0, 300, "BAR", "bar01", "page07");
  game.gameScore(0, 100, "SHOW", "scoreMC", "successPage", "success_message");
	

(6) gameTimer( [시작 시간], [속도], [목표시간], [화면표시 방법], [무비클립 이름], [이동할 페이지], [이동 전에 표시될 무비클립 이름] )

게임 페이지 안에 타이머를 만드는 기능.

[시작 시간]: 숫자. 게임처음 시작시 기본 타이머 시작 시간 설정.
[속도] : 숫자. 타이머 속도. 1은 1초 단위로 작동(기본 속도). 2이면 속도가 2배, 3이면 3배 같은 식으로.
[목표 시간] : 숫자. 여기서 설정한 시간이 되면 이동할 페이지로 이동됨.
[화면표시 방법] : SHOW, BAR, HIDE 중에서 설정. SHOW일 경우, 지정한 무비클립의 위치/크기에 숫자로 표시됨.
   BAR일 경우, 지정한 무비클립에서 타이머에 따라 보여지는 영역이 점점 줄어드는 형태로 표시.
[무비클립 이름] : SHOW를 선택했을 경우, 숫자가 표시될 위치와 크기로 무비클립을 만들어서 그 무비클립 이름을 설정.
   BAR를 선택했을 경우, bar 역할을 할 무비클립을 만들어서 그 무비클립 이름을 설정.
[이동할 페이지] : 이동할 페이지의 페이지(무비클립) 이름.
[이동 전에 표시될 무비클립 이름] : 이동할 페이지로 가기 전에 화면 상에 표시될 무비클립 이름. 무비클립이 다 플레이되면 이동할 페이지로 이동.
   사용하지 않을 경우에는 생략 가능.

  game.gameTimer(0, 1, 5, "SHOW", "timerMC", "failPage");
  game.gameTimer(0, 5, 100, "BAR", "bar02", "gameOver");
  game.gameTimer(0, 2, 50, "SHOW", "timerMC", "failPage", "fail_message");
	

(7) gameLife( [시작 생명수], [화면표시 방법], [무비클립 이름], [이동할 페이지], [이동 전에 표시될 무비클립 이름] )

게임 페이지 안에 생명(life) 요소를 만드는 기능.

[시작 생명수] : 숫자. 게임 처음 시작시 기본 생명수 설정.
[화면표시 방법] : SHOW, BAR, HIDE 중에서 설정. SHOW일 경우, 지정한 무비클립의 위치/크기에 숫자로 표시됨.
   BAR일 경우, 지정한 무비클립에서 생명수에 따라 보여지는 영역이 점점 줄어드는 형태로 표시.
[무비클립 이름] : SHOW를 선택했을 경우, 숫자가 표시될 위치와 크기로 무비클립을 만들어서 그 무비클립 이름을 설정.
   BAR를 선택했을 경우, bar 역할을 할 무비클립을 만들어서 그 무비클립 이름을 설정.
[이동할 페이지] : 이동할 페이지의 페이지(무비클립) 이름.
[이동 전에 표시될 무비클립 이름] : 이동할 페이지로 가기 전에 화면 상에 표시될 무비클립 이름. 무비클립이 다 플레이되면 이동할 페이지로 이동.
   사용하지 않을 경우에는 생략 가능.

  game.gameLife(3, "SHOW", "lifeMC", "failPage");
  game.gameLife(2, "BAR", "bar03", "page07");
  game.gameLife(5, "SHOW", "lifeMC", "failPage", "fail_message");
	

(8) gameClick( [무비클립 이름], [모드], [클릭시 변화], [점수/생명수], [사운드] )

게임 페이지에서, 해당 무비클립을 클릭하면 주어진 기능이 작동되도록 하는 기능.
지정된 무비클립은 한 번만 클릭이 가능.

[무비클립 이름] : 클릭 기능을 부여할 무비클립 이름. 게임 페이지 안에, 또는 그 안에 back 안에 있는 무비클립의 이름.
  와일드카드(*) 문자를 사용해서 여러 무비클립을 한 번에 지정할 수 있습니다.
  예를 들어 'apple*'이라고 지정하면, 이름이 apple로 시작하는 모든 무비클립에 기능이 적용됩니다.
[모드] : SCORE와 LIFE 중에 선택. SCORE일 경우 주어진 점수가 가산됨. LIFE일 경우 주어진 생명수가 가산됨.
[클릭시 변화] : HIDE, NO, 또는 무비클립 이름 중 선택. NO일 경우 아무 변화 없음. HIDE일 경우 클릭된 후 화면에서 사라짐.
  무비클립 이름을 써줄 경우, 클릭시 이 무비클립으로 바뀜. 이 무비클립이 같은 페이지 또는 같은 back 안에 만들어져 있어야 함.
[점수/생명수] : 모드가 SCORE일 경우, 클릭시 추가되는 점수. 모드가 LIFE일 경우 추가되는 생명수.
[사운드] : 클릭시 플레이되는 사운드(mp3) 파일의 이름. 사운드를 넣지 않을 경우에는 생략 가능.
   (파일 이름은 확장자(.mp3)까지 써주어야 하고, mp3 파일은 _sound 폴더 안에 넣어주어야 함)

  game.gameClick("apple", "SCORE", "HIDE", 10, "Spring.mp3");
  game.gameClick("orange", "LIFE", "NO", -1);
  game.gameClick("banana*", "SCORE", "star1", 20);
  game.gameClick("apple*", "SCORE", "HIDE", 10);
	

(9) gameClickRepeat( [무비클립 이름], [모드], [클릭시 변화], [점수/생명수], [사운드])

게임 페이지에서, 해당 무비클립을 클릭하면 주어진 기능이 작동되도록 하는 기능.
gameClick 명령과 달리, 지정된 무비클립은 반복적으로 클릭이 가능.

[무비클립 이름] : 클릭 기능을 부여할 무비클립 이름. 게임 페이지 안에, 또는 그 안에 back 안에 있는 무비클립의 이름.
[모드] : SCORE와 LIFE 중에 선택. SCORE일 경우 주어진 점수가 가산됨. LIFE일 경우 주어진 생명수가 가산됨.
[클릭시 변화] : HIDE, NO, 또는 무비클립 이름 중 선택. NO일 경우 아무 변화 없음. HIDE일 경우 클릭된 후 화면에서 사라짐.
  무비클립 이름을 써줄 경우, 클릭시 이 무비클립으로 바뀜. 이 무비클립이 같은 페이지 또는 같은 back 안에 만들어져 있어야 함.
[점수/생명수] : 모드가 SCORE일 경우, 클릭시 추가되는 점수. 모드가 LIFE일 경우 추가되는 생명수.
[사운드] : 클릭시 플레이되는 사운드(mp3) 파일의 이름. 사운드를 넣지 않을 경우에는 생략 가능.
   (파일 이름은 확장자(.mp3)까지 써주어야 하고, mp3 파일은 _sound 폴더 안에 넣어주어야 함)

  game.gameClickRepeat("apple", "SCORE", "HIDE", 10, "Spring.mp3");
  game.gameClickRepeat("orange", "LIFE", "NO", -1);
	

(10) gameClickRandom( [무비클립 이름], [나타날 위치의 무비클립], [출현 빈도수], [모드], [클릭시 변화], [점수/생명수], [사운드])

게임 페이지에서, 반복적으로 랜덤하게 나타나는 무비클립을 지정하고, 클릭하면 주어진 기능이 작동되도록 하는 기능.

[무비클립 이름] : 랜덤하게 나타나고, 클릭시 기능을 부여할 무비클립 이름. 게임 페이지 안에, 또는 그 안에 back 안에 있는 무비클립.
  (시각적으로) 화면 밖에 위치하도록 만들어 놓아야 함.
[나타날 위치 무비클립] : 앞에서 지정된 무비클립이 랜덤하게 나타날 위치의 기준이 되는 무비클립을 지정.
[빈도수] : 랜덤하게 나오는 빈도수를 1~9 사에에서 지정. 1이 가장 드물게 나오고, 9가 가장 자주 나옴.
[모드] : SCORE와 LIFE 중에 선택. SCORE일 경우 주어진 점수가 가산됨. LIFE일 경우 주어진 생명수가 가산됨.
[클릭시 변화] : HIDE, NO, 또는 무비클립 이름 중 선택. NO일 경우 아무 변화 없음. HIDE일 경우 클릭된 후 화면에서 사라짐.
  무비클립 이름을 써줄 경우, 클릭시 이 무비클립으로 바뀜. 이 무비클립이 같은 페이지 또는 같은 back 안에 만들어져 있어야 함.
[점수/생명수] : 모드가 SCORE일 경우, 클릭시 추가되는 점수. 모드가 LIFE일 경우 추가되는 생명수.
[사운드] : 클릭시 플레이되는 사운드(mp3) 파일의 이름. 사운드를 넣지 않을 경우에는 생략 가능.
   (파일 이름은 확장자(.mp3)까지 써주어야 하고, mp3 파일은 _sound 폴더 안에 넣어주어야 함)

  game.gameClickRandom("star1", "apple", 3, "SCORE", "HIDE", 10, "Spring.mp3");
  game.gameClickRandom("apple", "orange", 9, "SCORE", "NO", 5);
	

(11) gameHit( [무비클립 이름], [모드], [충돌시 변화], [점수], [사운드] )

게임 페이지에서, 해당 무비클립이 player와 충돌하면 주어진 기능이 작동되도록 하는 기능.

[무비클립 이름] : 충돌 기능을 부여할 무비클립 이름. 게임 페이지 안에, 또는 그 안에 back 안에 있는 무비클립의 이름.
  와일드카드(*) 문자를 사용해서 여러 무비클립을 한 번에 지정할 수 있습니다.
  예를 들어 'apple*'이라고 지정하면, 이름이 apple로 시작하는 모든 무비클립에 기능이 적용됩니다.
[모드] : SCORE와 LIFE 중에 선택. SCORE일 경우 주어진 점수가 가산됨. LIFE일 경우 주어진 생명수가 가산됨.
[충돌시 변화] : HIDE, NO, 또는 무비클립 이름 중 선택. NO일 경우 아무 변화 없음. HIDE일 경우 충돌한 후 화면에서 사라짐.
  무비클립 이름을 써줄 경우, 충돌시 이 무비클립으로 바뀜. 이 무비클립이 같은 페이지 또는 같은 back 안에 만들어져 있어야 함.
[점수/생명수] : 모드가 SCORE일 경우, 충돌시 추가되는 점수. 모드가 LIFE일 경우 추가되는 생명수.
[사운드] : 충돌시 플레이되는 사운드(mp3) 파일의 이름. 사운드를 넣지 않을 경우에는 생략 가능.
   (파일 이름은 확장자(.mp3)까지 써주어야 하고, mp3 파일은 _sound 폴더 안에 넣어주어야 함)

  game.gameHit("apple", "SCORE", "HIDE", 50, "Spring.mp3");
  game.gameHit("enemy1", "LIFE", "NO", -1);
  game.gameHit("bad*", "SCORE", "red3", 10);
  game.gameHit("apple*", "SCORE", "HIDE", 10);
	

(12) gameEnd( [스코어 무비클립], [타이머 무비클립] )

게임이 끝나고 이동하는 성공 또는 실패 페이지에 스코어나 타이머를 표시할 수 있는 기능.

[스코어 무비클립] : 스코어가 표시될 위치, 크기와 동일한 무비클립을 만들어 놓고 그 이름을 지정. 사용하지 않을 경우 NO를 설정.
[타이머 무비클립] : 스코어가 표시될 위치, 크기와 동일한 무비클립을 만들어 놓고 그 이름을 지정. 사용하지 않을 경우 NO를 설정.

  success.gameEnd("scoreMC", "timerMC");
  gameover.gameEnd("FinalScore");
	

(13) gamePlayerHit( [무비클립 이름] )

플레이어가 gameHit 기능을 설정한 무비클립과 충돌해서 생명수가 깎이는 경우, 잠시동안 플레이어의 모습을 지정한 다른 무비클립으로 바꾸는 기능.

[무비클립 이름] : 충돌시 바뀌어야 하는 무비클립의 이름을 지정.

  game.gamePlayerHit("player2");
	

(14) gameScoreFont( [폰트 이름], [폰트 크기], [폰트 색상] )

스크어를 숫자로 표시할 경우, 폰트를 설정하는 기능.

[폰트 이름] : 스크어 폰트 이름 (기본 폰트는 Verdana)
[크기] : 스코어 폰트 크기 (기본 값은 52)
[색상] : 스코어 폰트 색상을 Web칼라(16진수 값)으로 입력 (기본 값은 블랙 - 0x000000)

* 사용하려는 폰트는 먼저 라이브러리에 'Font'로 등록을 해야합니다 (예제 파일에 라이브러리에 있는 Verdana와 마찬가지로)

  game.gameScoreFont("Mistral", "72", "0xFF0000");
	

(15) gameTimerFont( [폰트 이름], [폰트 크기], [폰트 색상] )

타이머를 숫자로 표시할 경우, 폰트를 설정하는 기능.

[폰트 이름] : 타이머 폰트 이름 (기본 폰트는 Verdana)
[크기] : 타이머 폰트 크기 (기본 값은 52)
[색상] : 타이머 폰트 색상을 Web칼라(16진수 값)으로 입력 (기본 값은 블랙 - 0x000000)

* 사용하려는 폰트는 먼저 라이브러리에 'Font'로 등록을 해야합니다 (예제 파일에 라이브러리에 있는 Verdana와 마찬가지로)

  game.gameTimerFont("Mistral", "72", "0xFF0000");
	

(16) gameLifeFont( [폰트 이름], [폰트 크기], [폰트 색상] )

생명수를 숫자로 표시할 경우, 폰트를 설정하는 기능.

[폰트 이름] : 생명수 폰트 이름 (기본 폰트는 Verdana)
[크기] : 생명수 폰트 크기 (기본 값은 52)
[색상] : 생명수 폰트 색상을 Web칼라(16진수 값)으로 입력 (기본 값은 블랙 - 0x000000)

* 사용하려는 폰트는 먼저 라이브러리에 'Font'로 등록을 해야합니다 (예제 파일에 라이브러리에 있는 Verdana와 마찬가지로)

  game.gameLifeFont("Mistral", "72", "0xFF0000");
	

(17) gameEndScoreFont( [폰트 이름], [폰트 크기], [폰트 색상] )

게임이 끝나고 이동하는 성공/실패 페이지에 스크어를 표시할 경우, 폰트를 설정하는 기능.

[폰트 이름] : 스크어 폰트 이름 (기본 폰트는 Verdana)
[크기] : 스코어 폰트 크기 (기본 값은 52)
[색상] : 스코어 폰트 색상을 Web칼라(16진수 값)으로 입력 (기본 값은 블랙 - 0x000000)

* 사용하려는 폰트는 먼저 라이브러리에 'Font'로 등록을 해야합니다 (예제 파일에 라이브러리에 있는 Verdana와 마찬가지로)

  game.gameEndScoreFont("Mistral", "72", "0xFF0000");
	

(18) gameEndTimerFont( [폰트 이름], [폰트 크기], [폰트 색상] )

게임이 끝나고 이동하는 성공/실패 페이지에 타이머를 표시할 경우, 폰트를 설정하는 기능.

[폰트 이름] : 타이머 폰트 이름 (기본 폰트는 Verdana)
[크기] : 타이머 폰트 크기 (기본 값은 52)
[색상] : 타이머 폰트 색상을 Web칼라(16진수 값)으로 입력 (기본 값은 블랙 - 0x000000)

* 사용하려는 폰트는 먼저 라이브러리에 'Font'로 등록을 해야합니다 (예제 파일에 라이브러리에 있는 Verdana와 마찬가지로)

  game.gameEndTimerFont("Mistral", "72", "0xFF0000");
	

-------------------------------------------------------
기타 명령어들
-------------------------------------------------------


(1) goFrame(이동할 프레임의 라벨 이름)

화면을 손으로 tab하면 타임라인 상의 다른 프레임으로 이동하는 기능.
무비클립 안에 버튼을 button으로 만들어서(무비클립이 아니라), 'go'로 instance name을 지정.
이동할 프레임은 타임라인 상에서 라벨(label)로 이름을 지정해주고, 위의 명령에서 그 이름을 적어주면 됨.

  page01.goFrame("GamePage");
  page03.tab("GamePlay");
	

(2) UXinit.goBackFrame(이동할 프레임의 라벨 이름, 처음 나와야 하는 페이지 이름)

goFrame 명령으로 타임라인 상의 다른 프레임으로 이동했다가, 다시 원래 mobileUX 페이지로 돌아오는 기능.
다시 돌아와야 하는 mobileUX 프레임에 타임라인 상에서 라벨(label)로 이름을 지정해주고, 위의 명령에서 그 이름을 적어주면 됨.
처음 나와야 하는 페이지는, 돌아간 mobileUX 페이지에 있는 페이지 무비클립들 중 화면에 보여져야 할 페이지의 이름
(즉 무비클립의 이름)을 적어주면 됨.
이 UXinit.goBackFrame 명령은 위의 다른 명령들과는 달리, mobileUX 페이지(프레임)가 아닌 다른 프레임에서 사용하는
명령이기 때문에, 명령에 앞에 페이지 이름을 쓰는 것이 아니라 항상 'UXinit.goBackFrame'을 써야 하고,
일반적인 플래시의 버튼 클릭 이벤트 시의 function으로 사용해야 함.
(mobileUX_gameframe_01.fla 파일의 내용을 참고)

  UXinit.goBackFrame("home", "page02");
  UXinit.goBackFrame("home", "gameover");
	

 

-------------------------------------------------------