|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 lzb1001 于 2022-6-19 00:44 编辑 # 演示裁剪图像
import pygame
import sys
from pygame.locals import *
pygame.init()
size = width, height = 640, 480
bg = (255, 255, 255)
clock = pygame.time.Clock()
screen = pygame.display.set_mode(size)
pygame.display.set_caption('FishC Demo')
oturtle = pygame.image.load(r'd:\\work\\turtle_left.png')
#turtle = pygame.transform.chop(oturtle, (71, 65, 30, 30))
turtle = oturtle
position = turtle.get_rect()
# 图像中心点的位置坐标
position.center = width // 2, height // 2 # 地板除法,哪里用到这个值???
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
screen.fill(bg)
screen.blit(turtle, position)
# 调用draw模块的rect()方法来绘制矩形:
pygame.draw.rect(screen, (0, 0, 0), position, 1)
# 第一个参数screen指定矩形将绘制在……
# 第二个参数(0, 0, 0)指定边框颜色为黑色
# 第三个参数position指定矩形的范围(left/top/width/height)
# 第四个参数1指定矩形边框线条的粗细(0表示用指定边框颜色填充矩形/数值越大线条越粗/负数表示无边框)
# 刷新页面:
pygame.display.flip()
# 调用time模块的clock()方法:
clock.tick(30) # 设置不高于30帧执行
------------------------------------------
Windows 10 专业版 | Python 3.7.6
------------------------------------------
【我的问题】
第30行代码position.center = width // 2, height // 2的作用?
它后面的代码pygame.draw.rect(screen, (0, 0, 0), position, 1)中都没有调用到position.center,而是position,所以第30行代码为什么一定要存在?
******************************
感谢大神不吝赐教,为新手解疑释惑。
赠人玫瑰,手有余香,好人一生平安!
pygame.draw.rect(screen, (0, 0, 0), position, 1)
这个地方用到了,position是一个类,center是这个类的一个属性,进了pygame.draw.rect这个函数之后,pygame自然会去调用它,不需要你操心
如果position.center = width // 2, height // 2这行没有起作用的话,你怎么会看到乌龟出现在屏幕正中间呢,这行代码的作用就是定义屏幕正中间的坐标
|
|