当前位置: 首页 > news >正文

网站建设找工作宁波网络营销怎么做

网站建设找工作,宁波网络营销怎么做,网页制作与网站建设 在线作业,论述简述网站制作的步骤地球人己阻止不了程序猿们学习cocos2d-x了-学习笔记04 笨木头花心贡献,啥?花心?不呢,是用心~转载请注明,原文地址:http://blog.csdn.net/musicvs/article/details/8135705 正文: 教程地址&#…

地球人己阻止不了程序猿们学习cocos2d-x了-学习笔记04

笨木头花心贡献,啥?花心?不呢,是用心~

转载请注明,原文地址
http://blog.csdn.net/musicvs/article/details/8135705

正文:

教程地址:http://cn.cocos2d-x.org/bbs/forum.php?mod=viewthread&tid=979&extra=page%3D1

这篇教程太可恶了,一下子塞了好多知识啊喂,我都还没有吸收完,说说我吸收的部分吧。

1.每一帧都想做操作?

有时候,我们需要在每一帧的时候都做一些操作,比如判断碰撞什么的,那么,CCNode就拥有这个功能。

只要是继承了CCNode的类都拥有update方法,update方法会在游戏的每一帧都调用一次,前提是,我们的类加入到了场景中,并且调用了这个方法:scheduleUpdate()

这样,update方法就会每一帧都被调用,在里面尽情做操作吧。

#ifndef __SIMPLE_MOVE_CONTROLLER_H__
#define __SIMPLE_MOVE_CONTROLLER_H__#include "Controller.h"/************************************************************************/
/* 简单移动控制器
/* 只会往左移动 
/************************************************************************/
class SimpleMoveController : public Controller {
public:virtual void update(float dt);virtual bool init();static SimpleMoveController* create();void setiXSpeed(int iXSpeed);
private:int iXSpeed;    /* X方向移动速度*/
};#endif

bool SimpleMoveController::init()
{bool bRet = false;do {this->scheduleUpdate();bRet = true;} while (0);return bRet;
}
void SimpleMoveController::update( float dt )
{if(this->listener) {this->listener->updatePosition(dt, iXSpeed, 0.0f);this->listener->hideIfDead();}
}

2.播放音乐

这个游戏不可缺少的呢,cocos2d-x已经封装好了,我们要调用很简单:

/*1.播放音乐有两种,一种是长时间播放的背景音乐,一种是瞬间播放的效果音乐2.播放音乐之前需要预先加载音乐,调用preload*方法即可3.播放背景音乐调用playBackgroundMusic,停止的话调用stopBackgroundMusic4.播放效果音乐调用playEffect,不需要主动停止*/
CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadBackgroundMusic(MUSI_BACKGROUND);CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadEffect(MUSI_LASER);CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic(MUSI_BACKGROUND);CocosDenshion::SimpleAudioEngine::sharedEngine()->stopBackgroundMusic(true);CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect(MUSI_LASER);


3.数组还是list

Java里的ArrayList用得好舒服,不过在cocos2d-x 2.x版本里好像已经没有类似这样的功能了。换成了CCArray,这个也是列表的功能,但是已经没有了类型限制了,什么类型都能放进去,自己小心点就是了。

用法很简单:

/* 创建怪物*/
CCArray *mMonsterArray = CCArray::createWithCapacity(MAX_NUM);
mMonsterArray->retain();
Monster* mMonster = NULL;
for(int i = 0; i < MAX_NUM; i++) {mMonster = Monster::createWithBatchNode(batchNode);mMonsterArray->addObject(mMonster);
}


createWithCapacity的方式创建CCArray,就是指定了这个列表有多大。

至于retain,大概的意思是,CCArray会在使用后立即被释放,而不是等我们主动释放,也就是说,我们的函数结束了,CCArray对象也结束了。调用了retain之后,CCArray就不会自己释放,而是等我们主动释放,我们可以等到析构函数执行时再释放。不然我们在游戏过程中就操作不了数组了。

然后,怎么遍历CCArraycocos2d-x也已经写好了:

CCObject* obj = NULL;
CCARRAY_FOREACH(mMonsterArray, obj) {
Monster* mMonster = (Monster*) obj;
}


不多说了,我也只会用而已,这个CCARRAY_FOREACH是一个宏,大概的操作就是从数组的第一个指针到最后一个指针的for循环。

4.再论update方法

Update方法几乎不可或缺了,这里有一点想提醒一下,我在写这个游戏Demo的过程中,总是发现对象的update方法没有被调用,原因是,我的这个对象没有加入到场景中。

所以,自己建的类对象,千万不要忘记加入到场景中。

在代码中多次出现只有CCSpriteBatchNode对象,没有CCLayer对象的情况下,怎么把我的对象添加到layer场景呢?很简单,CCSpriteBatchNode对象有一个getParent方法,用这个方法就可以获得CCLayer对象了,然后addChild,搞定。

5.关于释放资源

释放资源当然也很重要,在这篇教程中,我了解到:

1. 使用CC_SAFE_RELEASE释放CCArray对象

2. 使用CC_SAFE_DELETE释放普通指针对象

3. 普通对象调用autoRelease方法会自动回收对象

我仅限于了解,也许要在以后开发过程中碰到这些问题才能深刻理解吧。

大概就这么多了,还有很多游戏开发的思想在这个小游戏中也体现出来了,对于我这种开发游戏不多的人,很受益。

6.说说这个小游戏的大概思想流程

我自己按照教程写了一个,比教程的要简陋一些,下载地址:http://download.csdn.net/detail/musicvs/4709955

http://www.lbrq.cn/news/2425897.html

相关文章:

  • 网站备案怎么弄中山谷歌推广
  • 郑州机械网站制作网络公司推广公司
  • 自定义wordpress后台企业网站设计优化公司
  • 企业站网络推广名风seo软件
  • 高唐网站建设服务商广州最新疫情情况
  • 自学java 做网站 多久小程序开发费用一览表
  • php 新闻网站开发最近热点新闻事件2023
  • 免费建网站哪个模板多百度关键词检测工具
  • 阿里云1m服务器可以搭建网站各种手艺培训班
  • 网投网站建设编程培训机构
  • 凡科建站怎么绑定自己的域名石家庄seo优化公司
  • 河南微网站开发长沙百度网站推广
  • 互联网公司排名2014老鬼seo
  • 企业建设网站注意事项全网网络营销推广
  • 网站开发保密协议范本下载整站seo服务
  • 网站百度排名网站多少钱
  • h5手机网站怎么做中国四大软件外包公司
  • 深圳网页开发郑州seo外包顾问
  • 盐城经济技术开发区建设局网站百度怎么发布广告
  • 做网站网络合同免费引流推广方法
  • php 网站 手机版百度推广关键词优化
  • 网站建设空间非企户百度推广
  • 网站设计特点无锡seo公司
  • 宁波网站设计相信荣胜网络现在有什么技能培训班
  • 做ppt高手 一定要常去这八个网站seo整站网站推广优化排名
  • 网站开发需要投入多少时间seo关键词排名优化评价
  • flash网站规划品牌推广的具体方法
  • 房产网站怎么做异地楼盘如何进行网站的宣传和推广
  • 喀什百度做网站多少钱百度产品优化排名软件
  • 宁波高端网站建设推广个人网站设计欣赏
  • MySQL:表的增删查改
  • 复制docker根目录遇到的权限问题
  • 文娱投资的逆势突破:博派资本的文化旅游综合体战略
  • TypeScript 中替代 Interface 的方案
  • 在服务器无网络的环境下安装 VS Code Remote-SSH 组件
  • 【算法300题】:双指针