понедельник, 24 января 2011 г.

[Slick] Статья номер 2. Настройки.

Полный дистрибутив Slick содержит  в себе: полный набор исходных кодов, набор тестов и дополнительные инструменты. Он также содержит сценарии сборки и набор тестов для проверки API. В дистрибутив также включены библиотеки, необходимые для публикации готового приложения через WebStart или в виде аплета.
Скачать полный дистрибутив в виде ZIP-файл можно по следующей ссылке:

http://slick.cokeandcode.com/downloads/slick.zip

Также на сайте доступна только библиотека в виде JAR-файла (на тот случай, если полный набор инструментов уже загружен, и надо только обновить версию самой библиотеки). Библиотека в виде одного JAR-файла доступна по адресу:

http://slick.cokeandcode.com/downloads/slick.jar


Текущую боевую версию всегда можно узнать в шапке сайта:

http://slick.cokeandcode.com/index.php

Чтобы определить версию уже скачанного JAR-файл, необходимо открыть этот файл любой программой для работы с ZIP-файлами. В корне JAR-файл находится файл с именем version. В этот файле хранятся свойства, в одном из которых находится и номер версии в формате:
build=274
Для создания программ с использованием Slick, необходимо, чтобы файл slick.jar был доступен в списке путей classpath. Это делается разными способами в различных IDE (интегрированных средах разработки). Ниже я покажу, как это можно сделать на примере среды NetBeans.

При запуске игры, собранной с помощью библиотеки Slick необходимо включить также включить дополнительные библиотеки из каталога lib в classpath. Эти библиотеки необходимы для обеспечения функционирования Slick API. Плюс к тому, необходимо обеспечить видимость дополнительных платформенно-зависимых библиотек (DLL для Windows, .so для Linux, jnilib для MacOSX) настройкой путей поиска таких библиотек.
При неправильной настройке путей доступа к этим библиотекам будет возникать ошибка выполнения: UnsatisifiedLinkError
Для платформы Windows это менее актуально, так как стандартный механизм поиска дополнительных DLL производить поиск таких файлов в каталоге, в котором программа запускается на выполнение. Соответственно, если расположить дополнительные библиотеки в этом каталоге, они автоматически будут найдены.
Для других платформ, или если библиотеки расположены не в текущем каталоге, необходимо явно указать путь к библиотекам в строке запуска программы с помощью следующего параметра:
-Djava.library.path=<путь к каталогу, где расположены библиотеки>
Примечание: этот параметр необходимо указывать в командной строке сразу после команды java.

Теперь перейдём к настройке среды NetBeans для работы с библиотекой Slick.

Примечание: описание настройки среды справедливо для версии NetBeans 6.9.1, на других версиях я не проверял.

Создание модуля. Выбираем в меню File New Project (или нажимаем Ctrl+Shift+N). В категориях выбираем NetBeans Modules, а в проектах выбираем Module. Нажимаем кнопку Next.
В поле Project name вводим название модуля, например, SlickModule (имя не должно содержать пробелов).
Далее, должен быть выбран пункт Standalone Module, а в поле NetBeans Platform надо оставить значение по умолчанию (у меня это: NetBeans IDE 6.9.1 (Build 201007282301) (Default)).
Пункт Set as Main Project должен быть помечен.
Нажимаем кнопку и Next и вводим в поле Code Name Base вводим, например: org.netbeans.modules.slick (имя не должно содержать пробелов) и нажимаем кнопку Finish.

Создание шаблонного проекта. Создаём новый проект, указываем JavaJava Application и нажимаем кнопку Next. Даём этому проекту имя, например, SlickTemplate и убираем пометку с пункта Set as Main, так как собирать мы его не будем. Нажимаем кнопку Finish.


Теперь открываем закладку Projects, находим в списке проектов только что открытый проект (SlickTemplate), нажимаем правую кнопку мыши и выбираем пункт Properties. В поле Categories выбираем пункт Libraries. Справа, на закладке Compile нажимаем кнопку Add JAR/Folder. Перейти в каталог lib дистрибутива Slick и выбрать те библиотеки, которые надо подключить к рабочему проекту. Для начала, как минимум, надо выбрать slick.jar и lwjgl.jar.
Далее, в поле Categories выбираем пункт Run и добавляем в поле VM Options такую строку -Djava.library.path="/path/to/Slick/lib/linux", где "/path/to/Slick/lib/linux" - это каталог, где лежат библиотеки дистрибутива Slick для данной платформы (в моём случае это linux). (см. обсуждение данного параметра выше). Набор библиотек для различных операционных систем можно найти в дистрибутиве Slick в каталоге lib в файлах natives-linux.jar, natives-mac.jar и natives-win32.jar.

