Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python pygame中的无效冲突检测 导入pygame pygame.init() pygame.display.set_标题(“…SHON…PONG…”) icon=pygame.image.load('icon.png')) pygame.display.set_图标(图标) FPS=50 fpscall=pygame.time.Clock() 屏幕H=500 屏幕W=300 screen=pygame.display.set_模式((屏幕H,屏幕W)) 黑色=((0,0,0)) palle1=pygame.image.load('palle1.png') palle1_rect=palle1.get_rect() 桨叶1_y=100 桨叶1_x=10 palle2=pygame.image.load('palle2.png') paile2_rect=paile1.get_rect() 桨叶2_y=100 桨叶2_x=471 ball=pygame.image.load('player.png') ball\u rect=ball.get\u rect() 球x=240 球y=130 球速=2 球速=2 速度=15 桨叶1_rect.x=桨叶1_x 桨叶1_rect.y=桨叶1_y 桨叶2_rect.x=桨叶2_x 桨叶2_-rect.y=桨叶2_-y ball_rect.x=ball_x ball_rect.y=ball_y def ball_移动(): 全球球速,球速,球速 球速 球y+=球y速度 def ball_collide_屏幕(): 全球球速,球速,球速 如果球y+屏幕W>=600: 球速=-2 如果ball_y+screenw_Python_Pygame - Fatal编程技术网

python pygame中的无效冲突检测 导入pygame pygame.init() pygame.display.set_标题(“…SHON…PONG…”) icon=pygame.image.load('icon.png')) pygame.display.set_图标(图标) FPS=50 fpscall=pygame.time.Clock() 屏幕H=500 屏幕W=300 screen=pygame.display.set_模式((屏幕H,屏幕W)) 黑色=((0,0,0)) palle1=pygame.image.load('palle1.png') palle1_rect=palle1.get_rect() 桨叶1_y=100 桨叶1_x=10 palle2=pygame.image.load('palle2.png') paile2_rect=paile1.get_rect() 桨叶2_y=100 桨叶2_x=471 ball=pygame.image.load('player.png') ball\u rect=ball.get\u rect() 球x=240 球y=130 球速=2 球速=2 速度=15 桨叶1_rect.x=桨叶1_x 桨叶1_rect.y=桨叶1_y 桨叶2_rect.x=桨叶2_x 桨叶2_-rect.y=桨叶2_-y ball_rect.x=ball_x ball_rect.y=ball_y def ball_移动(): 全球球速,球速,球速 球速 球y+=球y速度 def ball_collide_屏幕(): 全球球速,球速,球速 如果球y+屏幕W>=600: 球速=-2 如果ball_y+screenw

python pygame中的无效冲突检测 导入pygame pygame.init() pygame.display.set_标题(“…SHON…PONG…”) icon=pygame.image.load('icon.png')) pygame.display.set_图标(图标) FPS=50 fpscall=pygame.time.Clock() 屏幕H=500 屏幕W=300 screen=pygame.display.set_模式((屏幕H,屏幕W)) 黑色=((0,0,0)) palle1=pygame.image.load('palle1.png') palle1_rect=palle1.get_rect() 桨叶1_y=100 桨叶1_x=10 palle2=pygame.image.load('palle2.png') paile2_rect=paile1.get_rect() 桨叶2_y=100 桨叶2_x=471 ball=pygame.image.load('player.png') ball\u rect=ball.get\u rect() 球x=240 球y=130 球速=2 球速=2 速度=15 桨叶1_rect.x=桨叶1_x 桨叶1_rect.y=桨叶1_y 桨叶2_rect.x=桨叶2_x 桨叶2_-rect.y=桨叶2_-y ball_rect.x=ball_x ball_rect.y=ball_y def ball_移动(): 全球球速,球速,球速 球速 球y+=球y速度 def ball_collide_屏幕(): 全球球速,球速,球速 如果球y+屏幕W>=600: 球速=-2 如果ball_y+screenw,python,pygame,Python,Pygame,在移动对象之后和碰撞检测之前,您必须更新对象的位置: def ball_movement(): 全球球速,球速,球速 球速 球y+=球y速度 ball_rect.x=ball_x ball_rect.y=ball_y running=True 运行时: # [...] 对于pygame.event.get()中的事件: 如果event.type==pygame.QUIT: 运行=错误 pygame.quit() 如果event.type==pygame.KEYDOWN: 如果event.key

在移动对象之后和碰撞检测之前,您必须更新对象的位置:

