美文网首页
2018-09-05-day13

2018-09-05-day13

作者: rzlong | 来源:发表于2018-09-06 16:52 被阅读0次

动态滑稽

huaji.jpg
"""
__author__ = 'rz'
__Time__ = 2018/9/5 0005 下午 1:48
"""


'''
滑稽

'''
import pygame
from pygame.locals import *
from random import randint,choice
WINDOW_WIDTH = 1000
WINDOW_HEIGHT = 600

face_list = []
key_face_pos = 'face_pos'
key_face_xspeed = 'face_xspeed'
key_face_yspeed = 'face_yspeed'
key_face_scale = 'face_scale'
key_face_size = 'face_size'


def draw_all_face(window):
    window.fill(rz_color.white)
    for face in face_list:
        image = pygame.image.load('./static/img/huaji.jpg')
        new_image = pygame.transform.rotozoom(image, 0, face[key_face_scale])
        window.blit(new_image, face['face_pos'])
def move_face():
    """
    使求移动,修改球的位置
    :return:
    """
    for face in face_list:
        face_x,face_y = face[key_face_pos]
        new_x,new_y = face[key_face_xspeed]+face_x,face[key_face_yspeed]+face_y
        face[key_face_pos] =(new_x, new_y)

        #边界检测
        if new_x < 0:
            new_x = 0
            face[key_face_xspeed] *= -1
        elif new_x > WINDOW_WIDTH-face[key_face_size][0]:
            new_x = WINDOW_WIDTH-face[key_face_size][0]
            face[key_face_xspeed] *= -1
        if new_y < 0:
            new_y = 0
            face[key_face_yspeed] *= -1
        elif new_y > WINDOW_HEIGHT-face[key_face_size][1]:
            new_y = WINDOW_HEIGHT-face[key_face_size][1]
            face[key_face_yspeed] *= -1


    pygame.display.update()

def create_face(window,pos):
    """
    在指定的位置画一个滑稽
    :param window: 显示对象
    :param pos: 鼠标坐标
    :return:
    """
    image = pygame.image.load('./static/img/huaji.jpg')
    img_scale = choice([0.1,0.2,0.3,0.5])
    new_image = pygame.transform.rotozoom(image, 0, img_scale)
    img_size = new_image.get_size()
    mouse_pos = pos
    face = {

        key_face_pos:mouse_pos,
        key_face_xspeed:choice([-10,-20,10,20]),
        key_face_yspeed:choice([-10,-20,10,20]),
        key_face_scale:img_scale,
        key_face_size:img_size
    }
    face_list.append(face)

    window.blit(new_image, mouse_pos)
    pygame.display.update()
def main_game():
    """
    游戏主界面
    :return:
    """
    #初始化游戏
    # pygame.time.delay(100)
    pygame.init()
    window = pygame.display.set_mode((WINDOW_WIDTH,WINDOW_HEIGHT),0,32)
    window.fill(rz_color.white)
    pygame.display.flip()

    # 进入游戏界面默认显示和操作

    #游戏循环
    while True:
        # 游戏循环执行代码
        move_face()

        draw_all_face(window)



        # 事件检测
        for event in pygame.event.get():
            if event.type == pygame.QUIT:
                exit()
            elif event.type == pygame.MOUSEBUTTONDOWN:
                create_face(window,event.pos)
            elif event.type == K_a:
                pass

if __name__ == '__main__':
    main_game()

相关文章

网友评论

      本文标题:2018-09-05-day13

      本文链接:https://www.haomeiwen.com/subject/siixgftx.html