Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/07/2010, 18:05
Avatar de daPhyre
daPhyre
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: [email protected] (Redirects to 127.0.0.1)
Mensajes: 2.404
Antigüedad: 16 años, 8 meses
Puntos: 142
Respuesta: Crear un setRotation desde el centro

Después de un largo rato, llegué con una solución. Quizá no sea la más óptima, pero funciona. Me gustaría saber si alguno de ustedes conoce una forma mejor de hacerlo:

Código PHP:
public function getRotation(spr:Sprite):Number
{
    var 
m:Matrix spr.transform.matrix;
    return 
Math.atan2(m.bm.a)/(Math.PI/180);
}

public function 
setRotation(spr:Spriteangle:Number):void
{
    
addRotation(spr, -Math.round(getRotation()));
    
addRotation(sprangle);
}

public function 
addRotation(spr:Spriteangle:Number):void
{
    var 
p:Point = new Point(spr.width/2spr.height/2);
    var 
m:Matrix = new Matrix();
    
m.translate(-p.x, -p.y);
    
m.rotate (angle * (Math.PI/180));
    
m.translate(p.xp.y);
    
m.concat(spr.transform.matrix);
    
spr.transform.matrix m;

__________________
<signs>daPhyre</signs>
Jugaa.me


Adios al dolor de cabeza de IE...