背景:家里的娃慢慢长大了,准备教一些儿童入门的编程知识,研究了一阵麻省理工的scratch 2 虽然不错,但是功能有限,很多高级点的东西玩不出来。所以就有了这一系列,先提前自学一下,顺便拿来练手python ~_^

pygame虽然不是做大型游戏的最好选择,但是入门却是不错,python也易于学习,官网的文档也算齐全。

先来一个最基本的代码:

import pygame

pygame.init()

win = pygame.display.set_mode((320, 240))  # 画布窗口的大小
pygame.display.set_caption("first game") # 窗口标题 x, y = 50, 50 # 方块的起点
width, height = 30, 30 # 方块的宽,高
speed = 5 # 速度 run = True
while run:
# 防止cpu占用过高
pygame.time.delay(20) for event in pygame.event.get():
if event.type == pygame.QUIT:
run = False keys = pygame.key.get_pressed() # 方向箭头响应
if keys[pygame.K_LEFT]:
x -= speed if keys[pygame.K_RIGHT]:
x += speed if keys[pygame.K_UP]:
y -= speed if keys[pygame.K_DOWN]:
y += speed # 防止跑出边界
if x > win.get_size()[0] - width:
x = win.get_size()[0] - width if x < 0:
x = 0 if y > win.get_size()[1] - height:
y = win.get_size()[1] - height if y < 0:
y = 0 # 将每一帧的底色先填充成黑色
win.fill((0, 0, 0))
# 画方块
pygame.draw.rect(win, (255, 0, 0), (x, y, width, height))
# 更新画布
pygame.display.update() pygame.quit()

 

效果:

 

参考:

https://www.youtube.com/watch?v=i6xMBig-pP4

https://nerdparadise.com/programming/pygame/part1

https://www.pygame.org/docs/ref/surface.html

pygame 笔记-1 按键控制方块移动的更多相关文章

  1. FPGA学习笔记之按键控制

    参考: [黑金原创教程][FPGA那些事儿-驱动篇I ]实验二:按键模块① - 消抖 源码如下: key_funcmod.v module key_funcmod(clk, rst, key, led ...

  2. zigbee学习之路(四):按键控制(中断方式)

    一.前言 通过上次的学习,我们学习了如何用按键控制led,但是在实际应用中,这种查询方式占用了cpu的时间,如果通过中断控制就可以解决这个问题,我们今天就来学习按键控制的中断方式. 二.原理分析 传统 ...

  3. TJI读书笔记09-访问控制权限

    TJI读书笔记09-访问控制权限 包,package和import 权限修饰符 接口和实现 类的访问权限控制 首先问一个问题,为什么要有访问控制权限? 安全,这当然是一个很重要的原因. 让类库的使用者 ...

  4. 通过joystick遥感和按键控制机器人--11

    原创博客:转载请表明出处:http://www.cnblogs.com/zxouxuewei/ 1.首先安装joystick遥控器驱动: sudo apt-get install ros-indigo ...

  5. Android中通过耳机按键控制音乐播放的实现

    今天在研究Android中实现Android 4.2.2源码中的Music应用的源码,关于通过耳机按键控制音乐播放的实现,有点好奇,就仔细分析了一下源码, 主要由 MediaButtonIntentR ...

  6. input子系统学习笔记六 按键驱动实例分析下【转】

    转自:http://blog.chinaunix.net/uid-20776117-id-3212095.html 本文接着input子系统学习笔记五 按键驱动实例分析上接续分析这个按键驱动实例! i ...

  7. 使用canvas绘制渐变色矩形和使用按键控制人物移动

    使用canvas绘制渐变色矩形和使用按键控制人物移动 1.使用canvas绘制渐变色矩形 效果演示 相关代码: <!DOCTYPE html> <html lang="en ...

  8. 强化学习读书笔记 - 10 - on-policy控制的近似方法

    强化学习读书笔记 - 10 - on-policy控制的近似方法 学习笔记: Reinforcement Learning: An Introduction, Richard S. Sutton an ...

  9. 51单片机 小车 L298N pwm调速 串口控制 按键控制

    难点:1.串口定时器T1,和T0定时器优先级 2.pwm频率与占空比的设置 按键控制 按键1——前进 按键2——后退 按键3——加速 按键4——减速 (板子上只有四个按键) 串口控制 ‘1’——前进 ...

随机推荐

  1. 从oracle导出数据成csv,将csv导入mongodb问题

  2. 【转】android:paddingLeft与android:layout_marginLeft的区别

    http://www.blogjava.net/anchor110/articles/342206.html 当按钮分别设置以上两个属性时,得到的效果是不一样的. android:paddingLef ...

  3. JVM性能参数优化

    以上是jdk1.7的默认GC回收器 Java的gc回收的类型主要有几种 UseSerialGC, UseConcMarkSweepGC, UseParNewGC, UseParallelGC, Use ...

  4. Python Web开发问题收集(二)

  5. day4 字符串的操作

    今天是第四天,一如既往的每天都有不会做的内容,然后还是那种你使劲的绞尽脑汁都想不出来的问题,而且还得是别人提示着,讲着,演示着才能明白的,过后自己还得使劲捉摸才能慢慢吃透.一开始还挺顺利的,还以为自己 ...

  6. C#中的 Stream

    目录: 什么是Stream? 什么是字节序列? Stream的构造函数 Stream的重要属性及方法 Stream的示例 Stream异步读写 Stream 和其子类的类图 本章总结 什么是Strea ...

  7. 2018WFU校赛B题

    我们在ACM的题目中已经了解了什么是ACM了,ACM还是很残酷的了(ಥ _ ಥ),那么现在你就要解决一个ACM最简单的题了,简单到省赛和区域赛都不会出这种简单的题.ls很强,即使每年都在ACM这个大坑 ...

  8. Pytorch安装(基于anaconda虚拟环境)

    Pytorch安装倒腾了一上午终于搞定,记录一下安装过程. 1. 首先尝试官网的安装方式,但是网速太慢了. 除去cudnn100, torchvision和pytorch三个文件,其余可以直接从清华镜 ...

  9. python & MySQLdb(Three)

    #实现python封装 # encoding=utf8 import MySQLdb #定义类 class MysqlHelper(): def __init__(self,host,port,db, ...

  10. 涂鸦之作WanAndroid第三方APP

    Wan Android App Introduction 我的涂鸦之作,正如名字一样 这个一个WanAndroid 的第三方Android客户端,采用MVP架构+Kotlin语言+一大堆轮子.现在的代 ...