题目大意:

就是弄一张图片在背景画布上移动,然后碰到边界就图片翻转并且反向移动

基本思路:

需要pygame常用的一些常用的函数,然后基本就是在背景画布上blit一张图片,然后移动就是先全刷成背景画布,然后在内存里绘制移动后位置的图片,然后整个绘制像素到背景画布上

#surface对象就是图像对象,背景画布也是surface对象
#图像移动就是将该图像在背景画布上的位置上的像素点改成该图像对应的像素点
#帧率是每秒刷过的图像数量
#pygame支持40~200帧
'''
控制游戏速度常用方法:
clock=pygame.time.Clock()
clock.tick(200)
以200帧的速度运行
'''
#记得要把图片放到工程文件夹里
import pygame
import sys #初始化python
pygame.init() size=width,height=600,400
speed=[-2,1]
bg=(255,255,255) #创建指定大小的窗口
screen=pygame.display.set_mode(size)
#设置窗口标题
pygame.display.set_caption("初次见面,请大家多多指教")
#加载图片
img=pygame.image.load('maomi.png')
#获得图像的矩形位置
position=img.get_rect() while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
#移动图像
position=position.move(speed) if position.left<0 or position.right>width:
#翻转图像:
img=pygame.transform.flip(img,True,False)
#反方向移动
speed[0]=-speed[0] if position.top<0 or position.bottom>height:
speed[1]=-speed[1] #填充背景
screen.fill(bg)
#更新图像
screen.blit(img,position)
#更新界面
pygame.display.flip()
#延迟10毫秒
pygame.time.delay(10) mainloop()

  

 

pygame征途:(一)图片移动反弹的更多相关文章

  1. pygame 笔记-9 图片旋转及边界反弹

    h5或flash中,可以直接对矢量对象,比如line, rectange旋转,但是pygame中,仅支持对image旋转,本以为这个是很简单的事情,但是发现还是有很多小猫腻的,记录一下: 先看一个错误 ...

  2. pygame将文字保存为图片形式

    近期自学了点小基础,分享一下用pygame制作字体图片的方法:   # 将文字保存为图片形式 import pygame import sys pygame.init()   导入字体包,也可以调用系 ...

  3. 用pygame学习初级python(一) 15.4.19

    最近有计划要学一下python,主要是要用flask.django一些框架进行后端的学习工作,但是在web应用之前希望进行一些基础的项目进行一些语法的练习,熟悉一下写法, 这个时候我就想先做几个小游戏 ...

  4. Pygame常用方法

    '''import pygame# 初始化pygame库,让计算机硬件准备pygame.init()# ----------窗口相关操作-----------# 创建窗口window = pygame ...

  5. pygame小记

    pygame.display.set_mode(x, y)设置显示窗口大小pygame.sprite.Sprite方法中有image, rect, speed等参数 其中image 可以通过 pyga ...

  6. pygame模块参数汇总(python游戏编程)

    一.HelloWorld pygame.init() #初始函数,使用pygame的第一步: pygame.display.set_mod((600,500),0,32) #生成主屏幕screen:第 ...

  7. pygame的常用模块

    加载图片: pygame.image.load("图片名称") eg:xiaojiejie = pygame.image.load("./data/a/o/l/t/i/p ...

  8. Pygame 入门基本指南

    最近正在利用 Python 制作一个小游戏,但对于 Pygame 不熟悉,故在学习的过程记录相关知识点 Pygame 中文文档下载:Here Pygame第1-1课:入门 什么是Pygame? Pyg ...

  9. Python基础与进阶

    1 Python基础与进阶 欢迎来到Python世界 搭建编程环境 变量 | 字符串 | 注释 | 错误消除 他只用一张图,就把Python中的列表拿下了! 使用 If 语句进行条件测试 使用字典更准 ...

随机推荐

  1. jQuery实现网页放大镜功能 转载

    京东等电商网站中可以对商品进行放大观察,本文要实现的就是模仿这个放大镜功能,大致效果如下图所示: 简要说明实现思路: 1.原图窗口与放大窗口插入的是同一个图片,不过原图窗口的图片要适当缩小,放大窗口图 ...

  2. css 多行省略号兼容移动端

    浏览器兼容css样式 -webkit-line-clamp: ; display: -webkit-box; overflow: hidden; text-overflow: ellipsis; te ...

  3. 04.join与interrupt

    join加入 public class JoinDemo { public volatile static int i = 0; public static class AddThread exten ...

  4. Python中yaml和json文件的读取和应用

    Python对yaml和json文件的读取: yaml文件读取: 首先创建一个yaml文件test.yaml import yaml   #引入包 f=open(path)  #建立Python的文件 ...

  5. 用List和Map排序输出

    参考:java的treemap反序输出 int->string string->int java对象数组的概述 List import java.io.*; import java.uti ...

  6. Alpha冲刺阶段博客目录

    Alpha冲刺阶段博客目录 Scrum Meeting 时间 链接 内容 第六周 https://www.cnblogs.com/error0/p/11815255.html 需求分析 第七周 htt ...

  7. vue登录页和主页路由配置问题

    登录页和主菜单首页是同一级的,都是用一个router-view,对于home页面里还有菜单,这里边还可以再增加一个router-view,那么在配置时候就是在home的路径增加个children路径配 ...

  8. 【Java架构:基础技术】一篇文章搞掂:MyBatis-Plus

    前言 Mybatis:一个流行的半自动ORM框架. Mybatis-Plus:一个Mybatis的增强工具,在Mybatis的基础上只做增强不做改变,为简化开发.提高效率而生. 本文使用的版本:myb ...

  9. OpenResty 技术图谱skill-map

    # OpenResty 技术图谱## basic concepts- HTTP- RESTful API & API GateWay- Microservice- Domain Specifi ...

  10. 解决ios下部分手机在input设置为readonly属性时,依然显示光标

    解决ios下部分手机在input设置为readonly属性时,依然显示光标 在出现如上所说的问题是尝试给input 加上  onfocus="this.blur()"  方法 添加 ...