目录

小球碰壁运动

控制小球的运行的节奏

壁球小游戏(操控型)与键盘的基本使用


小球碰壁运动

import pygame, syspygame.init()size = width, height = 600, 400
speed = [1, 1]
BLACK = 0, 0, 0
screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption("Pygame for Game")
ball = pygame.image.load("PYG02-ball.gif")
ballRect = ball.get_rect()while True:for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()ballRect = ballRect.move(speed[0], speed[1])if ballRect.left < 0 or ballRect.right > width:speed[0] = -speed[0]if ballRect.top < 0 or ballRect.bottom > height:speed[1] = -speed[1]screen.fill(BLACK)screen.blit(ball, ballRect)pygame.display.update()pygame.display.update()

pygame.image.load(filename)
将filename路径下的图像载入游戏,支持JPG、
PNG、GIF(非动画)等13种常用图片格式

ballrect.move(x,y)
矩形移动一个偏移量(x,y),即在横轴方向移
动x像素,纵轴方向移动y像素,xy为整数

screen.fill(color)
显示窗口背景填充为color颜色,采用RGB色
彩体系。由于壁球不断运动,运动后原有位置
将默认填充白色,因此需要不断刷新背景色

控制小球的运行的节奏

import pygame, sys
import mathpygame.init()size = width, height = 600, 400
speed = [2, 2]
BLACK = 0, 0, 0
screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption("Pygame for Game")
ball = pygame.image.load("PYG02-ball.gif")
ballRect = ball.get_rect()fps = 100
fclock = pygame.time.Clock()while True:for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()ballRect = ballRect.move(speed[0], speed[1])if ballRect.left < 0 or ballRect.right > width:speed[0] = -speed[0]*abs(math.cos(ballRect.left))if ballRect.top < 0 or ballRect.bottom > height:speed[1] = -speed[1]screen.fill(BLACK)screen.blit(ball, ballRect)pygame.display.update()fclock.tick(fps)

壁球小游戏(操控型)与键盘的基本使用

import pygame, sys
import mathpygame.init()size = width, height = 600, 400
speed = [2, 2]
BLACK = 0, 0, 0
screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption("Pygame for Game")
ball = pygame.image.load("PYG02-ball.gif")
ballRect = ball.get_rect()fps = 100
fclock = pygame.time.Clock()while True:for event in pygame.event.get():if event.type == pygame.QUIT:sys.exit()elif event.type == pygame.KEYDOWN:if event.key == pygame.K_LEFT: # 如果减为零就不用减了speed[0] == speed[0] if speed[0] == 0 else (abs(speed[0]) - 1)*int(speed[0]/abs(speed[0]))if event.key == pygame.K_RIGHT:speed[0] = speed[0] + 1 if speed[0] > 0 else speed[0] -1if event.key == pygame.K_UP:speed[1] = speed[1] + 1 if speed[1] > 0 else speed[1] -1if event.key == pygame.K_DOWN:# 如果减为零就不用减了speed[1] = speed[1] if speed[1] == 0 else (abs(speed[1]) - 1)*int(speed[1]/abs(speed[1]))ballRect = ballRect.move(speed[0], speed[1])if ballRect.left < 0 or ballRect.right > width:speed[0] = -speed[0]*abs(math.cos(ballRect.left))if ballRect.top < 0 or ballRect.bottom > height:speed[1] = -speed[1]screen.fill(BLACK)screen.blit(ball, ballRect)pygame.display.update()fclock.tick(fps)

