Sayfayı Yazdır | Pencereyi Kapat

Oyunda engele yandan çarptığında oyunun bitmesi

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=537
Tarih: 07 Ocak 2025 Saat 23:15
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: Oyunda engele yandan çarptığında oyunun bitmesi
Mesajı Yazan: SefaBuyuksoylu
Konu: Oyunda engele yandan çarptığında oyunun bitmesi
Mesaj Tarihi: 01 Ağustos 2023 Saat 16:54
HoleMin_X := ImgHole1.Position.X;
 HoleMax_X := HoleMin_X + ImgBall.Width ; 

 HoleMin_Y := ImgHole1.Position.Y + 90;
 HoleMax_Y := HoleMin_Y + ImgBall.Height;

kodunu bu şekil yazdığımda üst tepe kısmından çarpıyor. ve oyun bitiyor.yandan çarptığında bu durumu nasıl sağlayabilirim?
    



Cevaplar:
Mesajı Yazan: Alforce
Mesaj Tarihi: 01 Ağustos 2023 Saat 17:25
Niye eklediğinizi bilmiyorum ama

HoleMin_X:= ImgHole1.Position.X +90;

belki çözer.


Mesajı Yazan: SefaBuyuksoylu
Mesaj Tarihi: 01 Ağustos 2023 Saat 17:40
Bu şekilde kenara çarptığında mesaj vermesi ve oyunu bitirmesini istiyorum üst kısımda bu şekil yapabiliyorum kenarda da olmasını istiyorum.




Mesajı Yazan: Alforce
Mesaj Tarihi: 02 Ağustos 2023 Saat 10:43
Görseldeki stunlara değmeyi her harakette kontrol edebilirsin.

Engel_L,
Engel_T,
Engel_R,
Engel_B: Integer;
Kus_L,
Kus_T,
Kus_R,
Kus_B: Integer;


Eğer kuşun alanı ile engel kesişir ise oyunu bitirirsiniz.


if 
  (Kus_R >= Engel_L) and
  (Kus_L <= Engel_R) and
  (Kus_B >= Engel_T) and
  (Kus_T <= Engel_B) 
Then begin
  // Oyun bitirmekodu
End;

Umarım işinize yarar.


Mesajı Yazan: SefaBuyuksoylu
Mesaj Tarihi: 02 Ağustos 2023 Saat 13:56





Dediğiniz gibi yaptım ama X ve Y eksenine göre nasıl uyarlayabilirim,engelin left ini nasıl ayarlayabilirim?




Mesajı Yazan: Alforce
Mesaj Tarihi: 02 Ağustos 2023 Saat 14:14
Öncelikle,

Width, yatay kordinattır. Yani Kus_R_X ye atama yaparken ki kod parçası(ImgBall.Height) yanlıştır. Bunun  Yerine Widht kullanmalısın. MinEngel_L_X ve MinEngel_L_Y kullanımıda.

Benim yukarıda L,T,R,B kısaltmaları sırasıyla Sol, Yukarı, Sağ, Alt dır.

Eğer bu şekilde yaparsanız çalışır.


Mesajı Yazan: SefaBuyuksoylu
Mesaj Tarihi: 03 Ağustos 2023 Saat 11:34

Oyunumda while döngüsüyle devamını sağlamaya çalışıyorum, bunun için engelin sağına eşit olduğunda başa dönsün istiyorum ama right komutu çalışmıyor engelin yani imghole un sağını nasıl belirtebilirim?



Mesajı Yazan: Alforce
Mesaj Tarihi: 03 Ağustos 2023 Saat 11:44
ImgHole.Left+ImgHole.Width ile sağ kısmını bulabilirsin.



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