pygame创建多个移动对象

时间:2017-09-01 07:57:43

标签: python class object pygame

我正在尝试使用pygame创建一个简单的游戏。目前我正在研究多个“星形”物体,让它们向下移动到屏幕上。每次游戏循环运行时,如何让课程取代“i1”而不覆盖它?

班级代码:

<maps:MapControl x:Name="MapControl" Height="200" HorizontalAlignment="Stretch"  BorderBrush="Black" BorderThickness="1" Grid.Row="1" Grid.ColumnSpan="2"/>
<maps:MapControl x:Name="MapControl" Height="200" Width="200"  BorderBrush="Black" BorderThickness="1"Grid.Row="1" Grid.ColumnSpan="2" />

1 个答案:

答案 0 :(得分:0)

我不清楚你为什么要这样做:

if self.i1 < display_height:
    self.i1 = 200

此部分将使圆圈始终保持在同一位置。 我编写了以下代码来执行您在问题中描述的任务。希望它会对你有所帮助。

import pygame
import random

display_width = 800
display_height = 600
radius = 10
white = (255, 255, 255)
black = (0, 0, 0)

pygame.init()
gameDisplay = pygame.display.set_mode((display_width, display_height))

def stars(x, y, color):
    pygame.draw.circle(gameDisplay, color, [x, y], radius)

def game_loop():
    circle_x = random.randint(radius, display_width - radius)
    circle_y = -radius
    while True:
        circle_y += 5
        if circle_y > display_height + radius:
            circle_y = 0 - radius
            circle_x = random.randint(0, display_width)
    gameDisplay.fill(black)
    stars(circle_x, circle_y, white)
    pygame.display.update()

game_loop()