我想要一个函数,说它destruction(x,y,z)
破坏放置在坐标 (x,y,z) 处的实体(如果有的话)。当然,问题是要有一个 getter,它返回与某些坐标对应的实体。
有什么想法吗?
只需在其中应用一个逻辑
coordinates = "10,10,10"
blocks = ["block1","block2","block3"]
blockspos = ["5,1,5", "10,10,10", "6,1,6"]
for b in blocks:
if blockspos[blocks.index(b)] == coordinates:
print('the block at coordinates is ' + b)
idk 如何通过字符串名称销毁块,但您可以使用entity.disable
或destroy(entity)
销毁实体,因此如果您有想法通过字符串名称销毁实体,请应用这些代码。希望这项工作。抱歉回复晚了。
部分答案:我找到了一种方法,例如使用我的脚本创建的每个块的dict()
全局BLOCKS
:
BLOCKS = dict()
def build_block(x, y, z):
BLOCKS[(x,y,z)] = Voxel(position = (x, y, z), ...)
def destroy_block(x, y, z):
if (x,y,z) in BLOCKS:
destroy(BLOCKS[(x,y,z)])
del(BLOCKS[(x,y,z)])
仍然必须找到如何销毁通过鼠标左键单击创建的块。