【发布时间】:2019-03-13 13:10:29
【问题描述】:
我的 LibGdx 程序有问题。我给相机设置了 800 高度和 480 宽度。我正在坐标下绘制目标:
randomTargetX = new Random().nextInt((350 - 100) + 1) + 100;
randomTargetY = new Random().nextInt((600 - 300) + 1) + 300;
但点击目标后,我的炮弹不会与目标矩形重叠。
我在 Touch 中这样做:
if (Gdx.input.justTouched()) {
touchX = Gdx.input.getX();
touchY = Gdx.input.getY();
camera.unproject(touch.set(touchX, touchY, 0));
if (touch.y>200) {
isTouched = true;
rectangleCannonBall.x = (width / 2) - 50 / 2;
rectangleCannonBall.y = 0;
double angle = 180.0 / Math.PI * Math.atan2(rectangleCannonBall.x - touch.x, touch.y - rectangleCannonBall.y);
spriteCannon.setRotation((float) angle);
}
}
不起作用。
这是一场炮弹游戏:
首先我要设置相机。
在坐标范围内随机显示目标。
使用 Vector3 新位置触摸未投影相机。
通过触摸计算目标位置与大炮位置并获得旋转大炮的角度。
旋转大炮后,我向目标发射球。
现在当我做 Rectanglar1.overlaps(rec2) 时,它不起作用,因为两个矩形都有不同的点,但可见两个矩形相互重叠。
当我检查目标矩形的坐标时,触摸它的不同。
【问题讨论】:
标签: libgdx