Új hozzászólás Aktív témák

  • Tomi_78

    aktív tag

    Bocs, az előbb javítottam és láttam, hogy nem kezdőérték nélküli a Deneverek tömb... Így javítottam a programomon, de most csak egy denevér jelenik meg, az sem animálódik és nem is mozog:
    namespace Animacios
    {    
        public partial class MainForm : Form
        {    
            Bitmap deneverkepe1 = new Bitmap("kepei\\kisdenever1bmp.bmp");
            Bitmap deneverkepe2 = new Bitmap("kepei\\kisdenever2bmp.bmp");
            
            class Deneverek
            {
                public int dirx,diry,xhely,yhely;
                public Bitmap kepe;
            };
            
            Deneverek[] egydenever;
            
            public MainForm()
            {
                //
                // The InitializeComponent() call is required for Windows Forms designer support.
                //
                InitializeComponent();
                //
                // TODO: Add constructor code after the InitializeComponent() call.
                //
                deneverkepe1.MakeTransparent();
                deneverkepe2.MakeTransparent();
                
                egydenever = new Deneverek[3];
                int svsz;
                for (int i=0; i<3; i++) {
                    egydenever[i]= new Deneverek();
                    System.Random vsz = new System.Random();
                    svsz = vsz.Next(1);
                    if (svsz==0) {
                        egydenever[i].dirx = -1;
                    } else {
                        egydenever[i].dirx = 1;
                    };
                    svsz = vsz.Next(1);
                    if (svsz==0) {
                        egydenever[i].diry = -1;
                    } else {
                        egydenever[i].diry = 1;
                    };
                    svsz = vsz.Next(1);
                    if (svsz==0) {
                        egydenever[i].kepe = deneverkepe1;
                    } else {
                        egydenever[i].kepe = deneverkepe2;
                    };
                    egydenever[i].xhely=vsz.Next(1,800-egydenever[i].kepe.Width);
                    egydenever[i].yhely=vsz.Next(1,600-egydenever[i].kepe.Height);
                };
            }
            void AnimIdozitoTick(object sender, EventArgs e)
            {
                for (int i=0; i<3; i++) {
                    if (egydenever[i].kepe==deneverkepe1) {
                        egydenever[i].kepe=deneverkepe2;
                    }
                    else {
                        egydenever[i].kepe=deneverkepe1;
                    };
                };
            }
            void MozgIdozitoTick(object sender, EventArgs e)
            {
                for (int i=0; i<3; i++) {
                    switch (egydenever[i].dirx) {
                        case -1:
                            if (egydenever[i].xhely>0) {
                                egydenever[i].xhely-=4;
                            }
                            else egydenever[i].dirx*=-1;
                        break;
                        case 1:
                            if (egydenever[i].xhely<800-egydenever[i].kepe.Width) {
                                egydenever[i].xhely+=4;
                            }
                            else egydenever[i].dirx*=-1;
                        break;
                    };
                    switch (egydenever[i].diry) {
                        case -1:
                            if (egydenever[i].yhely>0) {
                                egydenever[i].yhely-=4;
                            }
                            else egydenever[i].diry*=-1;
                        break;
                        case 1:
                            if (egydenever[i].yhely<600-egydenever[i].kepe.Height) {
                                egydenever[i].yhely+=4;
                            }
                            else egydenever[i].diry*=-1;
                        break;
                    };
                };
            }
            void MainFormPaint(object sender, PaintEventArgs e)
            {
                for (int i=0; i<3; i++) {
                        e.Graphics.DrawImage(egydenever[i].kepe,egydenever[i].xhely,egydenever[i].yhely,egydenever[i].kepe.Width,egydenever[i].kepe.Height);
                }
            }
        }
    }

Új hozzászólás Aktív témák