【发布时间】:2020-11-19 17:25:46
【问题描述】:
我正在学习一些教程以实现抛物线运动。在调试中一切正常,抛物线运动正确响应并且结果正常。现在我想插入一个 Sprite,我的问题就从这里开始了。事实上,精灵完美地执行了正在执行抛物线运动的对象的旋转,但它绝对不遵循 X 和 Y 坐标。提前谢谢你:
子弹功能:
private fun createBullet() {
val circleShape = CircleShape()
circleShape.radius = 0.5f
circleShape.position = Vector2(convertUnitsToMeters(firingPosition.x), convertUnitsToMeters(firingPosition.y))
val bd = BodyDef()
bd.type = BodyDef.BodyType.DynamicBody
bullet = world!!.createBody(bd)
bullet!!.createFixture(circleShape, 1f)
circleShape.dispose()
val velX = abs(MAX_STRENGTH * -MathUtils.cos(angle) * (distance / 100f))
val velY = abs(MAX_STRENGTH * -MathUtils.sin(angle) * (distance / 100f))
bullet!!.setLinearVelocity(velX, velY)
}
我是如何尝试创建精灵的:
override fun render(delta: Float) {
sprite.setPosition(bullet!!.position.x - sprite.width / 2,
bullet!!.position.y - sprite.height / 2)
sprite.rotation = Math.toDegrees(bullet!!.angle.toDouble()).toFloat()
batch!!.use {
it.draw(sprite, sprite.x, sprite.y, sprite.originX,
sprite.originY,
sprite.width, sprite.height, sprite.scaleX, sprite.scaleY, sprite.rotation)
}
}
【问题讨论】:
标签: android-studio kotlin libgdx box2d