동방탄막풍/ph3 함수

동방탄막풍의 ph3 버전에서 사용되는 스크립트 함수들에 대한 설명이다. 최종 버전인 .0 기준이다. 문서 작성에는 공식 홈페이지의 help 글을 참고하였다.

편의상 real 변수는 소문자 알파벳, char 변수는 대문자 알파벳, bool 변수는 T/F로 표시하였다.

공통 함수

수학

  • min(a,b)
    a와 b 중 작은 수를 취득한다.
  • max(a,b)
    a와 b 중 큰 수를 취득한다.
  • cos(a)
    a의 코사인 값을 취득한다. 삼각함수는 60분법을 사용한다.
  • sin(a)
    a의 사인 값을 취득한다. 삼각함수는 60분법을 사용한다.
  • tan(a)
    a의 탄젠트 값을 취득한다. 삼각함수는 60분법을 사용한다.
  • acos(a)
    a의 역코사인(arccos) 값을 취득한다. 삼각함수는 60분법을 사용한다.
  • asin(a)
    a의 역사인(arcsin) 값을 취득한다. 삼각함수는 60분법을 사용한다.
  • atan(a)
    a의 역탄젠트(arctan) 값을 취득한다. 삼각함수는 60분법을 사용한다.
  • atan2(a,b)
    좌표평면에서 원점과 (a,b)를 잇는 선분과 x축 사이의 각도를 취득한다. 예를 들어 총알의 각도를 atan2(1,0)으로 하면 총알이 정면으로 날아오고, atan2(1,1)로 하면 정면 기준 반시계 방향으로 45도만큼 기울어진 방향으로 날아온다.
  • rand(a,b)
    a 이상 b 이하의 난수를 취득한다.
  • round(a)
    a를 반올림한 정수를 취득한다.
  • truncate(a)
    a의 소숫점 아래 값을 지워 정수로 만든 값을 취득한다. trunc(a)와 같다. 예를 들어 truncate(2.5)의 값은 2, truncate(-2.5)의 값은 -2이다.
  • ceil(a)
    a를 올림한 정수를 취득한다. 예를 들어 ceil(2.5)의 값은 3, ceil(-2.5)의 값은 -2이다.
  • floor(a)
    a를 내림한 정수를 취득한다. 예를 들어 floor(2.5)의 값은 2, floor(-2.5)의 값은 -3이다.
  • absolute(a)
    a의 절댓값을 취득한다. 예를 들어 absolute(-2.5)의 값은 2.5이다.
  • modc(a,b)
    a를 b로 나눈 나머지를 취득한다. a%b와 같다.

