pygame的碰撞检测的问题!快来呀!求助!
我最近再练习用pygame,可是不知道碰撞检测该怎么写。我就将X匹配和Y匹配(24行),可是每次我把板图片放在小球图片的下面,总是不行。但是移动就能接到。这是为什么 呢?如果能改进匹配XY的代码,那就太谢谢了。或者换一种方法匹配也是可以的。代码(有一个小球和一个板,自己找素材,分别命名为test1.png, test2.png):import pygame
import sys
pygame.init()
window_size = 600, 400
window_color = 255, 255, 255, 255
window_caption = pygame.display.set_caption("Paddle Game")
window = pygame.display.set_mode(window_size)
paddle = pygame.image.load("test1.png")
ball = pygame.image.load("test2.png")
clock = pygame.time.Clock()
PlayerScore = 0
ComputerScore = 0
PaddlePos = 150, 300
BallPos = 260, 50
while True:
print(PlayerScore, ComputerScore)
clock.tick(500)
BallPos = BallPos, BallPos+1
if PaddlePos < 300:
PaddlePos = pygame.mouse.get_pos(), PaddlePos
else:
while PaddlePos > 299:
PaddlePos = PaddlePos-1, PaddlePos
if BallPos > 220 and BallPos < PaddlePos+30 and BallPos > PaddlePos-30:
PlayerScore += 1
BallPos = 260, 50
if BallPos > 500:
ComputerScore += 1
BallPos = 260, 50
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
window.fill(window_color)
window.blit(paddle, PaddlePos)
window.blit(ball, BallPos)
pygame.display.update()
没人吗{:10_266:}{:10_266:} 本帖最后由 激光鱼 于 2020-4-6 16:25 编辑
我提供一种思路给你,开发游戏我还是建议用面向对象的方法。
首先,pygame有自己的碰撞检测方法,可自己百度
如果将你的球和板看做对象的话,并已近创建对应的精灵组了,那么可以使用pygame自带碰撞检测,并设置参数使两个精灵组都不被破坏,让他们接触时发出一个事件,pygame也有自带事件检索方法,程序设置一个if语句检测事件,一旦事件发生,意味着球和板碰到了,你可以在下面进行下一步动作
页:
[1]