35
RMXP Day 2

RMXP 기초 Day 2

Embed Size (px)

DESCRIPTION

오프라인 강의 자료입니다.

Citation preview

Page 1: RMXP 기초 Day 2

RMXPDay 2

Page 2: RMXP 기초 Day 2

소재(리소스) 관리

• 그래픽 리소스 (/Graphics)

• 오토 타일 (/Graphics/Autotiles)

• 윈도우 스킨 (/Graphics/Windowskins)

• 오디오 리소스 (/Audio)

Page 3: RMXP 기초 Day 2

그래픽 리소스

• PNG (투명 또는 불투명—소재 관리자(F10)를 통할 경우 불투명 PNG 이미지에 간단히 투명색과 반투명 색상을 지정할 수 있다.)

• JPG

Page 4: RMXP 기초 Day 2

캐릭터 세트/Graphics/Characters

Page 5: RMXP 기초 Day 2

오디오 리소스

• MID

• OGG

• WMA

• MP3

• WAV

BGM (/Audio/BGM)

배경음악

BGS (/Audio/BGS) 배경음

ME (/Audio/ME) 효과음악

SE (/Audio/SE) 효과음(effect)

Page 6: RMXP 기초 Day 2

보다 자세한 내용 또는 규격은 내장 도움말을 참고하시기 바

랍니다. ^^;

Page 7: RMXP 기초 Day 2

끝!!!은 아니고 지금부터 시작...

Page 8: RMXP 기초 Day 2
Page 9: RMXP 기초 Day 2

사실 스크립트 없이 기본 시스템만으로 게임을 제작할 수도

있습니다.매우 제한적이라는 것만 빼면...

Page 10: RMXP 기초 Day 2

Ruby?

Page 11: RMXP 기초 Day 2

RGSS

• Ruby Game Scripting System

• 게임 개발 용도에 특화된 기능들을 미리 제공하고 있다.

• (이벤트 커맨드도 스크립트를 통해 해석 및 처리한다.)

Page 12: RMXP 기초 Day 2

스크립트 편집기 사용

• 섹션: 스크립트 편집기 (툴 > 스크립트 편집기)에서 왼쪽 사이드바에 위치한 각각의 항목

• 섹션의 이름은 아무렇게나 정해도 되나, 주로 해당 클래스나 모듈의 이름과 같게 지정한다.

• 단축키 F6 -> 선택된 텍스트를 섹션 이름으로 복사한다.

• 섹션의 실행 순서는 위에서 아래

• Control + F -> 검색

• Control + Shift + F -> 전체 검색 (선택 항목으로 점프가 불가능하므로 이들을 활용하면 그나마 편리합니다.)

Page 13: RMXP 기초 Day 2

Hello World

Page 14: RMXP 기초 Day 2
Page 15: RMXP 기초 Day 2

p "Hello World" exit #프로그램을 종료한다.

Page 16: RMXP 기초 Day 2

대화형 루비 셸(irb; Interactive Ruby)

• OS X - 터미널 > irb > 엔터

• Linux - 셸 > irb > 엔터

• Windows - 시작 > 루비 > fxri

• 루비 다운로드: https://www.ruby-lang.org/ko/downloads/

Page 17: RMXP 기초 Day 2

irb(main):002:0> p "Hello World" "Hello World" => "Hello World"

Page 18: RMXP 기초 Day 2

수치(숫자)

• 정수형(Integer)

• 실수형(Float)

Page 19: RMXP 기초 Day 2

3 # 정수 52 # 정수 -99 # 정수 1.5 # 실수(부동 소수점수) 3.0 # 실수(부동 소수점수)

Page 20: RMXP 기초 Day 2

> p 1+1 => 2 > p 10-3 => 7 > p 7*5 => 35 > p 24/4 => 6 >

Page 21: RMXP 기초 Day 2

우선 순위

• 기본적으로 사칙연산의 우선순위와 같다.

• * 과 / 은 + 과 - 보다 먼저 계산한다.

• 괄호 ( ) 안의 식을 우선 평가한다.

Page 22: RMXP 기초 Day 2

> p 2*2+3*4 => 16 > p 2*(2+3)*4 => 40 > p 2*(2+3*4) => 28 >

Page 23: RMXP 기초 Day 2

소수점 이하 계산

> p 15/4 => 3 > p 15.0/4 => 3.75 > p 15/4.0 => 3.75 >

Page 24: RMXP 기초 Day 2

나머지 계산

