pygameでコイン集めゲームにスコア表示を作りたいです
どのようなコードを書けばよいでしょうか
試したこと#背景色を塗りつぶすの下に
def draw(self):
text = self.font.render("{:04d}".format(self.point), True, (63,255,63))
create_text = screen.draw
create_text(score, [10, 5])
というコードを加えましたがスコア表示ができません
import pygame
import random
#変数
score = 0 #スコア用の変数
#初期化
pygame.init()
screen = pygame.display.set_mode([800,600])
pygame.display.set_caption("Coin Collector Game")
プレイヤー関連
player_image = pygame.image.load("date/player.png")# 画像を読み込む
player_image = pygame.transform.scale(player_image, [100, 100])# 画像サイズを指定する
player_rect = player_image.get_rect()# Rect (四角) オブジェクトも生成しておく
#コイン関連
coin_image = pygame.image.load("date/coin.png")# 画像を読み込む
coin_image = pygame.transform.scale(coin_image, [80, 80])# 画像サイズを指定する
coins_rect = []
for i in range(6):
x = random.randint(0, 700)
y = random.randint(0,500)
coins_rect.append(pygame.Rect(x, y, coin_image.get_width(), coin_image.get_height()))
スコア用
collected_coins = 0
#ゲームループ
running = True
while running == True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# キー操作を受け付けてプレイヤーを動かす
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT] == True:
player_rect.x -= 1
if keys[pygame.K_RIGHT] == True:
player_rect.x += 1
if keys[pygame.K_UP] == True:
player_rect.y -= 1
if keys[pygame.K_DOWN] == True:
player_rect.y += 1
# プレイヤーがコインに触れた時の処理
for coin_rect in coins_rect:
if player_rect.colliderect(coin_rect) == True:
coins_rect.remove(coin_rect)
collected_coins += 1
#背景色を塗りつぶす screen.fill("blue") def draw(self): text = self.font.render("{:04d}".format(self.point), True, (63,255,63)) create_text = screen.draw create_text(score, [10, 5]) score = collected_coins # コインとプレイヤーを描画。 for coin_rect in coins_rect: screen.blit(coin_image, coin_rect) screen.blit(player_image, player_rect) pygame.display.update() # クリア時の処理 if collected_coins == 6: running = False
ゲーム終了
pygame.quit()

回答1件
あなたの回答
tips
プレビュー