Примечание для пользователей Gentoo Linux: эта библиотека работает только с аппаратным OpenGL, поэтому, перед работой необходимо обязательно перевести систему на использование аппаратно-ускоренного OpenGL. Проверить/настроить это можно с помощью команды: eselect opengl list. Должен быть выбран драйвер видеокарты, а не xorg-x11. Насчёт других версий Linux пока не знаю, не разбирался.

Когда всё сделано, нажимаем конпку OK, при этом NetBeans начнёт сканирование файлов библиотек.
Теперь надо настроить шаблон игры, который будет применяться всякий раз, когда будет создаваться новый проект на основе данного шаблона.
Базовый класс будет называться Game, соответственно, имя файла - Game.java.
Вот текст шаблонного класса:


package slicktemplate;
 
import org.newdawn.slick.*;
 
public class Game extends BasicGame
{
     static int height = 480;
     static int width = 640;
 
     static boolean fullscreen = false;
 
     static boolean showFPS = true;
 
     static String title = "Slick Basic Game Template";
 
     static int fpslimit = 60;
 
     public Game(String title)
     {
          super(title);
     }
 
     public void init(GameContainer gc) throws SlickException
     {
 
     }
 
     public void update(GameContainer gc, int delta) throws SlickException
     {
 
     }
 
     public void render(GameContainer gc, Graphics g) throws SlickException
     {
 
     }
 
     public static void main(String[] args) throws SlickException
     {
          AppGameContainer app = new AppGameContainer(new Game(title));
          app.setDisplayMode(width, height, fullscreen);
          app.setSmoothDeltas(true);
          app.setTargetFrameRate(fpslimit);
          app.setShowFPS(showFPS);
          app.start();
     }
}
 


На данном шаге мы делаем пустую заготовку. В этом шаблоне создаётся пустое окно размером 640x480 пикселей в котором отображается частота кадров, которая ограничивается 60 кадрами в секунду. Если вы считаете необходимым добавить/удалить/изменить что-либо в данном шаблоне, можете сделать это сейчас.
Когда все изменения сделаны, выбираем File Save All (Ctrl+Shift+S).

Теперь настало время вернуться к нашему модулю.  Открываем закладку Projects, находим в списке проектов наш модуль (SlickModule). Раскрываем дерево каталогов проекта, находим там каталог Source Packages и нажимаем на нём правую кнопку мыши. Выбираем New Project Template. При этом откроется окно со следующим шагом настройки: Select Project. В списке напротив поля Project выбираем наш шаблон (SlickTemplate) и нажимаем кнопку Next. Тут надо подождать, операция может занять достаточно продолжительное время (хотя у меня справилось за минуту).
Откроется окно с шагом 3: Name and Location. В поле Template Name пишем: SlickBasicGame, а в поле Display Name: Slick Basic Game. В поле Category выбираем Java, не меняем значение поля Package и нажимаем кнопку Finish. При этом будет создан наш модуль.
Снова открываем закладку Projects, находим в списке проектов наш модуль (SlickModule), нажимаем правую кнопку мыши и выбираем пункт Install/Reload in Development IDE. При этом на экран выскочит предупреждение, оканчивающееся словами: Would you like to continue anyway? (предупреждение говорит о том, что если в модуле присутствует серьёзная ошибка, то выполнение этой процедуры может привести к неработоспособности NetBeans). Подтверждаем данную операцию нажатием кнопки Yes. Всё, теперь наш шаблон будет доступен в списке при создании нового проекта в категории Java под названием Slick Basic Game.

Теперь можно на основе данного шаблон создать тестовый проект. Выбираем в меню File New Project (или нажимаем Ctrl+Shift+N). В категориях выбираем Java, а в проектах выбираем Slick Basic Game. Нажимаем кнопку Next. Если над, меняем имя проекта (по умолчанию это SlickBasicGame). Нажимаем кнопку Finish. Всё, теперь выполняем компиляцию и запуск проекта. В результате должно открыться окно размером 640 на 480 пикселей в верхнем левом углу которого будет отображаться значение FPS.

Источник: сайт Wiki-документации проекта Slick: http://slick.cokeandcode.com/wiki/doku.php?id=getting_started_and_setup

Комментариев нет:

Отправить комментарий