パイソンファットチキンバトル開発記録(11):敵チキンの出現

1. Qキーを追加して、ゲーム関数を終了します。
追加:\ game_functions.py-def check_keydown_events(event、fcw_settings、screen、chicken、bullets):

    elif event.key == pygame.K_q:
        sys.exit()

2.敵のクラスを作成します
\ images \ enemy.png:
ここに画像の説明を挿入
新規:\ enemy.py:

import pygame
from pygame.sprite import Sprite


class Enemy(Sprite):
    """敌鸡类"""

    def __init__(self, fcw_settings, screen):
        """初始化敌鸡并设置其起始位置"""
        super(Enemy, self).__init__()
        self.screen = screen
        self.fcw_settings = fcw_settings

        # 加载敌鸡图像,并设置rect属性
        self.image = pygame.image.load('images/enemy.png')
        self.rect = self.image.get_rect()

        # 每个敌鸡最初都在左上角附近
        self.rect.x = self.rect.width
        self.rect.y = self.rect.height

        # 存储敌鸡准确位置
        self.x = float(self.rect.x)

    def blitme(self):
        """在指定位置绘制敌鸡"""
        self.screen.blit(self.image, self.rect)

3.敵のニワトリのインスタンスを作成します
更新:\ FatChickenWars.py:

...
from enemy import Enemy
...
	 # 创建一只肥鸡
    chicken = Chicken(screen, fcw_settings)
    # 创建子弹编组
    bullets = Group()

    # 创建一只敌鸡
    enemy = Enemy(fcw_settings, screen)
...
		# 更新画面
        gf.update_screen(fcw_settings, screen, chicken, enemy, bullets)
...

4.敵のニワトリを画面に表示させます
更新:\ game_functions.py-def update_screen():

def update_screen(fcw_settings, screen, chicken, enemy, bullets):
    """更新画面"""
    # 绘制
    screen.fill(fcw_settings.bg_color)
    for bullet in bullets.sprites():
        bullet.draw_bullet()
    chicken.blitme()
    enemy.blitme()

    # 显示
    pygame.display.flip()

優れた結果
シングルからシングル、シングルからシングル、彼は私が始めたときに泣いた。(手動で鶏肉をスライドさせます)

2021.1.22

おすすめ

転載: blog.csdn.net/k1095118808/article/details/112992541