User Tools

Site Tools


tutorials:community:sergeig:scroll0

Empty Scroll Project

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.

OrxScroll.h

OrxScroll.h must have Init and Run methods:

#ifndef __GameName__OrxScroll__
#define __GameName__OrxScroll__
 
#define __NO_SCROLLED__
#include "Scroll.h"
 
class OrxScroll : public Scroll<OrxScroll>
{
private:
    //! Initialize the program
    virtual orxSTATUS Init ();
    //! Callback called every frame
    virtual orxSTATUS Run ();
 
};
 
#endif /* defined(__GameName__OrxScroll__) */

OrxScroll.cpp

Due to inline code in headers, it is difficult to separate main function into its own file. So it is part of OrxScroll.cpp.

#define __SCROLL_IMPL__
#include "OrxScroll.h"
#undef __SCROLL_IMPL__
 
orxSTATUS OrxScroll::Init ()
{
    orxSTATUS result = orxSTATUS_SUCCESS;
    return result;
}
 
orxSTATUS OrxScroll::Run ()
{
    orxSTATUS result = orxSTATUS_SUCCESS;
 
    return result;
}
 
int main (int argc, char **argv)
{
    // Executes game
    OrxScroll::GetInstance().Execute (argc, argv);
 
    // Done!
    return EXIT_SUCCESS;
}
 
#ifdef __orxWINDOWS__
 
#include "windows.h"
 
int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    // Executes game
    OrxScroll::GetInstance().Execute ();
 
    // Done!
    return EXIT_SUCCESS;
}
 
#endif // __orxWINDOWS__

INI File

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)

Additional Information

See Compiling and Building ORX for XCode configuration with Scroll.

tutorials/community/sergeig/scroll0.txt · Last modified: 2017/05/30 05:50 (8 weeks ago) (external edit)