资源简介
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实现技巧
相关资源
- 疯狂桌面贪吃蛇-源代码
- 贪吃蛇-代码-uml设计
- 5110LCD与89c52做出来的贪吃蛇程序工程
- 贪吃蛇1.0.zip
- Vs2013+cocos2dx贪吃蛇
- 用QT自己写的贪吃蛇源代码
- 数据结构课程设计之贪吃蛇源代码
- 贪吃蛇汇编程序
- iOS贪吃蛇_应用
- 基于VHDL语言的贪吃蛇设计
- 贪吃蛇-汇编语言开发
- labview写的贪吃蛇游戏
- stm32贪吃蛇游戏程序原子开发板上写的
- 微信小程序贪吃蛇
- 贪吃蛇程序课程设计报告
- 联机贪吃蛇
- opengl下的贪吃蛇
- DirectX简单的贪吃蛇.rar
- C51单片机点阵贪吃蛇代码16*16点阵和
- 高级贪吃蛇
- qt做一个贪吃蛇小游戏
- 安卓贪吃蛇小游戏初学者
- labview贪吃蛇
- zw_贪吃蛇游戏毕业论文地址.zip
- TI的msp430f5529在12864液晶上通过四个按
- 微信小程序小游戏-贪吃蛇demo
- 简易贪吃蛇
- STM32F407贪吃蛇游戏程序
- 一个数据结构的内部排序加一个贪吃
- 3d贪吃蛇游戏
评论
共有 条评论