zoukankan      html  css  js  c++  java
  • Ray's Learn Cocos2d 笔记(一)

    最近开始学习cocos2d,看的是Ray Wenderlich的著作,此人有自己的网站,集结了一批人写ios(现在也有其他平台)上的tutorial。

    看了前6章,总结一下所学,以备以后温习。

    2012-06-20 17:06:00

    上图是个人对cocos2d编写游戏所适用到的几个概念。

    • GameScene:游戏场景,比如你的游戏有两个关卡,每个关卡就应该是一个游戏场景。

    • GameLayer:游戏层。游戏场景可以包含若干个层,层的适用可以更容易的控制游戏。比如,游戏背景单独做一个layer,这样和游戏人物layer就不会冲突,也更易于管理。

    • CCSprite:精灵。游戏人物,道具等都可以是精灵。

    正如电影一样,游戏也要每隔一段时间刷新界面,通常在Layer中通过Update方法来控制其中的CCSprite对象刷新。Layer往往通过protocol和delegate的方式来控制CCSprite的状态变化。protocol的设计要点是减少Layer和Sprite之间的耦合,这样方便Sprite的增减以及提高Sprite的复用性。而CCSprite的状态修改一般是通过状态机的变化来修正,可以设定在不同状态下做什么样的操作,显示什么样的动画,以及在什么情况下Sprite进入另一状态。

    以上就是个人理解的cocos2d开发游戏的框架结构,Scene,Layer和Sprite应该是三大主角。另外,Layer中往往会使用SpriteBatchNode来添加Sprite,这是为了节省内存以及更快的渲染。其中的机理足以写成长篇大论,这里先掠过,以后待好好学习后再写心得。

    接下来就是各种Sprite的设计了,不得不说Sprite的设计过程是理解并实践面向对象的绝好体验。就书中的例子而言,很好的抽象出了人物,敌人和物品(道具)模型。道理和市面上的书中所讲差不多,但是还是要多实践才能体会。

    另外前6章中还涉及到的重要概念有:

    • CCSpriteBatchNode:资源文件的创建以及对应ipad,iphone,iphone retina等资源的文件命名法则。

    • 动画:添加动画的方法,设计好动画并制成plist文件供程序读取调用

    • 碰撞检测: 这里不涉及物理模型如刚体之类,主要还是指检测sprite的位置。这里需要注意要将Sprite附近的空白区域去掉,来获得相对精确的结果。

    • 文本:添加文本来帮助调试,以及创建字体资源文件供程序使用。

    有不正确的地方,请大家多多批评指正。

  • 相关阅读:
    Java POI 导出EXCEL经典实现 Java导出Excel
    Sublime Text 3 相关
    phonegap 4.2 环境搭建 及 项目创建 运行
    Js 简单分页(一)
    VC调试闪退解决办法
    查找一个数中1的个数
    居中详解
    解决ajax跨域请求 (总结)
    js实现css3的过渡,需要注意的一点(浏览器优化)
    reflow和repaint(摘录自张鑫旭的翻译)
  • 原文地址:https://www.cnblogs.com/scorpiozj/p/2556510.html
Copyright © 2011-2022 走看看