zoukankan      html  css  js  c++  java
  • cocos2diphone源码分析(1):场景

    cocos2d-iphone是一个基于Objective-C的2D游戏引擎。还有一个跨平台版的叫cocos2d-x,这个现在貌似挺火的。用cocos2d开发应用之前,必须要先了解下面几个概念:

    1. Scenes:场景
    2. Director:导向器
    3. Layers:层
    4. Sprites:精灵

    1.场景的概念

    场景(CCScene对象)在app的工作流中,是一个比较独立的元素。你也可以把他称作“屏幕”或“关卡”。你的应用可能有很多场景,但当前状态下只能有一个被激活的场景。例如,一个小游戏,它可能有下面的场景:介绍、菜单、第一关、过度场景1、关卡2、胜利过度场景、失败过度场景、最高分场景等。

    2.场景的实现

    cocos2d的CCScene包含多个可以堆叠起来的层(CCLayer对象)。Layer为场景添加了外观和行为,一般只需要创建场景上的层对象。CCScene类族里面还有一种表示两个场景之间过度的场景,是使用CCTransitionScene对象来实现。

    CCScene继承自CCNode,行为和属性和CCNode是一样的。对场景可以进行手动变换或者使用动作组(Actions)。

    CCNode主要的子类有CCScene, CCLayer, CCSprite, CCMenu。下面大体介绍一下CCNode类的属性和方法:

    2.1 CCNode的特性

    复合:可以包含其它CCNode子节点
    • addChild
    • getChildByTag
    • removeChild

    支持周期性回调

    • schedule
    • unschedule

    可以执行各种动作及其组合

    • runAction
    • stopAction

    2.2 CCNode的任务

    • 初始化和清理
    • 复合模式
    • 绘制
    • 变换
    • 场景管理
    • 动作
    • 调度器支持
    • 转换

    2.3 CCNode的属性

    • - position:位置
    • - scale (x, y):缩放
    • - rotation (in degrees, clockwise):旋转
    • - skew:倾斜
    • - CCCamera (an interface to gluLookAt ):相机
    • - CCGridBase (to do mesh transformations):格子
    • - anchor point:锚点
    • - size:大小
    • - visible:可见性
    • - z-order:Z序
    • - openGL z position
     
    代码示例,参见:
    • test/SceneTest.m
    • test/NodeTest.m
    2013/01/21 15:41 于上海
     
  • 相关阅读:
    matlab做聚类分析
    《帝王三部曲》——二月河
    Sublime Text3--安装使用教程资料整理
    CentOS7没有ftp命令的解决方法
    CentOS7没有telnet命令的解决方法
    程序员如何学习英语
    程序员指法训练
    C/C++语言的学习策略
    零基础、非计算机相关专业的如何转型程序员
    IT培训机构那些不得不说的事儿
  • 原文地址:https://www.cnblogs.com/mywolrd/p/2889315.html
Copyright © 2011-2022 走看看