2012-03-14 18 views
7

Bir hareketli grafiğin tam boyutuna ölçeklendirilmesi için en iyi teknik hangisidir? Ölçek özelliği bir çarpandır, ancak bir grafiğin tam olarak X piksel genişliğinde olmasını istiyorsanız, basit bir teknik var mı? Ya da, gerekli contentsize gerekli scale işleminin hesaplanması için istenen büyüklük ve sprite gerçek kullanımı gerektirir?Ölçeğin tam boyutuna ölçeklenebilir CCSprite

+0

Açıkçası, hep Öneriniz (scaleX ve scaleY'yi hesaplamak) uyarınca yeltendiğimi, başka bir cevap aramıyor. Bu soruyu favori olarak ekleyeceğim, bilim adamlarının cevap olarak nasıl araştırdıklarını görün. – YvesLeBorg

+1

Ölçek çarpanını yeni boyut ve geçerli boyut kullanarak hesaplamak, gitmek için tek yoldur (veya bunun için her zaman bir yöntem oluşturabilirsiniz) çünkü cocos2d, "scaleX" ve "scaleY" değerlerini "glScalef" openGL işlevine gönderir; hareketli grafiğin çizilme zamanı. – Lukman

cevap

19

umarım bu işe inanıyoruz:

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

oyununuzda koy ve bunun gibi kullanın:

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

Bu iki özelliği kullanabilirsiniz: scaleX ve scaleY. Örneğin, , bir HP Çubuğunda kullanın.

hpBarSprite.scaleX = hpCurrent/hpMax;

+0

Sanırım max/current demek istiyorsun, değil mi? – johnbakers

+0

Bir çubuk için, 1.0 (% 1.0) olduğundan, ((1.0/maks) * akım) olmalıdır. – Voldemort

İlgili konular