Sayfayı Yazdır | Pencereyi Kapat

Resim hareket ettiremiyorum

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Genel İşlemler
Forum Tanımlaması: TRObject dili ile programlama yaparken karşılaşılan genel işlemler
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=1052
Tarih: 04 Temmuz 2025 Saat 04:42
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: Resim hareket ettiremiyorum
Mesajı Yazan: Sudesigirci
Konu: Resim hareket ettiremiyorum
Mesaj Tarihi: 03 Temmuz 2025 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" rel="nofollow - https://i.imgur.com/noikEXy.jpeg ');

  imgBocek = caringform.AddNewProImage(caringform, 'imgBocek');
  imgBocek.clProSettings.PictureSource = ' https://i.imgur.com/Vn3RL47.png" rel="nofollow - 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.



Cevaplar:
Mesajı Yazan: haletr
Mesaj Tarihi: 03 Temmuz 2025 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" rel="nofollow - https://i.imgur.com/noikEXy.jpeg ');

  imgBocek = caringform.AddNewProImage(caringform, 'imgBocek');
  imgBocek.clProSettings.PictureSource = ' https://i.imgur.com/Vn3RL47.png" rel="nofollow - 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;
}





Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net