叁研伴学路,良语暖人心。考研路漫漫,功在每日勤。日推价值文,资料资讯精。何不速关注,大业或可行?
有了上一节的一些介绍,大家应该对pygame不陌生了,所以后面怎么查文档就不介绍了,主要是完成这个项目的一些功能!
然后今天主要要开始封装对象,把昨天面向过程阶段弄成面向对象过程,比较贴近项目开发过程。
1、打飞机代码:显示、控制玩具飞机
接下来要做的任务:
1.实现飞机在你想要的位置显示
2.实现按键控制飞机移动
3.实现按下空格键的时候,显示一颗子弹
4.使用面向对象的方式显示飞机,以及控制其左右移动
效果如下:
具体代码与解释如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Date : 2018-04-26 18:02:35
# @Version : $Id$
import os
import pygame
#引入这个保证下面一些事件定义比如QUIT,K_a等值可以被使用 或者你也可以用pygame.QUIT替代,为了方便所以我们直接全部引入
from pygame.locals import *
"""
接下来要做的任务:
1. 实现飞机在你想要的位置显示
2. 实现按键控制飞机移动
3. 实现按下空格键的时候,显示一颗子弹
4.使用面向对象的方式显示飞机,以及控制其左右移动
"""
class HeroPlane(object):
"""docstring for HeroPlane"""
#接收总屏幕句柄 screen
def __init__(self, screen):
#设置飞机默认位置,让她处于背景的中间,经过测量大概是(230,600)的位置
self.x = 230
self.y = 600
#设置要显示内容的窗口
self.screen = screen
#用来保存英雄飞机需要的图片名字
self.imageName = './feiji/hero.gif'
#根据名字生成飞机图片
#用来保存英雄飞机发射出的所有子弹
self.bullet = []
#设定飞机位置
def display(self):
#飞机移动
def moveLeft(self):
self.x -= 10
def moveRight(self):
self.x += 10
#发射子弹,暂时放空,后面完善
def sheBullet(self):
pass
def main():
#1.创建一个窗口,用来显示内容
#2. 创建一个和窗口大小的图片,用来充当背景
background = pygame.image.load("./feiji/background.png").convert()
# #用来创建一个飞机的图片
# hero = pygame.image.load("./feiji/hero.gif").convert()
# #设置两个值来保存飞机的位置常用都是x,y
# x = 0
# y = 0