cocos2d-x入门笔记(一)

cocos2d-x入门笔记(一),第1张

概述学了好久的cocos感觉自己对cocos还是一窍不通,现在回头看看以前写的测试,发现一些最基础的东西,在刚开始的时候被自己有意或无意的屏蔽了,现在做下总结。 Cocos2d-x版本: 2.2.5 VS版本:VS2013 用python建立的项目。 项目资源如下图: 1.在每个项目中都会有几个库,这几个库如下图: 其中对各个库的解释为: 1。libBox2D:物理引擎库 2.libchipmunk:

学了好久的cocos感觉自己对cocos还是一窍不通,现在回头看看以前写的测试,发现一些最基础的东西,在刚开始的时候被自己有意或无意的屏蔽了,现在做下总结。

Cocos2d-x版本: 2.2.5

VS版本:VS2013

用python建立的项目。

项目资源如下图:



1.在每个项目中都会有几个库,这几个库如下图:


其中对各个库的解释为:

1。libBox2D:物理引擎库

2.libchipmunk:同样是物理引擎库

3.libcocos2d:Cocos2d-x基础库,下图可以看出包括哪些内容:

4.libCocosDenshion:声音库:

5.libExtensions:扩展库,同样如下图:


物理引擎库,网上资料很多,不多做介绍。


二、是用各种库的方法:

1.在使用cocos基础库时需要加宏:USING_NS_CC,目的是为了在编写代码的时候省略命名空间cocos2d。

2.在使用声音库的时候需要包含头文件:#include "SimpleAudioEngine.h"和使用声音库命名空间语句:using namespace CocosDenshion;


三、图片放置技巧:

1.将图片放置屏幕的右下角方法:

    CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();    CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();	pCloseItem->setposition(ccp(origin.x + visibleSize.wIDth - pCloseItem->getContentSize().wIDth/2,origin.y + pCloseItem->getContentSize().height/2));



三、创建游戏元素方法:

一、创建精灵方法:

1.CCSprite* create(const char *pszfilename);

pszfilename:图片名称

说明:通过图片的名称直接创建一个精灵


2.CCSprite* create(const char *pszfilename,const CCRect& rect);

pszfilename:图片名称

CCRect& rect:设置图片的显示区域

说明:通过图片的名称直接创建一个精灵,并且设置显示区域(图片左上角为原点)


3.CCSprite* createWithTexture(CCTexture2D *pTexture);

pTexture:2D纹理贴图

说明:通过2D纹理的方式创建精灵


4.CCSprite* createWithTexture(CCTexture2D *pTexture,const CCRect& rect);

pTexture:2D纹理贴图

CCRect& rect:设置显示图片的区域

说明:通过2D纹理图片创建精灵,并设置显示区域


5.CCSprite* createWithSpriteFrame(CCSpriteFrame *pSpriteFrame);

pSpriteFrame:图片缓存帧

说明:通过图片缓存帧的方式创建精灵


6.CCSprite* createWithSpriteFramename(const char *pszSpriteFramename);

pszSpriteFramename:图片缓存帧的名称

说明:通过缓存帧名称的方式创建精灵


测试代码:

CCSize size = CCDirector::sharedDirector()->getVisibleSize();	//通过图片的名称直接创建一个精灵	CCSprite *sq1 = CCSprite::create("icon.png");	//设置精灵位置	sq1->setposition(ccp(size.wIDth * 0.2,size.height * 0.7));	//添加精灵至图层	this->addChild(sq1,1);	//通过图片的名称直接创建一个精灵,并且设置显示区域(图片左上角为原点)	CCSprite *sq2 = CCSprite::create("icon.png",CCRect(28,28,29,29));	//设置精灵位置	sq2->setposition(ccp(size.wIDth * 0.4,size.height * 0.7));	//添加精灵至图层	this->addChild(sq2,1);	//通过CCTexture2D创建一个2D纹理贴图	CCTexture2D *texture = CCTextureCache::sharedTextureCache()->addImage("icon.png");	//通过2D纹理的方式创建精灵]	CCSprite *sq3 = CCSprite::createWithTexture(texture);	//设置精灵位置	sq3->setposition(ccp(size.wIDth * 0.6,size.height * 0.7));	//添加精灵至图层	this->addChild(sq3,1);	//通过2D纹理图片创建精灵,并设置显示区域,2D纹理用的是上一个创建的	CCSprite *sq4 = CCSprite::createWithTexture(texture,CCRect(0,40,40));	//设置精灵位置	sq4->setposition(ccp(size.wIDth * 0.8,size.height * 0.7));	//添加精灵至图层	this->addChild(sq4,1);	//通过CCSpriteFrame创建帧缓存	CCSpriteFrame *frame = CCSpriteFrame::create("icon.png",72,72));	//通过图片缓存帧的方式创建精灵	CCSprite *sq5 = CCSprite::createWithSpriteFrame(frame);	//设置精灵位置	sq5->setposition(ccp(size.wIDth * 0.3,size.height * 0.3));	//添加精灵至图层	this->addChild(sq5,1);	//利用图片打包工具生成的pList文件创建图片缓存	CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithfile("img.pList");	//通过缓存帧名称的方式创建精灵	CCSprite *sq6 = CCSprite::createWithSpriteFramename("icon.png");	//设置精灵位置	sq6->setposition(ccp(size.wIDth * 0.7,size.height * 0.3));	//添加精灵至图层	this->addChild(sq6,1);
显示如下图:(从左至右,从上至下)


二、对与字符串对齐一些注意

字符串对齐方式如下:

kCCTextAlignmentleft 左对齐
kCCTextAlignmentCenter 居中
kCCTextAlignmentRight 右对齐

设置对齐方式的时候必须设置字体大小,需要换行用空格代替,如果没有空格默认的是不换行,

测试代码如下:

	CCSize size = CCDirector::sharedDirector()->getVisibleSize();	//字符串对齐方式:	//kCCTextAlignmentleft			左对齐	cclabelBMFont *label1 = cclabelBMFont::create("TestLabelCocos2d-x nihao","Fonts/helvetica-32.fnt",20,kCCTextAlignmentleft);	label1->setposition(ccp(label1->getContentSize().wIDth / 2,size.height - label1->getContentSize().height / 2));	this->addChild(label1,1);
调试如图所示:


不加空格代码如下:

	CCSize size = CCDirector::sharedDirector()->getVisibleSize();	//字符串对齐方式:	//kCCTextAlignmentleft			左对齐	cclabelBMFont *label1 = cclabelBMFont::create("TestLabelCocos2d-x Hello",1);
调试如图:

总结

以上是内存溢出为你收集整理的cocos2d-x入门笔记(一)全部内容,希望文章能够帮你解决cocos2d-x入门笔记(一)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1001718.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存