Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.
Témák - asdhero
Oldalak: [1]
1
« Dátum: 2016. február 17. - 18:32:33 »
Sziasztok. Elkészítettem nektek, akár tanulás, akár felhasználás céljára egy dxWindow rendszert! Amit tudni kell róla: - Animált ( Oldalról becsúszó animáció ) - A szöveg igazítva van a fejléchez, és egyértelműen a fejléc az alaphoz. - A Design színeket ti adjátok neki. ( Gondolok itt a háttér, fejléc, keret színére! ) Használjátok egészséggel. (Ha hibát észleltek, kérlek jelezzétek és javítom!) Egyedül arra kérlek meg benneteket, hogy ne editeljétek. Kérésre bővítem.. Akármivel! Köszönöm a megtisztelő figyelmet :wave: Egy kép: --[[ --//* Created By: m0k3 *//-- (( Ha kérhetem ne editeljétek! )) --]] Window = {} Window.__index = Window local fontSize = 1.00 --//* Betűméret ( Ha változtatod, akkor a fejléc vele változik! ) *//-- local fontType = \"sans\" --//* Betűtípus *//-- local progressTime = 2000 --//* Animáció sebessége *//-- function Window:New(x,y,w,h,text,backgroundColor,topBackgroundColor, frameColor) --//* Működése: Window:New(x koordináta, y koordináta, szélesség, magasság, fejléc szöveg, háttér szín, fejléc szín, keret szín) *//-- local data = {} data.x = x; data.y = y; data.w = w; data.h = h; data.text = text; data.activ = true; data.backgroundColor = backgroundColor; data.topBackgroundColor = topBackgroundColor; data.frameColor = frameColor; if (not data.frameColor) then --//* Ha nincs keretszín akkor ad neki! *//-- data.frameColor = tocolor(0,0,0,200); end if (not data.backgroundColor) then --//* Ha nincs háttérszín akkor ad neki! *//-- data.backgroundColor = tocolor(0, 0, 0, 180); end if (not data.topBackgroundColor) then --//* Ha nincs fejlécszín akkor ad neki! *//-- data.topBackgroundColor = tocolor(0, 0, 0, 180); end if (not data.text) then --//* Na nincs szöveg akkor alapértelmezett az \'Ablak\' *//-- data.text = \"Ablak\"; end data.render = function() data:windowRender() end; addEventHandler(\"onClientRender\", root, data.render); setmetatable(data, self); return data; end function Window:windowRender() if (not self.activ) then return; end local intX = interpolateBetween(-self.w, 0, 0, self.x, 0, 0, getProgress(progressTime), \"OutElastic\") --//* Animáció *//-- local textX, textY = (intX+(self.w)/2)-(dxGetTextWidth(self.text, fontSize, fontType)/2), (self.y+5) --//* Szöveg igazítás *//-- dxDrawRectangle(intX, self.y, self.w, self.h, self.backgroundColor, false) --//* Háttér *//-- dxDrawRectangle(intX, self.y, self.w, dxGetFontHeight(fontSize, fontType)+10, self.topBackgroundColor, false) --//* Fejléc *//-- dxDrawRectangle(intX, self.y + dxGetFontHeight(fontSize, fontType)+10, self.w, 1, self.frameColor) --//* Fejléc alsó keret ( Csak, hogy átlátható legyen! ) *//-- if dxGetTextWidth( self.text, fontSize ) <= self.w then --//* Csak akkor írja ki, ha a szöveg belefér! *//-- dxDrawText(self.text, textX, textY, self.w, self.h, tocolor(255,255,255,255), fontSize, fontType) --//* Szöveg *//-- end dxDrawRectangle(intX + 2, self.y - 1, self.w - 4, 1, self.frameColor) --//* Felső keret *//-- dxDrawRectangle(intX + 2, self.y + self.h, self.w - 4, 1, self.frameColor) --//* Alsó keret *//-- dxDrawRectangle(intX - 1, self.y + 2, 1, self.h - 4, self.frameColor) --//* Bal keret *//-- dxDrawRectangle(intX + self.w, self.y + 2, 1, self.h - 4, self.frameColor) --//* Jobb keret *//-- end function getProgress( addtick ) local now = getTickCount() local elapsedTime = now - lastTick local duration = lastTick+addtick - lastTick local progress = elapsedTime / duration return progress end --//* Példa a használathoz! *//-- local pos = {guiGetScreenSize()} local screenX, screenY = pos[1]/1920, pos[2]/1080 addCommandHandler(\"ablak\", function() lastTick = getTickCount() tesztAblak1 = Window:New(20*screenX, 400*screenY, 100, 100, \"Teszt!\", tocolor(10,10,10,150), tocolor(60,60,150,180)) tesztAblak2 = Window:New(130*screenX, 400*screenY, 200, 200, \"Teszt!\", tocolor(10,10,10,150), tocolor(60,60,150,180)) tesztAblak3 = Window:New(340*screenX, 400*screenY, 300, 300, \"Teszt!\", tocolor(10,10,10,150), tocolor(60,60,150,180)) tesztAblak4 = Window:New(650*screenX, 400*screenY, 400, 400, \"Teszt!\", tocolor(10,10,10,150), tocolor(60,60,150,180)) end )
2
« Dátum: 2016. február 09. - 19:46:40 »
Hello. Sokat tűnődtem azon, hogy hogyan tudnám a dx-ek pozícióit fűzni a felbontásokhoz úgy, hogy mindhez jó legyen. Pedig számtalanszor próbáltam! Előre is köszönök, minden jellegű segítséget!
Oldalak: [1]
|