Hallo erstmal,
da ich in meinen Programmen gerne Windows Buttens verwende, musste ich mir zuerst immer für die größe die ich brauche von irgendwo ein Gif Bild besorgen,
danach hab ich Winapi probiert aber das war mir zu umständlich(8)).Also hab ich den folgenden Code entwickelt:
draw_windows_button(x1,y1,x2,y2,str/sprite)(ich wäre über andre Namensvorschläge erfreut
)
Spoiler anzeigen
Alles anzeigen
x1,y1,x2,y2 dürfte klar sein
str ist der text der korrekt auf den button gedrawt wird oder der name des sprites das gezeichnet werden soll (ohne "")
Man kann es so verwenden:
Screenshot:

Gibt 1 zurück wenn der User den Button loslässt!
Es gehört ausserdem ins Draw_Event
Ein typisches Maß für Buttons ist übrigens 75,23
Und die typische Schriftart ist MS Sans Serif
viel Spaß
P.s.über feedbacks wäre ich sehr erfreut
da ich in meinen Programmen gerne Windows Buttens verwende, musste ich mir zuerst immer für die größe die ich brauche von irgendwo ein Gif Bild besorgen,
danach hab ich Winapi probiert aber das war mir zu umständlich(8)).Also hab ich den folgenden Code entwickelt:
draw_windows_button(x1,y1,x2,y2,str/sprite)(ich wäre über andre Namensvorschläge erfreut

GML-Quellcode
- xx=argument0
- yy=argument1
- w=argument2-argument0
- h=argument3-argument1
- str=argument4
- //butten nach modus drawen
- if mouse_x>xx && mouse_y>yy && mouse_x<xx+w && mouse_y<yy+h && !mouse_check_button(mb_left)
- {
- draw_set_alpha(1)
- draw_rectangle_color(xx+3,yy+3,xx+w-4,yy+h-3,16645368,16645368,14140870,14140870,0)
- draw_rectangle_color(xx+2,yy+3,xx+w-3,yy+h-3,9033981,9033981,38885,38885,1)
- draw_rectangle_color(xx+3,yy+3,xx+w-4,yy+h-4,9033981,9033981,3191544,3191544,1)
- }
- else if mouse_x>xx && mouse_y>yy && mouse_x<xx+w && mouse_y<yy+h && mouse_check_button(mb_left)
- {
- draw_set_alpha(1)
- draw_rectangle_color(xx+3,yy+3,xx+w-4,yy+h-3,12430252,12430252,16645368,16645368,0)
- }
- else
- {
- draw_set_alpha(1)
- draw_rectangle_color(xx+3,yy+2,xx+w-4,yy+h-3,16645368,16645368,14140870,14140870,0)
- }
- draw_line_color(xx+3,yy+1,xx+w-3,yy+1,7617536,7617536)//oben
- draw_line_color(xx+1,yy+3,xx+1,yy+h-3,7617536,7617536)//links
- draw_line_color(xx+w-2,yy+3,xx+w-2,yy+h-3,7617536,7617536)//rechts
- draw_line_color(xx+3,yy+h-2,xx+w-3,yy+h-2,7617536,7617536)//unten
- draw_set_alpha(0.65)
- draw_point_color(xx+2,yy+2,7617536)
- draw_point_color(xx+2,yy+h-3,7617536)
- draw_point_color(xx+w-3,yy+h-3,7617536)
- draw_point_color(xx+w-3,yy+2,7617536)
- draw_set_alpha(0.4)
- draw_point_color(xx+1,yy+2,7617536)//LO
- draw_point_color(xx+2,yy+1,7617536)//LO
- draw_point_color(xx+1,yy+h-3,7617536)//LU
- draw_point_color(xx+2,yy+h-2,7617536)//LU
- draw_point_color(xx+w-2,yy+h-3,7617536)//RU
- draw_point_color(xx+w-3,yy+h-2,7617536)//RU
- draw_point_color(xx+w-2,yy+2,7617536)//RO
- draw_point_color(xx+w-3,yy+1,7617536)//RO
- draw_set_halign(fa_center)
- draw_set_valign(fa_middle)
- draw_set_alpha(1)
- if is_string(str)
- {
- draw_text(xx+round(w/4)*2,yy+round(h/4)*2,string(str))
- }
- else if is_real(str)
- {
- draw_sprite(str,1,xx+round(w/4)*2,yy+round(h/4)*2)
- }
- if mouse_x>xx && mouse_y>yy && mouse_x<xx+w && mouse_y<yy+h && mouse_check_button_released(mb_left)
- {
- return(1)
- }
str ist der text der korrekt auf den button gedrawt wird oder der name des sprites das gezeichnet werden soll (ohne "")
Man kann es so verwenden:
Screenshot:
Gibt 1 zurück wenn der User den Button loslässt!
Es gehört ausserdem ins Draw_Event

Ein typisches Maß für Buttons ist übrigens 75,23
Und die typische Schriftart ist MS Sans Serif
viel Spaß
P.s.über feedbacks wäre ich sehr erfreut

Dieser Beitrag wurde bereits 15 mal editiert, zuletzt von whiterock ()