java spit 点_如何在PyGame中按时间点增加精灵的spit

我正在Pygame制作一个游戏,其中一些角色出现在屏幕的一侧并移动到另一侧,在那里他们传送到他们开始的地方并再次进行 . 我希望精灵一次出现一个,它们的产生之间有一个随机的时间增量 . 我为精灵创建了一个类,我将它们放在一个名为”怪物”的组中 . 我的blitting他们看起来像这样:

for monster in monsters:

monster.render(screen)

time.sleep(0.5)

这样做会使屏幕变黑,直到所有怪物产生 . 我希望他们一次产生一个并让玩家能够看到它 . 以下是上面代码的全部类:

import pygame, sys, random, time

from monster import *

pygame.init()

class Main:

clock = pygame.time.Clock()

screenSize = (500,500)

background = pygame.image.load(“C:/Users/Nathan/PycharmProjects/Monsters II A Dark Descent/images/background.jpg”)

screen = pygame.display.set_mode(screenSize)

pygame.display.set_caption(“MONSTERS!”)

monsters = pygame.sprite.Group()

counter = 0

x = 450

while counter < 5:

y = random.randint(50,450)

monster = Monster(x,y)

monsters.add(monster)

counter = counter + 1

while True:

for event in pygame.event.get():

if event.type == pygame.QUIT:

sys.exit()

screen.blit(background,(0,0))

for monster in monsters:

monster.render(screen)

time.sleep(0.5)

x=x-1

clock.tick(60)

pygame.display.flip()

Main()

我还有第二个问题 . 我希望精灵在产生后随机移动速度(当前位置(x)加上一个随机数) . 我还希望他们在他们开始的地方传送,并在他们到达屏幕的末尾再次进行传送 . 这是精灵运动类:

def move(self):

if(self.x > 500):

self.x = 450

self.x -= random.randint(1,5)

目前它们以不同的速度移动,只是离开屏幕的边缘 . 这是整个精灵类:

import random, pygame

class Monster(pygame.sprite.Sprite):

def init(self, x, y):

pygame.sprite.Sprite.init(self)

self.x = x

self.y = y

self.image = pygame.image.load(“C:\Users\Nathan\PycharmProjects\Monsters II A Dark Descent\images\monster.png”)

def move(self):

if(self.x > 500):

self.x = 450

self.x -= random.randint(1,5)

def render(self, screen):

screen.blit(self.image, (self.x, self.y))

感谢您的时间 . 如果您需要更多详细信息,请通知我 .

Original: https://blog.csdn.net/weixin_33656238/article/details/113569997
Author: 疯疯疯狂的野兔
Title: java spit 点_如何在PyGame中按时间点增加精灵的spit

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/784011/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球