|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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这行没有起作用的话,你怎么会看到乌龟出现在屏幕正中间呢,这行代码的作用就是定义屏幕正中间的坐标
|
|