当前位置:网站首页>Cocos2d Lua smaller and smaller sample memory game
Cocos2d Lua smaller and smaller sample memory game
2022-07-06 18:25:00 【Full stack programmer webmaster】
Hello everyone , I meet you again , I'm the king of the whole stack .
1. Introduction to the game
One ” memory ” Class game . You fight against the computer , Whose turn is it , Who turns two cards , Suppose two cards are the same . Just eliminate these two cards , have to 2 branch , Can continue to flip , Suppose two cards are different , Just another person . Until the last . Look who scores high .
Game design ideas can be seen in this article 《Cocos2d Game state machine 》
2. Lua Simple object oriented
We know Lua It's script language , Not really an object-oriented language . But object-oriented seems to make the code structure more reasonable .Javascript, Lua Can simulate object-oriented .Lua There are many ways to realize object orientation , Of course, there is no introduction here .
Simply look at inheritance Sprite Writing . Copy official .
MatchCard = class("Match",function (spriteFrameName, value)
MatchCard.value = value //-- attribute
return cc.Sprite:createWithSpriteFrameName("MatchCardBg.png")
end)
MatchCard.test= true //-- attribute
//-- One way
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 An object , Of course, this is the same as c++ The kind of different
local card = MatchCard.new()
//-- Calling method
card:containsTouchLocation()
3.Cocos Code Ide establish Lua project
My game uses Cocos Code Ide Created . Fairly smooth .API Refer to Lua-Tests That's all. .
The overall is the same . I haven't played yet Quick cocos2d-x.
4.cocos2d lua Use feeling
Use Cocos2d-x Of C++ Programming is the most comfortable , Even though C++ Grammar is hard to write . But I don't easy Encounter very strange Bug. The compilation speed is too slow , It's hard to cooperate with the planner . image Js, and Lua, You have defined some writing methods . Planning can also be written directly Js and Lua,C++ No way. . also Cocos2d-x C++ Can use the latest version number , transplant Android and IOS No problem .
also Cocos2d-x C++ I feel I can write high-quality code . also VS2012 Very easy to use .
Lua,JS It's all script language , It is used to develop games very fast .
There is no need to compile . Just get used to it C++ That kind of disciplined object-oriented , Write Lua,JS Object orientation is always weird .Debug Sometimes relative C++ Relatively difficult .cocos2d JS Or use it WebStorm Writing is cool .Cocos Code Ide Follow VS2012 and WebStorm There is still a gap , Some aspects are integrated Cocos Game framework for , So some aspects are easier to use .
5. Dynamic diagram and project source code download
I am right. Lua Less use , I feel the writing is poor , Too many global variables . Project download address :
exe Can directly execute in /runtime/win32/MatchGame.exe, I won't support it XP,Win7 Should be able to .
http://www.waitingfy.com/archives/1289
Copyright notice : This article is an original blog article , Blog , Without consent , Shall not be reproduced .
Publisher : Full stack programmer stack length , Reprint please indicate the source :https://javaforall.cn/117397.html Link to the original text :https://javaforall.cn
边栏推荐
- CSRF vulnerability analysis
- F200 - UAV equipped with domestic open source flight control system based on Model Design
- Common - magic number 7
- Transport layer congestion control - slow start and congestion avoidance, fast retransmission, fast recovery
- 测试123
- 2022 Summer Project Training (I)
- 容器里用systemctl运行服务报错:Failed to get D-Bus connection: Operation not permitted(解决方法)
- 用友OA漏洞学习——NCFindWeb 目录遍历漏洞
- STM32+HC05串口蓝牙设计简易的蓝牙音箱
- 2019 Alibaba cluster dataset Usage Summary
猜你喜欢
[.Net core] solution to error reporting due to too long request length
简单易用的PDF转SVG程序
Jerry's access to additional information on the dial [article]
Docker安装Redis
Ms-tct: INRIA & SBU proposed a multi-scale time transformer for motion detection. The effect is SOTA! Open source! (CVPR2022)...
Rb157-asemi rectifier bridge RB157
【.NET CORE】 请求长度过长报错解决方案
关于这次通信故障,我想多说几句…
模板于泛型编程之declval
Shangsilicon Valley JUC high concurrency programming learning notes (3) multi thread lock
随机推荐
Virtual machine VirtualBox and vagrant installation
阿里云国际版ECS云服务器无法登录宝塔面板控制台
Reprint: defect detection technology of industrial components based on deep learning
Declval of template in generic programming
Grafana 9.0 is officially released! It's the strongest!
287. Find duplicates
容器里用systemctl运行服务报错:Failed to get D-Bus connection: Operation not permitted(解决方法)
Self-supervised Heterogeneous Graph Neural Network with Co-contrastive Learning 论文阅读
On time and parameter selection of asemi rectifier bridge db207
2022/02/12
Windows连接Linux上安装的Redis
C语言自动预订飞机票问题
win10系统下插入U盘有声音提示却不显示盘符
Jerry's watch deletes the existing dial file [chapter]
Distiller les connaissances du modèle interactif! L'Université de technologie de Chine & meituan propose Virt, qui a à la fois l'efficacité du modèle à deux tours et la performance du modèle interacti
Shangsilicon Valley JUC high concurrency programming learning notes (3) multi thread lock
declval(指导函数返回值范例)
MS-TCT:Inria&SBU提出用于动作检测的多尺度时间Transformer,效果SOTA!已开源!(CVPR2022)...
Jielizhi obtains the currently used dial information [chapter]
UDP协议:因性善而简单,难免碰到“城会玩”