zoukankan      html  css  js  c++  java
  • cocos2dx中的场景和使用方法

    1.一个游戏中有且只有一个导演,但是至少有一个场景

    2.场景是游戏元素节点数的根节点,也可以理解为该场景下的渲染树的根节点

    3.场景是一个容器,包含了该场景下的所有游戏元素,比如层,精灵

    4.场景是导演用来控制游戏流程用的,例如如何开始场景,什么时候切换场景,什么条件下结束场景等等

    5.与场景有关的API操作:

    运行场景:runWithScene(Scene* scene);

    启动游戏,并运行scene场景。本方法在主程序第一次启动主场景的时候调用。如果已有正在运行的场景则不能调用该方法;会调用pushScene

    切换场景:分为两种,一种是压栈的,另一种是直接销毁的

    pushScene(Scene* scene);

    将当前运行中的场景暂停并压入到代码执行场景栈中,再将传入的scene设置为当前运行场景,只有存在正在运行的场景时才调用该方法(此方法,会造成游戏运行时内存消耗变大)

    replaceScene(Scene* scene);

    直接使用传入的scene替换当前场景来切换画面,当前场景被释放。这是切换场景时最常用的方法。(此方法,比较省内存,也最常用)

    释放场景:popScene(Scene* scene);

    与pushScene()对应,释放当前场景,再从代码执行场景中弹出栈顶的场景,并将其设置为当前运行场景。如果栈为空,直接结束游戏。

    暂停场景:pause();暂停当前运行场景中的所有定时器和动作,场景仍然会显示在屏幕上

    恢复场景:resume();恢复当前运行场景的所有计时器和动作,场景仍然会显示在屏幕上

    结束场景:end();释放和终止执行场景,同时退出游戏

  • 相关阅读:
    安装VMtools vim编辑器的使用 压缩包命令 Linux下的用户管理 (第三天)
    VM虚拟机安装 常用Linux命令 网卡配置 (第二天)
    数据库的交互模式 常用的dos命令 (第一天)
    Validate US Telephone Numbers FreeCodeCamp
    Arguments Optional FreeCodeCamp
    Everything Be True FreeCodeCamp
    Binary Agents FreeCodeCamp
    Steamroller FreeCodeCamp
    Drop it FreeCodeCamp
    Smallest Common Multiple FreeCodeCamp
  • 原文地址:https://www.cnblogs.com/ttss/p/4186356.html
Copyright © 2011-2022 走看看