문자열 조작

  • InstallFont(A)
    폰트를 추가한다. A는 폰트 파일의 경로이다. 이 함수로 추가하는 폰트는 ObjText_SetFontType에 지정 가능해진다. Windows에 표준으로 들어있는 폰트는 추가하지 않고도 사용 가능하다. 함수에 성공하면 결과값으로 true를 갖는다.
  • ToString(a)
    수치들을 문자열로 변환한다. a는 입력하는 수치이다.
  • IntToString(a)
    수치들을 정수 문자열로 변환한다. a는 입력하는 수치이다.
  • itoa(a)
    정수를 정수 문자열로 변환한다. a는 입력하는 수치이다.
  • rtoa(a)
    실수를 정수 문자열로 변환한다. a는 입력하는 수치이다.
  • rtos(A,b)
    실수를 포맷에 따른 문자열로 변환한다. A는 실수 문자열을 나타내고자 하는 포맷이고, b는 문자열로 변환하고자 하는 수치이다. 포맷에서 0은 숫자, #은 0이 생략되는 숫자, .은 소수점을 나타낸다. 예를 들어서 rtos("#00.000", 1.23)를 입력하면 "01.230"이라는 문자열이 출력되는데, 백의 자리는 #이므로 표시되지 않고 십의 자리는 0이므로 0을 표시, 일의 자리는 숫자를 표시, 소수점 셋째 자리까지 숫자를 표시하게 되는 것이다.
  • vtos(A,b)
    실수를 포맷에 따른 문자열로 변환한다. b에 변환하고자 하는 수치가 들어가는 것은 같으나 A의 포맷이 다르다. 포맷에서 d는 정수, f는 실수, s는 문자열, 수치는 문자열 필드의 폭, -는 오른쪽 공백, 0은 숫자로 채우되 숫자가 없는 공백 부분까지 숫자 0으로 채우라는 뜻이다. 예를 들면 아래와 같다.
    • vtos("03d", 1.23) = "001"
    0은 숫자가 없는 공백 부분까지 숫자로 채우라는 뜻이고, 3은 필드의 폭이 3, 즉 숫자를 3개 표시하라는 뜻이다. d는 정수로 출력하라는 뜻이므로 소수점 이하는 무시된다. 따라서 1.23에서 .23이 버려지고 1 앞에 0이 2개 붙어 001이라는 3개의 글씨를 가진 문자열로 출력된다.
    • vtos("3d", 1.23) = " 1"
    위의 예제와 마찬가지로 소수점 이하는 무시되고, 1 앞에 0 대신 공백이 2개 들어가 총 3개의 글씨를 가진 문자열로 출력된다.
    • vtos("-3d", 1.23) = "1 "
    위의 예제와는 달리 -가 들어가있으므로 공백이 오른쪽에 붙는다.
    • vtos("03.5f", 1.23) = "001.23000"
    실수로 출력하고, 정수 부분의 필드 폭을 3개, 소수점 이하 부분의 필드 폭을 5개로 하라는 뜻이다. 0이 있으므로 숫자가 없는 부분은 0으로 채워진다.
  • atoi(A)
    문자열을 정수로 변환한다. A는 입력하는 문자열이다.
  • ator(A)
    문자열을 실수로 변환한다. A는 입력하는 문자열이다.
  • TrimString(A)
    문자열 왼쪽과 오른쪽에 위치한 공백을 제거한 문자열로 변환한다. 예를 들어 TrimString(" ABC ") = "ABC"이다.
  • SplitString(A,B)
    A로 입력한 문자열을 B에서 지정한 글자를 기준으로 분할하여 여러 문자열로 구성된 배열로 변환한다. 예를 들어 SplitString("A/123/BCD","/") = ["A", "123", "BCD"]인데, 입력된 문자열을 /라는 글자를 기준으로 세 개의 문자열로 구성된 배열로 변환한 것을 볼 수 있다.

패스 관련

  • GetFileDirectory(A)
    지정한 파일 경로의 폴더를 문자열로 취득한다.
  • GetDirectoryList(A)
    지정한 파일 경로(또는 폴더 경로)의 폴더에 있는 폴더 일람을 string배열로 출력한다.
  • GetModuleDirectory()
    실행파일의 디렉토리를 문자열로 취득한다.
  • GetMainStgScriptPath()
    메인에서 실행되고 있는 스크립트의 경로를 문자열로 취득한다. 스크립트 선택화면에서 선택한 스크립트의 경로가 취득된다.
  • GetMainPackageScriptPath()
    메인에서 실행되고 있는 패키지 스크립트의 경로를 문자열로 취득한다.
  • GetMainStgScriptDirectory()
    메인에서 실행되고 있는 스크립트의 디렉토리를 문자열로 취득한다. 스크립트 선택화면에서 선택된 스크립트의 디렉토리가 취득된다.
  • GetCurrentScriptDirectory()
    자신의 스크립트의 디렉토리를 문자열로 취득한다.
  • GetScriptPathList(A,b)
    A에서 지정한 폴더 내에서, b로 지정한 종류에 맞는 스크립트 경로 일람이 string배열로 취득된다. b에 들어가는 단어는 아래와 같다.
    TYPE_SCRIPT_ALL: 모든 스크립트
    TYPE_SCRIPT_PLAYER: 플레이어 기체 스크립트
    TYPE_SCRIPT_SINGLE: Single 스크립트
    TYPE_SCRIPT_PLURAL: Plural 스크립트
    TYPE_SCRIPT_STAGE: Stage 스크립트
    TYPE_SCRIPT_PACKAGE: Package 스크립트

