Trước hết, tôi đã tìm kiếm trực tuyến và trang web này để tìm giải pháp và những thứ tôi đã thử không hoạt động nên tôi quyết định đăng câu hỏi và mã riêng của mình. Chương trình này được tạo bằng Python 3.2.2 và phiên bản tương ứng của pygame. Tôi cũng nhận ra một phương pháp hiệu quả hơn là sử dụng sprites, sprite groups và 'dirty rect' cập nhật nhưng tôi không thể chuyển đổi chương trình và vì vậy tôi sẽ tiếp tục mà không có thêm lợi ích của các chức năng như vậy.Thiết kế và phát triển phần mềm Major: Pygame Smudge Trails
Sự cố: Làm mờ các đường nhỏ nơi các 'tiểu hành tinh' đang di chuyển bị bỏ lại phía sau.
Giả thuyết: Bối cảnh được chiếu lên màn hình tuy nhiên các tiểu hành tinh được chiếu lên nền.
Vui lòng trả lời - btw tôi là một highschooler từ AUS: D
import pygame
import random
import math
pygame.init()
height = 550
width = 750
screen = pygame.display.set_mode((width, height))
background = pygame.image.load("Planet.jpg")
Clock = pygame.time.Clock()
class asteroid(pygame.sprite.Sprite):
def __init__(self, x, y, size):
pygame.sprite.Sprite.__init__(self)
self.x = x
self.y = y
self.size = 15
self.speed = 0.0
self.angle = 0
self.colour = (171, 130, 255)
self.thickness = 0
def display(self):
pygame.draw.circle(background, self.colour, (int(self.x),int(self.y)), self.size, self.thickness)
pygame.draw.circle(background, (255, 255, 255), (int(self.x),int(self.y)), self.size, 1)
def move(self):
self.x += math.sin(self.angle) * self.speed
self.y -= math.cos(self.angle) * self.speed
def boundaries(self):
if self.x > width - self.size:
self.x = 0 + self.size
elif self.x < self.size:
self.x = width - self.size
if self.y > height - self.size:
self.y = 0 + self.size
elif self.y <self.size:
self.y = height - self.size
num_target = 5
my_particles = []
num_particles = len(my_particles)
while num_particles < 5:
for n in range(num_target):
size = 20
x = random.randint(size, height - size)
y = random.randint(size, width - size)
target = asteroid(x, y, size)
target.speed = random.uniform(1.0, 1.0)
target.angle = random.uniform(0, math.pi*2)
my_particles.append(target)
num_particles = num_particles + 1
def main():
pygame.display.set_caption("Anyu's Game")
screen.blit(background, (0,0))
pygame.display.update()
score = (pygame.time.get_ticks()/1000)
print (score)
while True:
pygame.display.update()
screen.blit(background, (0,0))
MouseP = pygame.mouse.get_pos()
frames = Clock.get_fps
pygame.mouse.set_visible
score = (pygame.time.get_ticks()/1000)
print (score)
print (MouseP)
for target in my_particles:
target.move()
target.boundaries()
target.display()
pygame.display.update()
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit();
if __name__=='__main__':
main()
+1 để làm việc trên công cụ này ở trường trung học –