File size: 1,302 Bytes
d234621
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
from PIL import Image, ImageDraw, ImageFont
import os

os.makedirs("wasd_ui", exist_ok=True)

# UI sizes (small)
key_size = (48, 48)
corner = 10
bg_padding = 6
font = ImageFont.truetype("arial.ttf", 28)  # Replace with locally supported font

def rounded_rect(im, bbox, radius, fill):
    draw = ImageDraw.Draw(im, "RGBA")
    draw.rounded_rectangle(bbox, radius=radius, fill=fill)

# background plate
bg_width = key_size[0] * 3 + bg_padding * 4
bg_height = key_size[1] * 2 + bg_padding * 4
ui_bg = Image.new("RGBA", (bg_width, bg_height), (0,0,0,0))
rounded_rect(ui_bg, (0,0,bg_width,bg_height), corner, (0,0,0,140))
ui_bg.save("wasd_ui/ui_background.png")

keys = ["W","A","S","D"]

def draw_key(char, active):
    im = Image.new("RGBA", key_size, (0,0,0,0))
    rounded_rect(im, (0,0,key_size[0],key_size[1]), corner,
                 (255,255,255,230) if active else (200,200,200,180))
    draw = ImageDraw.Draw(im)
    color = (0,0,0) if active else (50,50,50)
    w,h = draw.textsize(char, font=font)
    draw.text(((key_size[0]-w)//2,(key_size[1]-h)//2),
              char, font=font, fill=color)
    return im

for k in keys:
    draw_key(k, False).save(f"wasd_ui/key_{k}_idle.png")
    draw_key(k, True).save(f"wasd_ui/key_{k}_active.png")

print("✅ WASD UI assets generated in ./wasd_ui/")