pygame屏幕绘制(2)

这是学习嵩天老师的课程,习得并引以为笔记。

在接着上一篇文章继续进行学习。
pygame.display.set_caption(title,icontitle=None)设置标题,其中title参数设置窗口的标题内容,icontitle设置图标化后的小标题(一般不设置,有些系统不显示)。另外pygame.display.get_caption() 返回当前设置窗口的标题及小标题内容,该参数可根据游戏情节修改标题内容。
我们都知道游戏都是有图标的,那么怎么设置呢?我们可以利用pygame.display.set_icon(surface)函数设置图标,图标是Surfa对象。
在这里插入图片描述
这是设置图标前的显示
下面我们在伸缩版的基础上设置游戏图标


import pygame,sys

pygame.init()
icon = pygame.image.load("Aatrox0.jpg")	#surface对象
pygame.display.set_icon(icon)	#设置图标
#vInfo = pygame.display.Info()   #设置显示
size = width,heigth = 600,400
#size = width,heigth = vInfo.current_w,vInfo.current_h
speed = [1,1]
BLACK = 0,0,0
#screen = pygame.display.set_mode(size)
screen = pygame.display.set_mode(size,pygame.RESIZABLE)
#screen = pygame.display.set_mode(size,pygame.NOFRAME)
#screen = pygame.display.set_mode(size,pygame.FULLSCREEN)

pygame.display.set_caption("游戏之旅")
ball = pygame.image.load("000111.gif")
ballrect = ball.get_rect()
fps = 300   #设置为300
fclock = pygame.time.Clock()
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
        elif event.type == pygame.KEYDOWN:
            if event.key == pygame.K_LEFT:
                speed[0] = speed[0] if speed[0] == 0 else (abs(speed[0]) -1)* int(speed[0]/abs(speed[0]))
            elif event.key == pygame.K_RIGHT:
                speed[0] = speed[0] + 1 if speed[0] > 0 else speed[0] -1
            elif event.key == pygame.K_UP:
                speed[1] = speed[1] + 1 if speed[1] > 0 else speed[0] -1
            elif event.key == pygame.K_DOWN:
                speed[1] = speed[1] if speed[1] == 0 else (abs(speed[1]) -1)* int(speed[1]/abs(speed[1]))
            elif event.key == pygame.K_ESC: #退出游戏
                sys.exit()
        elif event.type == pygame.VIDEORESIZE:  #响应事件并更改窗体大小
            size = width,heigth = event.size[0],event.size[1]   #尺寸赋给当前屏幕
            screen = pygame.display.set_mode(size,pygame.RESIZABLE)
    ballrect = ballrect.move(speed[0],speed[1])
    if ballrect.left <0 or ballrect.right > width:
        speed[0] = -speed[0]
    if ballrect.top <0 or ballrect.bottom > heigth:
        speed[1] = -speed[1]

    screen.fill(BLACK)
    screen.blit(ball,ballrect)
    pygame.display.update()#刷新窗体
    fclock.tick(fps)

运行这段代码,可以看到图标已经被设置,如下:
pygame屏幕绘制(2)_第1张图片
大家也来试试吧!

你可能感兴趣的:(成长)