当椭圆运动到画布边缘令它消失,Python语言
时间: 2023-11-19 16:03:39 浏览: 69
python处理圆角图片、圆形图片的例子
下的代码示例:
```python
import pygame
import math
# 初始化 Pygame
pygame.init()
# 定义画布尺寸
width = 800
height = 600
# 创建画布
screen = pygame.display.set_mode((width, height))
# 设置标题
pygame.display.set_caption('Ellipse Motion')
# 定义椭圆的参数
a = 200
b = 100
angle = 0
speed = math.pi / 180 # 每帧旋转的角度
# 循环绘制椭圆
while True:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
# 清空画布
screen.fill((255, 255, 255))
# 计算椭圆的位置
x = int(width / 2 + a * math.cos(angle))
y = int(height / 2 + b * math.sin(angle))
# 绘制椭圆
pygame.draw.ellipse(screen, (255, 0, 0), pygame.Rect(x, y, 50, 50))
# 更新椭圆的角度
angle += speed
# 判断椭圆是否超出画布边缘
if x < -50 or x > width + 50 or y < -50 or y > height + 50:
break
# 更新画面
pygame.display.update()
# 退出 Pygame
pygame.quit()
```
在程序中,我们使用 `pygame.draw.ellipse()` 函数绘制椭圆,并根据椭圆的参数计算椭圆的位置。在每一帧中,我们都更新椭圆的角度,并检查椭圆是否超出画布边缘。如果椭圆超出了画布边缘,程序就会退出循环,从而结束程序的运行。
阅读全文