2012-03-14 112 views
7

將精靈縮放到確切尺寸的最佳技術是什麼? scale屬性是一個乘數,但如果你想要一個精靈精確到X像素寬度,是否有一個簡單的技巧?或者,是否需要簡單地使用所需的大小和實際的精靈contentsize來計算必要的scale操作?將CCSprite縮放到精確尺寸

+0

老實說,我一直進行,按您的建議(計算的scaleX和scaleY)不尋找另一個答案。我只是將這個問題作爲最愛加入,看看科學家們作爲答案疏通了什麼。 – YvesLeBorg 2012-03-14 04:11:47

+1

使用新大小和當前大小計算比例乘數是唯一的方法(或者您始終可以爲其創建一個方法),因爲在內部,cocos2d只需將'scaleX'和'scaleY'值發送到'glScalef' openGL函數時是時候繪製精靈了。 – Lukman 2012-03-14 08:30:08

回答

19

我相信這個工程:

-(void)resizeSprite:(CCSprite*)sprite toWidth:(float)width toHeight:(float)height { 
    sprite.scaleX = width/sprite.contentSize.width; 
    sprite.scaleY = height/sprite.contentSize.height; 
} 

把它放在你的遊戲,並使用這樣的:

[self resizeSprite:mySprite toWidth:350 toHeight:400]; 
0

您可以使用這兩個屬性:scaleX和scaleY。例如,在HP Bar中使用 。

hpBarSprite.scaleX = hpCurrent/hpMax;

+0

我認爲你的意思是max/current,對吧? – johnbakers 2012-03-14 03:59:11

+0

對於一個條,它應該是'((1.0/max)* current)',因爲1.0是100%。 – Voldemort 2013-10-09 00:07:37