시간 관련

디버그 관련

공동 데이터

음악 조작 관련

키 입력

그림 묘사

3D 카메라

2D 카메라

스크립트 조작

  • LoadScript(A)
    지정한 스크립트 파일을 로드하여 컴파일한다. A는 스크립트 파일의 경로이다. 스크립트 ID를 출력한다.
  • LoadScriptInThread(A)
    지정한 스크립트 파일을 별도의 스레드에 로드하여 컴파일한다. A는 스크립트 파일의 경로이다. 스크립트 ID를 출력한다.
  • StartScript(A)
    지정한 스크립트를 개시한다. @Initialize가 호출되어도 @MainLoop가 개시된다. A는 스크립트의 ID이다.
  • CloseScript(a)
    지정한 스크립트를 종료한다. 이 함수가 호출될 때까지 스크립트는 동작을 계속한다. a는 스크립트의 ID이다.
  • IsCloseScript(a)
    지정한 스크립트가 종료되었는지 여부를 T/F로 출력한다. a는 스크립트의 ID이다.
  • SetScriptArgument(a,b,X)
    StartScript 개시 전에, 개시하는 스크립트에 넘겨주는 변수를 설정한다. a는 스크립트의 ID, b는 스크립트에 넘겨주는 변수이다. X는 임의의 수치이다. GetScriptArgument와 같이 쓰인다.
  • GetScriptArgument(a)
    StartScript 개시 전에, SetScriptArgument에서 설정한 변수를 취득한다. a는 SetScriptArgument에서 b에 해당한다.
  • GetScriptArgumentCount()
    StartScript 개시 전에, SetScriptArgument에서 설정한 변수의 개수를 취득한다.
  • CloseStgScene()
    슈팅 게임 신을 종료한다. 스크립트 선택 화면으로 돌아간다.
  • GetOwnScriptID()
    실행중인 자신의 스크립트 ID를 취득한다.
  • GetEventType()
    @Event 중 이벤트의 종류를 취득한다.
  • GetEventArgument(a)
    @Event 중 이벤트의 인수를 취득한다.
  • SetScriptResult(X)
    스크립트의 처리 결과를 설정한다. 주로 @Event 중 이벤트의 처리 결과를 설정하는 데 쓰인다. X는 이벤트의 반환값이다.
  • GetScriptResult(a)
    SetScriptResult에서 설정한 처리 결과를 취득한다. a는 스크립트의 ID이다.
  • SetAutoDeleteObject(T/F)
    스크립트를 종료할 때 자동적으로 오브젝트를 삭제할지 여부를 지정한다. 초기값은 F, 즉 삭제하지 않는다로 되어 있다.
  • NotifyEvent(a,b,X)
    지정한 ID의 스크립트의 @Event를 호출한다. a는 스크립트의 ID, b는 이벤트의 종류, X는 임의의 값이다. b는 EV_USER보다 큰 값을 사용한다.
  • NotifyEventAll(a,X)
    모든 스크립트의 @Event를 호출한다. 이벤트 종류는 EV_USER보다 큰 값을 사용한다.
  • GetScriptInfoA1(a,b)
    스크립트의 정보를 취득한다. a에는 스크립트의 경로가 들어가고, b에는 아래 값들이 들어가며 해당되는 내용들이 출력된다.
    INFO_SCRIPT_TYPE: 스크립트의 종류가 아래와 같이 출력된다.
    TYPE_SCRIPT_PLAYER: 플레이어 기체 스크립트
    TYPE_SCRIPT_SINGLE: Single 스크립트
    TYPE_SCRIPT_PLURAL: Plural 스크립트
    TYPE_SCRIPT_PACKAGE: Package 스크립트
    INFO_SCRIPT_PATH: 스크립트 경로 문자열이 출력된다.
    INFO_SCRIPT_ID: #ID 정보 문자열이 출력된다.
    INFO_SCRIPT_TITLE: #Title 정보 문자열이 출력된다.
    INFO_SCRIPT_TEXT: #Text 정보 문자열이 출력된다.
    INFO_SCRIPT_IMAGE: #Image 정보 문자열이 출력된다.
    INFO_SCRIPT_REPLAY_NAME: #ReplayName 정보 문자열이 출력된다.