def ball_movement():
全球球速,球速,球速
球速
球y+=球y速度
ball_rect.x=ball_x
ball_rect.y=ball_y
running=True
运行时:
# [...]
对于pygame.event.get()中的事件:
如果event.type==pygame.QUIT:
运行=错误
pygame.quit()
如果event.type==pygame.KEYDOWN:
如果event.key==pygame.K_w:
桨叶1_y-=速度
如果event.key==pygame.K_z:
桨叶1_y+=速度
如果event.key==pygame.K\u UP:
桨叶2_y-=速度
如果event.key==pygame.K_向下:
桨叶2_y+=速度
桨叶1_rect.x=桨叶1_x
桨叶1_rect.y=桨叶1_y
桨叶2_rect.x=桨叶2_x
桨叶2_-rect.y=桨叶2_-y

注意,您根本不需要变量
ball\u x
ball\u y
palle1\u x
palle1\u y
palle2\u x
palle2\u y

改用
ball\u rect.x
ball\u rect.y
paile1\u rect.x
paile1\u rect.y
paile2\u rect.x
paile2\u rect.y

导入pygame
pygame.init()
pygame.display.set_标题(“…SHON…PONG…”)
#icon=pygame.image.load('icon.png'))
#pygame.display.set_图标(图标)
FPS=50
fpscall=pygame.time.Clock()
屏幕H=500
屏幕W=300
screen=pygame.display.set_模式((屏幕H,屏幕W))
黑色=((0,0,0))
#palle1=pygame.image.load('palle1.png')
桨1=pygame.Surface((5,50))
1.填充((255、255、255))
桨叶1右=桨叶1。获取右(左上=(10100))
#palle2=pygame.image.load('palle2.png')
桨叶2=pygame.曲面((5,50))
桨叶2.填充((255、255、255))
桨叶2右=桨叶1。获取右(左上方=(471100))
#ball=pygame.image.load('player.png')
球=pygame.表面((5,5))
填充球((255,255,255))
ball_rect=ball.get_rect(左上方=(240130))
球速=2
球速=2
速度=15
def ball_移动():
球速x+=球速x
球速y+=球速
def ball_collide_屏幕():
全球球速,球速
如果ball_rect.left=screen.get_width():
球速=-2
如果ball_rect.top=screen.get_height():
球速=-2
def球_碰撞_桨()

如果浆1右-球右-球左,问题解决了吗?
import pygame
pygame.init()

pygame.display.set_caption('...SHON...PONG...')

icon=pygame.image.load('icon.png')

pygame.display.set_icon(icon)

FPS=50
fpsClock=pygame.time.Clock()
screenh=500
screenw=300

screen=pygame.display.set_mode((screenh,screenw))

black =((0,0,0))


paddle1=pygame.image.load('paddle1.png')
paddle1_rect=paddle1.get_rect()
paddle1_y=100
paddle1_x=10


paddle2=pygame.image.load('paddle2.png')
paddle2_rect=paddle1.get_rect()
paddle2_y=100
paddle2_x=471

  
ball=pygame.image.load('player.png')
ball_rect=ball.get_rect()
ball_x=240
ball_y=130

ball_y_speed=2
ball_x_speed=2

speed=15

paddle1_rect.x=paddle1_x
paddle1_rect.y=paddle1_y

paddle2_rect.x=paddle2_x
paddle2_rect.y=paddle2_y

ball_rect.x=ball_x
ball_rect.y=ball_y



def ball_movement():
    global ball_x, ball_y, ball_x_speed, ball_y_speed
    ball_x -=ball_x_speed
    ball_y +=ball_y_speed

def ball_collide_screen():
    global ball_x, ball_y, ball_x_speed, ball_y_speed
    if ball_y + screenw >= 600:
        ball_y_speed = -2
    
    if ball_y + screenw <= 300:
        ball_y_speed = -2


def ball_collide_paddles():
    global ball_rect, paddle1_rect, paddle2_rect
    if paddle1_rect.right - ball_rect.left <= 0:
        print('ho')

running=True
while running:

    

    screen.fill((0,0,0))

    screen.blit(paddle1, (paddle1_x,paddle1_y))

    screen.blit(paddle2, (paddle2_x,paddle2_y))

    screen.blit(ball, (ball_x, ball_y))

    ball_collide_screen()

    ball_movement()

    ball_collide_paddles()

    pygame.display.update()

    fpsClock.tick(FPS)

    for event in pygame.event.get():
        if event.type==pygame.QUIT:
            running=False
            pygame.quit()

        if event.type==pygame.KEYDOWN:
            if event.key==pygame.K_w:
            
                paddle1_y-= speed

            if event.key==pygame.K_z:
            
                paddle1_y+=speed
                
            if event.key==pygame.K_UP:
                
                paddle2_y-=speed

            if event.key==pygame.K_DOWN:
                
                paddle2_y+=speed