Funktion zum Button Generieren
Übersicht

![]() |
NeoxitBetreff: Funktion zum Button Generieren |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also ich habe mir längere Zeit mal über eine Funktion zum generieren von Buttons gedanken gemacht.
Ich bin bis jetzt auf keine Lösung gekommen, und dachte das evtl. einer von euch schon eine solche Funktion geschrieben hat. Man sollte eine grafik für dieses Button einfügen die sich je nach Länge des Buttontextest anfügt. Dieser Text sollte immer Mittig dieses Buttons stehen. habt ihr ne idee? oder schon solch eine Funktion ? Habe über suche nichts gefunden... =( MfG Neoxit |
||
![]() |
mahe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du brauchst lediglich eine linke und rechte Abschlussgrafik sowie eine Füllgrafik (Mitte) welche Du je nach Platzbedarf streckst. | ||
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ, |
![]() |
Neoxit |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jop, des habe ich mir auch schon gedacht, nur womit überprüfe ich wie lang die Buchstaben sind usw.
naja ich schau mal was ich machn kann thx soweit |
||
![]() |
Neoxit |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sooo ich habs jetzt Testweise erstmal in B3D geschrieben (Thema bitte nicht verschieben, weil ich es später für BMax umschreibe)
also so sieht es derzeitig aus: Code: [AUSKLAPPEN] Graphics 800,600,32 SetBuffer BackBuffer() Global links = LoadImage("links.jpg") Global rechts= LoadImage("rechts.jpg") Global mitte = LoadImage("mitte.jpg") Repeat Cls Button(100,100,"TestTestTest") Flip Until KeyHit(1) End Function Button(x,y,txt$) anzahl = Len(txt$) mitten = (anzahl/5+1) Text 0,0,anzahl Text 0,15, mitten DrawImage links,x,y For i = 1 To mitten DrawImage mitte,(x+6),y Next Text (x+6),(y+8),txt$ End Function Nun hänge ich allerdings an dem Problem, wie er mir die Grafiken aneinander reiht... Mit Types wäre es meiner Meinung viel zu kompliziert und Speicherbratent... Also habt ihr ne Lösung für das Prob? |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Types wären der Goldweg, noch dazu wo sie unter BMax vollwertige Klassen sind. | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
In BlitzMax ist die nutzung von Types nicht optional sondern pflicht.
Wenn du mit Int Handles arbeiten willst, weil es einfacher ist, dann bleib bei Blitz3D. In BlitzMax hast du damit performance einbrüche von 50% und mehr, denn BM nutzt intern kein Typehandles wie Blitz3D sondern typesichere Referenzen |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
mahe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was soll er da überhaupt mit Types (welche auch immer)?
Function DrawButton(x,y,text) * Das linke Bild zeichnen * Mit schöner Schleife (for bietet sich an) das mittlere wiederholt zeichnen * Das rechte Bild zeichnen * Den Text drauf schreiben EndFunction |
||
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ, |
![]() |
Neoxit |
![]() Antworten mit Zitat ![]() |
---|---|---|
Okay , bin gerade fertig geworden ^^ man hier kommt ja eine antwort auf die nächste xD also ich habs nun s o gemacht:
Code: [AUSKLAPPEN] Graphics 800,600,32,1 SetBuffer BackBuffer() Global links = LoadImage("links.jpg") Global rechts= LoadImage("rechts.jpg") Global mitte = LoadImage("mittee.jpg") Global gelb = LoadImage("gelb.jpg") Global rot = LoadImage("rot.jpg") Global cursor = LoadImage("cursor.jpg") Repeat Cls maus_x = MouseX() maus_y = MouseY() DrawImage gelb,100,100 DrawImage rot,450,230 If ImagesCollide(cursor,maus_x,maus_y,0,gelb,100,100,0) Then CreatePopupText((maus_x+20),(maus_y+20),"Dies ist die Farbe Gelb ;) Ist das nicht eine Schöne Farbe?",32,6) If ImagesCollide(cursor,maus_x,maus_y,0,rot,450,230,0) Then CreatePopupText((maus_x+20),(maus_y+20),"Dies ist eine Rote Farbe o.O",32,6) DrawImage cursor,maus_x,maus_y Flip Until KeyHit(1) End Function CreatePopupText(x,y,txt$,m_laenge,l_laenge) anzahl = Len(txt$) mitten = (anzahl/4+1) x_mitten = x Text 0,0,anzahl Text 0,15, mitten DrawImage links,x,y For i = 1 To mitten DrawImage mitte,(x_mitten+l_laenge),y x_mitten = x_mitten + m_laenge Next DrawImage rechts,x_mitten,y Text (x+l_laenge),(y+8),txt$ End Function funzt super ![]() [EDIT] Ist zwar nun kein Button mehr, aber daraus kann man sichs ja ableiten ![]() Aber super für nen PopUp text ^^ werde mich nun noch um Zeilenumbrüche kümmern d.h. ich muss das bild in 9 teile hauen wenn ich mich nich recht irre ^^ |
||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
mahe hat Folgendes geschrieben: Was soll er da überhaupt mit Types (welche auch immer)?
Function DrawButton(x,y,text) * Das linke Bild zeichnen * Mit schöner Schleife (for bietet sich an) das mittlere wiederholt zeichnen * Das rechte Bild zeichnen * Den Text drauf schreiben EndFunction Types deshalb weil er vielleicht ja mehrere Buttons will und die auch handlen mag. Da bieten sich Methoden im Type gradezu an. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
mahe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Asso, dann natürlich.
Ab so weit waren wir ja noch nicht ![]() |
||
ʇɹǝıdɯnɹɹoʞ ɹnʇɐuƃıs - ǝpoɥʇǝɯ-ɹoɹɹıɯ ɹǝp uı ,ɹoɹɹǝ, |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group