Cocos2d Lua 越来越小样本 内存游戏
1.游戏简介
一个"记忆"类的比赛游戏。你和电脑对战,轮到谁的回合,谁翻两张牌,假设两张牌一样。就消掉这两张牌,得2分,能够继续翻牌,假设两张牌不一样,就换一个人。直到最后。看谁的得分高。
游戏设计思想能够看这篇文章《Cocos2d 游戏状态机》
2. Lua 简单面向对象
我们知道Lua是脚本语言,不是真正面向对象语言。可是面向对象好像能让代码结构更加合理。Javascript, Lua都能够模拟出面向对象。Lua面向对象还有超多种方式实现,这里当然不一一介绍。
简单来看个继承Sprite的写法。抄官方的。
MatchCard = class("Match",function (spriteFrameName, value)
MatchCard.value = value //--属性
return cc.Sprite:createWithSpriteFrameName("MatchCardBg.png")
end)
MatchCard.test= true //--属性
//--一个方法
function MatchCard:containsTouchLocation(x,y)
local position = cc.p(self:getPosition())
local s = self:getContentSize()
local touchRect = cc.rect(-s.width / 2 + position.x, -s.height / 2 + position.y, s.width, s.height)
local b = cc.rectContainsPoint(touchRect,cc.p(x,y))
return b
end
//--new 一个对象,当然这跟c++的那种不一样的
local card = MatchCard.new()
//--调用方法
card:containsTouchLocation()
3.Cocos Code Ide 创建Lua项目
我这游戏是用Cocos Code Ide 创建的。还算顺利。API參考Lua-Tests即可了。
总体是一样的。还没玩过Quick cocos2d-x。
4.cocos2d lua 使用感受
使用Cocos2d-x的C++编程感觉是最舒服的,尽管C++语法有写难。但不easy遇到非常奇怪的Bug。就是编译速度太慢了,跟策划不好合作。像Js,和Lua,你定义好一些写法。策划直接也能够写Js和Lua,C++就不行了。还有Cocos2d-x C++ 能用上最新版本号,移植Android和IOS没什么问题。
还有Cocos2d-x C++感觉能写出较高质量的代码。还有VS2012非常好用。
Lua,JS都是脚本语言,用来开发游戏速度快非常多。
不须要编译。就是习惯了C++那种条条框框的面向对象后,写Lua,JS的面向对象总怪怪的。Debug有时候相对C++比較困难。cocos2d JS还是用WebStorm编写比較爽。Cocos Code Ide 跟VS2012和WebStorm还有差距,某些方面由于是集成Cocos的游戏框架,所以某些方面比較好用。
5.动态图以及项目源代码下载
我对Lua使用比較少,感觉写的比較差,太多全局变量。项目下载地址:
attachment_id=1291
exe能够直接执行在/runtime/win32/MatchGame.exe,不支持XP,Win7应该能够。
http://www.waitingfy.com/archives/1289
版权声明:本文博客原创文章,博客,未经同意,不得转载。
Cocos2d Lua 越来越小样本 内存游戏的更多相关文章
- #Cocos2d+lua#android+Eclipse工程编译设置
用Elicpse编译cocos2d+lua的工程几点注意点记录: 1.设置工程属性Windows->Preferences->NDK目录 2.右键Android Tools->Add ...
- 优化cocos2d/x程序的内存使用和程序大小
本站文章均为李华明Himi原创,转载务必在明显处注明:转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2d/1043.html ☞ ...
- 怎样优化cocos2d/x程序的内存使用和程序大小
再次感谢原创者:Steffen Itterheim.原创博客原文地址: http://www.learn-cocos2d.com/2012/11/optimize-memory-usage-bundl ...
- 基于Lua的清除类游戏算法
最近在开发游戏,用Lua语言.习惯了其它的语言,然后对Lua的一些语法很不习惯. 比如table的元素个数的取值,比switch语句等等. 不过没有办法,还是要运用Lua来写游戏的.看来学C++还真的 ...
- [lua] mac上如何编译snapshot(检测Lua中的内存泄露)
最近我们的unity手游频繁闪退,只要进入战斗场景,之后一段时间就会闪退,如果是在unity编辑器中则会报出not enough memory的错误!猜测应该是有内存泄漏: 由于我们使用了tolua, ...
- cocos2d 文件系统使用文件内存映射性能对比
//cocos 修改代码 ..... //性能测试代码 extern "C" { #include <time.h> #include <stdlib.h> ...
- 基于cocos2d开发的android小游戏——採花仙
/*cocos 2d 已经成为了如今移动端游戏开发的强有力的工具,眼下主流游戏中多採用cocos 2d游戏引擎. 我也尝试了一下该引擎.我是用的是cocos2d-android,以后要移植到Cocos ...
- 在Lua里写unity游戏笔记
gameobject.GetComponent<Transform>(); 翻译成Lua: gameObject:GetComponent (luanet.ctype (Transform ...
- 【原】 COCOS2D—LUA 获取剪贴板内容
android下: local luaj = require ("framework.luaj") local ok,ret = luaj.callStaticMethod( ...
随机推荐
- Python的包管理
0.Python的包管理 在刚开始学习Python的时候比较头疼各种包的管理,后来搜到一些Python的包管理工具,比如setuptools, easy_install, pip, distribut ...
- CSDN的SDCC大会(2013)中使用的PPT分享
SDCC大会今天开完个.呵呵~ PPT下载链接在最后面,对内幕不感兴趣的可以直接无视下面的种种啰嗦直接“嗖”到最后. 这里说说这个大会中我的Topic. 此前CSDN向我约了一个主题,我回复说, 我可 ...
- fragment android
在Eoe中看到了 一个关于的 详细讲解,相信对 学Fragment 有帮助 android fragment基础与源码案例: Fragment动画效果 http://www.eoeandroid.co ...
- C++转让Lua
转载请注明出处:http://blog.csdn.net/zhy_cheng/article/details/39756423 我使用的cocos2d-x版本号是2.3.3.先在一个C++projec ...
- 安装好.net framework后运行慢
表现 系统有时运行慢,尤其是.net程序运行得相当慢 mscorsvw.exe与mscorsvw.exe *32两个进程挂在任务管理器里时不时地占着CPU 解决 运行以下两条命令,加快这两进程的运行, ...
- How to import the www.googleapis.com SSL CA certification to the jks store file?
Assumed that you have installed JDK and configured JAVA_HOME for your current operation system. (1) ...
- 【oracle案件】ORA-19502,ORA-27072
1.1.1. ORA-19502,ORA-27072 日期:2014-05-12 00:12 环境:试验机 [错误号] $ oerr ora 19502 19502, 00000, "wri ...
- 【Android进阶】在开发中Application到底用来做什么
首先,在一个Android程序中,有且只有一个Application对象,在程序开始跑起来的时候,首先执行Application的onCreate方法,这是一个Android应用的入口,在开发中,我们 ...
- PL SQLDEVELOPMENT导出数据库脚本
Tools--export Tables--选择表--SQL Inserts-- watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaHprMTU2MjExMD ...
- 我理解设计模式C++实现观察者模式Observer Pattern
概述: 近期中国股市起起伏伏,当然了起伏就用商机,小明发现商机后果断想入市,买入了中国证券,他想在电脑client上,网页上,手机上,iPad上都能够查看到该证券的实时行情,这样的情况下我们应该怎么设 ...