시스템 관련

  • SetStgFrame(a,b,c,d,e,f)
    슈팅 게임 화면으로 쓰이는 네모 공간의 크기를 지정해주는 함수이다. a는 왼쪽, b는 위쪽, c는 오른쪽, d는 아래쪽의 좌표이며, e는 최소 묘화 우선도, f는 최대 묘화 우선도이다. 초기값은 32,16,416,464,20,80이다.
  • GetScore()
    현재 스코어를 취득한다.
  • AddScore(a)
    스코어를 가산한다. a는 가산하는 스코어의 수치이다.
  • GetGraze()
    그레이즈 수치를 최득한다.
  • AddGraze(a)
    그레이즈 수치를 가산한다. a는 가산하는 그레이즈 수치이다.
  • GetPoint()
    포인트(득점 아이템 취득 수)를 취득한다.
  • AddPoint(a)
    포인트(득점 아이템 취득 수)를 가산한다. a는 가산하는 포인트 수치이다.
  • SetItemRenderPriorityI(a)
    아이템의 디폴트 묘화 우선도를 설정한다. a는 묘화 우선도의 값이다.
  • SetShotRenderPriorityI(a)
    탄의 디폴트 묘화 우선도를 설정한다. a는 묘화 우선도의 값이다.
  • GetStgFameRenderPriorityMinI()
    슈팅 게임 프레임 최소 묘화 우선도를 취득한다. 0~100 사이의 값이다.
  • GetStgFrameRenderPriorityMaxI()
    슈팅 게임 프레임 최대 묘화 우선도를 취득한다. 0~100 사이의 값이다.
  • GetItemRenderPriorityI()
    아이템 디폴트 묘화 우선도를 취득한다. 0~100 사이의 값이다.
  • GetShotRenderPriorityI()
    탄 디폴트 묘화 우선도를 취득한다. 0~100 사이의 값이다.
  • GetPlayerRenderPriorityI()
    플레이어 기체 묘화 우선도를 취득한다. 0~100 사이의 값이다.
  • GetCameraFocusPermitPriorityI()
    2D 카메라 유효 최대 묘화 우선도를 취득한다. 0~100 사이의 값이다.
  • GetStgFrameLeft()
    슈팅 게임 공간의 좌단 좌표를 최득한다.
  • GetStgFrameTop()
    슈팅 게임 공간의 상단 좌표를 취득한다.
  • GetStgFrameWidth()
    슈팅 게임 공간의 폭을 취득한다.
  • GetStgFrameHeight()
    슈팅 게임 공간의 높이를 취득한다.
  • GetScreenWidth()
    스크린(묘화영역)의 폭을 취득한다.
  • GetScreenHeight()
    스크린(묘화영역)의 높이를 취득한다.
  • IsReplay()
    리플레이 중이면 T, 그렇지 않으면 F를 취득한다.
  • AddArchiveFile(A)
    화상이나 음성을 읽어올 때 검색 대상으로 아카이브 파일을 취득한다. A는 아카이브 파일의 경로이며, 정상적으로 불러들여왔을 경우 T를 출력한다.

