写一下我对植物大战僵尸设计模式的理解

原创 2013年12月02日 22:33:27

今晚,弄到现在,几番想砸键盘以后,却让我做出来了;是什么呢?我看看能不能解释清楚吧;

我们不是建立了一个主游戏层吗?它有多个子层这些之层分散在主游戏层得周围;可以看作周围多个点 围绕着中间一个点;

现在的问题是怎么在这些子层之间建立联系,比如我接下来要讲的  每个葵花植物成熟后金币要加上相应的值,对吧,但是葵花精灵和金币不在同一个层 ,你在葵花所在那个层里面怎么实现金币的运算;

浪费了很长时间,老是错,错的让人心烦;不过在22:30我找到了解决方案:

给大家看下部分代码:完整的代码我明天会写;今晚恐怕写不了了。。好困!

void SunCellLayer::initSunCell(float dt)
{
       this->_sunCellSprite = SunCellSprite::create();
	   this->_sunBatchNode->addChild(this->_sunCellSprite);
	   CCSize winsize = CCDirector::sharedDirector()->getWinSize();
	   this->_sunCellSprite->setPosition(ccp(3*winsize.width/4 * rand()/RAND_MAX + 1*winsize.width/5,winsize.height+this->_sunCellSprite->getContentSize().height));
	   this->SunCellMoveWay();

}

void SunCellLayer::SunCellMoveWay()
{
	CCSize winSize = CCDirector::sharedDirector()->getWinSize();
	CCFiniteTimeAction* sunCellMove1 = CCMoveTo::create(4.0f,ccp(this->_sunCellSprite->getPosition().x,1* winSize.height/4 *rand()/RAND_MAX + 2*winSize.height/5));
	CCFiniteTimeAction* sunCellMove2 = CCMoveTo::create(0.5f,ccp(2*winSize.width/7, 8*winSize.height/9));
	this->_sunCellSprite->runAction(CCSequence::create(sunCellMove1,sunCellMove2,CCCallFuncN::create(this,callfuncN_selector(SunCellLayer::removeSunCell)),NULL));
}

void SunCellLayer::removeSunCell(CCNode* pSend)
{
	CCSprite* sprite = (CCSprite*) pSend;
	this->_sunBatchNode->removeChild(sprite,true);
	((GameLayer*)this->getParent())->_dollarDisplayLayer->_dollar = ((GameLayer*)this->getParent())->_dollarDisplayLayer->_dollar +25;//就是这里
	
}
先这样吧明天在解释

“植物大战僵尸”开发者传授十大设计技巧

编者按:本文转载自游戏帮,原作者Tom Curtis。 PopCap热门策略游戏《植物大战僵尸》罕见地完成了一项使命——成功地将休闲玩家引进这种一般只有硬核群体才会感兴趣的游戏。该游戏开发者Geor...

《植物大战僵尸》开发者:10点设计技巧

文/Tom Curtis PopCap热门策略游戏《植物大战僵尸》罕见地完成了一项使命——成功地将休闲玩家引进这种一般只有硬核群体才会感兴趣的游戏。该游戏开发者George Fan在2012年GDC...

用纯C语言写的一个植物大战僵尸的外挂

转载请注明来源:http://www.cnblogs.com/xuesongshu/ 这个外挂主要用来帮助鼠标点击的。最近很忙,代码注释我以后会慢慢补充进来。请多多指点。 1 #inclu...

用Python和Pygame写游戏-从入门到精通(实战三:植物大战僵尸1)

用Python和Pygame写游戏-从入门到精通(实战三:植物大战僵尸1) 我们终于把pygame的方方面面都说了一遍,也经过了两个小游戏的洗礼,如果您真的好好学习了每一部分并自动动手演练过,那...

零基础ios开发(五 深入理解继承—植物大战僵尸 )

今天,带大家比较深入的学习理解一下继承的概念,并体会一下继承给大家编写程序带来的方便。 首先,建立一个继承于UIimageView的僵尸父类,如下图:  为了让僵尸能够实现移动的效果,僵尸...

html5写的简单的连连看(植物大战僵尸版)

接下来又学习了html5,其实主要练习的是html5的canvas,下面是用基于html5的canvas标签写的连连看游戏。 var cwidth=120;//画布的宽 var cheig...

javascript 写植物大战僵尸(一)

几天前,哥去银行办信用卡,填职业这块,我想了半天,不想写"java程序员",最后打个擦边球"软件工程师" 。做程序员都快二年了,越来越没有自豪感。今天还看了360上天天向上的专场,都是70后,结婚的才...

植物大战僵尸类模版设计

  • 2012年10月28日 16:09
  • 134KB
  • 下载

ios植物大战僵尸设计

  • 2013年04月22日 17:53
  • 467KB
  • 下载

bzoj1565【NOI2009】植物大战僵尸

最大权闭合子图+拓扑排序
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:写一下我对植物大战僵尸设计模式的理解
举报原因:
原因补充:

(最多只允许输入30个字)