libgdx - 有没有办法从平铺地图中删除对象?
问题描述
我正在遍历对象层,并且有某些对象(在我的情况下为矩形映射对象)我想根据某些条件删除,但我没有看到任何方法可以做到这一点。
解决方案
您的用例有两种方法:
com.badlogic.gdx.maps.MapObjects#remove(com.badlogic.gdx.maps.MapObject)
com.badlogic.gdx.maps.MapObjects#remove(int)
请参阅https://libgdx.badlogicgames.com/ci/nightlies/docs/api/com/badlogic/gdx/maps/MapObjects.html
所以我猜你会做这样的事情:
ArrayList<MapObject> objectsToRemove = new ArrayList<>();
for (MapObject object : mapLayer.getObjects()) {
if (object.getName().contains("removeMe")) // TODO
{
objectsToRemove.add(object);
}
}
for (MapObject mapObject : objectsToRemove) {
mapLayer.getObjects().remove(mapObject);
}
推荐阅读
- javascript - 使用 JavaScript 从文本中删除方括号
- automated-tests - Browserstack 自动化:iOS 上的 HTTP 基本身份验证
- java - 有没有办法共享一个使用 derby.jar 文件而不发送 JDBC derby 驱动程序的 java 项目?
- python - Pip 错误:无法使用创建进程
- email - 带有附件问题的电子邮件
- javascript - THREE.js 中的 Shadertoy
- sql - SQL查询执行计划和优化(索引)
- node.js - 使用 firebase 通过 ejs 部分登录
- php - 如何使用 phpLDAPadmin 在 OpenLDAP 中输入已经散列的密码?
- groovy - Groovy:点击与使用