[Frage]Farbcodes in .py dateien

08/02/2013 19:21 SATunE#1
Hallo com,

Ich hab mich mal hierher verirrt aus der Metin2 section,
weil ich dachte ihr könntet mir mit dem coding helfen!

Meine Frage ist es, wie ich den Button ne andere farbe geben kann:

Code:
PHP Code:
class BarButton(ui.Button):
    
ColorUp 0x40999999
    ColorDown 
0x40aaaacc
    ColorOver 
0x40ddddff

    UP
=0
    DOWN
=1
    OVER
=2

    def __init__
(selflayer "UI"
            
aColorUp   ColorUp
            
aColorDown ColorDown
            
aColorOver ColorOver):
        
ui.Button.__init__(self,layer)
        
self.state self.UP
        self
.colortable aColorUpaColorDownaColorOver

    def OnRender
(self):
        
x,self.GetGlobalPosition()
        
grp.SetColor(self.colortable[self.state])
        
grp.RenderBar(x,y,self.GetWidth(),self.GetHeight())

    
def CallEvent(self):
        
self.state self.UP
        ui
.Button.CallEvent(self)

    
def DownEvent(self):
        
self.state self.DOWN

    def ShowToolTip
(self):
        
self.state self.OVER

    def HideToolTip
(self):
        
self.state self.UP 

Dabei habe ich keine ahnung, welche farbcodes für welche farben sind...

PHP Code:
    ColorUp 0x40999999
    ColorDown 
0x40aaaacc
    ColorOver 
0x40ddddff 
Ich würd mich auf eine hilfe freuen.

MFG TunE
08/02/2013 19:33 .SkyneT.#2
Quote:
Originally Posted by SATunE View Post
PHP Code:
    ColorUp 0x40999999
    ColorDown 
0x40aaaacc
    ColorOver 
0x40ddddff 
ColorOver - Mauszeiger über Button
ColorDown - Button gedrückt
ColorUp - nicht ColorOver/ColorDown

Eigentlich logisch oder ?
08/02/2013 19:36 SATunE#3
danke aber ich wollte wissen wie ich die farbcodes rausbekomme

also was zb blau, grün, rot oder so ist.

Und ob es in villecht möglich ist den button ganz zu ändern, und stattessen ein
bildobjekt aufruft. Also eins was zb mit photoshop erstellt wurde mit der dateiendung .tga
08/02/2013 20:22 MaBarker#4
Zu den Farbcodes kannst du einfach googlen gehn. Ich hab dir gerade eine PN geschickt dazu.

Und um die Buttons ganz zu ändern. Naja wie gesagt Google ist dein Freund ;)

mfg. MaBarker
08/02/2013 20:30 .SkyneT.#5
Quote:
Originally Posted by SATunE View Post
danke aber ich wollte wissen wie ich die farbcodes rausbekomme

also was zb blau, grün, rot oder so ist.
Sieht mir nach ARGB aus (Alpha, Red, Green, Blue)
ColorUp = 0x40999999
0x40 - Alpha
0x99 - Red
0x99 - Green
0x99 - Blue

Quote:
Originally Posted by SATunE View Post
Und ob es in villecht möglich ist den button ganz zu ändern, und stattessen ein
bildobjekt aufruft. Also eins was zb mit photoshop erstellt wurde mit der dateiendung .tga
Warum sollte es nicht möglich sein ?
Irgendwo in der GUI von Metin wird sicher mal
ein Bild gezeichnet, dort kannst du es dir ja abschauen.
08/02/2013 20:55 SATunE#6
Aber oben den Pfad auszuwählen ist nicht möglich, bzw würde nicht funktionieren?

Also in diesem Abschnitt denn ich oben genannt habe:

PHP Code:
class BarButton(ui.Button):
    
ColorUp 0x40FF0000
    ColorDown 
0x40aaaacc
    ColorOver 
0x400000CC

    UP
=0
    DOWN
=1
    OVER
=2

    def __init__
(selflayer "UI"
            
aColorUp   ColorUp
            
aColorDown ColorDown
            
aColorOver ColorOver):
        
ui.Button.__init__(self,layer)
        
self.state self.UP
        self
.colortable aColorUpaColorDownaColorOver

    def OnRender
(self):
        
x,self.GetGlobalPosition()
        
grp.SetColor(self.colortable[self.state])
        
grp.RenderBar(x,y,self.GetWidth(),self.GetHeight())

    
def CallEvent(self):
        
self.state self.UP
        ui
.Button.CallEvent(self)

    
def DownEvent(self):
        
self.state self.DOWN

    def ShowToolTip
(self):
        
self.state self.OVER

    def HideToolTip
(self):
        
self.state self.UP 
08/02/2013 21:17 .SkyneT.#7
Theoretisch müsstest du die 3 Farben durch 3 Bilder ersetzen, jedoch
werden bei Sachen wie, "self.colortable = aColorUp, aColorDown, aColorOver"
Fehler auftreten, die du wiederum ausbessern musst.
(Was ohne Grundlagen und Eigeninitiative nicht funktionieren wird)
08/02/2013 21:24 SATunE#8
und mir jemand dabei helfen könnte auch niemand?
08/06/2013 14:46 Mijago#9
Code:
class BarButton(ui.Button):
	imgUp   = "d:/ymir work/ui/public/small_button_01.sub"
	imgOver = "d:/ymir work/ui/public/small_button_02.sub"
	imgDown = "d:/ymir work/ui/public/small_button_03.sub"
	UP=0
	DOWN=1
	OVER=2

	def __init__(self, layer = "UI",up = imgUp,over = imgOver, down = umpDown):
		ui.Button.__init__(self,layer)
		self.state = self.UP
		self.SetUpVisual(up)
		self.SetOverVisual(over)
		self.SetDownVisual(down)
		
	def CallEvent(self):
		self.state = self.UP
		ui.Button.CallEvent(self)

	def DownEvent(self):
		self.state = self.DOWN

	def ShowToolTip(self):
		self.state = self.OVER

	def HideToolTip(self):
		self.state = self.UP
Bedenke, da ich die Parameter herausgenommen habe, musst du folgenden aufruf anpassen:

Code:
		def MakeEachButton(i):
			if self.skin == 3:
				b = BarButton("TOP_MOST",0x50000000, 0x50404040, 0x50606060)
so ca Zeile 460


Desweiteren ändert das JEDEN Button..
Hab es nicht getestet, müsste aber klappen c: