如果我理解正确,LibGDX正在使用addActions方法旋转图像:
this.addAction( parallel(rotateBy(360, 0.5f), moveTo(320, 100, 0.5f)));
Run Code Online (Sandbox Code Playgroud)
问题是,它正在被 图像的点=(0,0)旋转.
这是我的问题:
有没有办法按对象的中心点旋转图像?有点像把它固定在中间然后把它变成汽车的轮子?既rotateBy和rotateTo方法由图像本身的(0,0)点转动.
这是我目前在我的Libgdx游戏中的渲染方法.我试图在我的关卡右上角绘制一个BitmapFont,但我得到的只是一堆白盒子.
@Override
public void render(
float delta ) {
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
this.getBatch().begin();
//myScore.getCurrent() returns a String with the current Score
font.draw(this.getBatch(), "Score: 0" + myScore.getCurrent(), 600, 500);
stage.act(Gdx.graphics.getDeltaTime());
stage.draw();
this.getBatch().end();
}
Run Code Online (Sandbox Code Playgroud)
我想将得分字体添加到某种演员中,然后做一个scene.addActor(myScore),但我不知道该怎么做.我按照Steigert的教程创建了主要的游戏类,它在AbstractLevel类中实例化了场景,字体,然后由这个级别进行扩展.
到目前为止,我没有使用任何自定义字体,只是空的新BitmapFont(); 用于默认Arial字体.后来我想用我自己更花哨的字体.
我在Libgdx做一个游戏,我有一点问题.我有很多演员在屏幕上动态显示.如果在第一个之后出现了一个Image actor,我可以将它发送到后面,这样它就不会覆盖已经在屏幕上的第一个吗?
通常,Libgdx将每个新的actor添加到层次结构中更高的层次,并将每个actor放在前面.
这是我想要创建的libgdx安卓游戏的样本.没什么特别的,因为我刚开始冒险玩Android游戏.
以下是我想回答的几个问题
到目前为止,我正在使用Gdx.input.isTouched函数,并检查它是否与兔子坐标匹配,我为每个兔子做了这个,最后我想有11个,这太多了.有没有办法检查来自导入的Image类com.badlogic.gdx.scenes.scene2d.ui.Image; 被感动?或者Actor类有这个功能吗?
另一件事是当我实例化bunny类并且我点击bunny时,所有这些都变成了"害怕".这是因为Scene2d.Image纹理必须是静态的.有办法改变吗?
if(Gdx.input.isTouched()){
x = Gdx.input.getX();
y = Gdx.graphics.getHeight() - Gdx.input.getY();
// **** Show Coordinates **** \\
if (x < 420)
font.draw(batch, "x:" + x +
"\n y: " + y, x, y);
else
font.draw(batch, "x:" + x +
" y: " + y, x-65, y);
// **** End Show Coordinates **** \\
//if krolik (bunny) is touched add highscore and change texture to scared
if (x >= krolik.pos.x && y >= krolik.pos.y
&& x <= krolik.pos.x …Run Code Online (Sandbox Code Playgroud) android ×4
libgdx ×4
game-engine ×3
actor ×2
bitmap-fonts ×1
image ×1
java ×1
layer ×1
stage ×1
touch ×1