Python游戏开发入门2 壁球小游戏与图像的基本使用相关推荐

  1. 视频教程-Layabox3D游戏开发入门-微信3D小游戏案例 -微信开发

    Layabox3D游戏开发入门-微信3D小游戏案例 有多年Unity程序开发经验,有策划和美术设计的经验.愿意在csdn这个平台和大家一起分享! 金龙 ¥29.00 立即订阅 扫码下载「CSDN程序员 ...

  2. 游戏开发入门(二)游戏开发概述

    这篇文章主要以问题的形式给大家解答下面几个问题: 1.游戏是如何开发出来的,开发流程大概是什么样子的? 2.游戏相关的职位都有哪些? 3.开发游戏需要哪些技术或能力? 4.程序员一般负责的内容有哪些? ...

  3. 游戏开发入门(八)游戏中的场景管理

    视频链接:游戏开发入门(八)游戏中的场景管理(5节课 时常:约2小时07分钟) 授课者通过2D围棋的例子,逐步拓展成3D的虚拟游戏世界.这个3D游戏世界基本上就可以涵盖市面上所有类型的游戏了,我们通过 ...

  4. 游戏开发入门(九)游戏同步技术

    视频链接:游戏开发入门(九)游戏同步技术(3节课 时常:约1小时07分钟) 第三个视频后9分钟没有声音,不过核心内容都已涉及到 笔记与总结(请先学习视频内容): 1.网络同步的概念与意义 概念:任何一 ...

  5. 游戏开发入门(二)游戏中的设计模式

    视频链接:游戏开发入门(二)游戏中的设计模式(3节课 时常:约2小时40分钟) 该视频主要围绕游戏中常见的设计模式展开讲解并实践,需要大家多多实践与理解 笔记与总结(请先学习视频内容): 1.有必要深 ...

  6. 游戏开发入门(五)游戏动画系统

    视频链接:游戏开发入门(五)游戏动画系统(8节课 时常:约2小时30分钟) PPT比视频要块一些 第二节与PPT对不上 视频中杂音太大,如果带耳机还听不清的话,建议直接看内容即可 笔记与总结(请先学习 ...

  7. 游戏开发入门(一)游戏开发概述

    视频链接:游戏开发入门(一)游戏开发概述(3节课 时常:约1小时03分钟) 该视频围绕电子游戏的发展与开发简单介绍了一些基本常识,同时提出并解决了几个问题 笔记与总结(请先学习视频内容): 1.游戏机 ...

  8. 【小游戏合集】之用Python自己开发一个闯关小游戏——开心消消乐

    导语: 今天这期小游戏是最适合小伙伴们一同挑战的精美手游,其因画面精美.上手简单.休闲有趣.有惊喜有挑战而获得广大玩家的喜爱...这款小游戏没错就是开心消消乐,相信大家都不陌生,其曾在 2015 年获 ...

  9. 网页游戏开发入门教程二(游戏模式+系统)

    2019独角兽企业重金招聘Python工程师标准>>> 一.游戏模式 目前webgame游戏模式大体上可以分为以下四类: 1.玩家拥有一个城市,不断的升级城市内建筑,建筑可以自动获得 ...

  10. 游戏开发15课 微信小游戏自审报告

    微信小游戏个人提交的时候需要写下自审报告 然后打印签名 后拍照上传以下是模板有兴趣的可以看看 自审报告 本⼈根据<网络游戏管理暂行办法>对我开发的小游戏产品<xxxx>进行自行 ...

最新文章

  1. 使用Caffe基于cifar10进行物体识别
  2. spring scope=prototype 学习笔记
  3. python读取文件夹-Python按顺序读取文件夹中文件
  4. ASP.NET 如何取得 Request URL 的各個部分
  5. casio dt-930 条码采集器 盘点软件源程序
  6. java date.getyear_为什么Java的Date.getYear()返回111而不是2011?
  7. Bootstrap的学习分享
  8. Redis之数据结构和底层编码
  9. 一摞烙饼最上面一个的另一面为焦的概率
  10. iOS 人民币符号与日圆符号的混淆
  11. C#仿win10计算器
  12. FDD与TDD的区别
  13. 3.3计算机网络(ALOHA协议 CSMA协议 令牌传递协议 频分时分波分码分)
  14. 跟着团子学SAP PS—项目结算规则的自动生成 CJB2/CJB1 (ETO模式下正确结算规则设定案例)
  15. unbuntu网卡配置
  16. Java实现水仙花数简单代码
  17. 机电信息杂志机电信息杂志社机电信息编辑部2022年第24期目录
  18. 手游测试之新功能的通用测试点
  19. html 磨砂 原理,使用HTML和CSS设计磨砂玻璃效果
  20. 二手物品交易管理系统

热门文章

  1. oracle和mysql用户名_oracle的SID和用户名和角色
  2. python快速排序算法没看懂_python中的快速排序算法的理解
  3. php 发送图片,php+curl 发送图片处理代码分享
  4. hdfs 中chunk_HDFS读写流程
  5. eclipse adt如何切换到设计界面_如何将你的UI界面设计的更精致?不仅仅是运用对比,还要注意细节 | 分享...
  6. python 线程同步_python线程同步
  7. zk临时节点失效时间_dubbo学习(六)服务发布dubbo服务在zk的创建、订阅
  8. CentOS6.5使用rsync远程同步
  9. js错误处理权威指北
  10. python学习之老男孩python全栈第九期_day012知识点总结