在我們的場景中建立精靈
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));
//黑色無法設定顔色,白色可以設定。