【问题标题】:Slick2D GUI Button listenerSlick2D GUI 按钮监听器
【发布时间】:2013-07-31 23:37:41
【问题描述】:

我正在尝试通过扩展 AbstractComponent 来制作光滑的按钮:

公共类 StandardButton 扩展 AbstractComponent {

protected int x;
protected int y;
protected int Width;
protected int Height;
protected String Text;

public StandardButton(GUIContext container,int x, int y, String Text, int Width, int Height,ComponentListener listener) {
    super(container);
    this.Text=Text;
    setLocation(x, y);
    this.Width=Width;
    this.Height=Height;
    addListener(listener);



}

@Override 
public void render(GUIContext container, Graphics g) throws SlickException {
    g.setColor(Color.white);
    g.setLineWidth(2f);
    g.drawRect(x, y, Width, Height);
    g.drawString(Text, x+5, y+(Height/2-4));

}
 [...]

在我的状态:

公共类 UpdaterState 扩展 BasicGameState 实现 ComponentListener { private StandardButton buttonPlay;

@Override
public void init(GameContainer container, final StateBasedGame game)
        throws SlickException {
        buttonPlay=new StandardButton(container,100,100,"Graj",60,30,new ComponentListener(){

            @Override
            public void componentActivated(AbstractComponent source) {
                State.nextState(0, game);

            }

        });

但是什么也没发生。当我单击按钮时,我的 nestState 方法没有运行。我应该如何正确地做到这一点?我只想让我的程序在 componentActivated 方法中执行块。这可能吗,或者我只需要检查鼠标是否一直在更新方法中的按钮字段上释放所有按钮?

【问题讨论】:

    标签: button user-interface slick2d


    【解决方案1】:

    我建议您快速观看 buckys 视频,这些视频会为您提供有关使用 slick 2d 制作东西的有用提示。

    http://www.youtube.com/watch?v=AXNDBQfCd08&feature=share&list=PL22EF3E3752768216

    这是他教程播放列表的链接。其中一个视频谈到了制作按钮和切换状态。祝你好运,我希望你能做出一个很棒的程序:)

    【讨论】:

      猜你喜欢
      • 2013-12-24
      • 2021-02-15
      • 1970-01-01
      • 2016-09-16
      • 2016-08-27
      • 2012-02-04
      • 2020-12-21
      • 1970-01-01
      相关资源
      最近更新 更多