This is an old revision of the document!
Please note that soon, the Init project script will allow you to create empty Scroll projects for you.
Don't skip on An Introduction to Scroll and on The Binding of Objects.
The following code represents minimalistic Scroll based application that can be used as a template.
MyOrxScrollGame.h must have Init and Run methods:
#ifndef __GameName__OrxScroll__ #define __GameName__OrxScroll__ #define __NO_SCROLLED__ #include "Scroll.h" class MyOrxScrollGame : public Scroll<MyOrxScrollGame> { private: //! Initialize the program virtual orxSTATUS Init (); //! Callback called every frame virtual orxSTATUS Run (); }; #endif /* defined(__GameName__OrxScroll__) */
Due to inline code in headers, it is difficult to separate main function into its own file. So it is part of MyOrxScrollGame.cpp.
#define __SCROLL_IMPL__ #include "MyOrxScrollGame.h" #undef __SCROLL_IMPL__ orxSTATUS MyOrxScrollGame::Init () { orxSTATUS result = orxSTATUS_SUCCESS; return result; } orxSTATUS MyOrxScrollGame::Run () { orxSTATUS result = orxSTATUS_SUCCESS; return result; } int main (int argc, char **argv) { // Executes game MyOrxScrollGame::GetInstance().Execute (argc, argv); // Done! return EXIT_SUCCESS; }
INI file must have MainViewport section:
[Display] ScreenWidth = 1024 ScreenHeight = 768 Title = Game Name [Input] SetList = MainInput [MainInput] KEY_ESCAPE = Quit [MainViewport] Camera = Camera [Camera] ; We use the same size for the camera than our display on screen so as to obtain a 1:1 ratio FrustumWidth = @Display.ScreenWidth FrustumHeight = @Display.ScreenHeight FrustumFar = 1.0 FrustumNear = 0.0 Position = (0.0, 0.0, -1.0)