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
}

C# Duvarlara Çarpıp Dönen Top Graphic Sınıfı konusuna henüz yorum yapılmadı.
İlk Yorum Yapan Siz Olun.
Konu hakkında yorumlarınızı bekliyorum teşekkürler.
Konunun alıntı veya yasal olmayan bir durum arz ettiğini düşünüyorsanız iletişim yolu ile bize ulaşarak bildirebilirsiniz hak ihlali durumlarında 3 iş günü içerisinde konu kaldırılacaktır.
Dipnot...!
Kırık ve eksik linki yorum olarak bildirin konu 24 saat içerisinde düzenlenecektir.