Cocos2dx系列笔记4:怎样新加一个Scene类?

有点晚了,眼睛开始痒痒了,赶紧记录点东西

刚请教了sw同学,跟听D也扯了会,苦命的孩子,今晚他们游戏发新版,前端必须加班,骨头好是羡慕。。。


前几个笔记的例子都是zai一个Scene.cpp里完成的,想新加一个,结果老报找不到类。

解决方法:

把新加的类从 prog.win32中拷贝到classes中,然后项目里倒入现有项,ok!


新加了一个菜单页,打算放几个menu


图片资源可以从cocos2dx的demo里搜

CCSize vSize=CCDirector::sharedDirector()->getVisibleSize();
	CCPoint origin=CCDirector::sharedDirector()->getVisibleOrigin();

	CCLabelTTF *label=CCLabelTTF::create("LazyGame","Arial",33);
	label->setPosition(ccp(vSize.width/2,vSize.height-label->getContentSize().height));
	this->addChild(label);

	CCMenuItemImage* item1 = CCMenuItemImage::create("btn-play-normal.png", "btn-play-selected.png", this, menu_selector(Welcome::menuCallback));
	CCMenuItemImage* item2 = CCMenuItemImage::create("btn-highscores-normal.png", "btn-highscores-selected.png", this, menu_selector(Welcome::menuCallbackHighScores) );
	CCMenuItemImage* item3 = CCMenuItemImage::create("btn-about-normal.png", "btn-about-selected.png", this, menu_selector(Welcome::menuCallbackAbout) );

	item1->setPosition(ccp(vSize.width/2,vSize.height-item1->getContentSize().height*3));
	item2->setPosition(ccp(vSize.width/2,vSize.height-item1->getContentSize().height*5));
	item3->setPosition(ccp(vSize.width/2,vSize.height-item1->getContentSize().height*7));

	item1->setScaleX( 2.0f );
	item2->setScaleX( 2.0f );
	item3->setScaleX( 2.0f );

	CCMenu* pMenu = CCMenu::create(item1,item2,item3, NULL);
	pMenu->setPosition(CCPointZero);
	this->addChild(pMenu); 

以上是加入label,MenuItemImage图片按钮的例子,setScaleX:设置缩放。

然后在h文件里声明一个void menuCallback(CCObject* pSender);按钮事件处理类,里面写跳转逻辑:

void Welcome::menuCallback(CCObject* pSender)
{
	CCDirector* pDirector = CCDirector::sharedDirector();
	CCScene *pScene = HelloWorld::scene();
	pDirector->replaceScene(pScene);
}

ok,多个Scene就是这么切换的。上一张霰弹图:自己创造幽灵,然后被自己的霰弹弄死!骨头是有多无聊啊!


要睡了。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值