butona basılıncaa resmin animasyonlu şekilde büyümesini ve resmi aynı zamanda ortalamasını istediğim kod, resmin büyüklüğü en fazla 200 olması lazım ama 200 olduktan sonra sola gitmeye(sanırsam else altında olan clAnimateFloat(resim1,'Position.X',resim1.Position.X - deger / 2,2,1,0); kodu çalışıyor) devam ediyor yardımcı olur musunuz? (deger: 20)
void buyultme var sagdanposx,alttanposy,aradeger,aradegeren:Integer { sagdanposx=resim1.Position.X+resim1.Width alttanposy=resim1.Position.Y+resim1.Height if(((deger>200-resim1.Height) && (200-resim1.Height>0)) || ((deger>200-resim1.Width) && (200-resim1.Width>0)) ) { aradegerboy=200-resim1.Height aradegeren=200-resim1.Width clAnimateFloat(resim1,'Height',200,2,1,0); clAnimateFloat(resim1,'Position.X',resim1.Position.X - aradegeren / 2,2,1,0); clAnimateFloat(resim1,'Position.Y',resim1.Position.y - aradegerboy / 2,2,1,0); //resim1.Height=200 //resim1.Width=200 //resim1.Position.X=resim1.Position.X - aradegeren / 2 //resim1.Position.Y=resim1.Position.Y - aradegerboy / 2 //ShowMessage(resim1.Height); } else if((resim1.Height+deger>200) || (resim1.Width+deger>200)) { ShowMessage('Büyütme Sınırına Ulaştınız!'); //ShowMessage(resim1.Height); //KONTROL } else if((resim1.Position.X<deger) || (sagdanposx+20>resimpanel.Width)) { ShowMessage('Sınırları Aşamazsınız!'); } else if((resim1.Position.Y<deger) || (alttanposy+20>resimpanel.Height)) { ShowMessage('Sınırları Aşamazsınız!'); } else { clAnimateFloat(resim1,'Height',resim1.Height+deger,2,1,0); //resim1.Height=resim1.Height+deger clAnimateFloat(resim1,'Width',resim1.Width+deger,2,1,0); //resim1.Width=resim1.Width+deger clAnimateFloat(resim1,'Position.X',resim1.Position.X - deger / 2,2,1,0); //resim1.Position.X=resim1.Position.X - deger / 2 clAnimateFloat(resim1,'Position.Y',resim1.Position.Y - deger / 2,2,1,0); //resim1.Position.Y=resim1.Position.Y - deger / 2 //ShowMessage(resim1.Height); //KONTROL } }
|