python做多星环绕
时间: 2023-11-16 11:01:12 浏览: 160
用Python绘制漫天繁星
5星 · 资源好评率100%
多星环绕是指多个星球绕着一个中心点旋转的运动,下面是实现多星环绕的Python代码:
```python
import pygame
import math
pygame.init()
# 设置窗口大小
screen = pygame.display.set_mode((800, 600))
# 加载背景图片
background = pygame.image.load("background.jpg")
# 加载星球图片
planet1 = pygame.image.load("planet1.png")
planet2 = pygame.image.load("planet2.png")
planet3 = pygame.image.load("planet3.png")
# 获取星球图片的宽度和高度
planet_width = planet1.get_width()
planet_height = planet1.get_height()
# 设置星球的初始位置和半径
planet1_x = 400
planet1_y = 300
planet1_radius = 200
planet2_x = 400
planet2_y = 300
planet2_radius = 300
planet3_x = 400
planet3_y = 300
planet3_radius = 400
# 设置旋转速度
planet1_speed = 0.02
planet2_speed = 0.01
planet3_speed = 0.005
# 游戏循环
while True:
# 处理退出事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
# 绘制背景图片
screen.blit(background, (0, 0))
# 计算星球的位置
planet1_x = 400 + planet1_radius * math.cos(planet1_speed)
planet1_y = 300 + planet1_radius * math.sin(planet1_speed)
planet2_x = 400 + planet2_radius * math.cos(planet2_speed)
planet2_y = 300 + planet2_radius * math.sin(planet2_speed)
planet3_x = 400 + planet3_radius * math.cos(planet3_speed)
planet3_y = 300 + planet3_radius * math.sin(planet3_speed)
# 绘制星球
screen.blit(planet1, (planet1_x - planet_width / 2, planet1_y - planet_height / 2))
screen.blit(planet2, (planet2_x - planet_width / 2, planet2_y - planet_height / 2))
screen.blit(planet3, (planet3_x - planet_width / 2, planet3_y - planet_height / 2))
# 更新旋转角度
planet1_speed += 0.02
planet2_speed += 0.01
planet3_speed += 0.005
# 更新屏幕
pygame.display.update()
```
在这个代码中,我们使用了pygame库来实现多星环绕的效果。首先,我们加载了背景图片和三个星球的图片,并设置了它们的初始位置和半径。然后,在游戏循环中,我们计算了每个星球的位置,并绘制了它们。最后,我们更新了旋转角度,并更新了屏幕。
阅读全文