wuqramy 发表于 2020-3-26 13:24:08

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

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

@DavidCT ,快来,pygame第三期!
首先下载pygame第三方库,在cmd中输入以下命令:
pip install pygame
其次上附件:
注!:请把图片文件放在一个文件夹里,然后在图片名前面加上文件夹路径!
资源打包:


最后上代码:
这是一个裁剪龟兄的程序,玩法:
1.拖戈鼠标,选中一块区域;

2.移动鼠标;

3.再次点击鼠标;

好玩吗?代码如下:
import pygame
import pygame.transform
import sys
from pygame.locals import *
pygame.init()
size = width,height = 400,350
bg = (255,255,255)
clock = pygame.time.Clock()
screen = pygame.display.set_mode(size)
pygame.display.set_caption('cutting turtle')
turtle = pygame.image.load('turtle.png')
select = 0
select_rect = pygame.Rect(0,0,0,0)
drag = 0
position = turtle.get_rect()
position.center = width // 2,height // 2
while True:
    for event in pygame.event.get():
      if event.type == QUIT:
            sys.exit()
      elif event.type == MOUSEBUTTONDOWN:
            if event.button == 1:
                if select == 0 and drag == 0:
                  pos_start = event.pos
                  select = 1
                elif select == 2 and drag == 0:
                  capture = screen.subsurface(select_rect).copy()
                  cap_rect = capture.get_rect()
                  drag = 1
                elif select == 2 and drag == 2:
                  select = 0
                  drag = 0
      elif event.type == MOUSEBUTTONUP:
            if event.button == 1:
                if select == 1 and drag == 0:
                  pos_stop = event.pos
                  select = 2
                if select == 2 and drag == 1:
                  drag = 2
    # 设置背景
    screen.fill(bg)
    # 更新图片
    screen.blit(turtle,position)
    if select:
      mouse_pos = pygame.mouse.get_pos()
      if select == 1:
                pos_stop = mouse_pos
      select_rect.left,select_rect.top = pos_start
      select_rect.width,select_rect.height = pos_stop - pos_start,pos_stop - pos_start
      pygame.draw.rect(screen,(0,0,0),select_rect,1)
    if drag:
      if drag == 1:
            cap_rect.center = mouse_pos
      screen.blit(capture,cap_rect)
    # 更新背景
    pygame.display.flip()
    # 延时10毫秒
    #pygame.time.delay(10)
    # 设置帧数
    clock.tick(30)
然后还有一个隐身龟兄:
import pygame
import pygame.transform
import sys
pygame.init()
size = width,height = 350,300
bg = (0,0,0)
clock = pygame.time.Clock()
screen = pygame.display.set_mode(size)
pygame.display.set_caption('running turtle')
turtle = pygame.image.load('C:\\Pythonstudy\\mytest\\Pygamestudy\\images\\turtle.png')
background = pygame.image.load('C:\\Pythonstudy\\mytest\\Pygamestudy\\images\\grass.jpg')
position = turtle.get_rect()
position.center = width // 2,height // 2
def blit_alpha(target,source,location,opacity):
    x = location
    y = location
    temp = pygame.Surface((source.get_width(),source.get_height())).convert()
    temp.blit(target,(-x,-y))
    temp.blit(source,(0,0))
    temp.set_alpha(opacity)
    target.blit(temp,location)
while True:
    for event in pygame.event.get():
      if event.type == pygame.QUIT:
            sys.exit()
    screen.blit(background,(0,0))
    blit_alpha(screen,turtle,position,200)
    pygame.display.flip()
    clock.tick(30)
今天就到这里。
如果喜欢,别忘了:

_2_ 发表于 2020-3-26 13:32:44

来抢沙发了

一个账号 发表于 2020-3-26 13:43:42

@点我点我

_2_ 发表于 2020-3-26 14:09:03

_2_ 发表于 2020-3-26 13:32
来抢沙发了

你已经是一个成熟的鱼油了,
应该学会不自觉地抢沙发了{:10_256:}
@不二如是

wuqramy 发表于 2020-3-26 18:12:09

@DavidCT 你一天都没上线?!

DavidCT 发表于 2020-3-26 19:56:44

wuqramy 发表于 2020-3-26 18:12
@DavidCT 你一天都没上线?!

早起打卡了,好吗

wuqramy 发表于 2020-3-26 20:19:25

DavidCT 发表于 2020-3-26 19:56
早起打卡了,好吗

试试代码呀!

DavidCT 发表于 2020-3-27 09:29:27

隐身的乌龟是渐显吗?

wuqramy 发表于 2020-3-27 09:30:57

DavidCT 发表于 2020-3-27 09:29
隐身的乌龟是渐显吗?

不是,目前还没有做出这种效果啦
页: [1]
查看完整版本: Python学习心情记录 2020/3/26