#include "GameLayer.h"
#include "Hero.h"
#include "Computer.h"
#include "Egg.h"
#include "SceneManager.h"
#include "SimpleAudioEngine.h"
using namespace cocos2d;
GameLayer::GameLayer()
:m_pTiledMap(NULL),
m_pSpriteNodes(NULL),
m_pHero(NULL),
m_pEggs(NULL),
m_pComputer(NULL)
{
}
GameLayer::~GameLayer()
{
this->unscheduleUpdate();
CC_SAFE_RELEASE(m_pEggs);
}
bool GameLayer::init()
{
bool ret = false;
do {
CC_BREAK_IF( !Layer::init());
auto visibleSize = Director::getInstance()->getVisibleSize();
this->m_origin = Director::getInstance()->getVisibleOrigin();
this->m_fScreenWidth = visibleSize.width;
this->m_fScreenHeight = visibleSize.height;
m_pCloseItem = MenuItemImage::create("CloseNormal2.png", "CloseSelected2.png", CC_CALLBACK_1(GameLayer::exitApp, this));
m_pCloseItem->setPosition(this->m_origin + Point(visibleSize) - Point(m_pCloseItem->getContentSize() / 2));
auto menu = Menu::create(m_pCloseItem, NULL);
menu->setPosition(Point::ZERO);
this->addChild(menu, 2);
//加入背景
Size size = Director::getInstance()->getWinSize();
SpriteFrameCache *cache = SpriteFrameCache::getInstance();
cache->addSpriteFramesWithFile("test5.plist");
cache->addSpriteFramesWithFile("test4.plist");
Sprite* sprite =Sprite::createWithSpriteFrameName("bg1.png");
sprite->setPosition(Point(size.width*0.5,size.height*0.5));
//sprite->setPosition(220,200);
addChild(sprite,1);
Sprite* sprite2 =Sprite::createWithSpriteFrameName("desk2.png");
sprite2->setPosition(Point(size.width*0.5,200));
addChild(sprite2,2);
Sprite* test =Sprite::createWithSpriteFrameName("test.png");
test->setPosition(Point(size.width*0.5+170,380));
addChild(test,2);
Sprite* test2 =Sprite::createWithSpriteFrameName("test2.png");
test2->setPosition(Point(size.width*0.5-150,380));
addChild(test2,2);
//加入显示行列数的panel
Sprite* panel =Sprite::createWithSpriteFrameName("panel.png");
panel->setPosition(size.width*0.5-200,size.height*0.5+120);
addChild(panel,2);
row = Sprite::createWithSpriteFrameName("num11.png");
row->setTag(200);
col = Sprite::createWithSpriteFrameName("num11.png");
col->setTag(201);
addChild(row,2);
addChild(col,2);
//加入按钮
m_pNum1Item = MenuItemImage::create("num11.png", "num12.png", CC_CALLBACK_1(GameLayer::setPanelInfo, this));
m_pNum1Item->setPosition(size.width*0.5 - 320,size.height*0.5);
m_pNum1Item->setTag(101);
m_pNum2Item = MenuItemImage::create("num21.png", "num22.png", CC_CALLBACK_1(GameLayer::setPanelInfo, this));
m_pNum2Item->setPosition(size.width*0.5 - 200,size.height*0.5);
m_pNum2Item->setTag(102);
m_pNum3Item = MenuItemImage::create("num31.png", "num32.png", CC_CALLBACK_1(GameLayer::setPanelInfo, this));
m_pNum3Item->setPosition(size.width*0.5 - 80,size.height*0.5);
m_pNum3Item->setTag(103);
m_pNum4Item = MenuItemImage::create("num41.png", "num42.png", CC_CALLBACK_1(GameLayer::setPanelInfo, this));
m_pNum4Item->setPosition(size.width*0.5+40,size.height*0.5);
m_pNum4Item->setTag(104);
m_pNum5Item = MenuItemImage::create("num51.png", "num52.png", CC_CALLBACK_1(GameLayer::setPanelInfo, this));
m_pNum5Item->setPosition(size.width*0.5+160,size.height*0.5);
m_pNum5Item->setTag(105);
m_pConfirmItem = MenuItemImage::create("sure1.png", "sure2.png", CC_CALLBACK_1(GameLayer::confirm, this));
m_pConfirmItem->setPosition(size.width*0.5+100,size.height*0.5+120);
m_pCancelItem = MenuItemImage::create("canel1.png", "canel2.png", CC_CALLBACK_1(GameLayer::cancel, this));
m_pCancelItem->setPosition(size.width*0.5 +350,size.height*0.5+120);
auto menus = Menu::create(m_pNum1Item,m_pNum2Item,m_pNum3Item,m_pNum4Item,m_pNum5Item,m_pConfirmItem,m_pCancelItem, NULL);
menus->setPosition(Point::ZERO);
menus->setTag(110);
this->addChild(menus,2);
SpriteFrameCache::getInstance()->addSpriteFramesWithFile("test5.plist");
m_pSpriteNodes = SpriteBatchNode::create("test5.pvr.ccz");
this->addChild(m_pSpriteNodes,3);
/*玩家*/
m_pHero = Hero::create();
m_pHero->setPosition(Point(size.width*0.5+50, 200) );
//m_pHero->runIdleAction();
m_pSpriteNodes->addChild(m_pHero,4);
/*电脑*/
m_pComputer = Computer::create();
m_pComputer->setPosition(Point(size.width*0.5-150, 200) );
//m_pComputer->runIdleAction();
m_pSpriteNodes->addChild(m_pComputer,4);
m_pEggs = Array::createWithCapacity(5);
m_pEggs->retain();
for(int i = 0; i < 25; ++ i)
{
this->addEgg(i);
}
/*m_pEgg = Egg::create();
m_pEgg->setPosition(Point(600,100));
m_pEgg->setZOrder(m_fScreenHeight - m_pEgg->getPositionY());
m_pSpriteNodes->addChild(m_pEgg);*/
this->setCookedEgg();
//this->dispearEgg(2);
this->scheduleUpdate();
ret = true;
} while(0);
return ret;
}
void GameLayer::exitApp(Object* pSender)
{
Director::getInstance()->end();
}
void GameLayer::update(float dt)
{
}
void GameLayer::setPanelInfo(Object* pSender)
{
Size size = Director::getInstance()->getWinSize();
if(pSender->isEqual(m_pNum1Item)){
if(row->getTag() == 200){
row = Sprite::createWithSpriteFrameName("num11.png");
row->setPosition(size.width*0.5-280,size.height*0.5+120);
row->setTag(2021);
addChild(row,3);
}else if(col->getTag() == 201){
col = Sprite::createWithSpriteFrameName("num11.png");
col->setPosition(size.width*0.5-140,size.height*0.5+120);
col->setTag(2031);
addChild(col,3);
}
}else if(pSender->isEqual(m_pNum2Item)){
if(row->getTag() == 200){
row = Sprite::createWithSpriteFrameName("num21.png");
row->setPosition(size.width*0.5-280,size.height*0.5+120);
row->setTag(2022);
addChild(row,3);
}else if(col->getTag() == 201){
col = Sprite::createWithSpriteFrameName("num21.png");
col->setPosition(size.width*0.5-140,size.height*0.5+120);
col->setTag(2032);
addChild(col,3);
}
}else if(pSender->isEqual(m_pNum3Item)){
if(row->getTag() == 200){
row = Sprite::createWithSpriteFrameName("num31.png");
row->setPosition(size.width*0.5-280,size.height*0.5+120);
row->setTag(2023);
addChild(row,3);
}else if(col->getTag() == 201){
col = Sprite::createWithSpriteFrameName("num31.png");
col->setPosition(size.width*0.5-140,size.height*0.5+120);
col->setTag(2033);
addChild(col,3);
}
}else if(pSender->isEqual(m_pNum4Item)){
if(row->getTag() == 200){
row = Sprite::createWithSpriteFrameName("num41.png");
row->setPosition(size.width*0.5-280,size.height*0.5+120);
row->setTag(2024);
addChild(row,3);
}else if(col->getTag() == 201){
col = Sprite::createWithSpriteFrameName("num41.png");
col->setPosition(size.width*0.5-140,size.height*0.5+120);
col->setTag(2034);
addChild(col,3);
}
}else if(pSender->isEqual(m_pNum5Item)){
if(row->getTag() == 200){
row = Sprite::createWithSpriteFrameName("num51.png");
row->setPosition(size.width*0.5-280,size.height*0.5+120);
row->setTag(2025);
addChild(row,3);
}else if(col->getTag() == 201){
col = Sprite::createWithSpriteFrameName("num51.png");
col->setPosition(size.width*0.5-140,size.height*0.5+120);
col->setTag(2035);
addChild(col,3);
}
}
}
void GameLayer::confirm(Object* pSender){
if(row->getTag() != 200 && col->getTag() != 201){
dispearEgg((col->getTag() - 2030)+(row->getTag() -2021)*5);
cancel(this);
}
}
void GameLayer::cancel(Object* pSender){
if(row->getTag() == 2021||row->getTag() == 2022||row->getTag() == 2023||row->getTag() == 2024||row->getTag() == 2025){
removeChild(row,true);
}
if(col->getTag() == 2031||col->getTag() == 2032||col->getTag() == 2033||col->getTag() == 2034||col->getTag() == 2035){
removeChild(col,true);
}
row = Sprite::createWithSpriteFrameName("num11.png");
row->setTag(200);
col = Sprite::createWithSpriteFrameName("num11.png");
col->setTag(201);
addChild(row,3);
addChild(col,3);
}
void GameLayer::addEgg(int i)
{
Size winSize = Director::getInstance()->getWinSize();
Point locatio
没有合适的资源?快使用搜索试试~ 我知道了~
基于Cocos2dx 3.0beta2小游戏《砸鸡蛋》,仿韩国综艺
共77个文件
png:25个
h:12个
cpp:12个
4星 · 超过85%的资源 需积分: 13 51 下载量 83 浏览量
2014-05-02
20:38:10
上传
评论
收藏 25.96MB ZIP 举报
温馨提示
基于Cocos2dx 3.0beta2小游戏《砸鸡蛋》,仿韩国综艺,其余的不说!
资源推荐
资源详情
资源评论
收起资源包目录
PuckEgg.zip (77个子文件)
PuckEgg
Resources
panel.png 10KB
pd_sprites.plist 16KB
test3.pvr.ccz.pvr.ccz 270KB
CloseNormal2.png 18KB
canel2.png 22KB
test10.plist 1KB
num42.png 16KB
pd_hit0.caf 14KB
test.pvr.ccz 70KB
retry2.png 11KB
pd_botdeath.caf 24KB
pd_dpad.png 18KB
CloseSelected.png 5KB
sure2.png 22KB
pd_herodeath.wav 58KB
retry1.png 13KB
fonts
Marker Felt.ttf 25KB
CloseNormal.png 6KB
num52.png 16KB
pd_hit1.wav 19KB
test2.plist 29KB
pd_tiles.png 12KB
HelloWorld.png 136KB
test.plist 2KB
pd_hit1.caf 23KB
test5.plist 29KB
num32.png 16KB
num41.png 14KB
test10.pvr.ccz 153KB
num21.png 14KB
pd_tilemap.tmx 1KB
num51.png 14KB
test3.plist 9KB
num31.png 15KB
test4.plist 1KB
latin_industries.aifc 8.97MB
pd_dpad-hd.png 29KB
num11.png 13KB
num12.png 15KB
test5.pvr.ccz 916KB
pd_herodeath.caf 62KB
sure1.png 21KB
canel1.png 21KB
num22.png 15KB
CloseSelected2.png 16KB
pd_sprites.pvr.ccz 45KB
test4.pvr.ccz 1.21MB
test2.pvr.ccz 1.2MB
test11.pvr.ccz 144KB
test11.plist 1KB
pd_hit0.wav 10KB
pd_botdeath.wav 20KB
MyGame3.apk 13.87MB
Classes
GameWinLayer.h 510B
GameScene.cpp 230B
Hero.h 275B
Computer.cpp 1010B
GameLayer.cpp 12KB
SceneManager.cpp 699B
AppDelegate.cpp 1KB
Egg.cpp 404B
GameOverScene.cpp 270B
Hero.cpp 1KB
AppDelegate.h 947B
GameWinScene.cpp 266B
BaseSprite.h 2KB
GameScene.h 146B
GameOverLayer.cpp 2KB
Egg.h 269B
Computer.h 212B
GameOverLayer.h 516B
GameLayer.h 1KB
SceneManager.h 322B
BaseSprite.cpp 3KB
GameWinLayer.cpp 2KB
GameWinScene.h 150B
GameOverScene.h 153B
共 77 条
- 1
资源评论
- Meng_QQ2014-07-05好像是网络的问题吧,下载了不能解压,说是错误
- lzylulu2014-12-23还行,这个东西不坑。可以当参考,有些东西可以借鉴。
kevinkew
- 粉丝: 8
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功