Композиция тайлов при помощи imagemagick

Если есть несколько спрайтов, которые надо объединить в один большой атлас, то можно воспользоваться командой montage из библиотеки image magick
{{{ lang=bash line=1
montage -background none -mode concatenate -tile 4×3 tile*.png map.png
}}}

Здесь ключ -background нужен, чтобы сохранить прозрачность, в противном случае montage сделает белую подложку. Опция после tile, в данном случае 4×3 означает, что нужно собирать в матрицу с 4 колонками и 3 строками. Заполнение при этом идёт слева направа, сверху вниз. То есть заполнение будет следующим:

|1|2|3|4|
|5|6|7|8|
|9|10|11|12|

Fullscreen mode in moai sdk

При создании moai проекта под linux, возникает желание работать в fullscreen режиме, так как это банально хорошо выглядит, всевозможные декорации здорово отвлекают. На данный момент (июнь 2014) стандартный хост, который используется в linux это sdl. Чтобы режим полного экрана включился необходимо внести следующие изменения в SDLHost.cpp

{{{ lang=c++
void _AKUOpenWindowFunc ( const char* title, int width, int height ) {

if ( !sWindow ) {
sWindow = SDL_CreateWindow ( title, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, width, height, SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN | SDL_WINDOW_FULLSCREEN_DESKTOP );

SDL_GL_CreateContext ( sWindow );
SDL_GL_SetSwapInterval ( 1 );
AKUDetectGfxContext ();

int actualScreenWidth_ = -1;
int actualScreenHeight_ = -1;
SDL_GetWindowSize(sWindow, &actualScreenWidth_, &actualScreenHeight_);

AKUSetScreenSize ( actualScreenWidth_, actualScreenHeight_ );
}
}
}}}
При этом в соответствующих луа скриптах надо будет писать следующее
{{{ lang=lua
MOAISim.openWindow ( “test”, 320, 480 )

screenWidth = MOAIEnvironment.horizontalResolution
screenHeight = MOAIEnvironment.verticalResolution

MOAISim.openWindow ( “test”, screenWidth, screenHeight )
}}}

Второй вызов MOAISim.openWindow нужен, чтобы перенастроить moai на адекватное разрешение.