wuqramy 发表于 2020-3-25 15:02:39

Python学习心情记录 2020/3/25

本帖最后由 wuqramy 于 2020-3-25 15:48 编辑

@DavidCT ,快来,pygame第二期!

首先下载pygame第三方库,在cmd中输入以下命令:
pip install pygame

其次上附件:
注!:请把图片文件放在一个文件夹里,然后在图片名前面加上文件夹路径!
资源打包:


最后上代码:
本次增加的功能:可以通过键盘上的上下左右按键控制乌龟的移动
import pygame
import pygame.transform
import sys
from pygame.locals import *
pygame.init()
size = width,height = 600,400
speed = [-2,1]
bg = (255,255,255)
# 加载帧数调节器
clock = pygame.time.Clock()
# 显示窗口
screen = pygame.display.set_mode(size)
# 加载背景
background = pygame.image.load('grass.jpg')
screen.blit(background,(0,0))
# 显示窗口标题
pygame.display.set_caption('running turtle')
# 加载图片
turtle = pygame.image.load('turtle.png')
# 获得图像的位置矩形
position = turtle.get_rect()
l_head = turtle
r_head = pygame.transform.flip(turtle,True,False)
while True:
    for event in pygame.event.get():
      if event.type == QUIT:
            sys.exit()
      if event.type == KEYDOWN:
            if event.key == K_LEFT:
                turtle = l_head
                speed = [-1,0]
            if event.key == K_RIGHT:
                turtle = r_head
                speed =
            if event.key == K_UP:
                speed =
            if event.key == K_DOWN:
                speed =
    # 移动图片
    position = position.move(speed)
    if position.left < 0 or position.right > width:
      # 翻转图像
      turtle = pygame.transform.flip(turtle,True,False)
      # 反方向移动
      speed = -speed
    if position.top < 0 or position.bottom > height:
      speed = -speed
    # 设置背景
    #screen.fill(bg)
    # 更新背景
    screen.blit(background,(0,0))
    # 更新图片
    screen.blit(turtle,position)
    pygame.display.flip()
    # 延时10毫秒
    #pygame.time.delay(10)
    # 设置帧数
    clock.tick(100)
在附上一个飞檐走壁的龟兄代码:
import pygame
import pygame.transform
import sys
from pygame.locals import *
pygame.init()
size = width,height = 600,400
bg = (255,255,255)
clock = pygame.time.Clock()
# 显示窗口
screen = pygame.display.set_mode(size)
# 显示窗口标题
pygame.display.set_caption('running turtle')
ratio = 1.0
# 加载图片
oturtle = pygame.image.load('turtle.png')
turtle = oturtle
# 获得图像的位置矩形
oturtle_rect = oturtle.get_rect()
position = turtle_rect = oturtle_rect
speed =
turtle_right = pygame.transform.rotate(turtle,90)
turtle_top = pygame.transform.rotate(turtle,180)
turtle_left = pygame.transform.rotate(turtle,270)
turtle_bottom = turtle
turtle = turtle_top
fullscreen = False
l_head = turtle
r_head = pygame.transform.flip(turtle,True,False)
while True:
    for event in pygame.event.get():
      if event.type == QUIT:
            sys.exit()
      if event.type == KEYDOWN:
            if event.key == K_LEFT:
                turtle = l_head
                speed = [-1,0]
            if event.key == K_RIGHT:
                turtle = r_head
                speed =
            if event.key == K_UP:
                speed =
            if event.key == K_DOWN:
                speed =
            # 设置全屏
            if event.key == K_F11:
                fullscreen = not fullscreen
                if fullscreen:
                  screen = pygame.display.set_mode((1366,768),FULLSCREEN | HWSURFACE)
                  width,height = 1366,768
                else:
                  screen = screen = pygame.display.set_mode(size)
            if event.key == K_EQUALS or event.key == K_MINUS or event.key == K_SPACE:
                if event.key == K_EQUALS and ratio < 2:
                  ratio += 0.1
                if event.key == K_MINUS and ratio > 0.5:
                  ratio -= 0.1
                if event.key == K_SPACE:
                  ratio = 1.0
                turtle = pygame.transform.smoothscale(oturtle,\
                  (int(oturtle_rect.width * ratio),\
                  int(oturtle_rect.height * ratio)))
                l_head = turtle
                r_head = pygame.transform.flip(turtle,True,False)
      # 用户调整窗口尺寸
      if event.type == VIDEORESIZE:
            size = event.size
            width,height = size
            screen = screen = pygame.display.set_mode(size,RESIZABLE)
    if position.right > width:
      turtle = turtle_right
      position = turtle_rect = turtle.get_rect()
      position.left = width - turtle_rect.width
      speed =
    if position.bottom > height:
      turtle = turtle_bottom
      position = turtle_rect = turtle.get_rect()
      position.left = width - turtle_rect.width
      position.top = height - turtle_rect.height
      speed = [-5,0]
    if position.left < 0:
      turtle = turtle_left
      position = turtle_rect = turtle.get_rect()
      position.top = height - turtle_rect.height
      speed =
    if position.top < 0:
      turtle = turtle_top
      position = turtle_rect = turtle.get_rect()
      speed =
    # 移动图片
    position = position.move(speed)
    if position.left < 0 or position.right > width:
      # 翻转图像
      turtle = pygame.transform.flip(turtle,True,False)
      # 反方向移动
      speed = -speed
    if position.top < 0 or position.bottom > height:
      speed = -speed
    # 设置背景
    screen.fill(bg)
    # 更新图片
    screen.blit(turtle,position)
    # 更新背景
    pygame.display.flip()
    # 延时10毫秒
    #pygame.time.delay(10)
    # 设置帧数
    clock.tick(60)

