#include "GameBaseScene.h"
int GameBaseScene::tiledColsCount;
int GameBaseScene::tiledRowsCount;
bool** GameBaseScene::canPassGrid;
Vector<RicherPlayer*> GameBaseScene::players_vector;
Vector<Sprite*> GameBaseScene::pathMarkVector;
TMXLayer* GameBaseScene::landLayer;
TMXLayer* GameBaseScene::wayLayer;
TMXTiledMap* GameBaseScene::_map;
int GameBaseScene::blank_land_tiledID;
int GameBaseScene::strength_30_tiledID;
int GameBaseScene::strength_50_tiledID;
int GameBaseScene::strength_80_tiledID;
int GameBaseScene::randomEvent_tiledID;
int GameBaseScene::lottery_tiledID;
int GameBaseScene::stock_tiledID;
int GameBaseScene::player1_building_1_tiledID;
int GameBaseScene::player1_building_2_tiledID;
int GameBaseScene::player1_building_3_tiledID;
int GameBaseScene::player2_building_1_tiledID;
int GameBaseScene::player2_building_2_tiledID;
int GameBaseScene::player2_building_3_tiledID;
Scene* GameBaseScene::createScene()
{
auto scene = Scene::create();
auto layer = GameBaseScene::create();
scene->addChild(layer);
return scene;
}
bool GameBaseScene::init()
{
if ( !Layer::init() )
{
return false;
}
addMap();
initTiledGrid();
setWayPassToGrid();
addRightBanner();
drawTable(2);
addPathMark();
addPlayer();
addGoButton();
registerNotificationObserver();
addDice();
addDigiteRoundSprite();
refreshRoundDisplay();
initLandLayerFromMap();
initItemSprite();
registerBlockWaySchedule();
initPropTiledID();
initPopDialog();
doSomeForParticle();
initRandomAskEvent();
return true;
}
void GameBaseScene::initItemSprite()
{
item_crab = (Item_crab*)Item::create(ITEM_CRAB);
addChild(item_crab);
item_crab->runAction(RepeatForever::create(item_crab->getNormal_anmi()));
item_crab->setVisible(false);
/*
item_ball = (Item_ball*)Item::create(ITEM_BALL);
addChild(item_ball);
item_ball->runAction(RepeatForever::create(item_ball->getNormal_anmi()));
item_ball->setVisible(false);
FadeOut* fout = FadeOut::create(2.0f);
FadeIn* fin = FadeIn::create(1.0f);
item_ball->runAction(RepeatForever::create(Sequence::create(fout,fin,NULL)));
*/
//item_ball->setScale(0.5);
item_strength_up = (Item_strength_up*)Item::create(ITEM_STRENGTH_UP);
addChild(item_strength_up);
item_strength_up->setVisible(false);
item_strength_up->setAnchorPoint(ccp(0,0.5));
emerg = Item_emergency::create();
addChild(emerg);
emerg->setVisible(false);
fog = Item_fog::create();
addChild(fog);
fog->setVisible(false);
strentcher = Item_stretcher::create();
addChild(strentcher);
strentcher->setVisible(false);
strentcher->setAnchorPoint(ccp(0,0.9));
}
void GameBaseScene::registerBlockWaySchedule()
{
schedule(schedule_selector(GameBaseScene::updateBlockWaySprites),10.0f);
}
void GameBaseScene::updateBlockWaySprites(float dt)
{
int _rand1 = rand()%(wayLayerPass_vector.size());
Vec2 position = wayLayerPass_vector.at(_rand1);
position.x -= 5;
position.y +=tiledHeight;
item_crab->setVisible(true);
item_crab->setPosition(position);
item_crab->setAnchorPoint(ccp(0,0.6));
//int _rand2 = rand()%(wayLayerPass_vector.size());
// Vec2 position2 = wayLayerPass_vector.at(_rand2);
//position2.y +=tiledHeight;
//item_ball->setVisible(true);
//item_ball->setPosition(position2);
//item_ball->setAnchorPoint(ccp(0,0.5));
}
void GameBaseScene::doBlockWayEvent(RicherPlayer* player)
{
if(player->getBoundingBox().containsPoint(item_crab->getPosition()+ccp(item_crab->getContentSize().width/2,-item_crab->getContentSize().height/2)))
{
item_crab->setPosition(ccp(-200,-200));
player->restTimes = rand()%(5) + 1;;
log("doBlockWayEvent intersetcRect");
emerg->setVisible(true);
int distance = tableStartPosition_x-player->getPosition().x;
emerg->setPosition(player->getPosition()+ccp(distance,0));
fog->setVisible(true);
fog->setPosition(player->getPosition());
Repeat* repeate0 = Repeat::create(fog->getNormal_anmi(),2);
fog->runAction(repeate0);
MoveBy* moveBy = MoveBy::create(1.0f,ccp(-distance,0));
MoveBy* moveBy2 = MoveBy::create(0.5f,ccp(-60,0));
Repeat* repeate = Repeat::create(emerg->getCar_go_anmi(),5);
Repeat* repeate2 = Repeat::create(emerg->getCar_stop_anmi(),1);
Sequence* spawnAction = Sequence::create(Spawn::create(moveBy,repeate,NULL),Spawn::create(moveBy2,repeate2,NULL),CallFunc::create(CC_CALLBACK_0(GameBaseScene::endCarGo, this)),NULL);
spawnAction->retain();
emerg->runAction(spawnAction);
if(player->getTag() == PLAYER_1_TAG)
{
scheduleOnce(schedule_selector(GameBaseScene::setPlayer1InVisible),2.5f);
}else if(player->getTag() == PLAYER_2_TAG)
{
scheduleOnce(schedule_selector(GameBaseScene::setPlayer2InVisible),2.5f);
}
CocosToast::createToast(this,String::createWithFormat("%s %d %s",LanguageString::getInstance()->getLanguageString(PLAYER_HURT)->getCString(),player->restTimes,LanguageString::getInstance()->getLanguageString(RICH_DAY)->getCString())->getCString(), TOAST_SHOW_TIME,player->getPosition());
}
else
{
NotificationCenter::getInstance()->postNotification(MSG_HANDLE_PROP_EVENT,String::createWithFormat("%d",MSG_HANDLE_PROP_EVENT_TAG));
}
}
void GameBaseScene::setPlayer1InVisible(float dt)
{
player1->setVisible(false);
fog->setVisible(false);
}
void GameBaseScene::setPlayer2InVisible(float dt)
{
player2->setVisible(false);
fog->setVisible(false);
}
void GameBaseScene::endCarGo()
{
strentcher->setVisible(true);
strentcher->setPosition(emerg->getPosition());
MoveBy* moveBy = MoveBy::create(0.5f,ccp(60,0));
ScaleBy* scaleBy = ScaleBy::create(0.5f,0.8);
Repeat* repeate = Repeat::create(strentcher->getStretcher_empty_anmi(),1);
ScaleBy* scaleBy2 = ScaleBy::create(0.5f,1.25);
MoveBy* moveBy2 = MoveBy::create(0.5f,ccp(-60,0));
Repeat* repeate2 = Repeat::create(strentcher->getStretcher_full_anmi(),1);
Sequence* spawnAction = Sequence::create(Spawn::create(moveBy,scaleBy,repeate,NULL),Spawn::create(moveBy2,scaleBy2,repeate2,NULL),CallFunc::create(CC_CALLBACK_0(GameBaseScene::startCarGoAgain, this)),NULL);
spawnAction->retain();
strentcher->runAction(spawnAction);
}
void GameBaseScene::startCarGoAgain()
{
strentcher->setVisible(false);
int distance = emerg->getPositionX();
MoveBy* moveBy = MoveBy::create(1.0f,ccp(-distance,0));
Repeat* repeate = Repeat::create(emerg->getCar_go_anmi(),5);
Sequence* spawnAction = Sequence::create(Spawn::create(moveBy,repeate,NULL),CallFunc::create(CC_CALLBACK_0(GameBaseScene::endCarGoLast, this)),NULL);
spawnAction->retain();
emerg->runAction(spawnAction);
}
void GameBaseScene::endCarGoLast()
{
emerg->setVisible(false);
NotificationCenter::getInstance()->postNotification(MSG_PICKONE_TOGO,String::createWithFormat("%d",MSG_PICKONE_TOGO_TAG));
}
void GameBaseScene::initRandomAskEvent()
{
randomAskEventMap.insert(TAX_REBATES_TAG,LanguageString::getInstance()->getLanguageString(TAX_REBATES));
randomAskEventMap.insert(PAY_TAXES_TAG,LanguageString::getInstance()->getLanguageString(PAY_TAXES));
randomAskEventMap.insert(LOSS_STRENGTH_TAG,LanguageString::getInstance()->getLanguageString(LOSS_STRENGTH));
randomAskEventMap.insert(PHYSICAL_RECOVERY_TAG,LanguageString::getInstance()->getLanguageString(PHYSICAL_RECOVERY));
randomAskEventMap.insert(INVESTMENT_DIVIDENDS_TAG,LanguageString::getInstance()->getLanguageString(INVESTMENT_DIVIDENDS));
randomAskEventMap.insert(INVESTMENT_LOSS_TAG,LanguageString::getInstance()->getLanguageString(INVESTMENT_LOSS));
}
void GameBaseScene::doSomeForParticle()
{
landFadeOut = FadeOut::create(0.1);
landFadeIn = FadeIn::create(0.1);
landFadeOut->retain();
landFadeIn->retain();
scaleby1ForBuyLand = ScaleBy::create(0.1, 1.5);
scaleby2ForBuyLand = ScaleBy::create(0.5, 0.7);
没有合适的资源?快使用搜索试试~ 我知道了~
Cocos2d-x 3.2 大富翁游戏项目开发-第二十一部分捡到积分卡恢复体力
共111个文件
png:53个
h:21个
cpp:19个
4星 · 超过85%的资源 需积分: 17 50 下载量 50 浏览量
2015-01-18
00:18:41
上传
评论
收藏 2.72MB RAR 举报
温馨提示
Cocos2d-x 3.2 大富翁游戏项目开发-第二十一部分 捡到积分卡 恢复体力
资源推荐
资源详情
资源评论
收起资源包目录
Cocos2d-x 3.2 大富翁游戏项目开发-第二十一部分捡到积分卡恢复体力 (111个子文件)
GameBaseScene.cpp 43KB
RicherGameController.cpp 11KB
MenuScene.cpp 7KB
PopupLayer.cpp 5KB
RicherPlayer.cpp 5KB
RouteNavigation.cpp 4KB
MapChooseScene.cpp 4KB
CocosToast.cpp 3KB
SplashScene.cpp 3KB
Item_emergency.cpp 3KB
Item_stretcher.cpp 2KB
AppDelegate.cpp 1KB
SeaScene.cpp 1KB
Item_strength_up.cpp 1KB
Item_ball.cpp 1KB
Item_crab.cpp 1KB
Item_fog.cpp 1KB
LanguageString.cpp 979B
Item.cpp 495B
GameBaseScene.h 5KB
ConstUtil.h 5KB
RicherPlayer.h 2KB
Util.h 2KB
PopupLayer.h 1KB
RicherGameController.h 1KB
MapChooseScene.h 1KB
MenuScene.h 1KB
AppDelegate.h 947B
Item_emergency.h 831B
RouteNavigation.h 718B
SplashScene.h 697B
Item_stretcher.h 621B
CocosToast.h 600B
Item_strength_up.h 434B
Item_fog.h 420B
Item_ball.h 399B
Item_crab.h 399B
SeaScene.h 361B
LanguageString.h 357B
Item.h 315B
circle.plist 9KB
player2_anim.plist 8KB
player1_anim.plist 8KB
strength_up.plist 7KB
ball_light.plist 6KB
digital_round.plist 5KB
stretcher_empty.plist 4KB
stretcher.plist 4KB
fog.plist 4KB
dice.plist 3KB
fire.plist 3KB
showClick.plist 3KB
car.plist 2KB
crab.plist 2KB
string_zh.plist 2KB
string_en.plist 1KB
stage_background2.png 579KB
sea.png 549KB
sea_item.png 235KB
circle.png 199KB
beach_item.png 195KB
menuLogo.png 135KB
moon_item.png 130KB
fog.png 76KB
stretcher.png 64KB
stretcher_empty.png 57KB
right_banner.png 53KB
car.png 49KB
ball_light.png 46KB
player1_anim.png 44KB
strength_up.png 44KB
player2_anim.png 40KB
rainbow.png 37KB
digital_round.png 15KB
crab.png 11KB
go_press.png 11KB
go_normal.png 10KB
ji.png 9KB
mai.png 9KB
ke.png 9KB
cheng.png 8KB
player2.png 7KB
player1.png 7KB
plane.png 6KB
press_menu.png 6KB
normal_menu.png 6KB
circleParticle.png 5KB
showClick.png 5KB
dialog_bg.png 5KB
mark3.png 5KB
mark2.png 5KB
dice.png 5KB
mark6.png 5KB
mark5.png 5KB
mark4.png 4KB
heart1.png 4KB
foot1.png 4KB
starfish1.png 4KB
heart2.png 4KB
mark1.png 4KB
共 111 条
- 1
- 2
资源评论
- zhouyige12015-01-21csdn为毛这么卡
- woxinyongheng3602015-04-18正在努力学习cocos框架,对学习游戏编程有帮助。
lideguo1979
- 粉丝: 148
- 资源: 77
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功