pygame 浅解
import pygame
from first_pygame.plane_spirit import * # 调用重载的精灵类 # 初始化
pygame.init() # 初始化所有所需游戏模块
screen = pygame.display.set_mode((700, 700)) # 设置游戏窗口大小
pygame.display.set_caption("打飞机") # 这是窗口名字
bg = pygame.image.load("./image/bg.jpg") # 加载背景图片
player = pygame.image.load("./image/player/player.png") # 加载英雄图片 screen.blit(bg, (0, 0)) # 设置背景图片,窗口对象调用blit方法 参数一:背景对象 参数二:图片的绘制位置
pygame.display.update() # 更新输出 player_rest = pygame.Rect(200, 500, 402, 257) # 记录英雄初始位置 和大小 clock = pygame.time.Clock() # 实例绘制时钟 # 精灵初始化敌机
diji_jinglin = Game_Jinglin("./image/computer/diji1.png") # 实例精灵
diji_jinglin1 = Game_Jinglin("./image/computer/diji1.png",speed=2)
jingling_group = pygame.sprite.Group(diji_jinglin,diji_jinglin1) # 加入精灵组 while True:
clock.tick(60) # 每秒绘制60次
player_rest.y -= 1 # 设置动画 每次向Y轴负方向运动-1
if player_rest.y <= -257:
player_rest.y = 900
screen.blit(bg, (0, 0)) # 背景覆盖
screen.blit(player, player_rest) # 英雄闪现 # 让精灵组调用两个方法
# update 更新所有精灵位置
jingling_group.update()
# 让精灵绘制到窗口
jingling_group.draw(screen) pygame.display.update() # 更新显示 for event_list in pygame.event.get(): # 事件监听 pygame.event.get()返回事件列表
if event_list.type == pygame.QUIT:
print("游戏退出...")
pygame.quit()
exit() # 把当前程序退出
first_pygame/plane_spirit.py/Game_jinglin类
class Game_Jinglin(pygame.sprite.Sprite):
"""
精灵类
继承:pygame.sprite.Sprite
重载:update
""" def __init__(self, image_name, speed=1):
super(Game_Jinglin, self).__init__()
self.image = pygame.image.load(image_name)
self.rect = self.image.get_rect()
self.speed = speed def update(self, *args):
self.rect.y += self.speed # 竖直方向自加
注:浅谈pygame sprite(精灵)
Sprite模块、sprite对象 在pygame.sprite模块里面包含了一个名为Sprite类,
他是pygame本身自带的一个精灵。但是这个类的功能比较少,
因此我们新建一个类对其继承,在sprite类的基础上丰富,以方便我们的使用。
rect (位置)
draw(绘制)
update(更新画面)
碰撞检测(groupcollide(组) spritecollide(对象))
精灵类参考:https://www.cnblogs.com/msxh/p/5013555.html
pygame 浅解的更多相关文章
- 从最大似然到EM算法浅解
从最大似然到EM算法浅解 zouxy09@qq.com http://blog.csdn.net/zouxy09 机器学习十大算法之中的一个:EM算法.能评得上十大之中的一个,让人听起来认为挺NB的. ...
- 面试-1-C#浅解
面试-1 C#浅解众所周知c#是微软推出的一款完全没面向对象的编程语言,那么对象是什么?在现实生活中人们一提到对象首先想到的就是“情侣”!但是在我们的程序中对象是什么? 在程序中个能够区别于其他事 ...
- GIS历史概述与WebGis应用开发技术浅解
声明:本篇在李晓晖的<杂谈WebGIS>,补充更多的资料说明.基于地图二次开发一直断断续续在做,这里算是补充一下基本功把.其实对于前端,WebGis开发都是api,抄demo,改.GIS深 ...
- List根据某字段去重,以及compareTo 浅解
原文链接:https://blog.csdn.net/qq_35788725/article/details/82259013 Collections.sort可对集合进行排序 根据List里面某个字 ...
- JVM中GC浅解:垃圾回收的了解
1.为什么要有GC 没有GC的世界,我们需要手动进行内存管理,但是内存管理是纯技术活,又容易出错.但是我们写码的目的是为了解决业务问题,所以可以把这种纯技术活自动化,当然自动化也是有代价的. 2.垃圾 ...
- Vuex state 状态浅解
对于Vuex中的state里面的理解总是有些欠缺,机制似乎理解了.但是还有很多的不足,在这就先浅谈下自己的理解. vuex 机制中,定义了全局Store,在各个vue组件面的this.$store指向 ...
- Rest_framework Serializer 序列化 (含源码浅解序列化过程)
目录 Rest_framework Serializer 序列化 序列化与反序列化中不得不说的感情纠葛 三角恋之 save/update/create 四角恋之 序列化参数instance/data/ ...
- Rest_framework Router 路由器(含SimplyRouter源码浅解)
目录 Rest_framework Router 路由器 ViewSet结合Router,自动生成url. 将ViewSet注册到Router中,需要三个要素: 关于路由规则,细分有四类: rest_ ...
- Java之泛型浅解
我觉得学习一个东西,首先得从概念上明白它大概是什么? “泛型”就是“参数化类型”,也就是是把类型当成了一种参数.之前我们看到得函数方法比如: public long add(int num1,int ...
随机推荐
- opencv —— saturate_cast 溢出保护
src.at<uchar>(i,j)[0] = saturate_cast<uchar>(data); if (data < 0) data = 0; else if ( ...
- Perl-统计某电路面积、功耗占比(NVDIA2019笔试)
1.perl脚本 open IN, "<", "data.txt" or die "The file does not exist!" ...
- PHP Strings
<?php //1. how to use mail function //create short variable names $name=$_POST['name']; $email=$_ ...
- HTTP协议、时间戳、防盗链的一些概念
HTTP协议 什么是HTTP协议 (HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准. HTTP是一 ...
- 【pattern】设计模式(2) - 模版方法模式
前言 一晃一年又过了,还是一样的渣. 一晃2周又过去了,还是没有坚持写博客. 本来前2天说填一下SQL注入攻击的坑,结果看下去发现还是ojdbc.jar中的代码,看不懂啊.这坑暂时填不动,强迫在元旦最 ...
- iptables (一) 主机防火墙和网络防火墙
Firewall : 防火墙,隔离工具:工作于主机或网络的边缘,对于进出本主机或网络的报文根据事先定义好的检测规则作匹配,对于能够被规则所匹配到的报文做出相应处理的组件:有主机防火墙和网络防火墙 Ip ...
- [PAT] A1018 Public Bike Management
[思路] 题目生词 figure n. 数字 v. 认为,认定:计算:是……重要部分 The stations are represented by vertices and the roads co ...
- [AFO]离开,未尝不是一个新的开始
2019年5月18日 我注册了洛谷,提交了我的第一份AC代码-- A+B Problem 11月16日-17日 在短短6个月的仓促学习后,我从OI零基础走到了CSP-S的考场上 同年11月26日 在与 ...
- H5_0019:JS中定义json结构
"7HKm": function(e, a, d) { "use strict"; Object ...
- BZOJ 2467: [中山市选2010]生成树
有一种图形叫做五角形圈.一个五角形圈的中心有1个由n个顶点和n条边组成的圈.在中心的这个n边圈的每一条边同时也是某一个五角形的一条边,一共有n个不同的五角形.这些五角形只在五角形圈的中心的圈上有公共的 ...