Class that creates and handles the main Window and manages how and when to execute the Scenes. More...
Inherits Ref.
Inherited by DisplayLinkDirector.
Public Types | |
enum | Projection { _2D, _3D, CUSTOM, DEFAULT = _3D } |
Possible OpenGL projections used by director. More... | |
Public Member Functions | |
Scene * | getRunningScene () |
Gets current running Scene. More... | |
float | getAnimationInterval () |
Gets the FPS value. | |
virtual void | setAnimationInterval (float interval)=0 |
Sets the FPS value. More... | |
bool | isDisplayStats () |
Whether or not to display the FPS on the bottom-left corner. | |
void | setDisplayStats (bool displayStats) |
Display the FPS on the bottom-left corner. | |
float | getSecondsPerFrame () |
Get seconds per frame. | |
GLView * | getOpenGLView () |
Get the GLView. | |
void | setOpenGLView (GLView *openGLView) |
Sets the GLView. | |
bool | isNextDeltaTimeZero () |
Whether or not _nextDeltaTimeZero is set to 0. | |
void | setNextDeltaTimeZero (bool nextDeltaTimeZero) |
Sets the delta time between current frame and next frame is 0. More... | |
bool | isPaused () |
Whether or not the Director is paused. | |
unsigned int | getTotalFrames () |
How many frames were called since the director started. | |
Projection | getProjection () |
Gets an OpenGL projection. | |
void | setProjection (Projection projection) |
Sets OpenGL projection. | |
void | setViewport () |
Sets the glViewport. | |
bool | isSendCleanupToScene () |
Whether or not the replaced scene will receive the cleanup message. More... | |
Node * | getNotificationNode () const |
This object will be visited after the main scene is visited. More... | |
void | setNotificationNode (Node *node) |
Sets the notification node. | |
const Size & | getWinSize () const |
Returns the size of the OpenGL view in points. | |
Size | getWinSizeInPixels () const |
Returns the size of the OpenGL view in pixels. | |
Size | getVisibleSize () const |
Returns visible size of the OpenGL view in points. More... | |
Vec2 | getVisibleOrigin () const |
Returns visible origin coordinate of the OpenGL view in points. | |
Vec2 | convertToGL (const Vec2 &point) |
Converts a screen coordinate to an OpenGL coordinate. More... | |
Vec2 | convertToUI (const Vec2 &point) |
Converts an OpenGL coordinate to a screen coordinate. More... | |
float | getZEye () const |
Gets the distance between camera and near clipping frame. More... | |
void | runWithScene (Scene *scene) |
Enters the Director's main loop with the given Scene. More... | |
void | pushScene (Scene *scene) |
Suspends the execution of the running scene, pushing it on the stack of suspended scenes. More... | |
void | popScene () |
Pops out a scene from the stack. More... | |
void | popToRootScene () |
Pops out all scenes from the stack until the root scene in the queue. More... | |
void | popToSceneStackLevel (int level) |
Pops out all scenes from the stack until it reaches level . More... | |
void | replaceScene (Scene *scene) |
Replaces the running scene with a new one. More... | |
void | end () |
Ends the execution, releases the running scene. | |
void | pause () |
Pauses the running scene. More... | |
void | resume () |
Resumes the paused scene. More... | |
virtual void | stopAnimation ()=0 |
Stops the animation. More... | |
virtual void | startAnimation ()=0 |
The main loop is triggered again. More... | |
void | drawScene () |
Draw the scene. More... | |
void | purgeCachedData () |
Removes all cocos2d cached data. More... | |
void | setDefaultValues () |
Sets the default values based on the Configuration info. | |
void | setGLDefaultValues () |
Sets the OpenGL default values. More... | |
void | setAlphaBlending (bool on) |
Enables/disable alpha blending. | |
void | setClearColor (const Color4F &clearColor) |
Sets clear values for the color buffers, value range of each element is [0.0, 1.0]. | |
void | setDepthTest (bool on) |
Enable/disable depth test. | |
void | setContentScaleFactor (float scaleFactor) |
The size in pixels of the surface. More... | |
float | getContentScaleFactor () const |
Gets content scale factor. | |
Scheduler * | getScheduler () const |
Gets the Scheduler associated with this director. | |
void | setScheduler (Scheduler *scheduler) |
Sets the Scheduler associated with this director. | |
ActionManager * | getActionManager () const |
Gets the ActionManager associated with this director. | |
void | setActionManager (ActionManager *actionManager) |
Sets the ActionManager associated with this director. | |
EventDispatcher * | getEventDispatcher () const |
Gets the EventDispatcher associated with this director. | |
void | setEventDispatcher (EventDispatcher *dispatcher) |
Sets the EventDispatcher associated with this director. | |
Renderer * | getRenderer () const |
Returns the Renderer associated with this director. | |
Console * | getConsole () const |
Returns the Console associated with this director. | |
float | getFrameRate () const |
Gets Frame Rate. | |
void | pushMatrix (MATRIX_STACK_TYPE type) |
Clones a specified type matrix and put it to the top of specified type of matrix stack. | |
void | popMatrix (MATRIX_STACK_TYPE type) |
Pops the top matrix of the specified type of matrix stack. | |
void | loadIdentityMatrix (MATRIX_STACK_TYPE type) |
Adds an identity matrix to the top of specified type of matrxi stack. | |
void | loadMatrix (MATRIX_STACK_TYPE type, const Mat4 &mat) |
Adds a matrix to the top of specified type of matrix stack. More... | |
void | multiplyMatrix (MATRIX_STACK_TYPE type, const Mat4 &mat) |
Multiplies a matrix to the top of specified type of matrix stack. More... | |
const Mat4 & | getMatrix (MATRIX_STACK_TYPE type) const |
Gets the top matrix of specified type of matrix stack. | |
void | resetMatrixStack () |
Clear all types of matrix stack, and add identity matrix to these matrix stacks. | |
const std::thread::id & | getCocos2dThreadId () const |
returns the cocos2d thread id. More... | |
![]() | |
void | retain () |
Retains the ownership. More... | |
void | release () |
Releases the ownership immediately. More... | |
Ref * | autorelease () |
Releases the ownership sometime soon automatically. More... | |
unsigned int | getReferenceCount () const |
Returns the Ref's current reference count. More... | |
virtual | ~Ref () |
Destructor. | |
Static Public Member Functions | |
static Director * | getInstance () |
Returns a shared instance of the director. | |
static Director * | sharedDirector () |
Static Public Attributes | |
static const char * | EVENT_PROJECTION_CHANGED |
Director will trigger an event when projection type is changed. | |
static const char * | EVENT_BEFORE_UPDATE |
Director will trigger an event before Schedule::update() is invoked. More... | |
static const char * | EVENT_AFTER_UPDATE |
Director will trigger an event after Schedule::update() is invoked. | |
static const char * | EVENT_RESET |
Director will trigger an event while resetting Director. | |
static const char * | EVENT_AFTER_VISIT |
Director will trigger an event after Scene::render() is invoked. | |
static const char * | EVENT_AFTER_DRAW |
Director will trigger an event after a scene is drawn, the data is sent to GPU. | |
Additional Inherited Members | |
![]() | |
unsigned int | _ID |
object id, ScriptSupport need public _ID | |
int | _luaID |
Lua reference id. | |
void * | _scriptObject |
scriptObject, support for swift | |
bool | _rooted |
When true, it means that the object was already rooted. | |
bool | _scriptOwned |
The life of the object is scrolled by the scripting engine. More... | |
Class that creates and handles the main Window and manages how and when to execute the Scenes.
The Director is also responsible for:
Since the Director is a singleton, the standard way to use it is by calling: Director::getInstance()->methodName();
|
strong |
|
inlinestatic |
|
inline |
|
pure virtual |
void setNextDeltaTimeZero | ( | bool | nextDeltaTimeZero | ) |
Sets the delta time between current frame and next frame is 0.
This value will be used in Schedule, and will affect all functions that are using frame delta time, such as Actions. This value will take effect only one time.
|
inline |
Whether or not the replaced scene will receive the cleanup message.
If the new scene is pushed, then the old scene won't receive the "cleanup" message. If the new scene replaces the old one, the it will receive the "cleanup" message.
|
inline |
This object will be visited after the main scene is visited.
This object MUST implement the "visit" function. Useful to hook a notification object, like Notifications (http://github.com/manucorporat/CCNotifications)
Size getVisibleSize | ( | ) | const |
Returns visible size of the OpenGL view in points.
The value is equal to Director::getWinSize()
if don't invoke GLView::setDesignResolutionSize()
.
Converts a screen coordinate to an OpenGL coordinate.
Useful to convert (multi) touch coordinates to the current layout (portrait or landscape).
Converts an OpenGL coordinate to a screen coordinate.
Useful to convert node points to window points for calls such as glScissor.
float getZEye | ( | ) | const |
Gets the distance between camera and near clipping frame.
It is correct for default camera that near clipping frame is the same as screen.
void runWithScene | ( | Scene * | scene | ) |
void pushScene | ( | Scene * | scene | ) |
Suspends the execution of the running scene, pushing it on the stack of suspended scenes.
The new scene will be executed. Try to avoid big stacks of pushed scenes to reduce memory allocation. ONLY call it if there is a running scene.
void popScene | ( | ) |
Pops out a scene from the stack.
This scene will replace the running one. The running scene will be deleted. If there are no more scenes in the stack the execution is terminated. ONLY call it if there is a running scene.
void popToRootScene | ( | ) |
Pops out all scenes from the stack until the root scene in the queue.
This scene will replace the running one. Internally it will call popToSceneStackLevel(1)
.
void popToSceneStackLevel | ( | int | level | ) |
Pops out all scenes from the stack until it reaches level
.
If level is 0, it will end the director. If level is 1, it will pop all scenes until it reaches to root scene. If level is <= than the current stack level, it won't do anything.
void replaceScene | ( | Scene * | scene | ) |
Replaces the running scene with a new one.
The running scene is terminated. ONLY call it if there is a running scene.
void pause | ( | ) |
Pauses the running scene.
The running scene will be drawed, but all scheduled timers will be paused. While paused, the draw rate will be 4 FPS to reduce CPU consumption.
void resume | ( | ) |
Resumes the paused scene.
The scheduled timers will be activated again. The "delta time" will be 0 (as if the game wasn't paused).
|
pure virtual |
Stops the animation.
Nothing will be drawn. The main loop won't be triggered anymore. If you don't want to pause your animation call [pause] instead.
Implemented in DisplayLinkDirector.
|
pure virtual |
The main loop is triggered again.
Call this function only if [stopAnimation] was called earlier. Don't call this function to start the main loop. To run the main loop call runWithScene.
Implemented in DisplayLinkDirector.
void drawScene | ( | ) |
Draw the scene.
This method is called every frame. Don't call it manually.
void purgeCachedData | ( | ) |
Removes all cocos2d cached data.
It will purge the TextureCache, SpriteFrameCache, LabelBMFont cache
void setGLDefaultValues | ( | ) |
Sets the OpenGL default values.
It will enable alpha blending, disable depth test.
void setContentScaleFactor | ( | float | scaleFactor | ) |
The size in pixels of the surface.
It could be different than the screen size. High-res devices might have a higher surface size than the screen size. Only available when compiled using SDK >= 4.0.
void loadMatrix | ( | MATRIX_STACK_TYPE | type, |
const Mat4 & | mat | ||
) |
Adds a matrix to the top of specified type of matrix stack.
Matrix type. The matrix that to be added.
void multiplyMatrix | ( | MATRIX_STACK_TYPE | type, |
const Mat4 & | mat | ||
) |
Multiplies a matrix to the top of specified type of matrix stack.
Matrix type. The matrix that to be multipied.
|
inline |
|
static |
Director will trigger an event before Schedule::update() is invoked.