kali安装python的pygame_使用pygame库实现小球的运动

今天偶然发现Python还能开放小游戏,自己试着了解了下pygame库,做了一个简单的小球运动的游戏。 其中用到了image.load方法加载图片生成Surface对象time.Clock控制小球的运动频率,transform.scale设置小球的大小, ballrect.move控制小球移动,screen.blit刷新屏幕。使用键盘上下,左右来控制木板来接小球。 具体代码如下:

import pygame

import sys

import time

pygame.init()

size = width,height = 800,600

screen = pygame.display.set_mode(size)

color = 255,255,255

ball = pygame.image.load(‘ball.png’)

ball = pygame.transform.scale(ball, (50, 50))

ballrect = ball.get_rect()

rect = pygame.image.load(‘rect.png’)

rect = pygame.transform.scale(rect, (200, 30))

rectarea = rect.get_rect()

rectarea.move_ip(400-100,600-35)

speed =[5,5]

state_time = pygame.time.Clock()

x,y=400,600-30

move_x=move_y=0

while True: # 死循环确保窗口一直显示

for event in pygame.event.get(): # 遍历所有事件

if event.type == pygame.QUIT: # 如果单击关闭窗口,则退出

sys.exit()

if event.type == pygame.KEYDOWN:

if event.key == pygame.K_LEFT:

move_x = -5

elif event.key == pygame.K_RIGHT:

move_x = 5

elif event.key == pygame.K_UP:

move_y = -5

elif event.key == pygame.K_DOWN:

move_y = 5

elif event.type == pygame.KEYUP:

move_x = 0

move_y = 0

x += move_x

y += move_y

state_time.tick(50)

ballrect = ballrect.move(speed)

screen.fill(color)

screen.blit(ball,ballrect)

screen.blit(rect,(x,y))

pygame.display.flip()

if ballrect.left

speed[0] = -speed[0]

if ballrect.top

Original: https://blog.csdn.net/weixin_33309067/article/details/113899661
Author: 佐藤謙一
Title: kali安装python的pygame_使用pygame库实现小球的运动

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/777215/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Python 可变对象的赋值

    在使用 Python 列表时, 出现了修改其中一个列表, 其他列表联动改变这个情况, 在查阅文档后, 写在这里记录一下. 出现这个情况的原因是因为我使用了 a = b 这个赋值语句…

    Python 2023年5月24日
    070
  • 采用scrapy框架爬取大型网站的个人记录

    1、爬取过程中使用嵌套爬取 一般来说,一个parse方法是不够用的。我目前而言是不会用start_urls默认发送请求的列表,感觉有点呆。因为当你请求的列表是整个网站的页面数据的时…

    Python 2023年10月1日
    040
  • 用Python实现一个Picgo图床工具

    PyPicGo 是一款图床工具,是PicGo是Python版实现,并支持各种插件自定义插件,目前 PyPicGo自带了 gitee、 github、 SM.MS和 &#x4…

    Python 2023年5月25日
    053
  • redis 数据库简介

    redis是一种nosql数据库,他的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化,并且他比memcached支持更多的数据结构(string…

    Python 2023年11月5日
    039
  • Scratch 3 矢量编辑器——“临摹”一只哆啦A梦

    利用Scratch来制作一些小作品,常常需要到网上去找图片,而网上下载的图片一般都是 位图,往往存在两个问题: 图片不够清晰,当图片放大…

    Python 2023年6月16日
    068
  • BN层多方面解读

    BN层全面解读 * – + * 1. BN层作用概述 * 2. BN层作用方式 * 3. BN作用位置 * 4. BN层起作用的原因 * 5. 测试时的BN层 1. B…

    Python 2023年8月2日
    063
  • APP自动化测试框架搭建(五)–Python+Appium+pytest-html

    第一章 APP自动化环境搭建(Mac版)第二章 APP自动化环境搭建(Windows版)第三章 adb命令第四章 元素定位、元素操作第五章 APP自动化测试框架搭建 Python+…

    Python 2023年9月10日
    047
  • django-channels+vue实现异地登录提示

    一、说明 1、本次要实现的功能是一个账号只能登录一次,第二次登录会被挤下,像QQ一样。场景:浏览器A或者电脑A登录admin账号,浏览器B或者电脑B也登录admin账号,则浏览器A…

    Python 2023年8月5日
    065
  • 【Call for papers】2023年CCF-A类会议截稿日期(实时更新)

    中国计算机学会推荐的CCF-A类会议截稿日期列表 | CCF-A Conferences Deadline List 中国计算机学会(CCF)推荐国际学术会议共分10个类别,分别是…

    Python 2023年10月9日
    0132
  • 线程

    1. 什么是线程 线程就是进程里面的执行单位,每一个进程肯定都自带一个线程,真正被cpu执行的是线程,线程是代码的执行过程,该过程中需要的资源都找对应的进程要 进程是资源的单位,线…

    Python 2023年5月23日
    071
  • c++ 翻译oc 中的hash

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/pythonywy/p/16627641.htmlAut…

    Python 2023年6月15日
    062
  • 数据清理

    学习目标: 1、熟悉常见数据问题的处理方式 2、掌握对缺失值的检测与处理 3、掌握重复值的检测与处理 数据清理主要是通过一定的检测与处理方法,将”脏”数据清…

    Python 2023年8月7日
    059
  • 深入浅出matplotlib(61): 理解pcolormesh ()函数的使用三

    前面进行了复杂一点的数据创建来使用pcolormesh()函数,接着下来学习一下这个函数的norm参数的使用,因为这个参数可以对图片进行不同级别的量化显示。假如从机器学习里得到的结…

    Python 2023年9月6日
    049
  • opencv的安装保姆级教程,并在pycharm下配置opencv

    本人在这三周不断的试着安装opencv的过程中积累了一些关于安装opencv的经验;想的把自己的积累分享出去,也是第一次写技术博客;有什么不足请见谅; 正文: 1.安装python…

    Python 2023年8月1日
    054
  • MTCTF Writeup By Light1ng

    MTCTF Writeup By Light1ng Web easypickle 下载附件,是一个flask框架,然后很明显的存在pickle反序列化,首先我们需要伪造sessio…

    Python 2023年8月13日
    050
  • 5. Python 循环的本质就是一段代码懒得重复写

    为啥要滚雪球学 Python,目的就是当你学会编程一些思想之后,可以让知识的雪球自行滚动起来。 已完成的文章 标题 链接 1. 这才是 Python 学习的正确起手姿势,滚雪球学 …

    Python 2023年5月25日
    053
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球