gpt4 book ai didi

java - 用于链接移动对象的 libGDX shaperenderer 代码

转载 作者:行者123 更新时间:2023-11-30 02:17:37 25 4
gpt4 key购买 nike

我正在尝试让一个简单的矩形在屏幕上移动。我已经定义了我的对象并分离了更新和渲染的任务。我知道我必须在 Gamerenderer 中放置一些东西,但不知道使用什么代码来引用我的对象。任何帮助将非常感激。谢谢

我的目标:

package com.mygdx.gameobjects;

import com.badlogic.gdx.math.Rectangle;

public class Egg {
private Rectangle rect;

public Egg(){
rect = new Rectangle(0, 0, 50, 50);
}

public void update(float delta) {
rect.x++;
if (rect.x > 137) {
rect.x = 0;
}
}

public Rectangle getRect() {
return rect;
}
}

我的游戏世界:

package com.mygdx.gameworld;

import com.badlogic.gdx.Gdx;
import com.mygdx.gameobjects.Egg;

public class GameWorld {

Egg rect = new Egg();

public void update(float delta) {
Gdx.app.log("GameWorld", "update");
rect.update(delta);
}

public Egg getRect() {
return rect;
}
}

游戏渲染器

package com.mygdx.gameworld;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;

public class GameRenderer {

private GameWorld myWorld;
private OrthographicCamera cam;
private ShapeRenderer shapeRenderer;

public GameRenderer(GameWorld world) {
myWorld = world;
cam = new OrthographicCamera();
cam.setToOrtho(true, 136, 204);
shapeRenderer = new ShapeRenderer();
shapeRenderer.setProjectionMatrix(cam.combined);
}

public void render() {
Gdx.app.log("GameRenderer", "render");
Gdx.gl.glClearColor(0, 1, 1, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

shapeRenderer.begin(ShapeRenderer.ShapeType.Line);

shapeRenderer.setColor(255 / 255.0f, 109 / 255.0f, 120 / 255.0f, 1);
shapeRenderer.rect(xxxxxxxxxxxx);
shapeRenderer.end();
}
}

我需要在括号之间放什么才能看到我的矩形,即 xxxxxx 应该替换成什么?

最佳答案

矩形 eggRect = myWorld.rect.getRect();

在上面一行。这会引用您的矩形。然后将您的 xxxxx 替换为相关值:

(eggRect.x,eggRect.y,eggRect.width,eggRect.height)

方法重载了,要不要也加color之类的参数

关于java - 用于链接移动对象的 libGDX shaperenderer 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29047724/

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