비주얼노벨 강좌

------

버퍼


-버퍼배경

    -용법 : [명령어] [배경번호] [배경파일명]

    -예제 : 버퍼배경 0 bg001.png

    -설명: 버퍼에 배경으로 사용될 그림을 적재한다.

           적재된 그림은 화면에 출력되지 않으며 '버퍼그리기'명령어가 시작

           되어야 출력된다.

 

-버퍼캐릭터

    -용법 : [명령어] [캐릭터번호] [캐릭터파일명]

    -예제 : 버퍼캐릭터 0 spr001.png

    -설명: 버퍼에 캐릭터로 사용될 그림을 적재한다.

           적재된 그림은 화면에 출력되지 않으며 '버퍼그리기'명령어가 시작

           되어야 출력된다.

 

-버퍼그리기

    -용법 : [명령어]

    -예제 : 버퍼그리기

    -설명: 버퍼에 적재된 내용을 화면에 출력한다.

           버퍼에 너무 많은 이미지들이 들어있을 경우 게임진행이 느려 질수

           있으므로 주의하여야 한다.

 

이펙트

 

-파티클

    -용법 : [명령어] [파티클번호] [파티클파일명] [좌표X] [좌표Y]

    -예제 : 파티클 1 불꽃놀이.psl 300 400

    -설명: 화면에 파티클을 출력한다.

           파티클은 사전에 바실리어트 전용 파티클툴에 의해 만들어진 파일만

           사용가능하다.

           반복재생식 파티클을 삭제하고자 할 경우 삭제하고자 하는 파티클

           번호만 쓰고 파일명을 생략하면 해당 번호의 파티클은 삭제된다.

           파티클은 이펙트에 따라 오버헤드가 심하기대문에 최적화를 항상

           고려하여 제작되어져야 한다.

           툴의 0, 0좌표는 정중앙이며 바실리어트화면의 0, 0좌표는 왼쪽상단

           이기때문에 출력할때 좌표조정을 해줄 필요가있다.

     particletool.jpg

                           (파티클툴 화면 예시)

 

 -페이드인

    -용법 : [명령어] [페이드번호]

    -예제 : 페이드인 1

           페이드인 19

    -설명: 페이드인 효과 발동시 효과종류를 변경할때 쓰인다. 단, 배경을 제외한 나머지 이미지들

           은 DEFAULT타입의 페이드인만 가능하다. (추후에 개선 될 부분이다.)

 

 -페이드아웃

    -용법 : [명령어] [페이드번호]

    -예제 : 페이드아웃 0

           페이드아웃 9

    -설명: 페이드아웃 효과 발동시 효과종류를 변경할때 쓰인다. 페이드인과 용법이 같다.

           일부기능의 경우 페이드아웃이 적용되지 않을 수 있다.

 

 -페이드번호 설명

각 효과는 페이드인, 페이드아웃을 동시에 설명하고 있으며 페이드인 방식

의 반대 방향 또는 투명도를 갖는게 페이드 아웃이라고 생각하면 된다.

번호설명
0fade01_01.jpg ------> fade01_02.jpg ------> fade01_03.jpg
1fade01_01.jpg --> fade02_01.jpg --> fade02_02.jpg --> fade01_03.jpg
2fade01_01.jpg --> fade03_01.jpg --> fade03_02.jpg --> fade01_03.jpg

1번과 같으나 투명도를 갖기때문에 어두워졌다가 밝아진다.

