Sayfayı Yazdır | Pencereyi Kapat

gizleme mekaniği

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=1462
Tarih: 04 Mayıs 2026 Saat 19:11
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: gizleme mekaniği
Mesajı Yazan: osman efe atik
Konu: gizleme mekaniği
Mesaj Tarihi: 04 Mayıs 2026 Saat 13:50
kodumda food1 food2 ve food3 resimlerini hepsi visible olduğunda cikis ımagenin visiblenin kapanması yani görünür olmasını istiyorum ama sadece food3 visible olduğunda cikis ımage görünür oluyo


https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">

var
MyForm : TclForm;
Yukari : TClProButton;
Asagi : TClProButton;
Sag : TClProButton;
Sol : TClProButton;
Player : TClProImage;
Food1 , Food2 , Food3 , Cikis : TClProImage;
GameTimer : TClTimer;
x1 , x2 , x3 , y1 , y2 , y3 : Integer

void GoUp;
{
   Player.Position.Y = Player.Position.Y - 50;
    if (MyForm.clIsIntersectsWith(Player, Food1))
   {
      Food1.Visible = False;
   }             
    
   if (MyForm.clIsIntersectsWith(Player, Food2))
   {
      Food2.Visible = False;
   }
    
   if (MyForm.clIsIntersectsWith(Player, Food3))
   {
      Food3.Visible = False;
   }  
     
    if (Food1.Visible == False && Food2.Visible == False && Food3.Visible == False)
    {
        Cikis.Visible = True
    }
   if (MyForm.clIsIntersectsWith(Player, Cikis))
   {
      Clomosy.RunUnit('rununite')
   }
}

void GoRight;
{
   Player.Position.X = Player.Position.X + 50;
    if (MyForm.clIsIntersectsWith(Player, Food1))
   {
      Food1.Visible = False;
   }             
    
   if (MyForm.clIsIntersectsWith(Player, Food2))
   {
      Food2.Visible = False;
   }
    
   if (MyForm.clIsIntersectsWith(Player, Food3))
   {
      Food3.Visible = False;
   }  
     
    if (Food1.Visible == False && Food2.Visible == False && Food3.Visible == False)
    {
        Cikis.Visible = True
    }  
   if (MyForm.clIsIntersectsWith(Player, Cikis))
   {
      Clomosy.RunUnit('rununite')
   }
}

void GoLeft;
{
   Player.Position.X = Player.Position.X - 50;
    if (MyForm.clIsIntersectsWith(Player, Food1))
   {
      Food1.Visible = False;
   }             
    
   if (MyForm.clIsIntersectsWith(Player, Food2))
   {
      Food2.Visible = False;
   }
    
   if (MyForm.clIsIntersectsWith(Player, Food3))
   {
      Food3.Visible = False;
   }  
     
    if (Food1.Visible == False && Food2.Visible == False && Food3.Visible == False)
    {
        Cikis.Visible = True
    } 
    if (MyForm.clIsIntersectsWith(Player, Cikis))
    {
      Clomosy.RunUnit('rununite')
    }
}

void GoDown;
{
   Player.Position.Y = Player.Position.Y + 50;
    if (MyForm.clIsIntersectsWith(Player, Food1))
   {
      Food1.Visible = False;
   }             
    
   if (MyForm.clIsIntersectsWith(Player, Food2))
   {
      Food2.Visible = False;
   }
    
   if (MyForm.clIsIntersectsWith(Player, Food3))
   {
      Food3.Visible = False;
   }  
     
    if ((Food1.Visible == False) && (Food2.Visible == False) && (Food3.Visible == False))
    {
        Cikis.Visible = True
    } 
    if (MyForm.clIsIntersectsWith(Player, Cikis))
    {
       Clomosy.RunUnit('rununite')
    }
}
/*
void gizle;
{
   if (MyForm.clIsIntersectsWith(Player, Food1))
   {
      Food1.Visible = False;
   }             
    
   if (MyForm.clIsIntersectsWith(Player, Food2))
   {
      Food2.Visible = False;
   }
    
   if (MyForm.clIsIntersectsWith(Player, Food3))
   {
      Food3.Visible = False;
   }  
     
    if (Food1.Visible == False && Food2.Visible == False && Food3.Visible == False)
    {
        Cikis.Visible = True
    }  
     
      if (MyForm.clIsIntersectsWith(Player, Cikis))
   {
      Clomosy.RunUnit('rununite')
   }
  
}*/



