好吧,我真的很困惑,我以前旋转过精灵,没有问题,比如当船在海洋中移动时旋转它,但是出于某种原因,这次我遇到了一个非常大的问题。所以我在资产文件中创建了一个纹理,但不是静态纹理。我使用以下方式加载纹理:
class Assets{
Texture img;
public Assets(){
img = new Texture(Gdx.files.internal("images/PNG.png")
然后我通过调用来调用主类中的资产:
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
}
然后我有一个渲染类来绘制所有东西,我有对象MyGuy
在一个名为myLand
的世界对象中,我用以下方式绘制它:
myLand.GUY.animation.CurrentSprite(batch);
所以我的问题出现在旋转上,每当它旋转180度时,它似乎总是围绕坐标(0,0)旋转,而不是精灵的中心。所以它通常会在我向右移动5度的地方结束,但是如果我试着向左移动,它确实向后移动了两倍的距离,但是相机的位置保持不变,这个人通常会从屏幕的左边或右边消失。
不要旋转精灵,只需用这一行翻转它:
CurrentSprite.flip(true, false);
第一个布尔值是X翻转(当向左移动时,您希望设置为true),第二个是Y翻转。
尝试使用Rotate(...)方法代替setRotation(...)。
使用setOrigin(widthSprite\2,heightSprite\2)
该操作会旋转sprite本身。
现在我想把sprite的位置相应地放在我旋转的身体上。在这里我所做的 这是我怎么画的 当我运行我的代码时会发生奇怪的事情。我看到主体正确旋转,但是由于这一行所以sprite的位置始终与主体位置相同。我该怎么做呢?
我想一起旋转一组精灵,多边形和矩形,图a)显示2个精灵,边界多边形和矩形,这组围绕大矩形中心旋转90度(两个矩形的联合)。 以下代码创建图b)。它不会围绕联合矩形的中心旋转精灵和多边形。 下面的代码创建了图c)。当我试图将精灵和多边形移动到矩形位置时,出现了对齐错误。 问题是旋转后如何将精灵与矩形对齐(即类似于图a,角度=0)。提示:问题出现是因为精灵在绘制时会旋转,因此精灵和矩形之间会错位对齐。
我在下面有一个类,我将其附加到一个对象上,以使其围绕其轴旋转。我把雪碧的枢轴通过检查员送来了。 这正是我想要的效果,但是我遇到的问题是,每当我触摸并拖动它,然后再次触摸并拖动它,它就会捕捉到一个新的位置。 我想让它做的是,当它旋转,然后再次旋转时,精灵保持其相同的旋转,而不是捕捉到一个新的位置,我想精灵的角度重置为0。接下来,我想让角度持续旋转。所以如果我朝正方向旋转,角度应该在正方向上不断增加,
我正在使用平铺地图编辑器创建一个简单的平铺地图。在我的地图中,我有几个矩形,如果我创建一个宽度为50,高度为10的矩形,并将其旋转正好90°,保存地图并将其加载到我的LibGDX项目中,形状会正确呈现——但是如果我使用随机角度,例如26°,然后我再次渲染地图,我没有得到所需的结果,事实上我得到了完全相反的所需角度。 我使用以下方法直接从地图读取平铺地图浮动: 数学。degRad将直接从地图属性读取
当我旋转图像(图像类)时,我需要帮助解决一个小问题。 这个想法是旋转一个球形图像,移动是通过手指的触摸和拖动,它可能是顺时针的,也可能不是顺时针的,到目前为止,这是正确的。 我希望当球体的角度是90的倍数时会发生一些事情,问题是当我用手指旋转球体时,有时它太快了,以至于球体的角度不总是通过90的倍数,例如,如果它在87,当我移动手指时,它会在不接触90的情况下移动到94。 这是我的拖动旋转代码 我
如果我将这个圆形精灵的身体应用于AngularImush,它会沿着它的中心旋转,这就是我想要的。但是它的碰撞蒙版固定装置(绿色)沿着它自己的中心旋转,而不是精灵的中心。我如何让它也沿着精灵的中心旋转,这样碰撞蒙版和精灵就保持同步? 例如,在下面的图片中,当圆圈旋转,红色部分到达左上角时,我希望绿色碰撞蒙版在#3的位置。但是发生了#2。我知道为什么会发生这种情况,但是我如何才能实现我在这里试图实现的