플레이어 기체 관련

  • GetPlayerObjectID()
    플레이어 기체 오브젝트의 ID를 취득한다.
  • GetPlayerScriptID()
    플레이어 기체 스크립트의 ID를 취득한다. 플레이어 기체 스크립트 내에서 GetOwnScriptID를 실행할 때와 같은 값을 취득한다.
  • SetPlayerSpeed(a,b)
    플레이어 기체의 이동 속도를 설정한다. a는 통상 모드, b는 저속 모드에서의 속도이다.
  • SetPlayerClip(a,b,c,d)
    플레이어 기체의 이동 가능 범위를 설정한다. a는 왼쪽, b는 위쪽, c는 오른쪽, d는 아래쪽 한계선이다.
  • SetPlayerLife(a)
    플레이어 기체의 잔기 수를 설정한다. a는 잔기 수이다. 정수값이 아니어도 괜찮다.
  • SetPlayerSpell(a)
    플레이어 기체의 스펠(폭탄) 수를 설정한다. a는 스펠(폭탄) 수이다. 정수값이 아니어도 괜찮다.
  • SetPlayerPower(a)
    플레이어 기체의 파워를 설정한다. a는 파워 수치이다. 정수값이 아니어도 괜찮다.
  • SetPlayerInvincibilityFrame(a)
    플레이어 기체의 무적 시간을 설정한다. a는 무적 시간(프레임 단위)이다.
  • SetPlayerDownStateFrame(a)
    플레이어 기체가 격추되고 나서 부활할 때까지의 딜레이 시간을 프레임 단위로 설정한다. a는 딜레이 시간이다. 초기값은 120이다.
  • SetPlayerRebirthFrame(a)
    동방 프로젝트에서는 부활 봄이라고 하여, 플레이어 기체가 피탄되자마자 일정 시간 내에 폭탄을 사용하면 격추가 되지 않는 경우가 있다. 이 함수에서는 부활 봄의 유효 시간을 설정한다. a는 부활 봄 유효 시간이다. 초기값은 15이다.

적 관련

