cocos2d-x 3.2 |如何实现一个贪吃蛇游戏
前情提要:今天我们来实现一个简单版的贪吃蛇游戏,利用这些经典的游戏上手cocos2d最好不过了。
忽略:本章忽略菜单、按钮、跳转、帮助等功能、主要实现贪吃蛇逻辑与效果
第一步:新建Game类,定义贪吃蛇主要功能与方法 Game.h如下:
#include <stdio.h>
#include "cocos2d.h"
USING_NS_CC;
using namespace ui;
//枚举定义蛇运动方向
enum class SNAKE_DIR
{
DIR_UP,
DIR_LEFT,
DIR_RIGHT,
DIR_DOWN
};
class SNode:public Node
{
public:
LayerColor * sprite;//纹理
int px,py;//坐标
SNAKE_DIR dir;//方向
CREATE_FUNC(SNode);
bool init();//初始化
void setColor(Color3B color);//颜色
void moveTo(int x,int y);//位移到
};
class GameScene:public Layer
{
public:
SNode * snakeHead;//蛇头
SNode *food;//食物
Vector<SNode *> allBody;//身体
int mapx;
int mapy;
CREATE_FUNC(GameScene);
bool init();
static Scene * createScene();
void gameLogc(float t);//逻辑
virtual bool onTouchBegan(Touch *touch, Event *unused_event);//触摸
};
第二步:实现Game类的方法 Game.cpp如下:
#include "Game.h"
Scene * GameScene::createScene(){