我有一个TileMap,其原点位于屏幕的左上方。目标是在选择时将瓷砖从白色填充为绿色。但是,当我选择一个图块时,它上面的图块(位置(x,y-1))将被填充。可以使用y坐标的简单偏移量对此进行修补,尽管我担心我可能忽略了一个错误,以后可能会抬起它的头。
我已经尝试过set_cell
和set_cellv
,但是它们产生相同的结果。但是,当我打印出单元格的位置时,它表明是正确的。
extends TileMap
func _unhandled_input(event):
if event is InputEventMouseButton:
if event.button_index == BUTTON_LEFT and not event.pressed:
var cell_position = world_to_map(event.position)
print(cell_position)
# cell_position = Vector2(cell_position.x, cell_position.y + 1)
if get_cellv(cell_position) != INVALID_CELL:
set_cellv(cell_position, 1)
我是否按我的期望使用此类和函数?还是有潜在的问题?