libgdx.我不想有一个演员在舞台上得到触摸输入。在将stage添加到代码之前使其工作。
public class Box extends Actor {
private MyGdxGame game;
ShapeRenderer renderer;
private Vector3 pos;
private int width, height;
private Rectangle rect;
private Vector3 color;
public Box(MyGdxGame game) {
super();
this.game = game;
renderer = new ShapeRenderer();
// arbitrary x/y values
pos = new Vector3(300, 300, 0);
width = 300;
height = 200;
rect = new Rectangle(pos.x, pos.y, width, height);
color = new Vector3();
changeColor();
addListener(new ClickListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int button, int pointer) {
changeColor();
return false;
}
});
}
private void changeColor() {
Random rng = new Random();
color.x = rng.nextInt(255) / 255f;
color.y = rng.nextInt(255) / 255f;
color.z = rng.nextInt(255) / 255f;
}
@Override
public void draw(Batch batch, float parentAlpha) {
super.draw(batch, parentAlpha);
renderer.begin(ShapeRenderer.ShapeType.Filled);
renderer.setColor(color.x, color.y, color.z, 1);
renderer.rect(pos.x, pos.y, width, height);
renderer.end();
}
public void dispose() {
renderer.dispose();
}
}
public class MyGdxGame implements ApplicationListener {
public OrthographicCamera camera;
private Stage stage;
@Override
public void create() {
camera = new OrthographicCamera();
camera.setToOrtho(false, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
Box box = new Box(this);
stage = new Stage();
stage.addActor(box);
Gdx.input.setInputProcessor(stage);
}
@Override
public void render() {
Gdx.gl.glClearColor(1, 1, 1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
camera.update();
stage.act();
stage.draw();
}
@Override
public void dispose() {
renderer.dispose();
}
@Override
public void resize(int width, int height) {}
@Override
public void pause() {}
@Override
public void resume() {}
}
FATAL EXCEPTION: GLThread 16934
04-30 05:46:43.623 19181 19270 E AndroidRuntime Process: com.suchuu.box2dsquares, PID: 19181
04-30 05:46:43.623 19181 19270 E AndroidRuntime java.lang.IllegalStateException:
04-30 05:46:43.623 19181 19270 E AndroidRuntime at com.badlogic.gdx.graphics.glutils.ShapeRenderer.begin(ShapeRenderer.java:190)
04-30 05:46:43.623 19181 19270 E AndroidRuntime at com.suchuu.box2dsquares.MyGdxGame.render(MyGdxGame.java:25)
04-30 05:46:43.623 19181 19270 E AndroidRuntime at com.badlogic.gdx.backends.android.AndroidGraphics.onDrawFrame(AndroidGraphics.java:414)
04-30 05:46:43.623 19181 19270 E AndroidRuntime at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1571)
04-30 05:46:43.623 19181 19270 E AndroidRuntime at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1270)
box.java
:
public class Box extends Actor {
private MyGdxGame game;
ShapeRenderer renderer;
private Vector3 color;
public Box(MyGdxGame game) {
super();
this.game = game;
renderer = new ShapeRenderer();
setPosition(300, 300);
setBounds(300, 300, 600, 500);
color = new Vector3();
changeColor();
this.setTouchable(Touchable.enabled);
this.addListener(new ClickListener() {
@Override
public boolean touchDown(InputEvent event, float x, float y, int button, int pointer) {
changeColor();
event.handle();
return false;
}
});
}
private void changeColor() {
Random rng = new Random();
color.x = rng.nextInt(255) / 255f;
color.y = rng.nextInt(255) / 255f;
color.z = rng.nextInt(255) / 255f;
}
@Override
public void draw(Batch batch, float parentAlpha) {
super.draw(batch, parentAlpha);
renderer.begin();
renderer.set(ShapeRenderer.ShapeType.Filled);
renderer.setColor(color.x, color.y, color.z, 1);
renderer.rect(getX(), getY(), getWidth(), getHeight());
renderer.end();
}
public void dispose() {
renderer.dispose();
}
}
改变
renderer.begin();
renderer.set(ShapeRenderer.ShapeType.Filled);
至
renderer.begin(ShapeRenderer.ShapeType.Filled);
我正在开发一款新游戏,我正在用LibGDX实现屏幕。 我对触摸屏和触摸屏的结合有点迷恋。 我的渲染方法中包含以下内容: 目前我有4个不同的屏幕,当isTouch被触发时,它们都发生了变化,问题是在我触摸第一个屏幕一次后,它从屏幕1变成了4。我试图将输入处理器设置为空,但它仍然从屏幕1跳到4,而无需在每个屏幕上等待。屏幕1上的触摸似乎也会在屏幕2 3和4上自动触发。如何重置输入处理器或在下一个屏幕加
我正在使用libGdx,创建一个简单的平台游戏。我正在使用Tiled创建映射和LibGdx tiledMap呈现器。它的设置与SuperKoalio libgdx示例类似。 我现在的碰撞检测,它只是确定玩家是撞到了它的右边,上面还是下面的一个瓷砖。当它检测到右侧碰撞时,它将玩家状态设置为Standing。对播放机的控制是通过InputHandler完成的。当D键被按下时,它将玩家的状态设置为行走,
我的游戏已经很先进了,但我现在面临一个问题,我无法解决。我有一个迷宫和一个角色在里面。对于迷宫的每一行,我为舞台演员定义了一个组,并将该组中的每一个演员(例如墙)放入该组中。之后,我以一个数组结束,它的大小等于迷宫中的行数,并将每个组放入我的阶段。在此之前,它的工作是完美的,我的墙被绘制,我的角色也是,他的头出现在第一排墙后面,由于层。 但当我的角色换行时,我想改变他的“层”,所以它在舞台上的顺序
我已经创建了一个带有输入的表单,但是该框只处理单行中的文本。我想将其样式设置为输入字段类似于Twitter的输入字段,其中框本身是多行: 当您按enter键时,它也会展开: 这就是我目前拥有的: 我已经设计了按钮和输入的样式,但是没有做任何改变它的形状,所以它是默认的。要实现这一点,我需要调整什么?
问题内容: 我有一个简单的批处理文件。我想 从Jenkins调用/运行/执行该文件 。 Jenkins中是否有相同的插件? 如何从Jenkins执行批处理文件?如果有相同的任何教程或文档。 问题答案: 在Linux上,转到jenkins作业,转到配置,添加构建步骤“ execute shell”,然后键入脚本的名称。请确保您的文件是可执行文件(chmod 777 yourscript.sh),并且
我想从R脚本执行批处理文件。该文件位于类似于“网络\路径\到\批处理\文件”的目录中。bat。 我知道我可以使用R中的system命令来运行DOS命令,但我不能简单地使用system(“start file.bat”)。那么,如何最好地使用R脚本来执行这个批处理文件呢?