哈哈,有不有趣呢?
如果你喜欢,一定别忘了:

乘号 发表于 2020-3-25 15:34:37

你也换鼠标光标啦{:10_279:}

wuqramy 发表于 2020-3-25 15:41:13

本帖最后由 wuqramy 于 2020-3-25 15:44 编辑

乘号 发表于 2020-3-25 15:34
你也换鼠标光标啦

你不试试代码吗

WangJS 发表于 2020-3-25 15:51:30

乘号 发表于 2020-3-25 15:34
你也换鼠标光标啦

其实你可以用别人的图{:10_256:}
直接拽到桌面就行了

六小鸭 发表于 2020-3-25 16:19:55

乘号 发表于 2020-3-25 15:34
你也换鼠标光标啦

就是和小甲鱼一样的那个吗
{:10_282:}

DavidCT 发表于 2020-3-25 17:26:28

这两个高级了。楼主厉害了

wuqramy 发表于 2020-3-25 17:32:43

DavidCT 发表于 2020-3-25 17:26
这两个高级了。楼主厉害了

哈哈,飞檐走壁的乌龟!

wuqramy 发表于 2020-3-25 17:33:45

DavidCT 发表于 2020-3-25 17:26
这两个高级了。楼主厉害了

其实还能加声音,但是文件太大无法上传...

DavidCT 发表于 2020-3-25 17:38:15

wuqramy 发表于 2020-3-25 17:33
其实还能加声音,但是文件太大无法上传...

直接放到github啊

wuqramy 发表于 2020-3-25 17:48:00

DavidCT 发表于 2020-3-25 17:38
直接放到github啊

github是啥

新雨花石 发表于 2020-3-25 17:53:47

石头学习来了。

wuqramy 发表于 2020-3-25 17:54:59

新雨花石 发表于 2020-3-25 17:53
石头学习来了。

哈哈你好花石!

ATTO 发表于 2020-3-25 18:00:52

支持 大佬!

wuqramy 发表于 2020-3-25 18:01:09

ATTO 发表于 2020-3-25 18:00
支持 大佬!

谢谢 支持!

乘号 发表于 2020-3-25 18:48:36

六小鸭 发表于 2020-3-25 16:19
就是和小甲鱼一样的那个吗

嗯嗯

六小鸭 发表于 2020-3-25 18:55:50

乘号 发表于 2020-3-25 18:48
嗯嗯

我也换了{:10_278:}

DavidCT 发表于 2020-3-27 09:24:00

过来测试了,
页: [1]
查看完整版本: Python学习心情记录 2020/3/25