> p 14%4 => 2 > p 13%4 => 1 > p 12%4 => 0 >

Page 25: RMXP 기초 Day 2

제곱 계산

> p 2**4 => 16 >

Page 26: RMXP 기초 Day 2

변수(variable)• 변할 수 있는 값에 이름을 붙인 것

• RMXP 이벤트 커맨드의 "변수"가 수치값만을 담을 수 있는 것과는 달리, 루비에서의 변수는 여러 가지 형태의 데이터 (수치, 문자열(String), 커스텀 클래스의 인스턴스 등)를 담을 수 있는 포괄적인 개념이다. (사실 이벤트 커맨드의 변수는 스크립트의 $game_variables 글로벌 변수 (Game_Variables 클래스의 인스턴스)에 보관되어 있다는 사실!)

• 로컬 변수

• 인스턴스 변수

• 글로벌 변수

Page 27: RMXP 기초 Day 2

변수의 이름을 지을 때는, 다음 사항에 유의하여야 한다:

1. 맨 처음 문자가 영어 소문자 또는 _ (언더 바)인 것. (사실 한글도 가능하나 기존 코드와의 일관성을 유지하기 위해 추천하고 싶지는 않다. 쓰지 말라는 얘기는 아님.)

2. 두번째 이후 문자가 영문자, 숫자 또는 _ (언더 바)인 것.

3. Ruby 예약어* 제외.

* Ruby 예약어: alias, and, begin, break, case, class, def, do, else, elsif, end, ensure, false, for, if, in, module, next, nil, not, or, redo, rescue, retry, return, self, super, then, true, undef, unless, until, when, while, yield

(네이밍에 관해 참고하면 좋은 내용: https://github.com/dalzony/ruby-style-guide/blob/master/README-koKO.md#%EB%84%A4%EC%9D%B4%EB%B0%8D)

Page 28: RMXP 기초 Day 2

대입과 참조

> x=3 => 3 > y=4 => 4 > p x+y => 7 >

Page 29: RMXP 기초 Day 2

반드시 선 대입 후 참조루비에서는 zzz 변수를 참조하기 전에는 zzz 변수에 반드시 무언가를 먼저 대입해야 한다.

(옳지 않은 예) > p zzz => #<NameError: undefined local variable or method `zzz' for main:Object>

> (옳은 예) > zzz=5 => 5 > p zzz => 5 >

Page 30: RMXP 기초 Day 2

자기 대입> x=1 => 1 > x+=7 => 8 > x-=3 => 5 > x*=2 => 10 > p x => 10 >

/=, %= 도 사용할 수 있음

Page 31: RMXP 기초 Day 2

글로벌 변수

• 로컬 변수와 달리 범위에 구애받지 않고 아무데서나 대입 및 참조가 가능함

• 루비에서는 $global 과 같이 이름 앞에 $ 문자를 붙이면 글로벌 변수가 된다.

• 주의: 여러 곳에서 같은 변수에 대입/참조하는 경우 자칫 결과를 예측하기 힘든 코드를 낳을 수 있으므로 되도록이면 사용을 자제하도록 하자.

Page 32: RMXP 기초 Day 2

문자열(String)> a="RPG MAKER XP" => "RPG MAKER XP" > p a => "RPG MAKER XP" > a="RPG" => "RPG" > b="MAKER XP" => "MAKER XP" > p a+b => "RPGMAKER XP" > a="RPG MAKER XP" => "RPG MAKER XP" > p a*2 => "RPG MAKER XPRPG MAKER XP" >

Page 33: RMXP 기초 Day 2

Backslash 기법문자열 내 Backslash(백 슬래쉬) 기법을 사용하기 위해서는 ' '가 아닌 " " 를 이용하도록 하자.

> a = "RPG MAKER XP" => "RPG MAKER XP" > b = "\\MADE BY ENTERBRAIN" => "\\MADE BY ENTERBRAIN" > print a+"\n"+b RPG MAKER XP \MADE BY ENTERBRAIN=> nil >

Page 34: RMXP 기초 Day 2

식 전개

문자열 내 식 전개를 사용하기 위해서는 ' '가 아닌 " " 를 이용하도록 하자.

> game = "RPG" => "RPG" > p "#{game} MAKER XP" => "RPG MAKER XP" >

Page 35: RMXP 기초 Day 2

Boolean형(true/false)> p ("hello"=="hello") => true > p ("HELLO"=="hello") => false > p (3+1==3+5) => false > p (3+1==2+2) => true >