cocos2d python文档_为什么针对python的cocos2d教程那么少啊,还有关于cocos2d和pygame的一些疑问?...

几年前刚刚初学python的时候, 也在pygame, panda3D, 和cocos2d-python之间犹豫过.

多年以后, 自己实际上也没走上游戏这个行业, 但是现在看这样的问题顿时觉得轻松很多. 偶尔需要用python写一些桌面上的类游戏的效果, cocos2d-python版本成为我的(玩票)首选. 当然如果你是以游戏开发作为终身事业, 或者希望在游戏公司找一份工作, 那么你应该换一种学习路径...

首先是pygame, panda3d这样的框架和cocos2d-python的比较: 第一大小, cocos2d-python的文件大概1.4M, 依赖的pyglet大概6M(解压缩以后). 这点绝对是panda3d这样的大家伙搞不定的, pygame, 压缩包大概1.4M, 另外还有一大堆依赖包, 比如pysdl...

其实这里面还有更加深刻的差别. pygame的设计和实现在2000年左右, cocos2d则出现在2008年. 从技术上, pygame依赖的是pyopengl这样的库, 而cocos2d则依赖pyglet.

传统的pyopengl这样的库用的是什么做法. 一般来说, 就是将原来C语言的dll编译成适合python调用的模块(也是dll/so的形式), 所以如果你用pip或者通过源码安装pyopengl这样的库的时候, 往往需要调用gcc, 需要安装好python-dev, 需要opengl-dev, 最后生成给你一个只能在python中import的dll.

pyglet为什么不同呢? 因为在它被写出来的前几年, python世界里面有一个叫ctypes的东东出现了, 不久居然被python2.5收入了标准库, 变成了可以被直接import的东西. 通过这样一个神奇的标准库, 在python中可以直接打开dll文件调用其中的函数...

于是, pyglet这个库, 它全部是用python语言写了一套opengl的包装. 事实上你根本不用安装gcc编译器就能安装好pyglet这个库. 更直接的说, 从网上下载下来解压缩, 把包copy到你的项目中即可.

cocos2d-python, 也是纯python写的, 没有任何binary... 这意味着, 你写一个游戏, 然后将cocos和pyglet放在同一个目录下面, 接下来, 只要是装有python2.7的mac/linux/windows, 都可以直接跑起来. 这就是干净...

说完了技术上的维度, 我们再来谈谈理念上的

pygame和cocos2d都有sprite的概念, 但是使用方便性上是不一样的. pygame里面基本上就是一个层, 所有的操作, 比如旋转, 缩放, 都需要引入transform来处理. 而cocos2d的layer已经能够直接旋转, 缩放了.

接下来, 在cocos2d里面, 层出不穷的action让我们感受到了无与伦比的方便. 各种action组合, 比如一边移动一边旋转, 这才是现代的游戏framework.

我个人以为, 很多东西都是相通的, 如果你是cocos2d-python的程序员, 只要这些理念上理解了, 应该不妨碍做iphone或者html5去写程序. 估计就是换成flash或者sprite kit, 一样很快上手.

所以, 作为一个偶尔用用的游戏框架票友, 我最近真的用cocos2d-python写了一些桌面上的东东.

关于文档少的问题, 确实cocos2d-python被冷落好久了, 因为cocos2d-x什么都包含, 包括各种desktop. 但是我看了看框架代码和游戏的example, 基本上很快摸索出来了.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值