탄 관련

  • DeleteShotAll(a,b)
    화면상의 적탄을 전부 지우는 함수이다.
    a는 삭제하는 탄의 종류를 가리키며, TYPE_ALL, TYPE_SHOT가 들어갈 수 있다. TYPE_CHILD도 있으나 미실장이다. TYPE_ALL은 적탄 전체를, TYPE_SHOT은 스펠(폭탄) 내성이 없는 탄 전체를 지운다.
    b는 탄을 삭제하는 방법을 가리키며, TYPE_IMMEDIATE, TYPE_FADE, TYPE_ITEM이 들어갈 수 있다. TYPE_IMMEDIATE는 즉시 삭제, TYPE_FADE는 잔상을 남기며 삭제하며, TYPE_ITEM은 삭제된 탄을 전부 점수 아이템으로 바꾼다.
  • DeleteShotInCircle(a,b,c,d,e)
    주어진 원 안의 적탄만 전부 지우는 함수이다. a와 b는 DeleteShotAll 함수와 같다. c는 원의 x좌표, d는 원의 y좌표, e는 원의 반지름이다.
  • CreateShotA1(a,b,c,d,e,f)
    일정한 속도의 탄을 발사하는 함수이다. a는 x좌표, b는 y좌표, c는 속도, d는 각도, e는 탄의 모양, f는 발사까지 지연 시간이다.
  • CreateShotA2(a,b,c,d,e,f,g,h)
    등가속도 운동을 하는 탄을 발사하는 함수이다. a는 x좌표, b는 y좌표, c는 초기 속도, d는 각도, e는 가속도, f는 최대(최소) 속도, g는 탄의 모양, h는 발사까지 지연 시간이다.
  • CreateShotOA1(a,b,c,d,e)
    지정한 오브젝트 탄을 일정한 속도로 발사하는 함수이다. a는 오브젝트의 ID, b는 속도, c는 각도, d는 탄의 모양, e는 발사까지 지연 시간이다.
  • CreateShotB1(a,b,c,d,e,f)
    일정한 속도의 탄을 발사하는 함수이다. CreateShotA1 함수와는 달리 속도와 각도가 아닌 x축과 y축 방향 속도를 정해준다. a는 x좌표, b는 y좌표, c는 x축 방향 속도, d는 y축 방향 속도, e는 탄의 모양, f는 발사까지 지연 시간이다.
  • CreateShotB2(a,b,c,d,e,f,g,h,i,j)
    등가속도 운동을 하는 탄을 발사하는 함수이다. CreateShotB2 함수와는 달리 속도와 각도가 아닌 x축과 y축 방향 속도와 가속도를 정해준다. a는 x좌표, b는 y좌표, c는 x축 방향 초기 속도, d는 y축 방향 초기 속도, e는 x축 방향 가속도, f는 y축 방향 가속도, g는 x축 방향 최대(최소) 속도, h는 y축 방향 최대(최소) 속도, i는 탄의 모양, j는 발사까지 지연 시간이다.
  • CreateShotOB1(a,b,c,d,e)
    지정한 오브젝트 탄을 일정한 속도로 발사하는 함수이다. CreateShotOA1 함수와는 달리 속도와 각도가 아닌 x축과 y축 방향 속도를 정해준다. a는 오브젝트의 ID, b는 x축 방향 속도, c는 y축 방향 속도, d는 탄의 모양, e는 발사까지 지연 시간이다.
  • CreateLooseLaserA1(a,b,c,d,e,f,g,h)
    지정한 위치에서 등속으로 레이저 형태의 탄을 발사하는 함수이다. a는 x좌표, b는 y좌표, c는 속도, d는 각도, e는 레이저의 길이, f는 레이저의 폭, g는 레이저의 모양, h는 발사까지 지연 시간이다.
  • CreateStraightLaserA1(a,b,c,d,e,f,g,h)
    지정한 위치에 설치형 레이저를 만드는 함수이다. a는 설치점의 x좌표, b는 y좌표, c는 레이저의 각도, d는 레이저의 길이, e는 레이저의 폭, f는 소멸까지 걸리는 시간, g는 레이저의 모양, h는 레이저 설치까지 지연 시간이다.
  • CreateCurveLaserA1(a,b,c,d,e,f,g,h)
    지정한 위치에서 일정한 속도로 곡선 레이저를 발사하는 함수이다. a는 x좌표, b는 y좌표, c는 속도, d는 각도, e는 레이저의 길이, f는 레이저의 폭, g는 레이저의 모양, h는 발사까지 지연 시간이다.
  • SetShotIntersectionCircle(a,b,c)
    지정한 위치에 원형 충돌 판정을 만든다. 탄 오브젝트의 충돌 판정을 설정할 때 쓰인다. a는 x좌표, b는 y좌표, c는 충돌 판정의 반지름이다.
  • SetShotIntersectionLine(a,b,c,d,e)
    지정한 위치에 선형 충돌 판정을 만든다. 레이저 오브젝트의 충돌 판정을 설정할 때 쓰인다. a는 선분 한쪽 끝의 x좌표, b는 y좌표, c는 선분 반대쪽 끝의 x좌표, d는 y좌표, e는 선분의 폭이다.
  • GetShotIdInCircleA1(a,b,c)
    지정한 원 범위 안에 들어가 있는 탄 오브젝트 ID의 배열을 취득하는 함수이다. 이 함수가 플레이어 기체 스크립트에 들어가 있으면 적탄 ID의 배열을, 적 스크립트에 들어가 있으면 플레이어 기체에서 발사되는 탄의 ID 배열을 취득한다. a는 x좌표, b는 y좌표, c는 원의 반지름이다.
  • GetShotIdInCircleA2(a,b,c,d)
    지정한 원 범위 안에 들어가 있는 탄 오브젝트 ID의 배열을 취득하는 함수이다. GetShotIdInCircleA1 함수와는 달리 ID 배열을 취득하는 탄의 종류를 함수 안에서 설정한다. a는 x좌표, b는 y좌표, c는 원의 반지름이다. d에는 탄의 종류가 들어가는데, TARGET_ALL은 모든 탄, TARGET_ENEMY는 적탄, TARGET_PLAYER는 플레이어 기체에서 발사되는 탄이다.
  • GetShotCount(a)
    현재 존재하는 탄의 수를 취득하는 함수이다. a에는 탄의 종류가 들어가는데, TARGET_ALL은 모든 탄, TARGET_ENEMY는 적탄, TARGET_PLAYER는 플레이어 기체에서 발사되는 탄이다.
  • SetShotAutoDeleteClip(a,b,c,d)
    슈팅 게임을 플레이하다보면 탄이 화면 바깥으로 나가게 마련인데, 화면을 벗어난 탄은 한동안 존재하여 날아다니다가 화면 바깥에 있는 가상의 네모난 선과 접촉하게 되면 자동으로 삭제된다. 이 함수는 화면의 크기를 기준으로 했을 때 탄이 자동 삭제되는 이런 한계선을 지정해주는 함수이다. 초기치는 모두 64로 되어 있다. 너무 큰 수치를 설정하면 화면 바깥으로 탄이 나가도 탄이 한동안 삭제되지 않고 한계선을 만날 때까지 계속 데이터상에 존재하므로 게임이 느려질 우려가 커진다. a는 왼쪽 한계선, b는 위쪽 한계선, c는 오른쪽 한계선, d는 아래쪽 한계선이다.
  • GetShotDataInfoA1(a,b,c)
    탄 이미지 ID의 정보를 취득하는 함수이다. a는 탄 이미지의 ID이다. b에 TARGET_PLAYER가 들어가면 플레이어 기체에서 발사되는 탄, TARGET_ENEMY가 들어가면 적탄을 가리킨다. c에는 아래의 단어들이 들어갈 수 있다.
    • INFO_RECT: 탄 이미지를 나타내는 그림 파일에서 실제로 탄 이미지로 출력되는 범위를 [왼쪽, 위쪽, 오른쪽, 아래쪽] 형태의 배열로 출력한다.
      INFO_DELAY_COLOR: 탄이 지연될 때의 색상을 [R,G,B] 형태의 배열로 출력한다.
      INFO_BLEND: 탄 이미지가 어떤 방식으로 합성되었는지를 BLEND_ALPHA, BLEND_ADD_RGB, BLEND_ADD_ARGB 중 하나로 출력한다.
      INFO_COLLISION: 충돌 판정의 반지름 수치를 출력한다.
      INFO_COLLISION_LIST: 충돌 판정이 둘 이상 존재하는 탄일 경우, 충돌 판정의 반지름(r)과 x좌표(x), y좌표(y)를 [r,x,y]와 같은 2차원 배열의 형태로 출력한다.

