zoukankan      html  css  js  c++  java
  • Cocos2dx的入门知识

    既然是学习一套全新的内容,我想还是先在脑子里对它有个大致的印象比较好吧,我个人就比较反对那种上来什么都不说,直接"Hello World"开始,24天精通之类的教程。

    下面先介绍一下这个引擎的基本概念和API结构,让我们在整体上对它有个把握,然后再每个概念下有必要的话会加入详细描述的链接,

    基本概念

    scene (场景)

    场景是游戏工作流的独立单元,有人喜欢称之为关卡、界面,游戏中可以有很多的场景,但是在同一时间,只能激活一个在前台显示。

    一般游戏中都是有这么几个场景: 开始、选关、游戏界面、游戏结束画面(胜利or失败)

    我们根据这几个场景定义几个不同的scene类,scene之间的切换就完成了整个游戏在大方向上的逻辑循环

    sanguo3  

    除了Scene之外还有一个 CCTransitionScene 类,它和它的子类们可以由Scene的实例来生成,这样可以在Scene切换的时候创造出比较绚丽的效果,具体的可以参考 源码里的 TestCpp.

    //-------------------------------------------------------------------------------------------------------------------------------------------------

    Layer(层)

    Scene就是由很多Layer构成的,熟悉ps的人肯定知道,就像ps里面的图层,一层层堆起来,最终Scene的显示效果就是所有Layer的综合,其实Scene只是一个容器,具体的与用户交互以及显示都是Layer来实现的。

    //-------------------------------------------------------------------------------------------------------------------------------------------------

    Director(导演)

    前面既然提到了Scene之间是可以切换的,就需要有个来管理它如何切换的对象,就是这个Director了,导演嘛,指导指导着就切换了,呵呵。

    具体的类就是 CCDirector

    //-------------------------------------------------------------------------------------------------------------------------------------------------

    Sprite(精灵)

    刚才在Layer那一节,可以看到每一层上都是有一些小的物件组成的,我们姑且可以理解为物件就是对应这个Sprite,比如一张图片,一个文字。

    很多Sprite 构成 Layer,很多Layer构成 Scene, 大致就是这个样子。

    但是细细追究一下,Sprite 和Layer都是从CCNode中继承来的,都有Children属性和AddChild方法,因此我们可以把Sprite添加到另外一个Sprite中,一个Layer放到另外一个Layer中,不理解没关系,可以后面再看,这里简单理解就行

    //-------------------------------------------------------------------------------------------------------------------------------------------------

    Action (动作)

    在Cocos2d-x中把一些常见的动作做了一下封装,比如移动,旋转,跳动,这些统称为Action,此外Action 还可以由一系列动画(比如飞行动画)来组成,我们可以通过任意一个CCNode对象的 runAction () 方法来执行某一个动作。

    //-------------------------------------------------------------------------------------------------------------------------------------------------

    参考链接:

    http://www.cnblogs.com/nowpaper/

    http://cocos2d-x.org/projects/cocos2d-x/wiki/Director_Scene_Layer_and_Sprite

     QQ: 631767297 欢迎朋友们可以一起交流学习。

  • 相关阅读:
    es6模块与 commonJS规范的区别 Linda
    hive 子查询特别分析
    C语言I博客作业05
    C语言I博客作业08
    2019秋作业第一周作业
    C语言I博客作业04
    C语言I博客作业09
    C语言I博客作业03
    C语言I博客作业07
    C语言I博客作业06
  • 原文地址:https://www.cnblogs.com/jeekun/p/2954982.html
Copyright © 2011-2022 走看看