Traceback (panggilan terakhir terakhir): File "***/Pcprojects/pygameKCC/kcc-shmup.py", baris 49, di all_sprites.update()
TypeError: metode tidak terikat update() harus dipanggil dengan instance Grup sebagai argumen pertama (bukannya tidak mendapat apa-apa)
Saya mengikuti tutorial yang memiliki kode yang berfungsi (untuknya), dan seumur hidup saya, saya tidak bisa membuat sprite ini dirender. Adakah yang bisa memberi tahu saya apa yang saya lakukan salah? Ini adalah pertama kalinya saya menggunakan sprite selain jenis screen saver bola melenting dasar. Terima kasih!
import pygame
import random
import sys
import math
#global constants
WIDTH = 360
HEIGHT = 480
FPS = 30
#define colors
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
RED = (255, 0, 0)
GREEN = (0, 255, 0)
BLUE = (0, 0, 255)
#YELLOW = (X, X, X)
class Player(pygame.sprite.Sprite):
#sprite for the player.
def __init__(self):
pygame.sprite.Sprite.__init__(self)
#required image and collision rectangle
self.image = pygame.Surface((50, 50))
self.image.fill(GREEN)
self.rect = self.image.get_rect()
self.rect.center = (WIDTH / 2, HEIGHT / 2)
#itialize pygame
#itialize music mixer
pygame.init()
pygame.mixer.init()
#create screen
screen = pygame.display.set_mode((WIDTH, HEIGHT))
pygame.display.set_caption("My Game")
clock = pygame.time.Clock()
#create a group for all sprites to belong to
all_sprites = pygame.sprite.Group()
player = Player()
all_sprites.add(player)
running = True
while running:
clock.tick(FPS)
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
#diperbarui:
all_sprites.update()
screen.fill(BLACK)
all_sprites.draw(screen)
pygame.display.flip()
pygame.quit()
fill()
layar - dengan cara ini Anda menghapus semua sprite sebelum mengirimnya dari buffer di monitor (menggunakanflip()
). Anda harus terlebih dahulufill()
, berikutnyadraw()
dan kemudian menggunakanflip()
untuk mengirim buffer pada monitor. - person furas   schedule 10.12.2016python script.py
- dan Anda akan melihat apakah Anda benar. - person furas   schedule 10.12.2016