• Cocos2d实现简单动画

    最近实在很忙,没有时间写整篇文章,就分享一下一些简单的实例吧。

    首先介绍一篇博客文章:cocos2d HOWTO系列之:如何创建帧动画。我初学cocos2d时就发现这篇文章,不过里面的一些内容已经过时了,所以自己又写了一个动画的例子。

    我把要点说一下:

    1. 制作动画需要的一系列动画图片(比如png文件)。要制作动画png,可根据上面介绍的文章使用Adobe Flash将fla转换为png。也可以使用一些免费软件,将swf转换为png。这里有一些软件:SpriteSheetCreator,SWFSheet,SWFToPNG。大家可以网上搜索一下。
    2. 生成png动画系列后,要将其整合成一个png(也就是所谓的sprite sheet)。这里使用的软件就是Zwoptex。使用此软件生成一个png和一个plist,plist记录了每个sprite的x,y,高,宽数据。Cocos2d支持Zwoptex生成的plist格式。不过遗憾的是最近Zwoptex开始收费了。这里提供以前的一个版本,也可以满足我们的要求。Zwoptex-0.4b10.app下载
    3. 我的程序就是播放一个电扇的动画,按一下就进行动画,再按一下动画就停止。我是修改了HelloWorld程序,添加了一个Object类进行动画处理。唯一要说明的是addSpriteFramesWithFile中要使用的路径是相对路径,我开始一直遇到问题就是因为使用了绝对路径。

    源代码下载

     
  • cocos2d-iphone 0.99.5 Xcode 静态库模板

    最近一个项目需要用到opengles,由于实在没有时间无法完成自己的引擎,因此开始对cocos2d-iphone引擎进行了研究。经过研究发现一个问题,其模板生成的项目每次都会把整个cocos2d的源代码拷贝进新项目中,这样每次cocos2d-iphone进行更新时都会带来麻烦,而且如果多个项目使用cocos2d-iphone,非常的不方便。我在网上搜索了一下,发现了了这个网站,介绍了怎样将cocos2d-iphone编译成静态库的方法,与我的想法不谋而合。不过该网站中的模板只适用于0.99.4,于是我修改了一下,让其可以运行于0.99.5。下面是主要步骤:

    1. 下载cocos2d-iphone 0.99.5 template模板。

    2. 解压到/$HOME/Library/Application Support/Developer/Shared/Xcode下

    3. 下载cocos2d-iphone 0.99.5,解压到你想要的地方。

    3. 在Xcode Preferences中找到Source Tree,输入新变量COCOS2D_SOURCE,让其指向cocos2d-iphone 0.99.5的源代码处。

    这样,下次你打开Xcode,你就可以使用我的模板创建cocos2d项目了(注意不要安装随cocos2d-iphone下载的模板),以后每次cocos2d-iphone进行更新,你仅仅需要修改COCOS2D_SOURCE变量(当然前提是cocos2d-iphone的编程接口没有改变)。

     
  • Cocos 2d基本概念

    开发cocos2d程序前有必要对一些基本概念进行介绍:


    • 场景(Scenes)
    • 主控器(Director)
    • 层(Layers)
    • 精灵(Sprites)



    读文章 »

     
  • 跨平台游戏引擎开发实录之一 – 设计文档

    我目前正在开发一个跨平台游戏引擎,我准备将整个开发过程通过博客记录下来。欢迎各位朋友提出宝贵意见。


    下面是我的设计文档初稿。


    项目名称

    Portable Game Engine (PGE )


    目标

    • 跨平台,希望能支持Windows,Linux,Mac OSX,iPhone,WinCE, Android, Blackberry, Symbian phone 等
    • 简单,尽量简化编程接口
    • 2D和3D
    • 组件可选,以减小目标代码
    • 支持Unicode


    组件

    • 核心:游戏主循环,线程,垃圾收集,插件等
    • 图形系统(采用OpenGL或OpenGL ES):图像(纹理),动画,字体
    • 声音系统(采用OpenAL):音效,音乐,乐器
    • 资源管理器:压缩/解压,加密/解密
    • 输入:键盘,鼠标及触摸屏(重力感应)
    • 网络:Tcp/ip,Http, UDP
    • GUI(用户接口):菜单,文本,按钮,列表框,下拉框,选择框
    • 游戏AI
    • 游戏Physics


    开发按阶段进行。第一阶段开发Windows下的OpenGL 2D引擎,然后移植到iPhone下。

     
  • iPhone游戏编程教程之四-游戏简单音频

    本教程系列的最后一讲将介绍怎样为你的游戏加上声音。由于这是针对初学者的教程,所以我不会讨论复杂的音频技术,如OpenGL和Audio Queue。今天的主题是播放一段短的声音(少于30秒)。如果你不要求任何背景音乐,这将是最容易的播放音频的方式了。这种方式的缺点是一次只能播放一个音频文件。好,我们开始吧……先从上次教程的代码开始。我们今天将使用两种声音,一个是击打球的声音,另一个是得分的声音。

     

    读文章 »

     
  • OpenGL ES系列之0 – 建立Xcode项目

    为iPhone建立一个OpenGL ES的Xcode项目是很容易的事,特别是在苹果公司的SDK发布时引入了模板的概念后。我们所需要做的只是在适当的地方快速而简单的加入代码。这就是我们今天的主题。

    读文章 »

     
  • iPhone游戏编程教程之三- 启动画面

    今天,我将介绍怎样为你的程序加一些“铃和哨”(注:指一些附加的花哨的东西)是你的游戏显得更完整。首先,我们为游戏增加一个启动页面。

    读文章 »

     
  • iPhone游戏编程教程之二-用户互动,简单AI,游戏逻辑

    今天,我将讨论玩家互动,简单的游戏AI即游戏逻辑。还将探讨一下简单的碰撞检测以便检测到什么时候球碰到球拍。根据大家要求,我还会在教程最后加入一些“挑战”以改进一些更高级的创意。首先打开第一部分的代码…

    读文章 »

     
  • iPhone游戏编程教程之一

    这是此系列教程的第一部分,我将从最基本开始教大家怎样编写一个iPhone游戏。众所周知,OpenGL和Quartz的学习不是那么简单的。本教程将简化开发的过程而不会使用这两种技术。我们将使用UIImageView作为图像部分。

     

    在此教程系列中,我将教大家有关iPhone游戏编程的方方面面。游戏包括图形,音效,游戏逻辑以及简单的电脑AI。

    读文章 »