方法发生时显示图像

时间:2016-12-12 19:47:03

标签: python class oop processing

我改变了我的代码并多次测试无济于事。为了把它放到上下文中,我试图在Python游戏中显示一个健康栏(在Processing上开发),我有五张耗尽健康的图像。图像加载完美。我想知道是否有可能发生以下情况,onCollision()是两个玩家碰撞的地方:

def healthbar(self):
        if self.onCollision():
            image(self.health,30,500,200,25,0,25,200,50)

我还尝试在onCollision()中使用布尔逻辑,这样当True时,会发生以下情况:

def healthbar(self):
        if self.hitLogic==True:
            image(self.health,30,500,200,25,0,25,200,50)

当然,我在班级的初始化程序中定义了self.hitLogic=False

我的问题是,如果布尔值为true或方法发生,是否可以在Python中加载图像。

旁注:我没有使用pygame。

编辑:图片可以独立加载,但在我致电if self.onCollision()if self.hitLogic==True时无法加载。这就是我遇到的问题。

1 个答案:

答案 0 :(得分:1)

是。在draw()调用的任何函数中,可以在image()中加载Processing.py。当draw()循环完成循环时,图像将与所有其他绘图命令一起显示。

你的问题不是Python的结构限制 - 请记住 Processing.py使用Jython ,因此你的Python代码在运行之前就变成了Java!

您可以使用以下方法调试此类问题:

if(True);
  image(self.health  ...  )

如果它确实有效,则您的变量未设置或您的方法在调用时未返回True,并且您需要调试尚未共享的代码。如需进一步的帮助,请使用显示问题的MCVE更新您的问题。