아이템 관련

  • CreateItemA1(a,b,c,d)
    아이템을 출현시키는 함수이다. a에는 아래와 같은 단어들이 들어가며, b는 아이템이 생성되는 x좌표, c는 y좌표, d는 득점수를 나타낸다.
    ITEM_1UP: 익스텐드 아이템
    ITEM_1UP_S: 소형 익스텐드 아이템
    ITEM_SPELL: 스펠(폭탄) 아이템
    ITEM_SPELL_S: 소형 스펠(폭탄) 아이템
    ITEM_POWER: 파워 업 아이템
    ITEM_POWER_S: 소형 파워 업 아이템
    ITEM_POINT: 점수 아이템
    ITEM_POINT_S: 소형 점수 아이템
  • CreateItemA2(a,b,c,d,e,f)
    솟구쳤다가 천천히 낙하하는 아이템을 출현시키는 함수이다. a에 들어가는 단어는 CreateItemA1과 같지만 유저 정의 아이템을 뜻하는 ITEM_USER도 사용 가능하다. b는 아이템이 생성되는 x좌표, c는 y좌표, d는 아이템이 솟구쳐오르는 방향 지점의 x좌표, e는 y좌표, f는 득점수를 나타낸다.
  • CreateItemU1(a,b,c,d)
    유저 정의 아이템을 출현시키는 함수이다. a는 아이템의 ID, b는 아이템이 생성되는 x좌표, c는 y좌표, d는 득점수를 나타낸다.
  • CreateItemU2(a,b,c,d,e,f)
    솟구쳤다가 천천히 낙하하는 유저 정의 아이템을 출현시키는 함수이다. a는 아이템의 ID, b는 아이템이 생성되는 x좌표, c는 y좌표, d는 아이템이 솟구쳐오르는 방향 지점의 x좌표, e는 y좌표, f는 득점수를 나타낸다.
  • CollectAllItems()
    현재 존재하는 모든 아이템들을 플레이어 기체가 빨아들여 회수하게 한다.
  • CollectItemsByType(a)
    지정한 종류의 아이템만 골라서 플레이어 기체가 빨아들여 회수하게 한다. a에 들어가는 단어는 CreateItemA1과 같다.
  • CollectItemsInCircle(a,b,c)
    지정한 원 범위 안에 있는 아이템들만 플레이어 기체가 빨아들여 회수하게 한다. a는 원 중심의 x좌표, b는 y좌표, c는 반지름이다.
  • CancelCollectItems()
    플레이어 기체가 아이템들을 빨아들여 회수하는 것을 중단시킨다.
  • StartItemScript(A)
    유저 아이템 처리용 스크립트를 개시한다. A는 해당 스크립트의 경로이다.
  • LoadItemData(A)
    아이템 데이터를 로드한다. 몇 번이고 불러낼 수 있으며, 여러 번 불러들였을 경우에는 ID가 다르지 않다면 차례대로 등록된다. 이름이 같은 파일은 한 번만 읽어올 수 있다. A는 아이템 설정 파일의 경로이다.
  • ReloadItemData(A)
    아이템 데이터를 다시 로드한다. LoadItemData와 다른 점은 이름이 같은 파일도 여러 번 읽어올 수 있다는 것이다.
  • SetDefaultBonusItemEnable(T/F)
    탄 소거 시 시스템에 내장되어 있는 득점 아이템 출현 여부를 결정한다.

