|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
import pygame
import sys
pygame.init()
size = width, height = 600, 400
speed = [-2, 1]
bg = (11, 242, 215)
clock = pygame.time.Clock()
# 创建指定大小窗口
screen = pygame.display.set_mode(size)
#设置窗口标题
pygame.display.set_caption('This is my frst GAME')
#加载素材
turle = pygame.image.load(r'C:\Users\Admin\Desktop\注册.jpg')
# 获取图像的矩形位置
position = turle.get_rect()
print(position)
position = position.move(100, 50)
print(position)
while True:
# 事件迭代
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
elif event.type == pygame.MOUSEBUTTONDOWN:
p = str(position)
ind_bag = p.index('(')
ind_end = p.index(')')
p = p[ind_bag+1:ind_end]
x1, y1, x2, y2 = p.split(',')
print(x1, y1, x2, y2)
print(event.pos)
if int(x1) <= event.pos[0] <= int(x2) and int(y1) <= event.pos[1] <= int(y2):
print('在里面')
# 移动图像
# 边缘检测
if position.left < 0 or position.right > width:
turle = pygame.transform.flip(turle, True, False)
speed[0] = -speed[0]
# 边缘检测
if position.top < 0 or position.bottom > height:
speed[1] = -speed[1]
# 填充背景
screen.fill(bg)
#更新图像
screen.blit(turle, position)
#更新界面
pygame.display.flip()
# 延迟10毫秒
pygame.time.delay(30)
以上代码目标是:当发现鼠标点击事件,判断鼠标位置是否在图像内坐标范围内
疑惑代码块:
position = turle.get_rect()
print(position)
position = position.move(100, 50)
print(position)
输出结果:
<rect(0, 0, 160, 160)>
<rect(100, 50, 160, 160)>
我很疑惑,x2,y2,的值竟然没有变动,我的理解是矩形是由两个平面坐标点(x1:100 ,y1:50, x2:160, y2:160) 当矩形的位置进行了移动,比如向x移动30,那么x1和x2分别需要+30
而这里x轴移动100,y轴移动50,但是x2,y2的值并没有发生任何变动,这是为什么
|
|