73 lines
2.1 KiB
Python
73 lines
2.1 KiB
Python
import pygame
|
|
import sys
|
|
from imgui import PyGUI
|
|
|
|
WIDTH, HEIGHT = 800, 600
|
|
|
|
class Ball:
|
|
def __init__(self):
|
|
self.pos = [WIDTH // 2, HEIGHT // 2]
|
|
self.speed = 5
|
|
self.direction = 45
|
|
self.radius = 20
|
|
self.color = (255, 0, 0)
|
|
|
|
def update(self):
|
|
# (For demonstration, implement ball movement if desired.)
|
|
pass
|
|
|
|
def draw(self, surface):
|
|
pygame.draw.circle(surface, self.color, (int(self.pos[0]), int(self.pos[1])), self.radius)
|
|
|
|
def main():
|
|
pygame.init()
|
|
screen = pygame.display.set_mode((WIDTH, HEIGHT))
|
|
pygame.display.set_caption("PyGUI Example")
|
|
clock = pygame.time.Clock()
|
|
PyGUI.init(screen)
|
|
|
|
ball = Ball()
|
|
ball_speed = ball.speed
|
|
ball_direction = ball.direction
|
|
ball_radius = ball.radius
|
|
ball_color_r, ball_color_g, ball_color_b = ball.color
|
|
bounce_enabled = False
|
|
|
|
while True:
|
|
events = pygame.event.get()
|
|
for event in events:
|
|
if event.type == pygame.QUIT:
|
|
pygame.quit()
|
|
sys.exit()
|
|
|
|
PyGUI.Update(events)
|
|
|
|
screen.fill((50, 50, 50))
|
|
|
|
# Draw the GUI window.
|
|
PyGUI.Begin("Ball Controls", 10, 10)
|
|
ball_speed = PyGUI.Slider("Speed", ball_speed, 1, 10)
|
|
ball_direction = PyGUI.Slider("Direction", ball_direction, 0, 360)
|
|
ball_radius = PyGUI.Slider("Radius", ball_radius, 10, 100)
|
|
ball_color_r = PyGUI.Slider("Red", ball_color_r, 0, 255)
|
|
ball_color_g = PyGUI.Slider("Green", ball_color_g, 0, 255)
|
|
ball_color_b = PyGUI.Slider("Blue", ball_color_b, 0, 255)
|
|
bounce_enabled = PyGUI.Checkbox("Bounce", bounce_enabled)
|
|
if PyGUI.Button("Reset Position"):
|
|
ball.pos = [WIDTH // 2, HEIGHT // 2]
|
|
PyGUI.End()
|
|
|
|
# Update the ball parameters.
|
|
ball.speed = ball_speed
|
|
ball.direction = ball_direction
|
|
ball.radius = int(ball_radius)
|
|
ball.color = (int(ball_color_r), int(ball_color_g), int(ball_color_b))
|
|
|
|
ball.draw(screen)
|
|
|
|
pygame.display.flip()
|
|
clock.tick(60)
|
|
|
|
if __name__ == "__main__":
|
|
main()
|