기타

공동 오브젝트 조작 (Obj_)

그림 묘사 오브젝트 조작 (ObjRender_)

정점 오브젝트 조작 (ObjPrim_)

2D구형 오브젝트 조작 (ObjSprite2D_)

2D구형 리스트 오브젝트 조작 (ObjSpriteList2D_)

3D구형 오브젝트 조작 (ObjSprite3D_)

3D메시 오브젝트 (ObjMesh_)

텍스트 오브젝트 조작 (ObjText_)

음성 오브젝트 조작 (ObjSound_)

파일 오브젝트 조작 (ObjFile)

텍스트 파일 오브젝트 조작 (ObjFileT_)

바이너리 파일 오브젝트 조작 (ObjFileB_)

이동 오브젝트 조작 (ObjMove_)

적 오브젝트 조작 (ObjEnemy)

보스 신 오브젝트 조작 (ObjEnemyBossScene_)

탄 (레이저 포함) 오브젝트 조작 (ObjShot_)

아이템 오브젝트 조작 (ObjItem_)

플레이어 기체 오브젝트 조작 (ObjPlayer_)

충돌 판정 오브젝트 조작 (ObjCol_)

플레이어 기체 스크립트 전용 함수

플레이어 기체 전용 함수

스펠 오브젝트 조작 (ObjSpell_)

시스템 스크립트 전용 함수

패키지 스크립트 전용 함수