3오른쪽부터 시작되는 페이드
4오른쪽부터 시작되는 페이드(투명도)
5위쪽부터 시작되는 페이드
6위쪽부터 시작되는 페이드(투명도)
7아래쪽부터 시작되는 페이드
8아래쪽부터 시작되는 페이드(투명도)
9왼쪽위부터 시작되는 페이드
10왼쪽위부터 시작되는 페이드(투명도)
11왼쪽아래부터 시작되는 페이드
12왼쪽아래부터 시작되는 페이드(투명도)
13오른쪽위부터 시작되는 페이드
14오른쪽위부터 시작되는 페이드(투명도)
15오른쪽아래부터 시작되는 페이드
16오른쪽아래부터 시작되는 페이드(투명도)
17중앙부터 시작되는 페이드
18중앙부터 시작되는 페이드(투명도)
19왼쪽부터 시작되는 격자무늬타입 페이드
20왼쪽부터 시작되는 블라인드타입 페이드
21오른쪽부터 시작되는 블라인드타입 페이드
22방향없이 동시진행되는 블라인드타입 페이드

 


스레드


-스레드

    -용법 : [명령어] [스레드번호]

    -예제 : 스레드 1

            캐릭터이동 ...

            스레드 2

            효과음 ...

            카메라이동 ...

            스레드시작

            스레드 0

            텍스트 ...

    -설명: 현재 위치부터 스레드를 생성한다. 스레드란 특수한 목적으로 동시

           복합적인 장면연출을 하고자 할경우 사용되며 일부 명령어는

           스레드에 중복 사용될 수 없기때문에 스크립터가 직접 적절한 테스

           트를 해야한다. (시스템관련명령어, 카메라, 단일기능명령어등)

           생성된 스레드들은 '스레드시작'을 통해 번호 순서대로 거의 동시에

           처리된다.

           스레드번호는 1부터 사용가능하며 0은 메인이므로 사용하면안된다.

 

-스레드시작

    -용법 : [명령어]

    -예제 : 스레드시작

           스레드 0

    -설명: 생성시킨 스레드를 작동시킨다. 스레드 생성전에 사용하면 아무 효과

           도 없으며 항상 스레드시작 다음줄에는 '스레드 0'으로 초기화해줘야

           한다.

카메라

-카메라위치

    -용법 : [명령어] [x좌표] [y좌표]

    -예제 : 카메라위치 400 300

    -설명 : 카메라위치란 쉽게 말해서 카메라가 화면위에 존재한다면 바라보고 있는 중심 위치점

            뜻한다. 이것은 카메라이동과 밀접한 관계를 갖기때문에 같은 카메라이동 이라도

            카메라위치의 좌표가 틀릴경우 전혀다른 결과를 나온다.

            400, 300의 좌표는 일반적으로 800, 600의 크기를 갖는 게임일경우 중심점을 뜻한다.

            카메라위치가 400 300 이고 카메라 이동을 시키면 화면 중앙에서부터 줌인 되거나

            줌아웃 되는식 이다.

            카메라위치가 0, 0 이고 현재위치가 400 300이라면 카메라는 0, 0을 향하여 줌인 또는

            줌아웃 된다.

 

-카메라이동

    -용법 : [명령어][속도][가속도][목표x][목표y][확대량][목표확대][회전량][목표회전각]

    -예제 : 카메라이동 10 0.2 0 0 0.2 2.0 10 90

    -설명 : 입력된 수치대로 카메라를 이동시킨다.

           이동, 크기변화, 회전 3가지를 동시에 하거나 1가지만 할 수 있으며 사용하지 않을 기능은

           그 입력값을 0으로 해주면 된다.

           이동의 경우 속도와 가속도의 영향을 받는데 속도는 일정하게 받는값이고 가속도는

           시간이 지남에 따라 점점 커지는 값을 뜻한다. 특별한 경우를 제외하고는 가속도는 0으로

           해놓는것이 좋다.

           크기변화의 경우 실수값이 사용되며 1.0은 100%를 뜻한다. 예제의 경우는 20%씩 확대

           되어 최종적으로 200%만큼 확대하라는 뜻이다.

           여기서 카메라의 확대의 개념은 줌인/줌아웃 과 밀접한 관계가 있다.

           회전량과 목표회전각의 단위는 60분법을 사용하고 있으며 예제의 경우 10도씩 회전하여

           90도 회전된 카메라결과를 보여준다.

변수제어