{
   MyForm = TclForm.Create(Self);
   MyForm.SetFormColor('#2d62cd', 'color2', clGNone);
   MyForm.FormWaiting.Visible = False;
   MyForm.BtnGoBack.Visible = False;
   MyForm.BtnFormMenu.Visible = False;
   MyForm.clSetWindowState(fwsMaximized);

    
   x1 = Round(Random()*28)*50
   x2 = Round(Random()*28)*50
   x3 = Round(Random()*28)*50
   y1 = Round(Random()*12)*50
   y2 = Round(Random()*12)*50
   y3 = Round(Random()*12)*50
    
   Player = MyForm.AddNewProImage(MyForm, 'Player');
   Player.clProSettings.PictureSource = ' https://resmim.net/cdn/2026/04/29/CbMBGW.png" rel="nofollow - https://resmim.net/cdn/2026/04/29/CbMBGW.png ';
   Player.Height = 100;
   Player.Width = 50;
   Player.Align = alNone;
   Player.Position.X = 50;
   Player.Position.Y = 50;
   Player.SetclProSettings(Player.clProSettings);

   Food1 = MyForm.AddNewProImage(MyForm , 'Food1');
   Food1.clProSettings.PictureSource = ' https://resmim.net/cdn/2026/04/29/CbMYTh.jpg" rel="nofollow - https://resmim.net/cdn/2026/04/29/CbMYTh.jpg ';
   Food1.Height = 100;
   Food1.Width = 50;
   Food1.Align = alNone;
   Food1.Position.X = x1;
   Food1.Position.Y = y1;
   Food1.SetclProSettings(Food1.clProSettings);
  
   Food2 = MyForm.AddNewProImage(MyForm , 'Food2');
   Food2.clProSettings.PictureSource = ' https://resmim.net/cdn/2026/04/29/CbMYTh.jpg" rel="nofollow - https://resmim.net/cdn/2026/04/29/CbMYTh.jpg ';
   Food2.Height = 100;
   Food2.Width = 50;
   Food2.Align = alNone;
   Food2.Position.X = x2;
   Food2.Position.Y = y2;
   Food2.SetclProSettings(Food2.clProSettings);
  
   Food3 = MyForm.AddNewProImage(MyForm , 'Food3');
   Food3.clProSettings.PictureSource = ' https://resmim.net/cdn/2026/04/29/CbMYTh.jpg" rel="nofollow - https://resmim.net/cdn/2026/04/29/CbMYTh.jpg ';
   Food3.Height = 100;
   Food3.Width = 50;
   Food3.Align = alNone;
   Food3.Position.X = x3;
   Food3.Position.Y = y3;
   Food3.SetclProSettings(Food3.clProSettings);

   Cikis = MyForm.AddNewProImage(MyForm , 'Cikis')
   Cikis.clProSettings.PictureSource = ' https://resmim.net/cdn/2026/04/29/CbMyB3.png" rel="nofollow - https://resmim.net/cdn/2026/04/29/CbMyB3.png ';
   Cikis.Height = 100;
   Cikis.Width = 100;
   Cikis.Align = alNone;
   Cikis.Position.X = 50;
   Cikis.Position.Y = 550;
   Cikis.Visible = False;
   Cikis.SetclProSettings(Cikis.clProSettings);  
    
   Yukari = MyForm.AddNewProButton(MyForm,'Yukari','Y');
   Yukari.Align = alNone;
   Yukari.Position.X = 650;
   Yukari.Position.Y = 530;
   Yukari.Width = 20;
   Yukari.Height = 50;
   Yukari.clProSettings.isRound = True;
   Yukari.clProSettings.BorderWidth = 2;
   Yukari.clProSettings.BorderColor = clAlphaColor.clHexToColor('#030202');
   Yukari.SetclProSettings(Yukari.clProSettings);
   MyForm.AddNewEvent(Yukari,tbeOnClick,'GoUp');

   Sag = MyForm.AddNewProButton(MyForm,'Sag','SA');
   Sag.Align = alNone;
   Sag.Position.X = 670;
   Sag.Position.Y = 580;
   Sag.Width = 50;
   Sag.Height = 20;
   Sag.clProSettings.isRound = True;
   Sag.clProSettings.BorderWidth = 2;
   Sag.clProSettings.BorderColor = clAlphaColor.clHexToColor('#030202');
   Sag.SetclProSettings(Sag.clProSettings);
   MyForm.AddNewEvent(Sag,tbeOnClick,'GoRight');

   Sol = MyForm.AddNewProButton(MyForm,'Sol','SO');
 Sol.Align = alNone;
   Sol.Position.X = 600;
 Sol.Position.Y = 580;
 Sol.Width = 50;
 Sol.Height = 20;
 Sol.clProSettings.isRound = True;
 Sol.clProSettings.BorderWidth = 2;
 Sol.clProSettings.BorderColor = clAlphaColor.clHexToColor('#030202');
 Sol.SetclProSettings(Sol.clProSettings);
 MyForm.AddNewEvent(Sol,tbeOnClick,'GoLeft');

 Asagi = MyForm.AddNewProButton(MyForm,'Asagi','Aş');
 Asagi.Align = alNone;
 Asagi.Position.X = 650;
 Asagi.Position.Y = 600;
 Asagi.Width = 20;
 Asagi.Height = 50;
 Asagi.clProSettings.isRound = True;
 Asagi.clProSettings.BorderWidth = 2;
 Asagi.clProSettings.BorderColor = clAlphaColor.clHexToColor('#030202');
 Asagi.SetclProSettings(Asagi.clProSettings);
 MyForm.AddNewEvent(Asagi,tbeOnClick,'GoDown');

 GameTimer = MyForm.AddNewTimer(MyForm, 'GameTimer', 100);  
 GameTimer.Enabled = True;
 /*MyForm.AddNewEvent(GameTimer , tbeOnTimer , 'gizle');*/



 MyForm.Run;
}   



