前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python之pygame学习制作回弹方块(7)

Python之pygame学习制作回弹方块(7)

作者头像
萌海无涯
发布2019-08-19 22:08:23
7960
发布2019-08-19 22:08:23
举报
文章被收录于专栏:萌海无涯

pygame学习反弹方块

学习了前面的一些知识,可以回顾下前面学习的内容,制作一个在方块内的反弹元素。

主要是学习绘制方块跟移动方块,以及字体的绘制。

具体移动方块没有用绘制矩形区域,而是判断绘制方块的X,Y点的坐标。

如果坐标点靠近边缘线,则把移动的值 由正值变为负值。

代码语言:javascript
复制
import pygame
from pygame.locals import *

pygame.init()  # 初始化Pygame
pygame.font.init()  # 初始化字体
# 颜色代码
white = 255, 255, 255
blue = 0, 0, 200
green = 0, 200, 0
red = 200, 0, 0
yellow = 200, 200, 0
purple = 200, 0, 200
aoi = 0, 200, 200
gray = 200, 200, 200
black = 0, 0, 0
color = [blue, green, red, yellow, purple, aoi, gray, black]

# 矩形位置
pos_x = 300
pos_y = 250

# 运动速度
vel_x = 1
vel_y = 1

count = 0  # 计算颜色
word = 0  # 计算反弹次数

screen = pygame.display.set_mode((600, 500))  # 窗口大小
pygame.display.set_caption("碰撞球")  # 标题

myfont = pygame.font.SysFont('幼圆', 60)  # 字体设置 选择电脑上有的字体
clock = pygame.time.Clock()


while True:
    for event in pygame.event.get():
        if event.type in (QUIT, KEYDOWN):
            exit(0)

    screen.fill(white)  # 屏幕底色

    textImage = myfont.render("碰撞次数:" + str(word), True, color[count])  # 显示文字
    screen.blit(textImage, (180, 220))

    # 矩形移动
    pos_x += vel_x
    pos_y += vel_y
    # 矩形反弹
    if pos_x > 500 or pos_x < 0:
        vel_x = -vel_x
        print(vel_x)
        count = count + 1
        word = word + 1
    if pos_y > 400 or pos_y < 0:
        vel_y = -vel_y
        count = count + 1
        word = word + 1
    # 计算颜色
    if count > 7:
        count = 0

    # 绘制矩形
    pos = pos_x, pos_y, 100, 100
    width = 0
    pygame.draw.rect(screen, color[count], pos, width)

    pygame.display.update()
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 萌海无涯 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 主要是学习绘制方块跟移动方块,以及字体的绘制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档