gpt4 book ai didi

java - LibGDX 旋转 Sprite 时出现问题

转载 作者:行者123 更新时间:2023-11-29 07:03:50 25 4
gpt4 key购买 nike

好吧,我真的很困惑,我以前旋转过 Sprite 并且没有遇到任何问题,例如在船穿过海洋时旋转船,但由于某种原因,这次我遇到了一个非常大的问题。所以我在 Assets 文件中创建了一个纹理,但不是静态纹理。我使用以下方法加载纹理:

class Assets{
Texture img;
public Assets(){
img = new Texture(Gdx.files.internal("images/PNG.png")

然后我调用主类中的 Assets :

Assets assets = new Assets()

然后我有一个专门针对这个主角的动画师类,因为他的动画与其他角色截然不同。

class Animations{
Guy MYGUY;
Texture firstTexture;
ArrayList<Texture> running;
Sprite CurrentSprite;
public Animations(Texture standingStill, Guy myGuy){
MYGUY = myGuy;
firstTexture = standingStill;
running = new ArrayList<Texture>();
running.add(firstTexture);
CurrentSprite = new Sprite(firstTexture);

public void update (int direction, int state){
CurrentSprite.setPosition(MYGUY.X, MYGUY.Y)
// I have a switch here, but it does nothing yet because I haven't added in different actions for the character.
//However I do have a switch for direction, because that is important right now
switch(state){
case Guy.LEFT:
CurrentSprite.set rotation(180);
//yes there are more, but even rotating 180 won't work correctly
}

然后我有一个渲染器类来绘制所有内容,我在一个名为 myLand 的世界对象中有一个对象 MyGuy,我用它来绘制它:

myLand.GUY.animation.CurrentSprite(batch);

所以我的问题出现在旋转上,每当它旋转 180 度时,它似乎总是围绕坐标 (0, 0) 而不是 Sprite 的中心旋转。所以它通常会在我向右移动五分之一的地方结束,但如果我试图向左移动,它会向后移动两倍的距离,但摄像机位置保持不变,而那个人通常会从镜头的左侧或右侧消失屏幕。

最佳答案

尝试使用rotate(...)方法代替setRotation(...)。

使用setOrigin(widthSprite\2, heightSprite\2)

那个 Action 旋转 Sprite 本身。

关于java - LibGDX 旋转 Sprite 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22151098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com