コード例 #1
0
ファイル: NCSprite.cs プロジェクト: Duccem/Motor_Grafico
 //constructor
 public NCSprite(int pX, int pY, int pAncho, int pAlto, string pImagen,
                 int pCuadros, int pAnimaciones, bool pActivo, bool pVisible,
                 Color pColor, int pID, int pCapa, TiposColisiones pColisiones) :
     base(pX, pY, pAncho, pAlto, pColisiones)
 {
     cuadros         = pCuadros;
     animaciones     = pAnimaciones;
     activo          = pActivo;
     visible         = pVisible;
     capa            = pCapa;
     ordena          = false;
     animacionActual = 0;
     cuadroActual    = 0;
     FH                 = false;
     FV                 = false;
     imagen             = new Bitmap(pImagen);
     typeAnim           = TipoAnmacion.sinAnimacion;
     dirAnim            = DirAnimacion.normal;
     velAnim            = 2;
     contAnim           = 0;
     usarCopia          = false;
     recorridoXc        = 0;
     recorridoYC        = 0;
     recorte            = new Bitmap(ancho, alto);
     isTransparente     = false;
     colorTransparencia = pColor;
 }
コード例 #2
0
ファイル: NCSprite.cs プロジェクト: Duccem/Motor_Grafico
        //Las animaciones pasan por aqui
        public void AvanzaAnimacion()
        {
            //verificamos si es sin animacion
            if (typeAnim == TipoAnmacion.sinAnimacion)
            {
                return;
            }

            if (typeAnim == TipoAnmacion.UnaVez)
            {
                if (cuadroActual >= cuadros)
                {
                    cuadroActual = -1;
                    typeAnim     = TipoAnmacion.sinAnimacion;
                }
                if (cuadroActual < 0)
                {
                    cuadroActual = 0;
                    typeAnim     = TipoAnmacion.sinAnimacion;
                }
            }
            if (typeAnim == TipoAnmacion.PingPong)
            {
                if (cuadroActual >= cuadros - 1)
                {
                    dirAnim = DirAnimacion.reversa;
                }
                if (cuadroActual == 0)
                {
                    dirAnim = DirAnimacion.normal;
                }
            }
            if (typeAnim == TipoAnmacion.Repite && contAnim >= 30 - velAnim)
            {
                if (cuadroActual >= cuadros - 1 && dirAnim == DirAnimacion.normal)
                {
                    cuadroActual = -1;
                }
                if (cuadroActual == 0 && dirAnim == DirAnimacion.reversa)
                {
                    cuadroActual = cuadros;
                }
            }
            contAnim += velAnim;
            if (contAnim >= 30)
            {
                cuadroActual += (int)dirAnim;
                contAnim      = 0;

                if (cuadroActual >= cuadros)
                {
                    cuadroActual = cuadros;
                }
                if (cuadroActual < 0)
                {
                    cuadroActual = 0;
                }
            }
        }