我正在用python 3.6.9编写一个平台游戏
讨论中的每个游戏对象都有一个属性img,我将其分配给pygame.image.load(“slime character.gif”)
。这将图像存储为pygame.Surface对象。窗口(屏幕)有一个函数blit,它获取一个曲面对象(图像)和一个x和y坐标对或一个pygame.Rect,它从中获取x和y。
我的代码是:
for x in gameObjects:
screen.blit(x.img, x.rect)
但是它抛出一个错误,说x.img是一个int。打印这个,似乎是200。在没有迭代器print(gameObject[0]. img)
的情况下打印这个会给我同样的效果。
但是,如果我打印对象的值本身print(object1.img)
我得到一个pyplay。表面物体,这就是我需要点燃的。
对我来说,硬编码每个可能出现的对象是不切实际的,所以我需要从对象列表中引用它们的图像。但当我这样做时,它会给我一个不正确的数据类型。是否有人知道为什么会发生这种情况/一种解决方法,以便我能够访问所需的数据?
提前感谢。链接到谷歌驱动器上的完整代码(89行)。
编辑:多亏了Chris Doyle的一条评论才得以解决:我忘了把屏幕作为movableObjs的一个参数。不过,我把这个问题留到了一边,以防任何人都能解释程序的行为(在没有列表的情况下工作,但从列表中引用时失败)。
首先,类名通常应该使用验证码约定。
使用重命名gameObjectRef
byGameObjectRef
,gameObj
byGameObj
和movableObj
byMovableObj
。
问题分别是object2
类movableObj
。类movableObj
来自类gameObj
。gameObj
构造函数的第一个参数是screen。您必须在fht构造函数的超级调用中将screen
传递给gameObj
的构造函数:
做
gameObj.\uuuuu初始化(self、img、xpos、ypos、w、h、visible、active)
gameObj.__init__(self, screen, img, xpos, ypos, w, h, visible, active)
在
class movableObj(gameObj):
def __init__(self, screen, img, xpos, ypos, w, h, gravity=1, xvel=0, yvel=0,
visible=False, leaveScreen=False, active=True):
gameObj.__init__(self, screen, img, xpos, ypos, w, h, visible, active)
self.gravity = gravity
self.xvel = xvel
self.yvel = yvel
self.leaveScreen = leaveScreen
此外,在创建movableObj
的实例时,必须将screen
传递给构造函数:
object2=movableObj(imgslime,600,200,20,20,0,2,0)
object2 = movableObj(screen, imgslime, 600, 200, 20, 20, 0, 2, 0)
我有一个测试类包含测试方法和两个服务类和。我正在为类中的方法编写JUnit测试,该类包括对类方法的调用。在我写的测试方法中 因此,当调用时,它应该返回大小为1,但不返回此列表,返回的是一个大小为0的列表。
我使用mysql存储过程来检索对象列表。这可能吗? 我在看这篇文章 问题: > 如何使用结果集检索select语句中的对象列表? 如何将结果集映射到对象列表? CREATE DEFINER=@PROCEDURE(ININT,OUTINT,OUTINT,OUTVARCHAR(50),OUTVARCHAR(50),OUTFLOAT 内部连接(从rate中选择aid,r.rate,re.country_
很抱歉标题太长,但我的问题如下; 我有这些课程; 和 和 如果只有断言它拥有的列表,我会使用以下自定义匹配器;
假设我有以下课程:
好的,我已经成功地将一个列表变成了一个二维数组。唯一的问题是输出只索引一次,所以基本上,如果我想将每个列表中的10个元素添加到一个二维数组中,那么这个二维数组将只有一个包含“n”个元素的索引。 例如 我愿意 相反,它正在返回: 我接受了以下建议:将ArrayList转换为包含不同长度数组的2D数组 这是我的代码: 我正在使用数据提供者(DataProviders)和TestNG,它们需要返回一个二
我得到和错误当我执行 错误是: 未处理的异常:com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期BEGIN_OBJECT但BEGIN_ARRAY在第1行第52列路径$. f 这是 json 响应 我有这个班级 和这个其他