Cevaplar:
Mesajı Yazan: Emr.Erkmn
Mesaj Tarihi: 04 Mayıs 2026 Saat 18:12
Merhaba Efe, 

hatanın sebebi her yön hareketinde if kontrollerinin mantıksal sıralamasından kaynaklı

var
  MyForm : TclForm;
  Yukari, Asagi, Sag, Sol : TClProButton;
  Player, Food1, Food2, Food3, Cikis : TClProImage;
  GameTimer : TClTimer;
  x1, x2, x3, y1, y2, y3 : Integer;

void CheckIntersections;
{
  if (MyForm.clIsIntersectsWith(Player, Food1))
  {
    Food1.Visible = False;
  }              
   
  if (MyForm.clIsIntersectsWith(Player, Food2))
  {
    Food2.Visible = False;
  }
   
  if (MyForm.clIsIntersectsWith(Player, Food3))
  {
    Food3.Visible = False;
  }  
     
  if ((Food1.Visible == False) && (Food2.Visible == False) && (Food3.Visible == False))
  {
    Cikis.Visible = True;
  }
  
  if ((Cikis.Visible == True) && (MyForm.clIsIntersectsWith(Player, Cikis)))
  {
    Clomosy.RunUnit('rununite');
  }
}

void GoUp;
{
  Player.Position.Y = Player.Position.Y - 50;
  CheckIntersections; 
}

void GoRight;
{
  Player.Position.X = Player.Position.X + 50;
  CheckIntersections;
}

void GoLeft;
{
  Player.Position.X = Player.Position.X - 50;
  CheckIntersections;
}

void GoDown;
{
  Player.Position.Y = Player.Position.Y + 50;
  CheckIntersections;
}

