Python游戏球移动
我正在写一个简单的“游戏”,我有三个问题要问你:Python游戏球移动,python,pygame,mouse,draw,geometry,Python,Pygame,Mouse,Draw,Geometry,我正在写一个简单的“游戏”,我有三个问题要问你: 我怎样才能使所有的球独立地移动 当我用鼠标拖动一个球并在屏幕上单击时,如何使球停留在那里。我想把它画在按下鼠标键的特定坐标上。它必须一直呆在那里 如果一个小球碰到一个大的球,它应该变成一个大的球,10秒后消失 我不知道怎么做。你能帮帮我吗 我的代码: import pygame import sys from pygame.locals import * import random pygame.init() width = 800 heig
import pygame
import sys
from pygame.locals import *
import random
pygame.init()
width = 800
height = 600
fps = 25
clock = pygame.time.Clock()
black = (0, 0, 0)
white = (255, 255, 255)
display_window = pygame.display.set_mode((width, height))
pygame.display.set_caption('Bouncy')
game_over = False
r = random.randint(0, 255)
g = random.randint(0, 255)
b = random.randint(0, 255)
x_cor = random.randint(15, width - 15)
y_cor = random.randint(15, height - 15)
x_change = random.randint(3, 7)
y_change = random.randint(3, 7)
coordinates = []
for i in range(10):
x = random.randint(0, width)
y = random.randint(0, height)
coordinates.append([x, y])
while not game_over:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
if event.type == KEYDOWN:
if event.key == pygame.K_ESCAPE:
pygame.quit()
sys.exit()
if event.type == pygame.mouse.get_pressed():
pass
x_cor += x_change
y_cor += y_change
display_window.fill(white)
mouse_x, mouse_y = pygame.mouse.get_pos()
for coordinate in coordinates:
pygame.draw.circle(display_window, (r, g, b), (coordinate[0], coordinate[1]), 15, 0)
pygame.draw.circle(display_window, black, (mouse_x, mouse_y), 25, 0)
pygame.draw.circle(display_window, (r, g, b), (x_cor, y_cor), 15, 0)
if x_cor > (width - 15) or x_cor < 15:
x_change = x_change * -1
if y_cor > (height - 15)or y_cor < 15:
y_change = y_change * -1
clock.tick(fps)
pygame.display.update()
导入pygame
导入系统
从pygame.locals导入*
随机输入
pygame.init()
宽度=800
高度=600
fps=25
clock=pygame.time.clock()
黑色=(0,0,0)
白色=(255,255,255)
display_window=pygame.display.set_模式((宽度、高度))
pygame.display.set_标题('Bouncy')
游戏结束=错误
r=random.randint(0255)
g=random.randint(0255)
b=random.randint(0255)
x_cor=random.randint(15,宽度-15)
y_cor=random.randint(15,高度-15)
x_change=random.randint(3,7)
y_change=random.randint(3,7)
坐标=[]
对于范围(10)内的i:
x=random.randint(0,宽度)
y=random.randint(0,高度)
坐标。追加([x,y])
虽然游戏尚未结束:
对于pygame.event.get()中的事件:
如果event.type==退出:
pygame.quit()
sys.exit()
如果event.type==KEYDOWN:
如果event.key==pygame.K_退出:
pygame.quit()
sys.exit()
如果event.type==pygame.mouse.get_pressed():
通过
x_cor+=x_变化
y_cor+=y_变化
显示窗口填充(白色)
鼠标x,鼠标y=pygame.mouse.get\u pos()
对于坐标中的坐标:
pygame.draw.circle(显示窗口,(r,g,b),(坐标[0],坐标[1]),15,0)
pygame.draw.circle(显示窗口,黑色,(鼠标x,鼠标y),25,0)
pygame.draw.circle(显示窗口,(r,g,b),(x,y),15,0)
如果x_cor>(宽度-15)或x_cor<15:
x_change=x_change*-1
如果y_cor>(高度-15)或y_cor<15:
y_change=y_change*-1
时钟滴答声(fps)
pygame.display.update()
首先,请在此处发布之前进行必要的研究(请参阅简介教程上的帮助文档)。互联网上有很多教程,在SO(StackOverflow)中有很多关于移动对象的问题。要让您从总体上开始,请执行以下操作:
基本上,你需要一个球对象(制作一个类球);为需要的每个球实例化一个新对象。写下改变每个球的位置、大小和寿命的方法。首先,在发布之前做必要的研究(请参阅介绍教程上的帮助文档)。互联网上有很多教程,在SO(StackOverflow)中有很多关于移动对象的问题。要让您从总体上开始,请执行以下操作:
基本上,你需要一个球对象(制作一个类球);为需要的每个球实例化一个新对象。编写更改每个球的位置、大小和寿命的方法。欢迎使用StackOverflow。请阅读并遵循帮助文档中的发布指南。适用于这里。在您发布编码并准确描述问题之前,我们无法有效地帮助您。StackOverflow不是编码或教程服务。创建类球以保持球的位置、速度和检查鼠标单击等。您的问题太广泛-答案需要大量代码。欢迎使用StackOverflow。请阅读并遵循帮助文档中的发布指南。适用于这里。在您发布编码并准确描述问题之前,我们无法有效地帮助您。StackOverflow不是编码或教程服务。创建类球以保持球的位置、速度和检查鼠标单击等。您的问题太广泛-答案需要大量代码。