鱼C论坛

 找回密码
 立即注册
查看: 2440|回复: 8

[学习笔记] Python学习心情记录 2020/3/26

[复制链接]
发表于 2020-3-26 13:24:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 wuqramy 于 2020-3-26 13:27 编辑

@DavidCT ,快来,pygame第三期!
首先下载pygame第三方库,在cmd中输入以下命令:
  1. pip install pygame
复制代码

其次上附件:
注!:请把图片文件放在一个文件夹里,然后在图片名前面加上文件夹路径!
资源打包:
Bag2.zip (170.07 KB, 下载次数: 1)

最后上代码:
这是一个裁剪龟兄的程序,玩法:
1.拖戈鼠标,选中一块区域;
捕获.PNG
2.移动鼠标;
捕获2.PNG
3.再次点击鼠标;
捕获3.PNG
好玩吗?代码如下:
  1. import pygame
  2. import pygame.transform
  3. import sys
  4. from pygame.locals import *
  5. pygame.init()
  6. size = width,height = 400,350
  7. bg = (255,255,255)
  8. clock = pygame.time.Clock()
  9. screen = pygame.display.set_mode(size)
  10. pygame.display.set_caption('cutting turtle')
  11. turtle = pygame.image.load('turtle.png')
  12. select = 0
  13. select_rect = pygame.Rect(0,0,0,0)
  14. drag = 0
  15. position = turtle.get_rect()
  16. position.center = width // 2,height // 2
  17. while True:
  18.     for event in pygame.event.get():
  19.         if event.type == QUIT:
  20.             sys.exit()
  21.         elif event.type == MOUSEBUTTONDOWN:
  22.             if event.button == 1:
  23.                 if select == 0 and drag == 0:
  24.                     pos_start = event.pos
  25.                     select = 1
  26.                 elif select == 2 and drag == 0:
  27.                     capture = screen.subsurface(select_rect).copy()
  28.                     cap_rect = capture.get_rect()
  29.                     drag = 1
  30.                 elif select == 2 and drag == 2:
  31.                     select = 0
  32.                     drag = 0
  33.         elif event.type == MOUSEBUTTONUP:
  34.             if event.button == 1:
  35.                 if select == 1 and drag == 0:
  36.                     pos_stop = event.pos
  37.                     select = 2
  38.                 if select == 2 and drag == 1:
  39.                     drag = 2
  40.     # 设置背景
  41.     screen.fill(bg)
  42.     # 更新图片
  43.     screen.blit(turtle,position)
  44.     if select:
  45.         mouse_pos = pygame.mouse.get_pos()
  46.         if select == 1:
  47.                 pos_stop = mouse_pos
  48.         select_rect.left,select_rect.top = pos_start
  49.         select_rect.width,select_rect.height = pos_stop[0] - pos_start[0],pos_stop[1] - pos_start[1]
  50.         pygame.draw.rect(screen,(0,0,0),select_rect,1)
  51.     if drag:
  52.         if drag == 1:
  53.             cap_rect.center = mouse_pos
  54.         screen.blit(capture,cap_rect)
  55.     # 更新背景
  56.     pygame.display.flip()
  57.     # 延时10毫秒
  58.     #pygame.time.delay(10)
  59.     # 设置帧数
  60.     clock.tick(30)
复制代码

然后还有一个隐身龟兄:
  1. import pygame
  2. import pygame.transform
  3. import sys
  4. pygame.init()
  5. size = width,height = 350,300
  6. bg = (0,0,0)
  7. clock = pygame.time.Clock()
  8. screen = pygame.display.set_mode(size)
  9. pygame.display.set_caption('running turtle')
  10. turtle = pygame.image.load('C:\\Pythonstudy\\mytest\\Pygamestudy\\images\\turtle.png')
  11. background = pygame.image.load('C:\\Pythonstudy\\mytest\\Pygamestudy\\images\\grass.jpg')
  12. position = turtle.get_rect()
  13. position.center = width // 2,height // 2
  14. def blit_alpha(target,source,location,opacity):
  15.     x = location[0]
  16.     y = location[1]
  17.     temp = pygame.Surface((source.get_width(),source.get_height())).convert()
  18.     temp.blit(target,(-x,-y))
  19.     temp.blit(source,(0,0))
  20.     temp.set_alpha(opacity)
  21.     target.blit(temp,location)
  22. while True:
  23.     for event in pygame.event.get():
  24.         if event.type == pygame.QUIT:
  25.             sys.exit()
  26.     screen.blit(background,(0,0))
  27.     blit_alpha(screen,turtle,position,200)
  28.     pygame.display.flip()
  29.     clock.tick(30)
复制代码

今天就到这里。
如果喜欢,别忘了:
don't forget.gif

评分

参与人数 2荣誉 +3 鱼币 +4 贡献 +3 收起 理由
DavidCT + 1 + 1 感谢楼主无私奉献!
不二如是 + 2 + 3 + 3 鱼C有你更精彩^_^

查看全部评分

本帖被以下淘专辑推荐:

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-26 13:32:44 | 显示全部楼层
来抢沙发了

评分

参与人数 1荣誉 +2 收起 理由
wuqramy + 2 沙发!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-26 13:43:42 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-26 14:09:03 | 显示全部楼层

你已经是一个成熟的鱼油了,
应该学会不自觉地抢沙发了
@不二如是
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-26 18:12:09 | 显示全部楼层
@DavidCT 你一天都没上线?!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-26 19:56:44 From FishC Mobile | 显示全部楼层
wuqramy 发表于 2020-3-26 18:12
@DavidCT 你一天都没上线?!

早起打卡了,好吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-26 20:19:25 | 显示全部楼层
DavidCT 发表于 2020-3-26 19:56
早起打卡了,好吗

试试代码呀!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-27 09:29:27 | 显示全部楼层
隐身的乌龟是渐显吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-27 09:30:57 | 显示全部楼层
DavidCT 发表于 2020-3-27 09:29
隐身的乌龟是渐显吗?

不是,目前还没有做出这种效果啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-18 14:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表