zoukankan      html  css  js  c++  java
  • Scene

    场景是由director来控制管理的, Director用来管理的函数:

    /** 
    * 设置场景,然后进入Director类的主循环;
    * 当已经有场景在运行时,请不要调用该函数;
    * 调用该函数去设置程序的第一个场景;
    * 该函数内部,会调用pushScene;之后会调用startAnimation函数。
    */
    void runWithScene(Scene *scene);
    
    /** 
    * 将当前运行的场景压入场景栈中,并挂起当前运行的场景;
    * 同时运行参数中传入的新的场景。
    * 注:请避免在场景栈中存放太多的场景,这样有可能占用过多的内存资源;
    * 只有当前有正在运行的场景时,才可以调用该函数。
    */
    void pushScene(Scene *scene);
    
    /**
    * 从场景栈中弹出一个场景,并使用该场景替换正在运行的场景;
    * 当前正在运行的场景会被释放掉。如果在场景栈中没有场景时,程序就会终    止。
    * 只有当前有正在运行的场景才可以调用该函数。
    */
    void popScene();
    
    /**
    * 内部调用popToSceneStackLevel(1)完成。
    */
    void popToRootScene();
    
    /**
    * 从场景栈中弹出指定位置之前的所有场景;
    * 如果参数level等于0,直接调用end()函数,结束director;
    * 如果参数level等于1,弹出除了根场景外的所有场景;
    * 如果参数level大于当前栈中场景数量,什么都不会发生。
    */
    void popToSceneStackLevel(int level);
    
    /**
    * 使用参数的场景替换当前正在运行的场景。当前正在运行的场景会被释放掉。
    * 只有当前有正在运行的场景时,才可以调用该函数。
    */
    void replaceScene(Scene *scene);
    
    /**
    * 结束程序,释放当前正在运行的场景
    * 但是这个函数并没有从它的父对象中删除OpenGL view。我们需要手动的去删除这个对象。
    */
    void end();
    
    /**
    * 暂停当前正在运行的场景;
    * 所有的调度器都会被暂停;
    * 当暂停时,为了减少CPU消耗,场景绘制的帧率是每秒4帧。
    */
    void pause();
    
    /**
    * 唤醒停止的场景
    * 调度器会被重新激活,开始事件调度
    */
    void resume();
    
    /**
    * 停止所有动画,任何内容都不会被再绘制。Director类中的主循环将处于停止状态
    * 如果不想暂停动画效果,可以调用pause函数。
    */
    virtual void stopAnimation() = 0;
    
    /**
    * 重新出发Director类中的主循环
    * 只有在stopAnimation被调用过后,才可以调用该函数用来恢复主循环
    * 在程序初始化时,请不要手动调用该函数来触发主循环,而是调用runWithScene函数
    */
    virtual void startAnimation() = 0;
    
    /**
    * 该函数被用来绘制场景。
    * 这个函数在每一帧的时候,都会被调用;
    * 注:请不要手动调用该函数。
    */
    void drawScene();


    *******************场景的切换**************
    切换效果类都是类TransitionScene的子类,TransitionScenecreate函数有两个参数,第一个参数表示切换的时间,第二个参数是要进入的场景
    例如:director->replaceScene(TransitionSlideInT::create(3.0f, SecondScene::createScene()));
  • 相关阅读:
    JBoss中配置虚拟目录以及设置浏览器地址输入框支持中文的方法
    实现表格鼠标经过变色,点击变色并选中项目
    JBoss4.0与金山词霸有端口冲突
    Hibernate查询方式比较
    数字证书使用Javascript在浏览器中自动安装的解决方案
    JBoss设置URI编码,使浏览器URL支持中文
    VC++中list的使用方式
    使用JBoss管理数据库连接的方法(JDNI方式)
    CefSharp中实现Chrome中jS导出Excel
    WP7备注(27)(DependencyProperty|RoutedPropertyChangedEventHandler)
  • 原文地址:https://www.cnblogs.com/lion-witcher/p/5980020.html
Copyright © 2011-2022 走看看