如何在嵌套的switch语句中显示图像?

用户名

我目前正在尝试制作一个涉及随机生成的世界的游戏。我目前有一个正常工作的启动画面和一个正常工作的Perlin噪声源。我所需要的只是一种实现代码以显示图像的方法。

代码:

public void show() {
    batch = new SpriteBatch();
    World world = new World();


    int type = 0;

    for (int y = 1; y < world.getlengthy();y++){
        for (int x = 1; x < world.getlengthx();x++){
        type = world.getvalue(x, y);


        switch (type) {
            case 1:sprite = new Sprite(tex1,0,0,16,16);sprite.setPosition(x, y);batch.begin();sprite.draw(batch);batch.end();
            Gdx.app.log("", "x: " + x + " y: " + y);
            break;
            case 2:batch.begin();batch.draw(tex2, x, y);batch.end();
            break;
            case 3:batch.begin();batch.draw(tex3, x, y);batch.end();
            break;
            case 4:batch.begin();batch.draw(tex4, x, y);batch.end();
            break;
            case 5:batch.begin();batch.draw(tex5, x, y);batch.end();
            break;
            case 6:batch.begin();batch.draw(tex6, x, y);batch.end();
            break;
            case 7:batch.begin();batch.draw(tex7, x, y);batch.end();
            break;
            case 8:batch.begin();batch.draw(tex8, x, y);batch.end();
            break;
            }
        }
本恩克斯

您的代码需要在render方法内部如果屏幕是第一次显示,则仅调用该显示。(1次调用!)因此,将for循环放入渲染循环中,它应该可以工作。

只是一个小提示。不要在渲染周期内创建对象sprite = new Sprite(tex1,0,0,16,16);始终在show方法中或在构造函数内部初始化所有对象以节省渲染时间。(这确实使帧速率有很大不同)

begin()在循环之前和循环end()之后也只有一次

例如这样的事情。我仍然不会在渲染器内部创建Sprites,但是我不知道其余的逻辑。希望这可以帮助!问候

@Override
public void show() {
    batch = new SpriteBatch();
    World world = new World();
}


@Override
public void render(float delta){
    int type = 0;
    batch.begin();
    for (int y = 1; y < world.getlengthy();y++){
        for (int x = 1; x < world.getlengthx();x++){
        type = world.getvalue(x, y);


        switch (type) {
            case 1:
                sprite = new Sprite(tex1,0,0,16,16);
                sprite.setPosition(x, y);
                sprite.draw(batch);
                Gdx.app.log("", "x: " + x + " y: " + y);
            break;
            case 2:
                batch.draw(tex2, x, y);
            break;
            case 3:
                batch.draw(tex3, x, y);
            break;
            case 4:
                batch.draw(tex4, x, y);
            break;
            case 5:
                batch.draw(tex5, x, y);
            break;
            case 6:
                batch.draw(tex6, x, y);
            break;
            case 7:
                batch.draw(tex7, x, y);
            break;
            case 8:
                batch.draw(tex8, x, y);
            break;
            }
        }
        batch.end();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在switch语句中使用通配符?

来自分类Dev

如何在一个switch语句中合并两个case语句

来自分类Dev

如何在if语句中修复if语句?

来自分类Dev

如何在angularjs中的条件语句中显示数据

来自分类Dev

在嵌套的If语句中显示货币单位

来自分类Dev

如何在片段切换语句中显示活动

来自分类Dev

如何在switch语句中匹配正则表达式?

来自分类Dev

如何在if语句中嵌套向量索引匹配函数?(Excel)

来自分类Dev

如何用switch语句替换嵌套的if语句?

来自分类Dev

Twilio如何在switch语句中添加暂停

来自分类Dev

如何在switch语句中使用变量

来自分类Dev

如何在switch-case语句中自动缩进VSCode?

来自分类Dev

如何在cout语句中显示相对文件路径

来自分类Dev

如何在switch语句中缩小类型

来自分类Dev

switch语句中的Switch语句

来自分类Dev

如何在片段切换语句中显示活动

来自分类Dev

如何在switch语句中使用随机生成的数字?

来自分类Dev

如何在条件语句中显示img标签?

来自分类Dev

我如何在switch语句中有一个案例,让用户输入要显示的字符串

来自分类Dev

如何在if语句中嵌套向量索引匹配函数?(Excel)

来自分类Dev

如何用switch语句替换嵌套的if语句?

来自分类Dev

如何在switch语句中进行代码优化

来自分类Dev

Clang-Format:如何在switch语句中获取单行case语句

来自分类Dev

如何在switch语句中处理可选内容

来自分类Dev

如何在 SQL select 语句中显示日期 - 月份?

来自分类Dev

如何在 If 语句中显示引号

来自分类Dev

如何在switch语句中使用cin“作为参数”

来自分类Dev

如何在switch语句中使用Sql表数据?

来自分类Dev

如何在 if 语句中显示图标?

Related 相关文章

热门标签

归档