{
  MyForm = TclForm.Create(Self);
  MyForm.SetFormColor('#2d62cd', 'color2', clGNone);
  MyForm.FormWaiting.Visible = False;
  MyForm.BtnGoBack.Visible = False;
  MyForm.BtnFormMenu.Visible = False;
  MyForm.clSetWindowState(fwsMaximized);
   
  x1 = Round(Random()*28)*50;
  x2 = Round(Random()*28)*50;
  x3 = Round(Random()*28)*50;
  y1 = Round(Random()*12)*50;
  y2 = Round(Random()*12)*50;
  y3 = Round(Random()*12)*50;
   
  Player = MyForm.AddNewProImage(MyForm, 'Player');
  Player.clProSettings.PictureSource = ' https://resmim.net/cdn/2026/04/29/CbMBGW.png" rel="nofollow - https://resmim.net/cdn/2026/04/29/CbMBGW.png ';
  Player.Height = 100;
  Player.Width = 50;
  Player.Align = alNone;
  Player.Position.X = 50;
  Player.Position.Y = 50;
  Player.SetclProSettings(Player.clProSettings);

  Food1 = MyForm.AddNewProImage(MyForm , 'Food1');
  Food1.clProSettings.PictureSource = ' https://resmim.net/cdn/2026/04/29/CbMYTh.jpg" rel="nofollow - https://resmim.net/cdn/2026/04/29/CbMYTh.jpg ';
  Food1.Height = 100;
  Food1.Width = 50;
  Food1.Align = alNone;
  Food1.Position.X = x1;
  Food1.Position.Y = y1;
  Food1.SetclProSettings(Food1.clProSettings);
  
  Food2 = MyForm.AddNewProImage(MyForm , 'Food2');
  Food2.clProSettings.PictureSource = ' https://resmim.net/cdn/2026/04/29/CbMYTh.jpg" rel="nofollow - https://resmim.net/cdn/2026/04/29/CbMYTh.jpg ';
  Food2.Height = 100;
  Food2.Width = 50;
  Food2.Align = alNone;
  Food2.Position.X = x2;
  Food2.Position.Y = y2;
  Food2.SetclProSettings(Food2.clProSettings);
  
  Food3 = MyForm.AddNewProImage(MyForm , 'Food3');
  Food3.clProSettings.PictureSource = ' https://resmim.net/cdn/2026/04/29/CbMYTh.jpg" rel="nofollow - https://resmim.net/cdn/2026/04/29/CbMYTh.jpg ';
  Food3.Height = 100;
  Food3.Width = 50;
  Food3.Align = alNone;
  Food3.Position.X = x3;
  Food3.Position.Y = y3;
  Food3.SetclProSettings(Food3.clProSettings);

  Cikis = MyForm.AddNewProImage(MyForm , 'Cikis');
  Cikis.clProSettings.PictureSource = ' https://resmim.net/cdn/2026/04/29/CbMyB3.png" rel="nofollow - https://resmim.net/cdn/2026/04/29/CbMyB3.png ';
  Cikis.Height = 100;
  Cikis.Width = 100;
  Cikis.Align = alNone;
  Cikis.Position.X = 50;
  Cikis.Position.Y = 550;
  Cikis.Visible = False; 
  Cikis.SetclProSettings(Cikis.clProSettings);  
   
  Yukari = MyForm.AddNewProButton(MyForm,'Yukari','Y');
  Yukari.Align = alNone;
  Yukari.Position.X = 650;
  Yukari.Position.Y = 530;
  Yukari.Width = 20;
  Yukari.Height = 50;
  Yukari.clProSettings.isRound = True;
  Yukari.clProSettings.BorderWidth = 2;
  Yukari.clProSettings.BorderColor = clAlphaColor.clHexToColor('#030202');
  Yukari.SetclProSettings(Yukari.clProSettings);
  MyForm.AddNewEvent(Yukari,tbeOnClick,'GoUp');

  Sag = MyForm.AddNewProButton(MyForm,'Sag','SA');
  Sag.Align = alNone;
  Sag.Position.X = 670;
  Sag.Position.Y = 580;
  Sag.Width = 50;
  Sag.Height = 20;
  Sag.clProSettings.isRound = True;
  Sag.clProSettings.BorderWidth = 2;
  Sag.clProSettings.BorderColor = clAlphaColor.clHexToColor('#030202');
  Sag.SetclProSettings(Sag.clProSettings);
  MyForm.AddNewEvent(Sag,tbeOnClick,'GoRight');

  Sol = MyForm.AddNewProButton(MyForm,'Sol','SO');
  Sol.Align = alNone;
  Sol.Position.X = 600;
  Sol.Position.Y = 580;
  Sol.Width = 50;
  Sol.Height = 20;
  Sol.clProSettings.isRound = True;
  Sol.clProSettings.BorderWidth = 2;
  Sol.clProSettings.BorderColor = clAlphaColor.clHexToColor('#030202');
  Sol.SetclProSettings(Sol.clProSettings);
  MyForm.AddNewEvent(Sol,tbeOnClick,'GoLeft');

  Asagi = MyForm.AddNewProButton(MyForm,'Asagi','Aş');
  Asagi.Align = alNone;
  Asagi.Position.X = 650;
  Asagi.Position.Y = 600;
  Asagi.Width = 20;
  Asagi.Height = 50;
  Asagi.clProSettings.isRound = True;
  Asagi.clProSettings.BorderWidth = 2;
  Asagi.clProSettings.BorderColor = clAlphaColor.clHexToColor('#030202');
  Asagi.SetclProSettings(Asagi.clProSettings);
  MyForm.AddNewEvent(Asagi,tbeOnClick,'GoDown');

  MyForm.Run;
}


kodu inceler misin
https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">



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