¿Cuál es la mejor técnica para escalar un sprite a un tamaño exacto. La propiedad de escala es un multiplicador, pero si quieres que un sprite tenga exactamente X píxeles de ancho, ¿hay una técnica simple? O, ¿requeriría simplemente usar el tamaño deseado y los sprites reales contentsize
para calcular la operación necesaria scale
?Escala CCSprite al tamaño exacto
7
A
Respuesta
19
Creo que esto funciona:
-(void)resizeSprite:(CCSprite*)sprite toWidth:(float)width toHeight:(float)height {
sprite.scaleX = width/sprite.contentSize.width;
sprite.scaleY = height/sprite.contentSize.height;
}
ponerlo en su juego, y utilizar así:
[self resizeSprite:mySprite toWidth:350 toHeight:400];
0
Puede usar estas dos propiedades: scaleX y scaleY. por ejemplo, use en una barra de HP.
hpBarSprite.scaleX = hpCurrent/hpMax;
+0
creo que quieres decir max/current, ¿no? – johnbakers
+0
Para una barra, debería ser '((1.0/max) * current)' ya que 1.0 es 100%. – Voldemort
Cuestiones relacionadas
- 1. Cómo obtener el tamaño de CCSprite después de cambiar la escala
- 2. Escala una ecuación para ajustar el ancho de página exacto
- 3. Animación de escala de Android al tamaño especificado
- 4. Escala automática de texto Tamaño
- 5. Escala Tamaño del texto en un TextView
- 6. ¿Cuál es el tamaño exacto de UIModalPresentationFormSheet en iPad
- 7. Escala ImageView al ancho del dispositivo
- 8. Cocos2D: detener/reanudar CCAction en CCSprite
- 9. Moviendo cuerpos Box2d como objetos CCSprite
- 10. HTML escala proporcionalmente para ajustarla exactamente a PDF tamaño A4
- 11. UIImageView: ¿Cambiar el tamaño al tamaño de la imagen?
- 12. CGAffineTransformMakeScale hace que UIView salte al tamaño del original antes de la escala
- 13. ¿Cómo el tamaño de escala relativo de Control de usuario?
- 14. Cómo evitar la escala del iPhone al girar
- 15. ¿Cómo puedo determinar el tamaño exacto del archivo de imagen PE usando su encabezado (s)?
- 16. ¿Cuán exacto es Thread.Sleep (TimeSpan)?
- 17. Animación UIVIew - Escala + Traslación
- 18. Mejores prácticas para manejar toques en un CCSprite con cocos2d
- 19. Java y tamaño de referencia exacto para objetos, matriz y tipos primitivos
- 20. Cambiar el tamaño de la imagen JPEG al tamaño especificado
- 21. Encontrar el nodo exacto C#
- 22. ¿Tiempo exacto entre 2 DateTime?
- 23. ¿Cómo puedo determinar el tamaño exacto de un tipo utilizado por pitón
- 24. ¿Cómo puedo especificar un tamaño de salida exacto para mi gráfico de networkx?
- 25. Cocos2d CCSprite Clase obtener el nombre del archivo de imagen
- 26. Java2D: problemas de escala
- 27. Escala de valores en PHP
- 28. Cómo aplicar la escala de gráficos y traducir al TextRenderer
- 29. Escala UIImageView para adaptarse al ancho de pantalla
- 30. .NET escala la imagen al dibujar en gráficos
Honestamente, siempre he procedido como por su sugerencia (calcular scaleX y scaleY), no buscando otra respuesta. Añadiré esta pregunta como favorita, veré lo que los científicos buscaron como respuesta. – YvesLeBorg
Cálculo del multiplicador de escala usando tamaño nuevo y tamaño actual es la única manera de hacerlo (o siempre puede crear un método para eso) porque internamente, cocos2d simplemente envía los valores 'scaleX' y' scaleY' a la función 'glScalef' openGL cuando es hora de dibujar el sprite. – Lukman