gpt4 book ai didi

java - 创建自定义 TextButton 类的问题

转载 作者:行者123 更新时间:2023-11-30 08:51:41 27 4
gpt4 key购买 nike

免责声明:我是 LibGDX 的新手,对 java 有相当基本的了解。我已经使用 Google 和 Stackoverflow 来搜索答案,但无济于事。对不起英语,我不是母语人士。

这是我的问题:

我想为游戏创建多个按钮,为了节省代码,我尝试创建一个自定义 TextButton 类。但是,我遇到了问题。

到目前为止,这是我的代码:

package com.mygame.game;

import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.TextureAtlas;
import com.badlogic.gdx.scenes.scene2d.ui.Skin;
import com.badlogic.gdx.scenes.scene2d.ui.TextButton;

public class customButton extends TextButton{

TextButtonStyle customButtonStyle;

BitmapFont font;
TextureAtlas buttonAtlas;

public customButton(String text, Skin skin, int x, int y) {
super(text, skin);

customButtonStyle = new TextButtonStyle();
customButtonStyle.font = font;
customButtonStyle.up = skin.getDrawable("accept-button");

this.setStyle(customButtonStyle);
this.setPosition(x, y);
}

}

我用这段代码调用它:

customButton testlol;

...

skin = new Skin();
buttonAtlas = new TextureAtlas(Gdx.files.internal("icons"));
skin.addRegions(buttonAtlas);

testlol = new customButton("Testhallo", skin, 200, 200);
stage.addActor(testlol);

等等。但是,我收到一个错误:

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: No com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle registered with name: default

...

at com.mygame.game.customButton.<init>(customButton.java:17)

错误是指这一行:

        super(text, skin);

(我删除了一些多余的错误文本)

我看不出哪里出了问题。我的(这里的基本错误是什么?:/

最佳答案

您正在调用的 super 构造函数 super(text, skin); 尝试使用默认样式实例化 TextButton。因此您的皮肤必须具有已经为 TextButtons 定义的默认样式。或者您可以从父类(super class)的构造函数中复制并粘贴代码而不是调用它,并根据需要调整它以跳过尝试应用默认样式。

关于java - 创建自定义 TextButton 类的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30445781/

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