You last visited: Today at 21:58
Advertisement
[Release]Resizable button
Discussion on [Release]Resizable button within the Metin2 PServer Designs, Websites & Scripts forum part of the Metin2 Private Server category.
09/05/2014, 21:13
#1
elite*gold: 0
Join Date: Sep 2012
Posts: 219
Received Thanks: 123
[Release]Resizable button
Video:
Code:
class CoolButton(ui.Window):
BACKGROUND_COLOR = grp.GenerateColor(0.0, 0.0, 0.0, 1.0)
DARK_COLOR = grp.GenerateColor(0.4, 0.4, 0.4, 1.0)
WHITE_COLOR = grp.GenerateColor(1.0, 1.0, 1.0, 0.3)
HALF_WHITE_COLOR = grp.GenerateColor(1.0, 1.0, 1.0, 0.2)
def __init__(self, layer = "UI"):
ui.Window.__init__(self, layer)
self.eventFunc = None
self.eventArgs = None
self.ButtonText = None
self.ToolTipText = None
self.isOver = FALSE
self.isSelected = FALSE
self.width = 0
self.height = 0
def __del__(self):
ui.Window.__del__(self)
self.eventFunc = None
self.eventArgs = None
def SetSize(self, width, height):
ui.Window.SetSize(self, width, height)
self.width = width
self.height = height
def SetEvent(self, func, *args):
self.eventFunc = func
self.eventArgs = args
def SetTextColor(self, color):
if not self.ButtonText:
return
self.ButtonText.SetPackedFontColor(color)
def SetText(self, text):
if not self.ButtonText:
textLine = ui.TextLine()
textLine.SetParent(self)
textLine.SetPosition(self.GetWidth()/2, self.GetHeight()/2)
textLine.SetVerticalAlignCenter()
textLine.SetHorizontalAlignCenter()
textLine.SetOutline()
textLine.Show()
self.ButtonText = textLine
self.ButtonText.SetText(text)
def SetToolTipText(self, text, x=0, y = -19):
if not self.ToolTipText:
toolTip=ui.createToolTipWindowDict["TEXT"]()
toolTip.SetParent(self)
toolTip.SetSize(0, 0)
toolTip.SetHorizontalAlignCenter()
toolTip.SetOutline()
toolTip.Hide()
toolTip.SetPosition(x + self.GetWidth()/2, y)
self.ToolTipText=toolTip
self.ToolTipText.SetText(text)
def ShowToolTip(self):
if self.ToolTipText:
self.ToolTipText.Show()
def HideToolTip(self):
if self.ToolTipText:
self.ToolTipText.Hide()
def OnMouseLeftButtonDown(self):
self.isSelected = TRUE
def OnMouseLeftButtonUp(self):
self.isSelected = FALSE
if self.eventFunc:
apply(self.eventFunc, self.eventArgs)
def OnUpdate(self):
if self.IsIn():
self.isOver = TRUE
self.ShowToolTip()
else:
self.isOver = FALSE
self.HideToolTip()
def OnRender(self):
xRender, yRender = self.GetGlobalPosition()
widthRender = self.width
heightRender = self.height
grp.SetColor(self.BACKGROUND_COLOR)
grp.RenderBar(xRender, yRender, widthRender, heightRender)
grp.SetColor(self.DARK_COLOR)
grp.RenderLine(xRender, yRender, widthRender, 0)
grp.RenderLine(xRender, yRender, 0, heightRender)
grp.RenderLine(xRender, yRender+heightRender, widthRender, 0)
grp.RenderLine(xRender+widthRender, yRender, 0, heightRender)
if self.isOver:
grp.SetColor(self.HALF_WHITE_COLOR)
grp.RenderBar(xRender + 2, yRender + 2, self.width - 3, heightRender - 3)
if self.isSelected:
grp.SetColor(self.WHITE_COLOR)
grp.RenderBar(xRender + 2, yRender + 2, self.width - 3, heightRender - 3)
How to use:
Code:
self.Button_one = CoolButton()
self.Button_one.SetParent(parent)
self.Button_one.SetPosition(xPos, yPos)
self.Button_one.SetSize(xSize, ySize) ##Resizes button
self.Button_one.SetText('text')
self.Button_one.SetToolTipText('text')
self.Button_one.SetEvent(event)
self.Button_one.Show()
€dit:
You can also change the colors:
Code:
BACKGROUND_COLOR = grp.GenerateColor(0.0, 0.0, 0.0, 1.0)
DARK_COLOR = grp.GenerateColor(0.4, 0.4, 0.4, 1.0)
WHITE_COLOR = grp.GenerateColor(1.0, 1.0, 1.0, 0.3)
HALF_WHITE_COLOR = grp.GenerateColor(1.0, 1.0, 1.0, 0.2)
Virustotal:
Attached Files
button.rar
(911 Bytes, 47 views)
09/05/2014, 21:32
#2
elite*gold: 30
Join Date: Jul 2010
Posts: 1,627
Received Thanks: 1,450
Nice...
09/06/2014, 07:39
#3
elite*gold: 0
Join Date: May 2012
Posts: 210
Received Thanks: 199
Good idea
10/04/2014, 10:52
#4
elite*gold: 0
Join Date: Sep 2012
Posts: 219
Received Thanks: 123
You should set size before setting text otherwise text position won't be setted exactly
Code:
self.Button_one.SetSize(xSize, ySize) ##Resizes button
self.Button_one.SetText('text')
10/12/2014, 16:54
#5
elite*gold: 0
Join Date: Dec 2012
Posts: 9,407
Received Thanks: 2,744
Das soll was bringen?
Similar Threads
[RELEASE] Push Button (GIF)
10/18/2013 - Freebies - 19 Replies
Vorschau:
http://up.picr.de/16133863il.gif
Download: Push Button.gif
[B] Push Button [S] 10 e*gold/Button; 25 e*g/psd+Button
09/20/2013 - elite*gold Trading - 4 Replies
Moin,
Hier könnt ihr folgenden Push Button kaufen:
http://i.epvpimg.com/YlrYe.jpg
Pro Button wären das 10e*g, pro Button mit .psd dazu 25e*g.
Wenn ihr einen Button kaufen wollt, schreibt mir eine PN, damit ich den Namen ändern kann, alles hochladen kann und euch dann per Treasure schicken kann. ;)
Schrift kann auch geändert werden. Dazu einfach in der PN schreiben, welche Schrift ihr haben wollt^^
[RELEASE]Stun Button (GM)
09/14/2011 - Metin2 PServer Guides & Strategies - 26 Replies
Hi Leutz,
ich fange gerade mal mit Python an etc. und probiere mich etwas aus und da ich hier sowas noch nicht gesehn habe mache ich das mal pub^^ ist zwar nix schweres, dolles aber wers braucht. have fun
1. root entpacken
2. uitarget.py öffnen
das suchen:
All times are GMT +2. The time now is 22:00 .