Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - GenerateRandom Fonksiyonu hatası
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir.

GenerateRandom Fonksiyonu hatası

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Topic Seçenekleri Topic Seçenekleri
haletr Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: 16 Haziran 2025
Konum: Konya
Durum: Aktif Değil
Puanlar: 8
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı haletr Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: GenerateRandom Fonksiyonu hatası
    Gönderim Zamanı: 6 Saat 52 Dakika Önce Saat 14:02
Oluşturduğum dairenin konumunun formun herhangi bir yerinde başlamasını istiyorum fakat generaterandom fonksiyonu dairenin X ve Y değerlerini değiştirmiyor

var
  gameForm:TclGameForm;
  elapsedTime,randomX,randomY: Integer;
  timer1: TclTimer;
  lblScore: TClProLabel;
  circle1,circle2,circle3,circle4: TclCircle;
void randomCircleStart {

}
//60sn rastgele daire 
{
  gameForm = TCLGameForm.Create(Self);
  gameForm.SetFormColor('#b4e9b5','',clGNone);
  
  circle1 = gameForm.AddNewCircle(gameForm, 'circle1');
  circle1.Width = 100;
  circle1.Height = 100;
  circle1.Fill.Kind = fbkSolid;
  circle1.Stroke.Thickness = 2;
  circle1.Opacity= 0.7;
  randomX=clMath.GenerateRandom(0,TForm(gameForm).ClientWidth - circle1.Height);
  randomY=clMath.GenerateRandom(0,TForm(gameForm).ClientWidth - circle1.Width);
  circle1.Position.X = randomX;
  ShowMessage(circle1.Position.X);
  circle1.Position.Y= randomY;
  ShowMessage(circle1.Position.Y);
  
  gameForm.Run;
}  
Yukarı Dön
Emr.Erkmn Açılır Kutu İzle
Moderatör
Moderatör


Kayıt Tarihi: 28 Şubat 2025
Durum: Aktif Değil
Puanlar: 72
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (1) Teşekkürler(1)   Alıntı Emr.Erkmn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 4 Saat 36 Dakika Önce Saat 16:18
Merhabalar,
clMath.GenerateRandom() fonksiyonu  yerine doğrudan Random() fonksiyonunu kullanabilirsiniz.
Ayrıca, circle1.Align = alNone olarak ayarlanmazsa Position.X ve Y değerleri çalışmaz, buna dikkat etmeniz gerekir.
Aşağıdaki gibi prosedür tanımlayıp form içinde çağırarak sorunu çözebilirsiniz
void randomCircleStart;
{
  randomX = Random(gameForm.clWidth - circle1.Width);
  randomY = Random(gameForm.clHeight - circle1.Height);
  circle1.Position.X = randomX;
  circle1.Position.Y = randomY;
}
Kolay gelsin.
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu İzle

Forum Software by Web Wiz Forums® version 12.07
Copyright ©2001-2024 Web Wiz Ltd.

Bu Sayfa 0,031 Saniyede Yüklendi.