- 帖子
- 25
- 精华
- 0
- 积分
- 88
- 阅读权限
- 20
- 注册时间
- 2018-10-9
- 最后登录
- 2018-11-8
|
老师你好啊
我练习时候想要通过“按下鼠标”来触发子弹射出,代码如下:
import pygame
from pygame import *
import sys
from sys import *
pygame.init()
screen=pygame.display.set_mode((1024,1000),0,32)
pygame.display.set_caption('OK, All set!')
pic1=image.load('wheat.jpg')
pic2=image.load('plane.jpg').convert_alpha()
pic3=image.load('bullet.png')
b_x=0
b_y=-50 #因为子弹比较大,藏远一点,以使其看不见
x=0
y=0
while 1:
for event in pygame.event.get():
screen.blit(pic1,(0,0))
## 显示背景
x,y=pygame.mouse.get_pos()
## 获取鼠标的位置
a_x=x-pic2.get_width()/2
a_y=y-pic2.get_height()/2
## 调整显示飞机的位置
if event.type==pygame.MOUSEBUTTONDOWN:
b_x=x-pic3.get_width()/2
b_y=y-pic3.get_height()/2
if b_y>0:
b_y-=5
## 按下鼠标触发:子弹从飞机中间向上射出
screen.blit(pic3,(b_x,b_y))
## 显示子弹
screen.blit(pic2,(a_x,a_y))
pygame.display.update()
## 显示飞机
if event.type==pygame.KEYDOWN:
pygame.quit()
exit()
## 设定“向下键”为退出按钮
遇到的问题是,每次按下鼠标,子弹停留在飞机的位置不动
请教下老师,是哪里有错误造成这种结果,谢谢!
|
|