当前位置:网站首页>Cocos2d Lua 越来越小样本 内存游戏
Cocos2d Lua 越来越小样本 内存游戏
2022-07-06 10:19:00 【全栈程序员站长】
大家好,又见面了,我是全栈君。
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使用比較少,感觉写的比較差,太多全局变量。项目下载地址:
exe能够直接执行在/runtime/win32/MatchGame.exe,不支持XP,Win7应该能够。
http://www.waitingfy.com/archives/1289
版权声明:本文博客原创文章,博客,未经同意,不得转载。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117397.html原文链接:https://javaforall.cn
边栏推荐
- Prophet模型的简介以及案例分析
- Reprint: defect detection technology of industrial components based on deep learning
- 2022 Summer Project Training (III)
- 【Swoole系列2.1】先把Swoole跑起来
- 推荐好用的后台管理脚手架,人人开源
- STM32+ESP8266+MQTT协议连接OneNet物联网平台
- SQL优化问题的简述
- Ms-tct: INRIA & SBU proposed a multi-scale time transformer for motion detection. The effect is SOTA! Open source! (CVPR2022)...
- 1700C - Helping the Nature
- Distill knowledge from the interaction model! China University of science and Technology & meituan proposed virt, which combines the efficiency of the two tower model and the performance of the intera
猜你喜欢
微信为什么使用 SQLite 保存聊天记录?
【Android】Kotlin代码编写规范化文档
简单易用的PDF转SVG程序
Implementation of queue
关于这次通信故障,我想多说几句…
On time and parameter selection of asemi rectifier bridge db207
Why does wechat use SQLite to save chat records?
第三季百度网盘AI大赛盛夏来袭,寻找热爱AI的你!
Open source and safe "song of ice and fire"
What is the reason why the video cannot be played normally after the easycvr access device turns on the audio?
随机推荐
转载:基于深度学习的工业品组件缺陷检测技术
SAP Fiori 应用索引大全工具和 SAP Fiori Tools 的使用介绍
2022暑期项目实训(三)
RB157-ASEMI整流桥RB157
Excellent open source fonts for programmers
Jerry is the custom background specified by the currently used dial enable [chapter]
MarkDown语法——更好地写博客
Markdown grammar - better blogging
Insert dial file of Jerry's watch [chapter]
2022 Summer Project Training (I)
78 year old professor Huake has been chasing dreams for 40 years, and the domestic database reaches dreams to sprint for IPO
Windows连接Linux上安装的Redis
最新财报发布+天猫618双榜第一,耐克蓄力领跑下个50年
Jerry's watch deletes the existing dial file [chapter]
C语言自动预订飞机票问题
30 分钟看懂 PCA 主成分分析
Fleet tutorial 13 basic introduction to listview's most commonly used scroll controls (tutorial includes source code)
Why does wechat use SQLite to save chat records?
队列的实现
TCP packet sticking problem