메뉴 건너뛰기

창작에 관련된 질문이나 간단한 팁, 예제를 올리는 곳

안녕하세요, 노루발입니다.

여태까지 이것저것 많이 Love2D를 다뤄와서 제가 만든 소코반에 그래픽을 씌울 수준까지 되었지만

(물론 키 입력은 논외로 치죠, 나중에 다룰게요.)

아직 이걸로 정식 게임을 만든다면 모자라도 한참 모자랍니다.

창의 이름도 실행시키면 Untitled로 고정이며 바꿀 수 없고

창의 크기도 큼지막해서 어떻게 바꿀 수도 없고..


이런 것을 바꿀 수 있는 것이 바로 love.conf와 이에 따른 설정입니다.


설정을 사용하려면 main.lua 이외에 conf.lua라는 파일이 필요합니다.

물론 main.lua와 같이 Love2D 게임의 맨 상단에 있어야 합니다.

이것의 구조는 하나의 함수만 있는 구조이며, love가 초기화되기 전 실행됩니다.


기본 뼈대:

function love.conf(t)

     -- 여기에 창의 크기나 이름, 게임 버젼 등의 여러가지 설정을 넣는다.

end


자주 쓰는 기능들을 알아봅시다.


+ 창의 크기 바꾸기

t.screen.width = 창의 가로 길이

t.screen.height = 창의 세로 길이


예제: 640*480 크기의 창을 만든다.

function love.conf(t)

    t.screen.width = 640

    t.screen.height = 480

end


+ 창 이름 바꾸기

t.title = [바꿀 이름, 문자열만 됨!]


예제: 

t.title = "노루발의 기묘한 모험"


+ 전체 화면 모드

t.screen.fullscreen = true/false 중 택 1. true라면 전체 화면이고 false라면 창모드이다.


+ 콘솔 창 띄우기

t.console = true/false 중 택 1. true라면 까만 콘솔창이 하나 더 떠서 디버그용으로 유용하다.

단, 윈도우에서만 가능. 리눅스에서는 직접 터미널에서 실행하시게..


+ 모듈 비활성화

Love2D 엔진에서 각 일은 각 모듈이 맡아서 한다.

그래픽 관련은 love.graphics, 파일 입출력 관련은 love.filesystem 등...

사용하지 않는 모듈을 꺼두면 게임이 좀 더 가볍게 돌아간다.

게임이 다 만들어진 뒤 설정하자. 실수로 사용하는 모듈을 꺼버린다면 게임이 제대로 돌아가지 않을 것이다.


예제: love.graphics 모듈을 끄는 정신나간 짓을 하고 싶다면

t.modules.graphics = true/false 중 false를 택하면 꺼짐.


참고로 love.filesystem 모듈은 끌 수 없다. love 모듈 자체도 마찬가지다.


0.8.0 엔진 기준의 기본값과 하는 역할이다. 영문임. 참조하시고, 저는 이쯤에서 안녕.

출처는 Love2D 위키의 love2d.org/wiki/Config_Files 페이지.


function love.conf(t)
    t.title = "Untitled"        -- The title of the window the game is in (string)
    t.author = "Unnamed"        -- The author of the game (string)
    t.url = nil                 -- The website of the game (string)
    t.identity = nil            -- The name of the save directory (string)
    t.version = "0.8.0"         -- The LÖVE version this game was made for (string)
    t.console = false           -- Attach a console (boolean, Windows only)
    t.release = false           -- Enable release mode (boolean)
    t.screen.width = 800        -- The window width (number)
    t.screen.height = 600       -- The window height (number)
    t.screen.fullscreen = false -- Enable fullscreen (boolean)
    t.screen.vsync = true       -- Enable vertical sync (boolean)
    t.screen.fsaa = 0           -- The number of FSAA-buffers (number)
    t.modules.joystick = true   -- Enable the joystick module (boolean)
    t.modules.audio = true      -- Enable the audio module (boolean)
    t.modules.keyboard = true   -- Enable the keyboard module (boolean)
    t.modules.event = true      -- Enable the event module (boolean)
    t.modules.image = true      -- Enable the image module (boolean)
    t.modules.graphics = true   -- Enable the graphics module (boolean)
    t.modules.timer = true      -- Enable the timer module (boolean)
    t.modules.mouse = true      -- Enable the mouse module (boolean)
    t.modules.sound = true      -- Enable the sound module (boolean)
    t.modules.physics = true    -- Enable the physics module (boolean)
end


0.8.0 이하나 그 이상의 버젼(아직 안 나왔지만!)에서는 제대로 동작하지 않으니

위키를 참조해 주세요.
조회 수 :
766
등록일 :
2013.09.17
08:39:45 (*.209.135.92)
엮인글 :
게시글 주소 :
https://hondoom.com/zbxe/index.php?mid=study&document_srl=703475
List of Articles