2019-06-17

参考:(https://gitbook.cn/gitchat/column/5b1a31bc862a01660e35955c/topic/5b1a867e3d723c686c3101c7)
2019-06-17

任务:绘制小方块(1.main()中画方块;2.定义画方块函数)

1.main()中画方块

# 在之前定义的画游戏区域边界与网格语句下面,加上画小方块语句(可以把画网格函数整合到画边界函数中去,简化程序)
draw_game_area(screen)
draw_grid_line(screen)
draw_cell(screen, GAME_AREA_LEFT, GAME_AREA_TOP)

新定义的draw_cell函数有三个参数,第二与第三分别为画小方块的左上角所在点的横、纵坐标
小方块这样画(def draw_cell()中)

def draw_cell(screen, left, top):
    cell_left_top = (left, top)
    cell_width_height = (CELL_WIDTH, CELL_WIDTH)
    cell_rect = pygame.Rect(cell_left_top, cell_width_height)
    pygame.draw.rect(screen, CELL_COLOR, cell_rect)

注意:CELL_COLOR写在def main()前的常量里

CELL_COLOR = (100, 100, 100)

对于以上代码的理解:
为了方便改变小方块的位置,draw_cell()有三个参数,后两个确定其在哪,比如:

draw_cell(screen, GAME_AREA_LEFT, GAME_AREA_TOP)

小方块在游戏区域左上角第一位:


图1.jpg

又如:

draw_cell(screen, GAME_AREA_LEFT + CELL_WIDTH * 4, GAME_AREA_TOP)

小方块在第一行第五列的位置:


图2.jpg

cell_rect调用pygame.Rect()生成矩形对象,两个参数分别确定矩形左上角坐标、边长
所以有了上面cell_left_top与cell _width_height的定义
cell_left_top定义元祖类型(left, top),为左上角点的(横, 纵)
cell_width_height定义方块的宽、高
最后调用pygame.draw.rect(),三个参数分别为:screen, CELL_COLOR, cell_rect 意思是在screen上用CELL_COLOR填充cell_rect描述的矩形对象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容