我正在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))

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

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

  1. java jcombobox长度_如何在JToolBar中设定JComboBox的大小?

    如何在JToolBar中设定JComboBox的大小? 我设计了一个JToolBar,并且在上边添加了一个JComboBox,可是我发现这个JComboBox长度无法控制,它将JToolBar上剩余空 ...

  2. java+script+当前日期_如何在JavaScript中获取当前日期?

    如何在JavaScript中获取当前日期? #1楼 您可以使用扩展了 Date对象的Date.js库,从而可以使用.today()方法. #2楼 如果您想对日期格式进行更多的粒度控制,我强烈建议您查看 ...

  3. maven 对于java的要求_如何在Maven中表达对Java EE功能的依赖以过渡到Java 9?

    该模块系统讲的无名模块作为在从类路径加载应用的情况下构建模块图的方式.此外,从文档本身来看: 当编译器在未命名模块中编译代码,或者调用Java启动程序并将应用程序的主类从类路径加载到应用程序类加载器的 ...

  4. java安卓计时器_如何在android中设置计时器

    通过java.util.Timer和java.util.TimerTask使用计时器的标准Java方法在Android中运行良好,但是你应该知道这个方法创建了一个新线程. 您可以考虑使用非常方便的Ha ...

  5. ubuntu java 关闭进程_如何在Ubuntu中关闭Tomcat?

    问题描述 我试图关闭tomcat,如下所示,但是tomcat似乎仍在运行(http://localhost:8080 /) vandegraff@vandegraff-laptop:~$ /usr/s ...

  6. java 元素居中_如何在ColumnLayout中居中元素

    我怎样才能将元素置于 ColumnLayout ? 这是我的qml代码: ApplicationWindow { id: root visible: true width: 640 height: 6 ...

  7. java 格式化 浮点数_如何在javascript中格式化浮点数?

    回答(13) 2 years ago 我猜的关键是首先正确地向上舍入,然后你可以将它转换为String . function roundOf(n, p) { const n1 = n * Math.p ...

  8. java httpclient 重定向_如何在HttpClient中自动重定向(java,apache)

    我创建了httpClient并设置了设置 HttpClient client = new HttpClient(); client.getParams().setCookiePolicy(Cookie ...

  9. figma设计_如何在Figma中构建设计入门套件(第1部分)

    figma设计 Figma教程 (Figma Tutorial) Do you like staring at a blank canvas every time you start a new pr ...

最新文章

  1. lambda在python中的意思_Python中的lambda的简单介绍
  2. Spring 用注解Annotation注入 abstract 抽象父类的属性
  3. freemarker常见语法大全
  4. ps一点等于多少厘米_企业展厅设计关于展台你了解多少?
  5. ASP.NET技巧(收集)
  6. 【转】SVN各种颜色状态
  7. 解压zip,解决中文乱码
  8. 分布式理论-CAP定理
  9. 中国科学院数学与系统科学研究院关于2019年招收硕士研究生复试规程
  10. Codeforces 509C Sums of Digits
  11. dwg图纸与dxf图纸的区别?
  12. 词霸豆豆 — 互联网时代的金山词霸
  13. 2019液晶电视机质量排名前十名
  14. ASP之ViewState和IsPostBack
  15. WaitHandles 的数目必须少于或等于 64 个
  16. 小黄鸡 php,小黄鸡simsimi接口
  17. 心理学 | (1)焦虑症和恐惧症--一种认知的观点
  18. 03 ,似然函数求解 :目标函数推导,对数似然求解,最小二乘法
  19. html图书借阅代码,最全的图书馆首页代码
  20. API请求获取美句美图等

热门文章

  1. 计算机毕业设计JAVA校园课室资源预约系统设计与实现mybatis+源码+调试部署+系统+数据库+lw
  2. Nginx + LUA下流量拦截算法
  3. 陈敏恒化工原理第4版笔记和课后答案
  4. 上海盲人计算机培训,上海市阳光康复中心盲人定向行走培训项目助视障人士走出家门——点亮希望之光 照亮盲人世界...
  5. 永久免费的pdf转换器
  6. 人大金仓试用版更新license流程
  7. ea服务器 位置,ea服务器
  8. sec 与csc的原函数
  9. 高效能管理之要事第一 时间管理表格4
  10. break能跳出几层