-지역변수

    -용법 : [명령어] [변수명] [=] [초기화값]

    -예제 : 지역변수 강아지

            지역변수 강아지 = 20

            지역변수 강아지 = puffy

    -설명 : 전역변수와 그 기능은 같으나 게임이 종료되면 삭제되는점에서 다르다.

 

-전역변수

    -용법 : [명령어] [변수명] [=] [초기화값]

    -예제 : 전역변수 강아지

            전역변수 강아지 = 20

            전역변수 강아지 = puffy

    -설명 : 특정값을 저장할 수 있는 변수를 만든다. 전역변수의 경우 프로그램

            이 종료되어도 저장되기때문에 항상 저장해야될 값이나 게임엔딩

            이후 다른 변화를 주고자 할 경우 활용가능하다.

            변수에는 정수 또는 문자열을 저장 할 수 있는데 초기에 정수를 입

            력하였다면 해당 변수는 정수형태의 변수가 되기때문에 문자열을

            넣을 수 없다는것을 명심해야 하며 이 반대의 경우도 마찬가지다.

 

 -변수

    -용법 : [명령어] [변수명] [=] [입력값] [함수명]

    -예제 : 변수 강아지 = 20

           변수 강아지 += 20

           변수 강아지 -= 20

           변수 강아지 = puffy

           변수 강아지 = 3 랜덤

    -설명 : 생성된 변수에 새로운 값을 입력한다. 함수명은 생략가능하다.

            확률을 이용한 흐름제어를 하고자 할경우 랜덤 함수를 이용하면 된다.

            예제의 경우 '강아지'라는 변수에 0~3 사이의 값이 랜덤으로 들어가게 된다.

            랜덤값은 음수를 지원하지 않는다.

 

 

 -변수텍스트

    -용법 : [명령어] [변수명]

    -예제 : 변수 강아지 = "멍멍"
            변수텍스트 강아지

    -설명 : 문자열변수의 내용을 텍스트명령어와 동일하게 사용하여 화면에 출력한다.

            변수텍스트에 사용되는 변수는 먼저 생성되어있어야 한다.

 

-만약

    -용법 : [명령어] ([변수1] [연산자] [변수2])

          [파일명1][파일번호1] [파일명2] [파일번호2]

    -예제 : 만약 (강아지) puffy.txt 1 (변수유무체크)

            만약 (강아지) puffy.txt 1 cat.txt 1

            만약 (강아지 = 100) puffy.txt 1 (변수값 비교)

            만약 (강아지 = 100) puffy.txt 1 cat.txt 1

            만약 (강아지 > 100) puffy.txt 1 (변수값 대소비교)

            만약 (강아지 < 100) puffy.txt 1

            만약 (강아지 = 고양이) puffy.txt 1 (변수1, 변수2 비교)

    -설명: 생성된 변수를 이용하여 게임흐름을 제어 할 수 있는 명령어다.

           조건이 참일 경우 첫번째 스크립트파일로 이동하고 조건이 거짓일

           경우 두번째 파일로 이동한다. 이때 두번째 파일명은 생략가능하며

           생략 할경우 다음 라인의 스크립트가 진행된다.



Who's 하늘바라KSND

profile

하늘바라KSND

하늘

하늘이

늘바

바라

하바

하바케이

하바케이엔

하느님 

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

현재 하는 일 :



허걱님과 함꼐하는 하늘섬 환상세계 시나리오 작성 중.

자세한 경과는 이야기 연재란에서.

 

Lighna형과 함께하는 프로젝트, D.A 시나리오 작성 중.

프로젝트 D.A 많은 관심 부탁드려요~

http://projetda.tistory.com/

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

 

ㅎㅎ. 안녕하세요 하늘바라 KSND 입니다. 

(96년생)

성별 : 남

사용툴 : VX

주요 활동 : 소설쓰기, 댓글, 뻘글, 글소글

 

블로그 주소 : http://hb_tjdtn.blog.me/                 

 

이전 준비 중

http://habakn.tistory.com/