天天看點

cocos 2dx 3.12 學習筆記(二) Sprite

在我們的場景中建立精靈

auto visibleSize = Director::getInstance()->getVisibleSize();//得到場景的大小
	Vec2 origin = Director::getInstance()->getVisibleOrigin();//得到場景的原點
	
	//auto size = this->getContentSize();
	//<span style="font-family: Arial, Helvetica, sans-serif;">傳回場景,矩形的邏輯尺寸</span>
	//float x = 0;
	//float y = 0;

	//x = size.width / 2;
	//y = size.height / 2;
	
	
	m_pTestSprite = Sprite::create("HelloWorld.png");   //在 .h檔案中已經對m_pTestSprite進行了聲明,如果未聲明則如下聲明即可。
           
<span style="white-space:pre">	</span>//auto m_pTestSprite = Sprite::create("HelloWorld.png");
           
m_pTestSprite->setPosition(Vec2(visibleSize.width/2 + origin.x,  visibleSize.height/2 + origin.y));//使用setPosition将精靈放到場景中間
	//m_pTestSprite->setPosition(Vec2(x, y));
	//使用邏輯尺寸設定 Sprite的位置
	this->addChild(m_pTestSprite); //添加到目前場景
           

代碼中提供了兩種,把精靈建立在螢幕中間的辦法,第一種是利用場景的原點和場景的大小,使用SetPosition()方法,放置到創景中間。

我們也可以使用 getContentSize()方法,傳回矩形尺寸,然後将精靈建立在螢幕中間。

對精靈的屬性進行設定

sprite02->setScaleX(1.5f); //使精靈的X方向變為1.5倍
	sprite->setScale(0.5f);//使精靈的整體尺寸變為0.5倍
	sprite02->setNormalizedPosition(Vec2(0.1f,0.8f)); //設定精靈的Normal位置

           
sprite->setSkewX(100.0f); //X軸斜切
	sprite->setSkewY(50.0f);  //Y軸斜切

           
sprite->setAnchorPoint(Vec2(1.0f,1.0f));   //設定精靈的錨點,預設左下角為ZERO 1.0,1.0,為右上角
	visible sprite->setVisible(false); //visible 隐藏單個元件

           
sprite->setRotation(180.0f);  //按中心旋轉
	sprite->setRotationX(50.0f);  //按X軸旋轉
	sprite->setRotationY(50.0f);  //按Y軸旋轉
	sprite->setRotation3D(Vec3(-10.0f,50.0f,60.0f));   //3D旋轉


           
sprite->setColor(Color3B(255,0,0));// Color4B(r,g,b,a); //設定精靈顔色,3B是三個顔色,4B是則包含有透明度。
	auto pBlcakSprite = Sprite::create("black.png"); 
	auto pWhiteSprite = Sprite::create("white.png");
	this->addChild(pBlcakSprite,20);
	this->addChild(pWhiteSprite,20);
	pBlcakSprite->setPosition(Vec2(250,150));
	pWhiteSprite->setPosition(Vec2(250, 200));
	pBlcakSprite->setColor(Color3B(255, 255, 0));
	pWhiteSprite->setColor(Color3B(255, 0, 255));
	//黑色無法設定顔色,白色可以設定。
           

繼續閱讀