![]() |
| 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. |
Sürükleme ve Animasyon |
Yanıt Yaz
|
| Yazar | |
MustafaYGD
Yeni Üye
Kayıt Tarihi: 2 Saat 60 Dakika Önce Durum: Aktif Değil Puanlar: 2 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı MustafaYGD
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Teşekkürler(0)
Alıntı Cevapla
Konu: Sürükleme ve AnimasyonGönderim Zamanı: 2 Saat 43 Dakika Önce Saat 17:33 |
|
Parkur kısmında karakter ve animasyon yüklenmiyor ve çanta oyunu kısmında sürükleme çalışmıyor sorunu bir türlü bulamadım. // DEPREM EGITIMI OYUNLARI - MENU + PARKUR + CANTA var Form1: TclForm; // ===== MENU ===== pnlMenu: TclProPanel; lblMenuBaslik: TclLabel; btnMenuParkur, btnMenuCanta, btnMenuCikis: TclProButton; // ===== PARKUR OYUNU ===== pnlParkur: TclProPanel; pnlParkurKontrol: TclPanel; imgParkurArka: TclImage; imgKarakter: TclImage; karakterCember: TclCircle; animIdle, animWalk, animRun, animJump: TclBitmapListAnimation; tmrParkur: TClTimer; pltf1, pltf2, pltf3, pltf4, pltf5: TclPanel; pltfBitis: TclPanel; btnParkurSol, btnParkurSag, btnParkurZipla: TclButton; btnParkurMenu: TclButton; lblParkurBaslik: TclLabel; karakterHiz, velocityY, yerCekimi: Integer; solGidiyor, sagGidiyor, havada: Boolean; idleAktif, walkAktif, runAktif, jumpAktif: Boolean; // ===== CANTA OYUNU ===== pnlCanta: TclProPanel; pnlCantaUst, pnlCantaAlan, pnlCantaAlt: TclPanel; lblCantaBaslik, lblCantaSure, lblCantaPuan, lblCantaAciklama: TclLabel; btnCantaMenu: TclButton; pnlTorba: TclProPanel; lblTorba: TclLabel; pnlSu, pnlIlkYardim, pnlFener, pnlIlac: TclProPanel; pnlDuduk, pnlBattaniye, pnlRadyo, pnlPara: TclProPanel; pnlTelefon, pnlKonsol, pnlPerfum, pnlLaptop: TclProPanel; lblSu, lblIlkYardim, lblFener, lblIlac: TclLabel; lblDuduk, lblBattaniye, lblRadyo, lblPara: TclLabel; lblTelefon, lblKonsol, lblPerfum, lblLaptop: TclLabel; pnlBilgi: TclProPanel; lblBilgiBaslik, lblBilgiIcerik: TclLabel; btnBilgiKapat: TclProButton; tmrCanta: TClTimer; cantaSure, cantaPuan, cantaKoyulan: Integer; secilenPanel: TclProPanel; secilenVar: Boolean; secilenID: Integer; surukleniyorMu: Boolean; baslangicX, baslangicY: Integer; offsetX, offsetY: Integer; // ========== ANIMASYON FONKSIYONLARI ========== void IdleBaslat { if(idleAktif == False) { animIdle.Enabled = True; animWalk.Enabled = False; animRun.Enabled = False; animJump.Enabled = False; idleAktif = True; walkAktif = False; runAktif = False; jumpAktif = False; } } void RunBaslat { if(runAktif == False) { animIdle.Enabled = False; animWalk.Enabled = False; animRun.Enabled = True; animJump.Enabled = False; idleAktif = False; walkAktif = False; runAktif = True; jumpAktif = False; } } void JumpBaslat { if(jumpAktif == False) { animIdle.Enabled = False; animWalk.Enabled = False; animRun.Enabled = False; animJump.Enabled = True; idleAktif = False; walkAktif = False; runAktif = False; jumpAktif = True; } } // ========== MENU FONKSIYONLARI ========== void MenuGoster { pnlMenu.Visible = True; pnlParkur.Visible = False; pnlCanta.Visible = False; tmrParkur.Enabled = False; tmrCanta.Enabled = False; } void ParkurAc { pnlMenu.Visible = False; pnlParkur.Visible = True; pnlCanta.Visible = False; imgKarakter.Position.X = 50; imgKarakter.Position.Y = 330; karakterCember.Position.X = 50; karakterCember.Position.Y = 330; karakterHiz = 5; velocityY = 0; yerCekimi = 1; solGidiyor = False; sagGidiyor = False; havada = False; idleAktif = False; walkAktif = False; runAktif = False; jumpAktif = False; IdleBaslat; tmrParkur.Enabled = True; } void CantaAc { pnlMenu.Visible = False; pnlParkur.Visible = False; pnlCanta.Visible = True; cantaSure = 90; cantaPuan = 0; cantaKoyulan = 0; secilenVar = False; secilenID = 0; surukleniyorMu = False; pnlSu.Visible = True; pnlIlkYardim.Visible = True; pnlFener.Visible = True; pnlIlac.Visible = True; pnlDuduk.Visible = True; pnlBattaniye.Visible = True; pnlRadyo.Visible = True; pnlPara.Visible = True; pnlTelefon.Visible = True; pnlKonsol.Visible = True; pnlPerfum.Visible = True; pnlLaptop.Visible = True; pnlBilgi.Visible = False; lblCantaPuan.Text = 'Puan: 0'; lblCantaSure.Text = 'Sure: 90s'; tmrCanta.Enabled = True; } void MenuCikis { Form1.Close; } // ========== PARKUR FONKSIYONLARI ========== void ParkurKontrol var platformda: Boolean; { platformda = False; if((imgKarakter.Position.X + imgKarakter.Width > pltf1.Position.X) && (imgKarakter.Position.X < pltf1.Position.X + pltf1.Width) && (imgKarakter.Position.Y + imgKarakter.Height >= pltf1.Position.Y) && (imgKarakter.Position.Y + imgKarakter.Height <= pltf1.Position.Y + 15) && (velocityY >= 0)) { platformda = True; imgKarakter.Position.Y = pltf1.Position.Y - imgKarakter.Height; velocityY = 0; havada = False; } if((imgKarakter.Position.X + imgKarakter.Width > pltf2.Position.X) && (imgKarakter.Position.X < pltf2.Position.X + pltf2.Width) && (imgKarakter.Position.Y + imgKarakter.Height >= pltf2.Position.Y) && (imgKarakter.Position.Y + imgKarakter.Height <= pltf2.Position.Y + 15) && (velocityY >= 0)) { platformda = True; imgKarakter.Position.Y = pltf2.Position.Y - imgKarakter.Height; velocityY = 0; havada = False; } if((imgKarakter.Position.X + imgKarakter.Width > pltf3.Position.X) && (imgKarakter.Position.X < pltf3.Position.X + pltf3.Width) && (imgKarakter.Position.Y + imgKarakter.Height >= pltf3.Position.Y) && (imgKarakter.Position.Y + imgKarakter.Height <= pltf3.Position.Y + 15) && (velocityY >= 0)) { platformda = True; imgKarakter.Position.Y = pltf3.Position.Y - imgKarakter.Height; velocityY = 0; havada = False; } if((imgKarakter.Position.X + imgKarakter.Width > pltf4.Position.X) && (imgKarakter.Position.X < pltf4.Position.X + pltf4.Width) && (imgKarakter.Position.Y + imgKarakter.Height >= pltf4.Position.Y) && (imgKarakter.Position.Y + imgKarakter.Height <= pltf4.Position.Y + 15) && (velocityY >= 0)) { platformda = True; imgKarakter.Position.Y = pltf4.Position.Y - imgKarakter.Height; velocityY = 0; havada = False; } if((imgKarakter.Position.X + imgKarakter.Width > pltf5.Position.X) && (imgKarakter.Position.X < pltf5.Position.X + pltf5.Width) && (imgKarakter.Position.Y + imgKarakter.Height >= pltf5.Position.Y) && (imgKarakter.Position.Y + imgKarakter.Height <= pltf5.Position.Y + 15) && (velocityY >= 0)) { platformda = True; imgKarakter.Position.Y = pltf5.Position.Y - imgKarakter.Height; velocityY = 0; havada = False; } if((imgKarakter.Position.X + imgKarakter.Width > pltfBitis.Position.X) && (imgKarakter.Position.X < pltfBitis.Position.X + pltfBitis.Width) && (imgKarakter.Position.Y + imgKarakter.Height >= pltfBitis.Position.Y) && (imgKarakter.Position.Y + imgKarakter.Height <= pltfBitis.Position.Y + 15) && (velocityY >= 0)) { platformda = True; imgKarakter.Position.Y = pltfBitis.Position.Y - imgKarakter.Height; velocityY = 0; havada = False; tmrParkur.Enabled = False; ShowMessage('TEBRIKLER! Parkuru tamamladin!'); } if((platformda == False) && (imgKarakter.Position.Y < 330)) { havada = True; } if(imgKarakter.Position.Y >= 330) { imgKarakter.Position.Y = 330; velocityY = 0; havada = False; } } void ParkurHareket { if(havada) { JumpBaslat; } else if(solGidiyor || sagGidiyor) { RunBaslat; } else { IdleBaslat; } if(solGidiyor && (imgKarakter.Position.X > 0)) { imgKarakter.Position.X = imgKarakter.Position.X - karakterHiz; karakterCember.Position.X = karakterCember.Position.X - karakterHiz; } if(sagGidiyor && (imgKarakter.Position.X < 600)) { imgKarakter.Position.X = imgKarakter.Position.X + karakterHiz; karakterCember.Position.X = karakterCember.Position.X + karakterHiz; } if(havada) { velocityY = velocityY + yerCekimi; imgKarakter.Position.Y = imgKarakter.Position.Y + velocityY; karakterCember.Position.Y = karakterCember.Position.Y + velocityY; } ParkurKontrol; } void ParkurSolBas { solGidiyor = True; } void ParkurSolBirak { solGidiyor = False; } void ParkurSagBas { sagGidiyor = True; } void ParkurSagBirak { sagGidiyor = False; } void ParkurZipla { if(havada == False) { velocityY = -20; havada = True; } } // ========== CANTA FONKSIYONLARI ========== void EsyaSec(panel: TclProPanel; id: Integer) { secilenPanel = panel; secilenVar = True; secilenID = id; surukleniyorMu = True; // Başlangıç pozisyonunu kaydet (geri dönmek için) baslangicX = panel.Position.X; baslangicY = panel.Position.Y; // Mouse'un şu anki pozisyonunu kaydet // offset = mouse pozisyonu - panel pozisyonu offsetX = Form1.clFormMousePosX - panel.Position.X; offsetY = Form1.clFormMousePosY - panel.Position.Y; } void SuSec { EsyaSec(pnlSu, 1); } void IlkYardimSec { EsyaSec(pnlIlkYardim, 2); } void FenerSec { EsyaSec(pnlFener, 3); } void IlacSec { EsyaSec(pnlIlac, 4); } void DudukSec { EsyaSec(pnlDuduk, 5); } void BattaniyeSec { EsyaSec(pnlBattaniye, 6); } void RadyoSec { EsyaSec(pnlRadyo, 7); } void ParaSec { EsyaSec(pnlPara, 8); } void TelefonSec { EsyaSec(pnlTelefon, 11); } void KonsolSec { EsyaSec(pnlKonsol, 12); } void PerfumSec { EsyaSec(pnlPerfum, 13); } void LaptopSec { EsyaSec(pnlLaptop, 14); } void EsyaMouseMove { if(surukleniyorMu && secilenVar) { // Basit: mouse pozisyonu - offset = yeni panel pozisyonu secilenPanel.Position.X = Form1.clFormMousePosX - offsetX; secilenPanel.Position.Y = Form1.clFormMousePosY - offsetY; } } void EsyaBirak var dogru: Boolean; cantaMerkezX, cantaMerkezY: Integer; esyaMerkezX, esyaMerkezY: Integer; { if(secilenVar == False) exit; surukleniyorMu = False; cantaMerkezX = pnlTorba.Position.X + (pnlTorba.Width / 2); cantaMerkezY = pnlTorba.Position.Y + (pnlTorba.Height / 2); esyaMerkezX = secilenPanel.Position.X + (secilenPanel.Width / 2); esyaMerkezY = secilenPanel.Position.Y + (secilenPanel.Height / 2); if((esyaMerkezX > pnlTorba.Position.X) && (esyaMerkezX < pnlTorba.Position.X + pnlTorba.Width) && (esyaMerkezY > pnlTorba.Position.Y) && (esyaMerkezY < pnlTorba.Position.Y + pnlTorba.Height)) { dogru = False; if(secilenID == 1) { dogru = True; lblBilgiBaslik.Text = 'SU - DOGRU!'; lblBilgiIcerik.Text = 'Enkaz altinda su hayat kurtarir! Gunluk en az 2 litre suya ihtiyac var.'; } if(secilenID == 2) { dogru = True; lblBilgiBaslik.Text = 'ILK YARDIM - DOGRU!'; lblBilgiIcerik.Text = 'Pansuman, tenturdiyot, agri kesici hayat kurtarir.'; } if(secilenID == 3) { dogru = True; lblBilgiBaslik.Text = 'FENER - DOGRU!'; lblBilgiIcerik.Text = 'Elektrikler kesilir. Karanlikta yol bulmak icin sart!'; } if(secilenID == 4) { dogru = True; lblBilgiBaslik.Text = 'ILAC - DOGRU!'; lblBilgiIcerik.Text = 'Kronik hastalar 1 haftalik ilac bulundurmali.'; } if(secilenID == 5) { dogru = True; lblBilgiBaslik.Text = 'DUSTUK - DOGRU!'; lblBilgiIcerik.Text = 'Enkaz altinda dustuk ile yardim cagirabilirsin!'; } if(secilenID == 6) { dogru = True; lblBilgiBaslik.Text = 'BATTANIYE - DOGRU!'; lblBilgiIcerik.Text = 'Soguk gecelerde battaniye hayat kurtarir.'; } if(secilenID == 7) { dogru = True; lblBilgiBaslik.Text = 'RADYO - DOGRU!'; lblBilgiIcerik.Text = 'Telefon calismazken radyo en guvenilir haber kaynagi.'; } if(secilenID == 8) { dogru = True; lblBilgiBaslik.Text = 'PARA - DOGRU!'; lblBilgiIcerik.Text = 'ATM calismazken nakit para hayat kurtarir.'; } if(secilenID == 11) { ShowMessage('YANLIS! Telefon sarj olmadan ise yaramaz!'); dogru = False; } if(secilenID == 12) { ShowMessage('YANLIS! Oyun konsolu cantaya girmez!'); dogru = False; } if(secilenID == 13) { ShowMessage('YANLIS! Parfum ise yaramaz!'); dogru = False; } if(secilenID == 14) { ShowMessage('YANLIS! Laptop cok agir!'); dogru = False; } if(dogru) { cantaPuan = cantaPuan + 10; cantaKoyulan = cantaKoyulan + 1; lblCantaPuan.Text = 'Puan: ' + IntToStr(cantaPuan); secilenPanel.Visible = False; pnlBilgi.Visible = True; if(cantaKoyulan >= 8) { tmrCanta.Enabled = False; ShowMessage('TEBRIKLER! Puan: ' + IntToStr(cantaPuan)); } } else { secilenPanel.Position.X = baslangicX; secilenPanel.Position.Y = baslangicY; } } else { secilenPanel.Position.X = baslangicX; secilenPanel.Position.Y = baslangicY; } secilenVar = False; secilenID = 0; } void BilgiKapat { pnlBilgi.Visible = False; } void CantaSureGuncelle { cantaSure = cantaSure - 1; lblCantaSure.Text = 'Sure: ' + IntToStr(cantaSure) + 's'; if(cantaSure <= 0) { tmrCanta.Enabled = False; ShowMessage('SURE DOLDU! Puan: ' + IntToStr(cantaPuan)); } } void EsyaYap(pnl: TclProPanel; lbl: TclLabel; x, y: Integer; emoji, ad: String) { pnl.Align = AlNone; pnl.Position.X = x; pnl.Position.Y = y; pnl.Width = 100; pnl.Height = 80; pnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#34495e'); pnl.clProSettings.IsRound = True; pnl.clProSettings.RoundHeight = 12; pnl.clProSettings.RoundWidth = 12; pnl.SetclProSettings(pnl.clProSettings); lbl.Align = alClient; lbl.Text = emoji + #13 + ad; lbl.StyledSettings = ssFamily; lbl.TextSettings.Font.Size = 13; lbl.TextSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); lbl.TextSettings.HorzAlign = taCenter; lbl.TextSettings.VertAlign = taCenter; lbl.HitTest = False; } // ========== ANA PROGRAM ========== { Form1 = TclForm.Create(Self); Form1.SetFormColor('#0f172a', '', clGNone); // ===== ANA MENU ===== pnlMenu = Form1.AddNewProPanel(Form1, 'pnlMenu'); pnlMenu.Align = alClient; pnlMenu.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1e293b'); pnlMenu.SetclProSettings(pnlMenu.clProSettings); lblMenuBaslik = Form1.AddNewLabel(pnlMenu, 'lblMenuBaslik', 'DEPREM EGITIMI'); lblMenuBaslik.Align = alTop; lblMenuBaslik.Height = 120; lblMenuBaslik.StyledSettings = ssFamily; lblMenuBaslik.TextSettings.Font.Size = 28; lblMenuBaslik.TextSettings.FontColor = clAlphaColor.clHexToColor('#f59e0b'); lblMenuBaslik.TextSettings.HorzAlign = taCenter; lblMenuBaslik.TextSettings.VertAlign = taCenter; btnMenuParkur = Form1.AddNewProButton(pnlMenu, 'btnMenuParkur', 'PARKUR OYUNU'); btnMenuParkur.Align = alNone; btnMenuParkur.Position.X = 200; btnMenuParkur.Position.Y = 150; btnMenuParkur.Width = 290; btnMenuParkur.Height = 80; btnMenuParkur.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#3b82f6'); btnMenuParkur.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); btnMenuParkur.clProSettings.FontSize = 20; btnMenuParkur.clProSettings.IsRound = True; btnMenuParkur.clProSettings.RoundHeight = 20; btnMenuParkur.clProSettings.RoundWidth = 20; btnMenuParkur.SetclProSettings(btnMenuParkur.clProSettings); Form1.AddNewEvent(btnMenuParkur, tbeOnClick, 'ParkurAc'); btnMenuCanta = Form1.AddNewProButton(pnlMenu, 'btnMenuCanta', 'DEPREM CANTASI'); btnMenuCanta.Align = alNone; btnMenuCanta.Position.X = 200; btnMenuCanta.Position.Y = 260; btnMenuCanta.Width = 290; btnMenuCanta.Height = 80; btnMenuCanta.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#10b981'); btnMenuCanta.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); btnMenuCanta.clProSettings.FontSize = 20; btnMenuCanta.clProSettings.IsRound = True; btnMenuCanta.clProSettings.RoundHeight = 20; btnMenuCanta.clProSettings.RoundWidth = 20; btnMenuCanta.SetclProSettings(btnMenuCanta.clProSettings); Form1.AddNewEvent(btnMenuCanta, tbeOnClick, 'CantaAc'); btnMenuCikis = Form1.AddNewProButton(pnlMenu, 'btnMenuCikis', 'CIKIS'); btnMenuCikis.Align = alNone; btnMenuCikis.Position.X = 200; btnMenuCikis.Position.Y = 370; btnMenuCikis.Width = 290; btnMenuCikis.Height = 80; btnMenuCikis.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ef4444'); btnMenuCikis.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); btnMenuCikis.clProSettings.FontSize = 20; btnMenuCikis.clProSettings.IsRound = True; btnMenuCikis.clProSettings.RoundHeight = 20; btnMenuCikis.clProSettings.RoundWidth = 20; btnMenuCikis.SetclProSettings(btnMenuCikis.clProSettings); Form1.AddNewEvent(btnMenuCikis, tbeOnClick, 'MenuCikis'); // ===== PARKUR OYUNU ===== pnlParkur = Form1.AddNewProPanel(Form1, 'pnlParkur'); pnlParkur.Align = alClient; pnlParkur.Visible = False; pnlParkur.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0f172a'); pnlParkur.SetclProSettings(pnlParkur.clProSettings); imgParkurArka = Form1.AddNewImage(pnlParkur, 'imgParkurArka'); imgParkurArka.Align = alClient; imgParkurArka.HitTest = False; lblParkurBaslik = Form1.AddNewLabel(pnlParkur, 'lblParkurBaslik', 'PARKUR'); lblParkurBaslik.Align = alTop; lblParkurBaslik.Height = 50; lblParkurBaslik.StyledSettings = ssFamily; lblParkurBaslik.TextSettings.Font.Size = 18; lblParkurBaslik.TextSettings.FontColor = clAlphaColor.clHexToColor('#f59e0b'); btnParkurMenu = Form1.AddNewButton(lblParkurBaslik, 'btnParkurMenu', 'MENU'); btnParkurMenu.Align = alRight; btnParkurMenu.Width = 100; Form1.AddNewEvent(btnParkurMenu, tbeOnClick, 'MenuGoster'); pltf1 = Form1.AddNewPanel(pnlParkur, 'pltf1'); pltf1.Align = AlNone; pltf1.Position.X = 150; pltf1.Position.Y = 300; pltf1.Width = 120; pltf1.Height = 20; pltf2 = Form1.AddNewPanel(pnlParkur, 'pltf2'); pltf2.Align = AlNone; pltf2.Position.X = 300; pltf2.Position.Y = 260; pltf2.Width = 100; pltf2.Height = 20; pltf3 = Form1.AddNewPanel(pnlParkur, 'pltf3'); pltf3.Align = AlNone; pltf3.Position.X = 430; pltf3.Position.Y = 220; pltf3.Width = 100; pltf3.Height = 20; pltf4 = Form1.AddNewPanel(pnlParkur, 'pltf4'); pltf4.Align = AlNone; pltf4.Position.X = 350; pltf4.Position.Y = 160; pltf4.Width = 100; pltf4.Height = 20; pltf5 = Form1.AddNewPanel(pnlParkur, 'pltf5'); pltf5.Align = AlNone; pltf5.Position.X = 480; pltf5.Position.Y = 100; pltf5.Width = 100; pltf5.Height = 20; pltfBitis = Form1.AddNewPanel(pnlParkur, 'pltfBitis'); pltfBitis.Align = AlNone; pltfBitis.Position.X = 550; pltfBitis.Position.Y = 40; pltfBitis.Width = 100; pltfBitis.Height = 20; imgKarakter = Form1.AddNewImage(pnlParkur, 'imgKarakter'); imgKarakter.Align = AlNone; imgKarakter.Width = 60; imgKarakter.Height = 80; imgKarakter.Visible = False; karakterCember = Form1.AddNewCircle(pnlParkur, 'karakterCember'); karakterCember.Align = AlNone; karakterCember.Width = 60; karakterCember.Height = 80; // IDLE ANIMASYON (Beklerken) Form1.AddAssetFromUrl('https://i.ibb.co/7xpbg5dH/dle.png'); animIdle = Form1.AddNewBitmapListAnimation(karakterCember, 'animIdle'); animIdle.AnimationBitmap.LoadFromFile(Clomosy.AppFilesPath + 'dle.png'); animIdle.AnimationCount = 6; animIdle.AnimationRowCount = 1; animIdle.Loop = True; animIdle.Enabled = True; animIdle.PropertyName = 'Fill.Bitmap.Bitmap'; animIdle.Duration = 1.0; // WALK ANIMASYON (Walk yok, Idle kullan) animWalk = Form1.AddNewBitmapListAnimation(karakterCember, 'animWalk'); animWalk.AnimationBitmap.LoadFromFile(Clomosy.AppFilesPath + 'dle.png'); animWalk.AnimationCount = 6; animWalk.AnimationRowCount = 1; animWalk.Loop = True; animWalk.Enabled = False; animWalk.PropertyName = 'Fill.Bitmap.Bitmap'; animWalk.Duration = 0.8; // RUN ANIMASYON (Kosarken) Form1.AddAssetFromUrl('https://i.ibb.co/xqjD59zW/Run.png'); animRun = Form1.AddNewBitmapListAnimation(karakterCember, 'animRun'); animRun.AnimationBitmap.LoadFromFile(Clomosy.AppFilesPath + 'Run.png'); animRun.AnimationCount = 8; animRun.AnimationRowCount = 1; animRun.Loop = True; animRun.Enabled = False; animRun.PropertyName = 'Fill.Bitmap.Bitmap'; animRun.Duration = 0.6; // JUMP ANIMASYON (Ziplayarken) Form1.AddAssetFromUrl('https://i.ibb.co/rf5NR8xw/Jump.png'); animJump = Form1.AddNewBitmapListAnimation(karakterCember, 'animJump'); animJump.AnimationBitmap.LoadFromFile(Clomosy.AppFilesPath + 'Jump.png'); animJump.AnimationCount = 10; animJump.AnimationRowCount = 1; animJump.Loop = True; animJump.Enabled = False; animJump.PropertyName = 'Fill.Bitmap.Bitmap'; animJump.Duration = 0.5; pnlParkurKontrol = Form1.AddNewPanel(pnlParkur, 'pnlParkurKontrol'); pnlParkurKontrol.Align = alBottom; pnlParkurKontrol.Height = 80; btnParkurSol = Form1.AddNewButton(pnlParkurKontrol, 'btnParkurSol', '<'); btnParkurSol.Align = alLeft; btnParkurSol.Width = 100; Form1.AddNewEvent(btnParkurSol, tbeOnMouseDown, 'ParkurSolBas'); Form1.AddNewEvent(btnParkurSol, tbeOnMouseUp, 'ParkurSolBirak'); btnParkurZipla = Form1.AddNewButton(pnlParkurKontrol, 'btnParkurZipla', 'ZIPLA'); btnParkurZipla.Align = alClient; Form1.AddNewEvent(btnParkurZipla, tbeOnClick, 'ParkurZipla'); btnParkurSag = Form1.AddNewButton(pnlParkurKontrol, 'btnParkurSag', '>'); btnParkurSag.Align = alRight; btnParkurSag.Width = 100; Form1.AddNewEvent(btnParkurSag, tbeOnMouseDown, 'ParkurSagBas'); Form1.AddNewEvent(btnParkurSag, tbeOnMouseUp, 'ParkurSagBirak'); tmrParkur = Form1.AddNewTimer(Form1, 'tmrParkur', 30); tmrParkur.Enabled = False; Form1.AddNewEvent(tmrParkur, tbeOnTimer, 'ParkurHareket'); // ===== CANTA OYUNU ===== pnlCanta = Form1.AddNewProPanel(Form1, 'pnlCanta'); pnlCanta.Align = alClient; pnlCanta.Visible = False; pnlCanta.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0f172a'); pnlCanta.SetclProSettings(pnlCanta.clProSettings); pnlCantaUst = Form1.AddNewPanel(pnlCanta, 'pnlCantaUst'); pnlCantaUst.Align = alTop; pnlCantaUst.Height = 60; lblCantaBaslik = Form1.AddNewLabel(pnlCantaUst, 'lblCantaBaslik', 'CANTA'); lblCantaBaslik.Align = alLeft; lblCantaBaslik.Width = 200; lblCantaBaslik.StyledSettings = ssFamily; lblCantaBaslik.TextSettings.Font.Size = 18; lblCantaBaslik.TextSettings.FontColor = clAlphaColor.clHexToColor('#f59e0b'); lblCantaPuan = Form1.AddNewLabel(pnlCantaUst, 'lblCantaPuan', 'Puan: 0'); lblCantaPuan.Align = alRight; lblCantaPuan.Width = 100; lblCantaPuan.StyledSettings = ssFamily; lblCantaPuan.TextSettings.Font.Size = 14; lblCantaPuan.TextSettings.FontColor = clAlphaColor.clHexToColor('#10b981'); lblCantaSure = Form1.AddNewLabel(pnlCantaUst, 'lblCantaSure', 'Sure: 90s'); lblCantaSure.Align = alRight; lblCantaSure.Width = 100; lblCantaSure.StyledSettings = ssFamily; lblCantaSure.TextSettings.Font.Size = 14; lblCantaSure.TextSettings.FontColor = clAlphaColor.clHexToColor('#ef4444'); btnCantaMenu = Form1.AddNewButton(pnlCantaUst, 'btnCantaMenu', 'MENU'); btnCantaMenu.Align = alRight; btnCantaMenu.Width = 80; Form1.AddNewEvent(btnCantaMenu, tbeOnClick, 'MenuGoster'); pnlCantaAlt = Form1.AddNewPanel(pnlCanta, 'pnlCantaAlt'); pnlCantaAlt.Align = alBottom; pnlCantaAlt.Height = 40; lblCantaAciklama = Form1.AddNewLabel(pnlCantaAlt, 'lblCantaAciklama', 'Esyalari surukleyip cantaya birak!'); lblCantaAciklama.Align = alClient; lblCantaAciklama.TextSettings.FontColor = clAlphaColor.clHexToColor('#94a3b8'); pnlCantaAlan = Form1.AddNewPanel(pnlCanta, 'pnlCantaAlan'); pnlCantaAlan.Align = alClient; // ÖNEMLI: MouseMove parent panel'de olmalı ki sürüklerken kesintisiz çalışsın! Form1.AddNewEvent(pnlCantaAlan, tbeOnMouseMove, 'EsyaMouseMove'); Form1.AddNewEvent(pnlCantaAlan, tbeOnMouseUp, 'EsyaBirak'); pnlTorba = Form1.AddNewProPanel(pnlCantaAlan, 'pnlTorba'); pnlTorba.Align = AlNone; pnlTorba.Position.X = 255; pnlTorba.Position.Y = 80; pnlTorba.Width = 180; pnlTorba.Height = 250; pnlTorba.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#15803d'); pnlTorba.clProSettings.BorderColor = clAlphaColor.clHexToColor('#22c55e'); pnlTorba.clProSettings.BorderWidth = 4; pnlTorba.clProSettings.IsRound = True; pnlTorba.clProSettings.RoundHeight = 18; pnlTorba.clProSettings.RoundWidth = 18; pnlTorba.SetclProSettings(pnlTorba.clProSettings); lblTorba = Form1.AddNewLabel(pnlTorba, 'lblTorba', '🎒'#13#13'CANTA'#13#13'Surukle birak'); lblTorba.Align = alClient; lblTorba.StyledSettings = ssFamily; lblTorba.TextSettings.Font.Size = 16; lblTorba.TextSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); lblTorba.TextSettings.HorzAlign = taCenter; lblTorba.TextSettings.VertAlign = taCenter; lblTorba.HitTest = False; pnlSu = Form1.AddNewProPanel(pnlCantaAlan, 'pnlSu'); lblSu = Form1.AddNewLabel(pnlSu, 'lblSu', ''); EsyaYap(pnlSu, lblSu, 20, 60, '💧', 'Su'); Form1.AddNewEvent(pnlSu, tbeOnMouseDown, 'SuSec'); pnlIlkYardim = Form1.AddNewProPanel(pnlCantaAlan, 'pnlIlkYardim'); lblIlkYardim = Form1.AddNewLabel(pnlIlkYardim, 'lblIlkYardim', ''); EsyaYap(pnlIlkYardim, lblIlkYardim, 130, 60, '🩹', 'Ilk Yardim'); Form1.AddNewEvent(pnlIlkYardim, tbeOnMouseDown, 'IlkYardimSec'); pnlFener = Form1.AddNewProPanel(pnlCantaAlan, 'pnlFener'); lblFener = Form1.AddNewLabel(pnlFener, 'lblFener', ''); EsyaYap(pnlFener, lblFener, 455, 60, '🔦', 'Fener'); Form1.AddNewEvent(pnlFener, tbeOnMouseDown, 'FenerSec'); pnlIlac = Form1.AddNewProPanel(pnlCantaAlan, 'pnlIlac'); lblIlac = Form1.AddNewLabel(pnlIlac, 'lblIlac', ''); EsyaYap(pnlIlac, lblIlac, 565, 60, '💊', 'Ilac'); Form1.AddNewEvent(pnlIlac, tbeOnMouseDown, 'IlacSec'); pnlDuduk = Form1.AddNewProPanel(pnlCantaAlan, 'pnlDuduk'); lblDuduk = Form1.AddNewLabel(pnlDuduk, 'lblDuduk', ''); EsyaYap(pnlDuduk, lblDuduk, 20, 170, '📯', 'Dustuk'); Form1.AddNewEvent(pnlDuduk, tbeOnMouseDown, 'DudukSec'); pnlBattaniye = Form1.AddNewProPanel(pnlCantaAlan, 'pnlBattaniye'); lblBattaniye = Form1.AddNewLabel(pnlBattaniye, 'lblBattaniye', ''); EsyaYap(pnlBattaniye, lblBattaniye, 130, 170, '🛏️', 'Battaniye'); Form1.AddNewEvent(pnlBattaniye, tbeOnMouseDown, 'BattaniyeSec'); pnlRadyo = Form1.AddNewProPanel(pnlCantaAlan, 'pnlRadyo'); lblRadyo = Form1.AddNewLabel(pnlRadyo, 'lblRadyo', ''); EsyaYap(pnlRadyo, lblRadyo, 455, 170, '📻', 'Radyo'); Form1.AddNewEvent(pnlRadyo, tbeOnMouseDown, 'RadyoSec'); pnlPara = Form1.AddNewProPanel(pnlCantaAlan, 'pnlPara'); lblPara = Form1.AddNewLabel(pnlPara, 'lblPara', ''); EsyaYap(pnlPara, lblPara, 565, 170, '💵', 'Para'); Form1.AddNewEvent(pnlPara, tbeOnMouseDown, 'ParaSec'); pnlTelefon = Form1.AddNewProPanel(pnlCantaAlan, 'pnlTelefon'); lblTelefon = Form1.AddNewLabel(pnlTelefon, 'lblTelefon', ''); EsyaYap(pnlTelefon, lblTelefon, 20, 280, '📱', 'Telefon'); Form1.AddNewEvent(pnlTelefon, tbeOnMouseDown, 'TelefonSec'); pnlKonsol = Form1.AddNewProPanel(pnlCantaAlan, 'pnlKonsol'); lblKonsol = Form1.AddNewLabel(pnlKonsol, 'lblKonsol', ''); EsyaYap(pnlKonsol, lblKonsol, 130, 280, '🎮', 'Konsol'); Form1.AddNewEvent(pnlKonsol, tbeOnMouseDown, 'KonsolSec'); pnlPerfum = Form1.AddNewProPanel(pnlCantaAlan, 'pnlPerfum'); lblPerfum = Form1.AddNewLabel(pnlPerfum, 'lblPerfum', ''); EsyaYap(pnlPerfum, lblPerfum, 455, 280, '🌸', 'Parfum'); Form1.AddNewEvent(pnlPerfum, tbeOnMouseDown, 'PerfumSec'); pnlLaptop = Form1.AddNewProPanel(pnlCantaAlan, 'pnlLaptop'); lblLaptop = Form1.AddNewLabel(pnlLaptop, 'lblLaptop', ''); EsyaYap(pnlLaptop, lblLaptop, 565, 280, '💻', 'Laptop'); Form1.AddNewEvent(pnlLaptop, tbeOnMouseDown, 'LaptopSec'); pnlBilgi = Form1.AddNewProPanel(pnlCanta, 'pnlBilgi'); pnlBilgi.Align = AlNone; pnlBilgi.Position.X = 120; pnlBilgi.Position.Y = 140; pnlBilgi.Width = 450; pnlBilgi.Height = 230; pnlBilgi.Visible = False; pnlBilgi.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#15803d'); pnlBilgi.clProSettings.BorderColor = clAlphaColor.clHexToColor('#22c55e'); pnlBilgi.clProSettings.BorderWidth = 5; pnlBilgi.clProSettings.IsRound = True; pnlBilgi.clProSettings.RoundHeight = 25; pnlBilgi.clProSettings.RoundWidth = 25; pnlBilgi.SetclProSettings(pnlBilgi.clProSettings); lblBilgiBaslik = Form1.AddNewLabel(pnlBilgi, 'lblBilgiBaslik', ''); lblBilgiBaslik.Align = alTop; lblBilgiBaslik.Height = 50; lblBilgiBaslik.StyledSettings = ssFamily; lblBilgiBaslik.TextSettings.Font.Size = 18; lblBilgiBaslik.TextSettings.FontColor = clAlphaColor.clHexToColor('#fbbf24'); lblBilgiBaslik.TextSettings.HorzAlign = taCenter; lblBilgiBaslik.TextSettings.VertAlign = taCenter; lblBilgiIcerik = Form1.AddNewLabel(pnlBilgi, 'lblBilgiIcerik', ''); lblBilgiIcerik.Align = alClient; lblBilgiIcerik.WordWrap = True; lblBilgiIcerik.Margins.Left = 20; lblBilgiIcerik.Margins.Right = 20; lblBilgiIcerik.Margins.Top = 10; lblBilgiIcerik.Margins.Bottom = 10; lblBilgiIcerik.TextSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); btnBilgiKapat = Form1.AddNewProButton(pnlBilgi, 'btnBilgiKapat', 'Tamam'); btnBilgiKapat.Align = alBottom; btnBilgiKapat.Height = 50; btnBilgiKapat.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#22c55e'); btnBilgiKapat.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); btnBilgiKapat.clProSettings.FontSize = 16; btnBilgiKapat.clProSettings.IsRound = True; btnBilgiKapat.clProSettings.RoundHeight = 25; btnBilgiKapat.clProSettings.RoundWidth = 25; btnBilgiKapat.SetclProSettings(btnBilgiKapat.clProSettings); Form1.AddNewEvent(btnBilgiKapat, tbeOnClick, 'BilgiKapat'); tmrCanta = Form1.AddNewTimer(Form1, 'tmrCanta', 1000); tmrCanta.Enabled = False; Form1.AddNewEvent(tmrCanta, tbeOnTimer, 'CantaSureGuncelle'); MenuGoster; Form1.Run; }
|
|
![]() |
|
Yanıt Yaz
|
|
| Tweet |
| Forum Atla | Forum İzinleri ![]() Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |