0 Üye ve 1 Ziyaretçi konuyu incelemekte.
interpolateBetween ( sayi1, sayi2, sayi3, sayi11, sayi22, sayi33, zaman, geçiş şekli )
tus = "F2" -- açma kapatma tuşusx,sy = guiGetScreenSize() -- ekran boyutlarıpg,pu = 700,500 -- panel genişlik ve uzunluğupx,py = sx/2-pg/2,sy/2-pu/2 -- panel koordinatları ayarlamapanel = guiCreateStaticImage(px,py,pg,pu,"img.png",false) -- arkaplandaki resmi oluşturma (window,label vb diğer elementlere çevirebilirsin)guiSetVisible(panel,false) -- paneli görünmez yap-- RENDER FUNCTIONaddEventHandler("onClientRender",root,function() local now = getTickCount() -- şuanın milisaniyesi if panel_durum == false then -- eğer panel kapatılacaksa local _,pyy = guiGetPosition(panel,false) -- panelin x ve y koordinatlarını getirdik local yy = interpolateBetween( pyy, -- panelin şuanki y koordinatı 0,0, -- buraya başka değerler yazabilirsiniz ama bu animasyon için başka değere ihtiyacımız yok (sy+1), -- panelin olması gereken konum 0,0, -- buralar da boş kalıyor çünkü kullanmıyoruz (now-pTick)/1500, -- burda şuanın milisaniyesinden tuşa basıldığındaki milisaniyeyi çıkarıp 1500'e bölüyoruz -- 1500 arttığında animasyon yavaşlar, azaldığında animasyon hızlanır "Linear" -- panelin gitmesi gereken konuma nasıl gideceği -- şuanki animasyonda nasıl gideceği önemsiz, bunun sebebini fonksiyonu kavradığınızda gelin açıklarım ) guiSetPosition(panel,px,yy,false) -- panelin yeni konumunu ayarladık showCursor(false) -- mouseu görünmez yaptık if yy == (sy+pu+1) then -- eğer panel ekrandan dışarı çıkmışsa guiSetVisible(panel,false) -- paneli görünmez yaptık end elseif panel_durum == true then local _,pyy = guiGetPosition(panel,false) -- panelin x ve y koordinatlarını getirdik local yy = interpolateBetween( pyy, -- panelin şuanki y koordinatı 0,0, -- buraya başka değerler yazabilirsiniz ama bu animasyon için başka değere ihtiyacımız yok py, -- panelin olması gereken konum 0,0, -- buralar da boş kalıyor çünkü kullanmıyoruz (now-pTick)/1500, -- burda şuanın milisaniyesinden tuşa basıldığındaki milisaniyeyi çıkarıp 1500'e bölüyoruz -- 1500 arttığında animasyon yavaşlar, azaldığında animasyon hızlanır "Linear" -- panelin gitmesi gereken konuma nasıl gideceği -- şuanki animasyonda nasıl gideceği önemsiz, bunun sebebini fonksiyonu kavradığınızda gelin açıklarım ) guiSetPosition(panel,px,yy,false) -- panelin yeni konumunu ayarladık if yy < py+20 then -- eğer panel olması gereken konuma yanaşmış ise showCursor(true) -- mouseu görünür yaptık end endend)-- PANEL BINDpanel_durum = false -- panelin durumunu kontrol edeceğimiz bir booleanpTick = getTickCount() -- scriptin başlatıldığı milisaniyebindKey(tus,"down",function() -- fonksiyon bind ekledik guiSetVisible(panel,true) -- fonksiyon her başlatıldığında panel görünür olacak panel_durum = not panel_durum -- booleanı zıttına çevirdik (true ise false, false ise true olacak) pTick = getTickCount() -- milisaniyeyi güncelledikend)
tus = "F2" -- açma kapatma tuşusx,sy = guiGetScreenSize() -- ekran boyutlarıpg,pu = 700,500 -- panel genişlik ve uzunluğupx,py = sx/2-pg/2,sy/2-pu/2 -- panel koordinatları ayarlamayy = sy+1-- RENDER FUNCTIONaddEventHandler("onClientRender",root,function() local now = getTickCount() -- şuanın milisaniyesi if panel_durum == false then -- eğer panel kapatılacaksa yy = interpolateBetween( yy, -- panelin şuanki y koordinatı 0,0, -- buraya başka değerler yazabilirsiniz ama bu animasyon için başka değere ihtiyacımız yok (sy+1), -- panelin olması gereken konum 0,0, -- buralar da boş kalıyor çünkü kullanmıyoruz (now-pTick)/1500, -- burda şuanın milisaniyesinden tuşa basıldığındaki milisaniyeyi çıkarıp 1500'e bölüyoruz -- 1500 arttığında animasyon yavaşlar, azaldığında animasyon hızlanır "Linear" -- panelin gitmesi gereken konuma nasıl gideceği -- şuanki animasyonda nasıl gideceği önemsiz, bunun sebebini fonksiyonu kavradığınızda gelin açıklarım ) dxDrawRectangle(px,yy,pg,pu) -- rectangleyi konuma getirdik showCursor(false) -- mouseu görünmez yaptık elseif panel_durum == true then yy = interpolateBetween( yy, -- panelin şuanki y koordinatı 0,0, -- buraya başka değerler yazabilirsiniz ama bu animasyon için başka değere ihtiyacımız yok py, -- panelin olması gereken konum 0,0, -- buralar da boş kalıyor çünkü kullanmıyoruz (now-pTick)/1500, -- burda şuanın milisaniyesinden tuşa basıldığındaki milisaniyeyi çıkarıp 1500'e bölüyoruz -- 1500 arttığında animasyon yavaşlar, azaldığında animasyon hızlanır "Linear" -- panelin gitmesi gereken konuma nasıl gideceği -- şuanki animasyonda nasıl gideceği önemsiz, bunun sebebini fonksiyonu kavradığınızda gelin açıklarım ) dxDrawRectangle(px,yy,pg,pu) -- rectangleyi konuma getirdik if yy < py+20 then -- eğer panel olması gereken konuma yanaşmış ise showCursor(true) -- mouseu görünür yaptık end endend)-- PANEL BINDpanel_durum = false -- panelin durumunu kontrol edeceğimiz bir booleanpTick = getTickCount() -- scriptin başlatıldığı milisaniyebindKey("tus","down",function() -- fonksiyon bind ekledik panel_durum = not panel_durum -- booleanı zıttına çevirdik (true ise false, false ise true olacak) pTick = getTickCount() -- milisaniyeyi güncelledikend)
Hepinize teşekkür ederim.Konu altından istediğiniz bir animasyonu GUI element olması şartıyla yapabilirim.