首页 > 编程语言 > 详细

python--pygame04

时间:2021-02-06 15:53:23      阅读:23      评论:0      收藏:0      [点我收藏+]

1.创建子弹

import  pygame
from pygame.sprite import Sprite
class Bullet(Sprite):
    def __init__(self,ai_settings,screen,ship):
        super(Bullet,self).__init__()
        self.screen=screen
        self.rect=pygame.Rect(0,0,ai_settings.bullet_width,ai_settings.bullet_height)
        self.rect.centerx=ship.rect.centerx #子弹的中心是飞船的中心位置
        self.rect.top=ship.rect.top #子弹的顶部是非常的顶部。让子弹看着是从飞船里面飞出来的一样。
        self.y=float(self.rect.y) #子弹向上移动所以是y坐标,用float小数微调子弹的速度。
        self.color=ai_settings.bullet_color
        self.speed_factor=ai_settings.bullet_speed_factor
    def update(self):
        self.y -=self.speed_factor
        self.rect.y=self.y
    def draw_bullet(self):
        pygame.draw.rect(self.screen,self.color,self.rect)

2.

class Settings():
    def __init__(self,bg_color):      #__init__是类的方法。每创建新实例时会自动调用
       screen_width = input("please input what you like the screen width,default 800")
       self.screen_width = int(screen_width)
       screen_height = input("please input what you like the screen height,default 1200")
       self.screen_height = int(screen_height)
       self.bg_color = bg_color
       self.ship_speed_factor=0.5
       self.bullet_speed_factor=0.3
       self.bullet_width=1
       self.bullet_height=8
       self.bullet_color=29,25,26

3.

import pygame
import game_functions as gf
from pygame.sprite import Group
from bullet import Bullet
from ship import Ship
from setting import Settings
def run_game():
    pygame.init()
    ai_settings=Settings(white)
    screen=pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")
    ship = Ship(ai_settings,screen)
    bullets=Group()
    while True:
        gf.check_events(ship)
        ship.update()
        bullets.update()
        gf.update_screen(ai_settings,screen,ship)
run_game()

 

python--pygame04

原文:https://www.cnblogs.com/youngyounglady/p/14381479.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!