cocos2dX UI控件之CCSprite

昨天我們不是說了我們可以把CCLabelAtlas/CCLabelbmFont裏面的字符作爲一個精靈來使用, 心急的朋友一定很着急精靈是什麼吧, 我們今天就來看看cocos2dX裏面的精靈對象CCSprite, 額, 不着急, 說精靈之前我們還得說一個東西, 錨點( 旁白: 錨點, 好熟悉啊)


淺談一下錨點的概念:

首先, 在一張圖片上, 我們看見不止一個點, 如果我們要把圖片加入到CCLayer, 並設定它的位置, 我們該以哪裏作爲參照點呢? 左上? 右上? 中間?...我們可以明確的知道我們是要使用哪一個位置作爲參照點, 但是計算機不知道, 他是個聰明的傻瓜( 旁白: 你纔是個傻瓜, 大呆瓜), 只會我們告訴它的, 它纔會知道, 我們沒有告訴它的, 嘿嘿, 你懂得, 所以, 爲了告訴計算機我們要使用哪裏作爲參考點, 錨點的概念就來了, 我們來看看下面這張圖


如果我們直接把這張圖加到CCLayer裏面, 設置座標點爲(0, 0), 會出現這樣的效果


爲什麼會是這樣呢, 因爲在cocos2dX裏面, CCSprite默認的錨點位置在圖片的中點(0.5, 0.5)處, 我們把圖片的中點設置在屏幕的左下角, 所以就只有1/4的圖片能顯示出來, 還有3/4的圖片都超出了屏幕的範圍, 如果我們把錨點設置爲(0, 0), 然後再把圖片設置在屏幕的左下角, 整個圖片就可以在屏幕的左下角顯示, 現在理解錨點的意思了吧(旁白: 早就理解了)

好, 有了這個基礎, 我們再來看精靈(CCSprite)

還是先準備點圖片作爲精靈對象


用法:

CCSprite::create( "文件地址");

CCSprite::create( 文件地址", CCRect( 左上角X, 左上角Y, 右下角X, 右下角Y)); //CCRec的作用是創建一個矩形

CCSprite* sp1 = CCSprite::create( "1.png");			//創建一個精靈對象
	sp1->setPosition( ccp( 0, 0));						//設置座標爲(0, 0)
	addChild( sp1, 1, 1);								//添加到當前圖層

	CCSprite* sp2 = CCSprite::create( "2.png");
	sp2->setAnchorPoint( ccp( 0, 0));					//設置錨點座標爲(0, 0)
	sp2->setPosition( ccp( 0, 0));
	addChild( sp2, 0, 100);

	CCSprite* sp3 = CCSprite::create( "HelloWorld.png", CCRect( 120, 120, 200, 200));
	sp3->setPosition( ccp( visibleSize.width / 2, visibleSize.height / 2));
	addChild( sp3);

我們來看看效果:


看見左下角沒有? 黑色的方塊就是我們的圖片一哦, 只顯示了1/4, 而白色的圖片二我們全部顯示了, 因爲我們設定錨點爲位置爲(0, 0)了, 大家都明白了吧( 旁白: 還用你說)



好了, 我們精靈的創建就講完了, 期待下一課吧, action動作, 稍後送到....大笑



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章