MASIGNASUKA101
3556188086790554623

C# Duvarlara Çarpıp Dönen Top Graphic Sınıfı

C# Duvarlara Çarpıp Dönen Top Graphic Sınıfı
3 Mayıs 2016 Salı
C# Duvarlara Çarpıp Dönen Top Graphic Sınıfı

C# Duvarlara Çarpıp Dönen Top Graphic Sınıfı

Merhaba arkadaşlar çok güzel bir örnekle sizlerleyim.Bu örnek graphics sınıfı kullanarak yapılmıştır.Soru ve görüşlerinizi yorum olarak atabilirsiniz. Kodların açıklaması mevcuttur.

        Graphics g; // Grafik nesnesi oluşturduk
        Brush b = Brushes.Firebrick; // Fırça oluşturduk
        Rectangle r = new Rectangle(10,10,40,40); // Rectangle yani karemizi oluşturduk ama yuvarlak gözükecek
        int yatay = 10; // Yatay
        int dikey = 10; // Ve Dikey hareket hızlarını belirledik
        private void Form1_Load(object sender, EventArgs e)
        {
            g = panel_cizim.CreateGraphics(); // Formumuz açıldığında g nesnesini panel_cizime oluşturduk
        }
        private void panel_cizim_Paint(object sender, PaintEventArgs e)
        {
            g.FillEllipse(b, r); // Panel_cizim her ekrana geldiğinde g yi fillellipse ederek yani doldurarak görüntüye getir.
            //Brush ve rectangleyide belirttik
        }
        private void timer1_Tick(object sender, EventArgs e) // Timer her tick olduğunda
        {
            if (r.Left <= 0) yatay = Math.Abs(yatay); // rectanglemiz r miz sola çarptıysa yatayda pozitif ilerlesin
            if (r.Right >= panel_cizim.Width) yatay = Math.Abs(yatay) * (-1);// rectanglemiz r miz sağa çarptıysa yatayda negatif ilerlesin
            if (r.Top <= 0) dikey = Math.Abs(dikey); // rectanglemiz r miz yukarı çarptıysa dikeyde pozitif ilerlesin
            if (r.Bottom >= panel_cizim.Height) dikey = Math.Abs(dikey) * (-1); // rectanglemiz r miz aşağı çarptıysa dikeyde negatif ilerlesin
            r.Location = new Point(r.X + yatay, r.Y + dikey); // r nin konumumunu sürekli yatay vve dikey de değiştir
            panel_cizim.Refresh(); // Paneli sürekli yenile
        }
        private void trackBar1_Scroll(object sender, EventArgs e) // Hız
        {
            timer1.Interval = trackBar1.Value; // Timerın intervalini değiştir trackbar1de ki değerle
        }
        private void trackBar2_Scroll(object sender, EventArgs e)
        {
            r.Size = new Size(trackBar2.Value,trackBar2.Value); // R nin boyutunu değiştir trackbar2de ki değerle
        }
Ali Köklü

Üç yılı aşkın süredir projevekod blogum da c# programlama örnek kodları paylaşıyorum. Yazı yazmaktan ve bilgi paylaşmaktan büyük keyif alırım. Çok sakin ve eğlenceli biriyimdir. Sürekli kendimi geliştirmek için çaba sarf ederim. Her türlü olumlu, olumsuz eleştirilere açık bir insanımdır. Beni sosyal medya'da takip etmek isterseniz : @alikoklu254

Konu hakkında yorumlarınızı bekliyorum teşekkürler.