Merhaba Alper,
var MyForm : TclGameForm; kare : TClProButton; SagBtn, SolBtn, YukariBtn, AsagiBtn : TclProButton; GameTimer : TClTimer; yon : Integer; // 1:Yukarı, 2:Aşağı, 3:Sol, 4:Sağ
// YÖN DEĞİŞTİRME BUTONLARI void GitYukari; { yon = 1; } void GitAsagi; { yon = 2; } void GitSol; { yon = 3; } void GitSag; { yon = 4; }
void YilanHareketEt; var yeniX, yeniY : Single; { yeniX = kare.Position.X; yeniY = kare.Position.Y;
if (yon == 1) { yeniY = yeniY - 20; } else if (yon == 2) { yeniY = yeniY + 20; } else if (yon == 3) { yeniX = yeniX - 20; } else if (yon == 4) { yeniX = yeniX + 20; }
if ((yeniX < 80) || (yeniX + kare.Width > TForm(MyForm).ClientWidth - 80) || (yeniY < 60) || (yeniY + kare.Height > TForm(MyForm).ClientHeight - 60)) { GameTimer.Enabled = False; // Çarptığı an zamanlayıcıyı (oyunu) durdur ShowMessage('Duvara Çarptın! OYUN BİTTİ.'); } else { kare.Position.X = yeniX; kare.Position.Y = yeniY; } }
// ANA KOD VE TASARIM { MyForm = TclGameForm.Create(Self); yon = 2; MyForm.clsetWindowState(fwsMaximized)
kare = MyForm.AddNewProButton(MyForm, 'kare', ''); kare.Align = alNone; kare.Position.X = 150; kare.Position.Y = 250; kare.Width = 40; kare.Height = 40; kare.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#22c55e'); kare.clProSettings.IsRound = True; kare.clProSettings.RoundHeight = 10; kare.clProSettings.RoundWidth = 10; kare.SetclProSettings(kare.clProSettings);
YukariBtn = MyForm.AddNewProButton(MyForm, 'YukariBtn', 'YUKARI'); YukariBtn.Align = alTop; YukariBtn.Height = 60; MyForm.AddNewEvent(YukariBtn, tbeOnClick, 'GitYukari');
AsagiBtn = MyForm.AddNewProButton(MyForm, 'AsagiBtn', 'AŞAĞI'); AsagiBtn.Align = alBottom; AsagiBtn.Height = 60; MyForm.AddNewEvent(AsagiBtn, tbeOnClick, 'GitAsagi');
SolBtn = MyForm.AddNewProButton(MyForm, 'SolBtn', 'SOL'); SolBtn.Align = alLeft; SolBtn.Width = 80; MyForm.AddNewEvent(SolBtn, tbeOnClick, 'GitSol');
SagBtn = MyForm.AddNewProButton(MyForm, 'SagBtn', 'SAĞ'); SagBtn.Align = alRight; SagBtn.Width = 80; MyForm.AddNewEvent(SagBtn, tbeOnClick, 'GitSag');
GameTimer = MyForm.AddNewTimer(MyForm, 'GameTimer', 100); GameTimer.Enabled = True; MyForm.AddNewEvent(GameTimer, tbeOnTimer, 'YilanHareketEt');
MyForm.Run; }
bu kodu çalıştırıp dener misin? ClsenderKeyChar ile tekrar bir araştırma yapıyorum. Bu yöntem de farklı bir yöntem 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">
|