cocos2d-x学习笔记 c3
来源:互联网 发布:网络术语 编辑:程序博客网 时间:2024/05/16 23:46
1.多分辨率支持
CCSize screenSize = CCEGLView::sharedOpenGLView()->getFrameSize();CCEGLView::sharedOpenGLView()->setDesignResolutionSize(768, 1024, kResolutionExactFit);if (screenSize.width > 768) {CCFileUtils::sharedFileUtils()->addSearchPath("hd");pDirector->setContentScaleFactor(2);} else {CCFileUtils::sharedFileUtils()->addSearchPath("sd");pDirector->setContentScaleFactor(1);}
2. 音乐文件预读
SimpleAudioEngine::sharedEngine()->preloadEffect( CCFileUtils::sharedFileUtils()->fullPathForFilename("hit.wav").c_str() );
3. 继承自sprite的类, 为什么不用CREATE_FUNC
#define CREATE_FUNC(__TYPE__) \static __TYPE__* create() \{ \ __TYPE__ *pRet = new __TYPE__(); \ if (pRet && pRet->init()) \ { \ pRet->autorelease(); \ return pRet; \ } \ else \ { \ delete pRet; \ pRet = NULL; \ return NULL; \ } \}
4. 处理触摸事件的正确姿势
void GameLayer::ccTouchesBegan( CCSet *pTouches, CCEvent *pEvent ) {CCSetIterator i;CCTouch* touch;CCPoint tap;GameSprite * player;for( i = pTouches->begin(); i != pTouches->end(); i++) {touch = (CCTouch*) (*i);if(touch) {tap = touch->getLocation();for (int p = 0; p < 2; p++) {player = (GameSprite *) _players->objectAtIndex(p);if (player->boundingBox().containsPoint(tap)) {player->setTouch(touch);}}}}}
5. 对每帧操作
this->schedule(schedule_selector(GameLayer::update));
void GameLayer::update (float dt){}
6. 播放一下声音
SimpleAudioEngine::sharedEngine()->playEffect("hit.wav");
7. 显示TTF字符
char score_buffer[10];if (player == 1) {_player1Score++;sprintf(score_buffer,"%i", _player1Score);_player1ScoreLabel->setString(score_buffer);_ball->setNextPosition(ccp(_screenSize.width * 0.5, _screenSize.height * 0.5 + 2 * _ball->radius()));} else {_player2Score++;sprintf(score_buffer,"%i", _player2Score);_player2ScoreLabel->setString(score_buffer);_ball->setNextPosition(ccp(_screenSize.width * 0.5, _screenSize.height * 0.5 - 2 * _ball->radius()));}
8. 内存操作规则
addchild进来的就不用管
像_players这样我想单独管理的,
_players = CCArray::create(_player1, _player2, NULL); _players->retain();
需要单独retain()一次
所在的类析构时候
GameLayer::~GameLayer(void ) { CC_SAFE_RELEASE(_players);}
0 0
- cocos2d-x学习笔记 c3
- Cocos2d-x 学习笔记
- Cocos2d-x学习笔记
- Cocos2d-x学习笔记
- Cocos2d-x学习笔记
- cocos2d-x学习笔记
- cocos2d-x学习笔记
- cocos2d-x 学习笔记
- cocos2d-x 学习笔记
- cocos2d-x学习笔记
- Cocos2d-x 学习笔记
- Cocos2d-x 学习笔记
- cocos2d-x学习笔记
- cocos2d-x学习笔记
- cocos2d-x学习笔记
- cocos2d-x学习笔记!
- cocos2d-x学习笔记
- cocos2d-x 学习笔记
- OpenGL 法线贴图 切线空间 整理
- 学习VC++时经常会遇到链接错误LNK2001
- google breakpad使用心得
- 电影类型【film type】
- uboot bootcmd 和bootargs参数详解
- cocos2d-x学习笔记 c3
- sqli注入原理浅析
- 第三章续:O(n)复杂度算法
- 关于SIGBUS的总结
- java编译执行
- Android SQLite数据库 笔记
- Arduino系列教程-019 8x8点阵实验
- 普及
- Word2013中公式应用的若干问题