-2

我想要一个函数,说它destruction(x,y,z)破坏放置在坐标 (x,y,z) 处的实体(如果有的话)。当然,问题是要有一个 getter,它返回与某些坐标对应的实体。

有什么想法吗?

4

2 回答 2

0

只需在其中应用一个逻辑

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.disabledestroy(entity)销毁实体,因此如果您有想法通过字符串名称销毁实体,请应用这些代码。希望这项工作。抱歉回复晚了。

于 2022-03-05T13:26:55.027 回答
-2

部分答案:我找到了一种方法,例如使用我的脚本创建的每个块的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)])

仍然必须找到如何销毁通过鼠标左键单击创建的块。

于 2021-09-18T06:59:51.707 回答