资源简介
cocos2dx实现的简单贪吃蛇游戏,包含代码和资源

代码片段和文件信息
#include “Snake.h“
const int KWidth = 18;
const int KHeight = 10;
const int KEggSize = 50;
Scene* Snake::createScene()
{
auto scene = Scene::create();
scene->addChild(Snake::create());
return scene;
}
Snake::Snake() : m_curDir(EDirR) m_dt(0.5f)
{
}
Snake::~Snake()
{
}
bool Snake::init()
{
if(!layer::init())
{
return false;
}
auto listener = EventListenerTouchOneByOne::create();
listener->setSwallowTouches(true);
listener->onTouchBegan = CC_CALLBACK_2(Snake::onTouchBegan this);
listener->onTouchMoved = CC_CALLBACK_2(Snake::onTouchMoved this);
listener->onTouchEnded = CC_CALLBACK_2(Snake::onTouchEnded this);
_eventDispatcher->addEventListenerWithSceneGraphPriority(listener this);
initUI();
initMap();
initSnake();
initEgg();
schedule(schedule_selector(Snake::step) m_dt);
return true;
}
bool Snake::onTouchBegan(Touch* touche Event* event)
{
_beganPos = touche->getLocation();
return true;
}
void Snake::onTouchMoved(Touch* touche Event* event)
{
_movePos = touche->getLocation();
}
void Snake::onTouchEnded(Touch* touche Event* event)
{
_endPos = touche->getLocation();
}
void Snake::initUI()
{
auto winsize = Director::getInstance()->getWinSize();
auto drawNode = DrawNode::create();
addChild(drawNode);
Vec2 point[4];
point[0] = Vec2(118 70);
point[1] = Vec2(winsize.width - 118 70);
point[2] = Vec2(winsize.width - 118 winsize.height - 70);
point[3] = Vec2(118 winsize.height - 70);
drawNode->drawPolygon(point 4 Color4F(1 0 0 0) 3 Color4F(1 0 0 1));
auto button = Button::create(“test/btn_l.png“);
button->setPosition(Vec2(59 winsize.height * 2 / 5));
button->setTag(ETagBtnLeft);
button->addClickEventListener(CC_CALLBACK_1(Snake::buttonListener this));
addChild(button);
button = Button::create(“test/btn_r.png“);
button->setPosition(Vec2(winsize.width - 59 winsize.height * 2 / 5));
button->setTag(ETagBtnRight);
button->addClickEventListener(CC_CALLBACK_1(Snake::buttonListener this));
addChild(button);
button = Button::create(“test/btn_t.png“);
button->setPosition(Vec2(59 winsize.height * 3 / 5));
button->setTag(ETagBtnTop);
button->addClickEventListener(CC_CALLBACK_1(Snake::buttonListener this));
addChild(button);
button = Button::create(“test/btn_b.png“);
button->setPosition(Vec2(winsize.width - 59 winsize.height * 3 / 5));
button->setTag(ETagBtnButtom);
button->addClickEventListener(CC_CALLBACK_1(Snake::buttonListener this));
addChild(button);
}
void Snake::initMap()
{
for(int i = 0; i < KWidth; ++i)
{
for(int j = 0; j < KHeight; ++j)
{
m_pos[i][j] = Vec2(118 + KEggSize / 2 + KEggSize * i 70 + KEggSize / 2 + KEggSize * j);
}
}
}
void Snake::buttonListener(Ref* ref)
{
int tag = ((Button*)ref)->getTag();
switch (tag) {
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-07-09 16:45 snake\
文件 6148 2015-07-09 16:46 snake\.DS_Store
目录 0 2015-07-09 16:46 __MACOSX\
目录 0 2015-07-09 16:46 __MACOSX\snake\
文件 120 2015-07-09 16:46 __MACOSX\snake\._.DS_Store
目录 0 2015-07-09 16:44 snake\Classes\
文件 6148 2015-07-09 16:46 snake\Classes\.DS_Store
目录 0 2015-07-09 16:46 __MACOSX\snake\Classes\
文件 120 2015-07-09 16:46 __MACOSX\snake\Classes\._.DS_Store
文件 6548 2015-07-09 16:13 snake\Classes\Snake.cpp
文件 171 2015-07-09 16:13 __MACOSX\snake\Classes\._Snake.cpp
文件 1239 2015-07-09 10:10 snake\Classes\Snake.h
文件 171 2015-07-09 10:10 __MACOSX\snake\Classes\._Snake.h
目录 0 2015-07-09 16:44 snake\Resources\
文件 6148 2015-07-09 16:45 snake\Resources\.DS_Store
目录 0 2015-07-09 16:46 __MACOSX\snake\Resources\
文件 120 2015-07-09 16:45 __MACOSX\snake\Resources\._.DS_Store
文件 1554 2015-06-24 09:26 snake\Resources\btn_b.png
文件 120 2015-06-24 09:26 __MACOSX\snake\Resources\._btn_b.png
文件 1430 2015-06-24 09:27 snake\Resources\btn_l.png
文件 120 2015-06-24 09:27 __MACOSX\snake\Resources\._btn_l.png
文件 1419 2015-06-24 09:24 snake\Resources\btn_r.png
文件 120 2015-06-24 09:24 __MACOSX\snake\Resources\._btn_r.png
文件 1448 2015-06-24 09:27 snake\Resources\btn_t.png
文件 120 2015-06-24 09:27 __MACOSX\snake\Resources\._btn_t.png
文件 1000 2015-06-24 10:07 snake\Resources\egg.png
文件 120 2015-06-24 10:07 __MACOSX\snake\Resources\._egg.png
文件 34467 2015-07-09 16:42 snake\snake.png
文件 172 2015-07-09 16:42 __MACOSX\snake\._snake.png
- 上一篇:一个exe可执行文件的生与死运行原理
- 下一篇:WCAG 2.0实现技巧
相关资源
- 贪吃蛇源代码.fla
- 贪吃蛇游戏设计(汇编语言)
- Scratch 贪吃蛇 素材及代码
- Scratch 贪吃蛇 小游戏源码
- Scratch 好玩的贪吃蛇1.0
- Scratch 贪吃蛇.sb3 小游戏源码
- as3.0贪吃蛇源码 实现了基本功能
- unity3d制作贪吃蛇
- OpenGL 3D贪吃蛇程序,很小
- 桌面图标贪吃蛇游戏
- appinventor超简易贪吃蛇源码.rar
- stm32 贪吃蛇
- cocos-creator贪吃蛇
- 汇编贪吃蛇masm版本
- 贪吃蛇Verilog
- 基于VHDL的贪吃蛇小游戏
- STM32+lcd12864串行方式显示贪吃蛇代码
- 安卓贪吃蛇游戏开发源代码及开发文
- 贪吃蛇游戏的FPGA实现课程设计报告—
- 贪吃蛇.zip
- VERILOG语言编写的贪吃蛇小游戏
- 基于STM32的贪吃蛇
- VC做的贪吃蛇
- 用Verilog编写的贪吃蛇游戏
- QT4.8做的五彩贪吃蛇游戏
- 12864液晶带字库+不带字库+51单片机贪
- 基于qt实现的贪吃蛇游戏
- 安卓贪吃蛇小游戏
- 基于ARM STM32F429的红外遥控贪吃蛇游戏
- 智能寻路贪吃蛇 AI
评论
共有 条评论