Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - Resim hareket ettiremiyorum
  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.

Resim hareket ettiremiyorum

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


Kayıt Tarihi: 24 Haziran 2025
Konum: KONYA
Durum: Aktif Değil
Puanlar: 6
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Sudesigirci Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Resim hareket ettiremiyorum
    Gönderim Zamanı: 12 Saat 58 Dakika Önce Saat 15:58
var
  caringform: TclStyleForm;
  imgBocek: TClProImage;
  hareketZamanlayici: TClTimer;
  posX: Integer;

void hareketEt;
{
  posX = posX + 5;
  imgBocek.Margins.Left = posX;
  if (posX > 800) {
    posX = 0;
  }
}

{
  caringform = TclStyleForm.Create(Self);
  caringform.SetFormBGImage('https://i.imgur.com/noikEXy.jpeg');

  imgBocek = caringform.AddNewProImage(caringform, 'imgBocek');
  imgBocek.clProSettings.PictureSource = 'https://i.imgur.com/Vn3RL47.png'; 
  imgBocek.Height = 80;
  imgBocek.Width = 80;
  imgBocek.Margins.Left = 20;
  imgBocek.Margins.Top = 150;
  imgBocek.Visible = True;
  posX = imgBocek.Margins.Left;
  
  hareketZamanlayici = caringform.AddNewTimer(caringform, 'hareketZamanlayici', 100);
  caringform.AddNewEvent(hareketZamanlayici, tbeOnTimer, 'hareketEt');

  hareketZamanlayici.Enabled = True;

  caringform.Run;
}
Merhaba , oluşturduğum formun üstüne bir resim ekledim hareket etmesini istiyorum fonksiyonları yazdım fakat resmim gözükmüyor şimdiden geri dönüşleriniz için teşekkür ederim.
Yukarı Dön
haletr Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: 16 Haziran 2025
Konum: Konya
Durum: Aktif Değil
Puanlar: 21
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (2) Teşekkürler(2)   Alıntı haletr Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 12 Saat 19 Dakika Önce Saat 16:37
Merhaba,

Öncelikle hareket et fonksiyonunu bu şekilde değiştirmek daha sağlıklı olacaktır:

void hareketEt;
{
  posX = posX + 5;
  imgBocek.Position.X = posX;
  if (posX > caringform.clWidth) {
    posX = -imgBocek.Width;
  }
}

Bir diğer nokta ise,

imgBocek.Align=alNone; yapmadığımız sürece nesneye X ve Y değeri veremiyoruz. Bu nedenle onu eklememiz lazım.

Ayrıca,

imgBocek nesnemiz TclProImage olduğu için yaptığımız değişiklikleri 
imgBocek.SetClProSettings(imgBocek.clProSettings); ile set etmeliyiz. 

Tüm kod:

var
  caringform: TclStyleForm;
  imgBocek: TClProImage;
  hareketZamanlayici: TClTimer;
  posX: Integer;

void hareketEt; //Değiştirildi
{
  posX = posX + 5;
  imgBocek.Position.X = posX;
  if (posX > caringform.clWidth) {
    posX = -imgBocek.Width;
  }
}

{
  caringform = TclStyleForm.Create(Self);
  caringform.SetFormBGImage('https://i.imgur.com/noikEXy.jpeg');

  imgBocek = caringform.AddNewProImage(caringform, 'imgBocek');
  imgBocek.clProSettings.PictureSource = 'https://i.imgur.com/Vn3RL47.png'; 
  imgBocek.Align = alNone; //Yeni eklendi
  imgBocek.Height = 80;
  imgBocek.Width = 80;
  imgBocek.Margins.Left = 20;
  imgBocek.Margins.Top = 150;
  imgBocek.Visible = True;
  posX = imgBocek.Margins.Left;
  imgBocek.SetClProSettings(imgBocek.clProSettings); //Yeni eklendi
  
  hareketZamanlayici = caringform.AddNewTimer(caringform, 'hareketZamanlayici', 100);
  caringform.AddNewEvent(hareketZamanlayici, tbeOnTimer, 'hareketEt');

  hareketZamanlayici.Enabled = True;

  caringform.Run;
}


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.