Einrichten eines Applikations-Projektes

Die einfachste Möglichkeit ein neues Murl Engine Projekt zu erstellen, ist die Verwendung des Dashboards. Der Befehl Create Project öffnet einen Dialog in dem der Projektname und weitere Informationen angegeben werden können:

create_project.png
Create Project Dialog
  • Template: Projekt-Template für das neue Projekt
    • default: minimales Projekt
    • lua: minimales Lua Projekt
  • Main Directory: Hauptverzeichnis für das Projekt
  • Sub Directory: Unterverzeichnis für das Projekt

Die beiden Verzeichnisnamen Main Directory und Sub Directory müssen angegeben werden, da die Projektdateien relative Pfadangaben zu den Tools und Bibliotheken der Murl Engine beinhalten. Das Projektverzeichnis muss daher zwei Ebenen über dem murl Verzeichnis liegen, damit diese Pfadangaben nicht ins Leere laufen.

Durch Drücken des Create Project Buttons wird ein neues Projekt erstellt. Nach dem Erstellen sieht die Verzeichnishierarchie ca. so aus:

[PATH_TO_MURL]
Dashboard.app
murl
tutorials
projects
games
MyProject

Verzeichnis-Struktur

Im Projektverzeichnis sind folgende Unterverzeichnisse zu finden:

MyProject
binaries
data
documents
project
resources
scripts
source

Die vorgegebene Struktur hat sich in vielen Projekten bewährt. Es empfiehlt sich daher diese beizubehalten.

source

Im source Verzeichnis befindet sich die Quelldateien des Projekts (C++ Dateien und Header Dateien).

MyProject
source
my_project.cpp
my_project_app.cpp
my_project_app.h
my_project_logic.cpp
my_project_logic.h

data

Im data Verzeichnis werden alle projektrelevanten Daten und Assets abgelegt z.B. Bilder, Sounds, Animation etc. Im Unterverzeichnis packages liegen die Ressourcenverzeichnisse und Ressourcenpakete. Je nach Projekt werden üblicherweise noch andere Unterordner verwendet – z.B. original für Dateien im originalen Dateiformat.

MyProject
data
packages
main.murlres
graph_camera.xml
graph_main.xml
graph_materials.xml
package.xml
main.murlpkg
startup.murlpkg

project

Im Verzeichnis project sind die Projektdateien für die verschiedenen Plattformen und IDEs zu finden. Für iOS und OS X gibt es je ein Xcode Projekt. Für Windows gibt es eigene Projekte für Visual Studio 2008, 2010 und 2013. Für Android und Linux gibt es Command-Line-Skripten (bash scripts und batch files) für das Build Tool Gnu Make. Dabei werden die Makefiles im Verzeichnis common sowohl für den Android-Build als auch für den Linux-Build verwendet.

MyProject
project
ios
xcode
my_project.xcodeproj
osx
xcode
my_project.xcodeproj
win32
vs2008
my_project.sln
my_project.vcproj
my_project.vcproj.user
vs2010
my_project.sln
my_project.vcxproj
my_project.vcxproj.filters
my_project.vcxproj.user
vs2013
my_project.sln
my_project.vcxproj
my_project.vcxproj.filters
my_project.vcxproj.user
common
gnumake
module_my_project.mk
project_my_project.mk
android
gnumake
build_all.cmd
build_all.sh
build_debug.cmd
build_debug.sh
build_release.cmd
build_release.sh
clean_all.cmd
clean_all.sh
clean_debug.cmd
clean_debug.sh
clean_release.cmd
clean_release.sh
generate_key.cmd
generate_key.sh
install_debug.cmd
install_debug.sh
install_release.cmd
install_release.sh
make.cmd
make.sh
linux
gnumake
build_all.sh
build_debug.sh
build_release.sh
clean_all.sh
clean_debug.sh
clean_release.sh
make.sh

resources

Im resources Verzeichnis befinden sich zusätzliche plattformabhängige Ressourcen wie Icons, Launch-Images etc.

MyProject
resources
android
drawable
icon.png
...
ios
Icon.png
...

scripts

Im scripts Verzeichnis befinden sich Command-Line-Skripten für das Projekt.

MyProject
scripts
atlas_config.xml
atlas_generator.cmd
atlas_generator.sh
pack_resources.cmd
pack_resources.sh
set_dir.cmd
set_dir.sh
set_env.cmd
set_env.sh

documents

Der Ordner documents kann für Konzeptbeschreibungen, ToDo-Listen, Feature-Listen, App-Beschreibungen etc. verwendet werden.

MyProject
documents
concept.txt

binaries

Nach dem Builden eines Projekts befindet sich die erstellte Applikationsdatei im binaries Verzeichnis.

MyProject
binaries
android
release
my_project.apk
win32
vs2013
Debug
my_project.exe


Copyright © 2011-2018 Spraylight GmbH.