Upload
sunwoo-park
View
111
Download
11
Embed Size (px)
DESCRIPTION
오프라인 강의 자료입니다.
Citation preview
RMXPDay 2
소재(리소스) 관리
• 그래픽 리소스 (/Graphics)
• 오토 타일 (/Graphics/Autotiles)
• 윈도우 스킨 (/Graphics/Windowskins)
• 오디오 리소스 (/Audio)
그래픽 리소스
• PNG (투명 또는 불투명—소재 관리자(F10)를 통할 경우 불투명 PNG 이미지에 간단히 투명색과 반투명 색상을 지정할 수 있다.)
• JPG
캐릭터 세트/Graphics/Characters
오디오 리소스
• MID
• OGG
• WMA
• MP3
• WAV
BGM (/Audio/BGM)
배경음악
BGS (/Audio/BGS) 배경음
ME (/Audio/ME) 효과음악
SE (/Audio/SE) 효과음(effect)
보다 자세한 내용 또는 규격은 내장 도움말을 참고하시기 바
랍니다. ^^;
끝!!!은 아니고 지금부터 시작...
사실 스크립트 없이 기본 시스템만으로 게임을 제작할 수도
있습니다.매우 제한적이라는 것만 빼면...
Ruby?
RGSS
• Ruby Game Scripting System
• 게임 개발 용도에 특화된 기능들을 미리 제공하고 있다.
• (이벤트 커맨드도 스크립트를 통해 해석 및 처리한다.)
스크립트 편집기 사용
• 섹션: 스크립트 편집기 (툴 > 스크립트 편집기)에서 왼쪽 사이드바에 위치한 각각의 항목
• 섹션의 이름은 아무렇게나 정해도 되나, 주로 해당 클래스나 모듈의 이름과 같게 지정한다.
• 단축키 F6 -> 선택된 텍스트를 섹션 이름으로 복사한다.
• 섹션의 실행 순서는 위에서 아래
• Control + F -> 검색
• Control + Shift + F -> 전체 검색 (선택 항목으로 점프가 불가능하므로 이들을 활용하면 그나마 편리합니다.)
Hello World
p "Hello World" exit #프로그램을 종료한다.
대화형 루비 셸(irb; Interactive Ruby)
• OS X - 터미널 > irb > 엔터
• Linux - 셸 > irb > 엔터
• Windows - 시작 > 루비 > fxri
• 루비 다운로드: https://www.ruby-lang.org/ko/downloads/
irb(main):002:0> p "Hello World" "Hello World" => "Hello World"
수치(숫자)
• 정수형(Integer)
• 실수형(Float)
3 # 정수 52 # 정수 -99 # 정수 1.5 # 실수(부동 소수점수) 3.0 # 실수(부동 소수점수)
> p 1+1 => 2 > p 10-3 => 7 > p 7*5 => 35 > p 24/4 => 6 >
우선 순위
• 기본적으로 사칙연산의 우선순위와 같다.
• * 과 / 은 + 과 - 보다 먼저 계산한다.
• 괄호 ( ) 안의 식을 우선 평가한다.
> p 2*2+3*4 => 16 > p 2*(2+3)*4 => 40 > p 2*(2+3*4) => 28 >
소수점 이하 계산
> p 15/4 => 3 > p 15.0/4 => 3.75 > p 15/4.0 => 3.75 >
나머지 계산
> p 14%4 => 2 > p 13%4 => 1 > p 12%4 => 0 >
제곱 계산
> p 2**4 => 16 >
변수(variable)• 변할 수 있는 값에 이름을 붙인 것
• RMXP 이벤트 커맨드의 "변수"가 수치값만을 담을 수 있는 것과는 달리, 루비에서의 변수는 여러 가지 형태의 데이터 (수치, 문자열(String), 커스텀 클래스의 인스턴스 등)를 담을 수 있는 포괄적인 개념이다. (사실 이벤트 커맨드의 변수는 스크립트의 $game_variables 글로벌 변수 (Game_Variables 클래스의 인스턴스)에 보관되어 있다는 사실!)
• 로컬 변수
• 인스턴스 변수
• 글로벌 변수
변수의 이름을 지을 때는, 다음 사항에 유의하여야 한다:
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)
대입과 참조
> x=3 => 3 > y=4 => 4 > p x+y => 7 >
반드시 선 대입 후 참조루비에서는 zzz 변수를 참조하기 전에는 zzz 변수에 반드시 무언가를 먼저 대입해야 한다.
(옳지 않은 예) > p zzz => #<NameError: undefined local variable or method `zzz' for main:Object>
> (옳은 예) > zzz=5 => 5 > p zzz => 5 >
자기 대입> x=1 => 1 > x+=7 => 8 > x-=3 => 5 > x*=2 => 10 > p x => 10 >
/=, %= 도 사용할 수 있음
글로벌 변수
• 로컬 변수와 달리 범위에 구애받지 않고 아무데서나 대입 및 참조가 가능함
• 루비에서는 $global 과 같이 이름 앞에 $ 문자를 붙이면 글로벌 변수가 된다.
• 주의: 여러 곳에서 같은 변수에 대입/참조하는 경우 자칫 결과를 예측하기 힘든 코드를 낳을 수 있으므로 되도록이면 사용을 자제하도록 하자.
문자열(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" >
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 >
식 전개
문자열 내 식 전개를 사용하기 위해서는 ' '가 아닌 " " 를 이용하도록 하자.
> game = "RPG" => "RPG" > p "#{game} MAKER XP" => "RPG MAKER XP" >
Boolean형(true/false)> p ("hello"=="hello") => true > p ("HELLO"=="hello") => false > p (3+1==3+5) => false > p (3+1==2+2) => true >