没有合适的资源?快使用搜索试试~ 我知道了~
首页python pygame实现滚动横版射击游戏城市之战
资源详情
资源评论
资源推荐

python pygame实现滚动横版射击游戏城市之战实现滚动横版射击游戏城市之战
主要为大家详细介绍了python pygame实现滚动横版射击游戏城市之战,文中示例代码介绍的非常详细,具有一定的参考
价值,感兴趣的小伙伴们可以参考一下
pygame城市之战横版射击游戏,按上下左右方向箭头操作飞机。这是一个横板射击小游戏,在黑夜的城市上空,你将要操作一架飞机去射
击敌机,爆炸效果还不错。
在游戏中定义了滚动的背景类,定义了飞机类Plane,定义了子弹类,敌机类,爆炸类等,是学习Pygame和面向对象编程的好例子。
代码:
import math
import time
import pygame
from pygame.locals import *
from random import choice,randint
class ScrolledBackground(pygame.sprite.Sprite):
def __init__(self,image,screen):
pygame.sprite.Sprite.__init__(self)
self.screen = screen
self.width = screen.get_width()
self.height = screen.get_height()
self.image0 = pygame.image.load(image).convert_alpha()
self.image1 = pygame.image.load(image).convert_alpha()
self.rect0 = self.image0.get_rect()
self.rect1 = self.image1.get_rect()
self.rect1.left = self.rect0.right
self.dx = -10
self.dy = 0
def update(self):
pass
def draw(self):
pass
class Plane(pygame.sprite.Sprite):
def __init__(self,image,keys,screen):
pygame.sprite.Sprite.__init__(self)
self.keys = keys # 上下左右按键
self.image = pygame.image.load(image).convert_alpha()
self.screen = screen
self.rect = self.image.get_rect()
self.rect.centery = self.screen.get_height()//2
self.xspeed = 0
self.yspeed = 0
self.dead = False # 新增加的属性
def keys_check(self,all_keys):
pass
def update(self):
self.rect.move_ip(self.xspeed,self.yspeed)
def draw(self):
self.screen.blit(self.image,self.rect)
class Bullet(pygame.sprite.Sprite):
def __init__(self,image,plane,group,screen):
pygame.sprite.Sprite.__init__(self)
self.plane = plane
self.image = pygame.image.load(image).convert_alpha()
self.rect = self.image.get_rect()
self.rect.center = plane.rect.center
self.group = group
self.group.add(self)
self.screen = screen
self.screen_width = screen.get_width()
self.screen_height = screen.get_height()
def update(self):
self.rect.move_ip(10,0)
if self.rect.left > self.screen_width :
self.group.remove(self)
def split_images(image,rows,cols):
"""image是一张图片,把它切分为若干图,返回列表"""
global explosion_images_list
image = pygame.image.load(image)
step_width = image.get_width()//cols
step_height = image.get_height()//rows










安全验证
文档复制为VIP权益,开通VIP直接复制

评论0