java - 我做了一个循环来验证两个敌人正在碰撞,但它不起作用
问题描述
我在我的游戏中创建了一个循环,在敌人处创建两个矩形并验证它们是否正在碰撞(或应该验证)以将“true”返回到 if/else,这样它就可以防止敌人继续行走......但是它就是不行……
public boolean isColiding(int xnext, int ynext) {
Rectangle enemyCurrent = new Rectangle(xnext, ynext, World.TILE_SIZE, World.TILE_SIZE);
for (int i = 0; i < Game.enemies.size(); i++) {
Enemy e = Game.enemies.get(i);
if (e == this)
continue;
Rectangle targetEnemy = new Rectangle(e.getX(), e.getY(), World.TILE_SIZE, World.TILE_SIZE);
if (enemyCurrent.intersects(targetEnemy)) {
System.out.println("returned!!");
return true;
}
}
return false;
}
“Game.enemies”是一个包含所有敌人的列表。我做了一个函数,它自己渲染矩形并且它们被渲染属性,但它只是在循环中不起作用
解决方案
推荐阅读
- python - Django 密码表单字段看起来不像其他字段。我该如何解决?
- apache-spark - 如何在集群模式下从 spark submit 命令捕获标准输出日志
- azure - 如何在不使用 AZCopy 的情况下将文件系统同步到 Azure Blob 存储?
- android - 如何在应用程序类中访问 Hilt 模块
- javascript - 函数模拟范围从 lodash
- rust - 拥有一个可能被处理器意外更改的值是否安全?
- node.js - 无法使用 PassportJS 登录
- c# - 如何编辑 html 模板并将用户数据插入其中
- python - 如何在张量流的自定义损失函数中使用训练模型?
- python - 错误:尝试发送电子邮件时,视图未返回 HttpResponse