İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Web Programlama (PHP, ASP, HTML, CSS, JavaScript)
Web Programlama (PHP, ASP, HTML, CSS, JavaScript)

visual studio ile form ekranında random pictureBox üretme

uslumehmet121027.03.20231 cevap1.058 görüntüleme
2023'den beri50 mesaj
#1
ödevim amaçlı visual st. üzerinden basit bir oyun yapıcam form ekranının yukarsından aşağı doğru inen random pictureBox nesnesi üretmek istiyorum ekranın altı (görünmeyen kısmı) gittiğinde silinecek ve kontrol ettiğim nesneye deydiğinde oyun biticek kodlama bilgim yetersiz olduğundan nasıl yapıcağımı anlayamadım yardımcı olurmusunuz
Cevaplar
2016'den beri3.039 mesaj
#2
Merhaba dostum.

3 ana adımı izle derim,
-kodla dinamik olarak pictureBox nesnesi üret. (Tanımlamayı global yap ki Tick eventi değişkene ulaşabilsin)
-rastgele sayı üret x ve y koordinatı için
-Timer ekle ve tick eventinde Y koordinatını değiştir.(Picturebox larda top, left rigth şeklinde hareket mümkün)
-Her tik attığında formun sonuna gelip gelmediğini if bloğu ile kontrol et.

timer'ın intervali ile oynayarak tik sıklığını arttırıp azaltabilirsin. Speed diye bir değişken koyup dinamik şekilde speed'i değiştirebilirsin. Bu işlemleri w a s d tuşlarına atayarak kutuyu özgürce hareket ettirebilirsin.

Umarım yardımı dokunur.

Form ekranında pictureBox nesnesi üretmek için şu kod yeterli. Load eventine koyabilirsin.
PictureBox pb = new PictureBox();
pb.Width = 30;
pb.Height = 30;
this.Controls.Add(pb);


Rasgele sayı üretimi için

Random rnd = new Random();

int X = rnd.Next(0, this.ClientSize.Width - pb.Width);

int Y = 0;

pb.Location = new Point(X, Y);


Tick fonksiyonu şöyle olabilir

pb.Top += 5; // PictureBox'ın y koordinatını artırır

 if (pb.Bottom >= this.ClientSize.Height)   

       {       

              pb.Dispose(); // PictureBox'ı siler       

              timer1.Stop(); // Zamanlayıcıyı durdurur       

       }
👍 1düzenlendi

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.