小编Tan*_*til的帖子

Libgdx多个屏幕

感谢我在这个论坛上遇到的其他问题的帮助,我设法推进了我的项目,但又出现了另一个障碍.

我在libgdx for java中实现多个Screen时遇到了麻烦.我想知道如何实现多个屏幕(一个用于主菜单,一个用于播放,一个用于加载屏幕,......).

我应该如何构建我的屏幕类的示例或一些解释将非常有用.我尝试实现自己的屏幕管理器但是效果不是很好......还有一些指示我应该如何处理屏幕,因为每次从主菜单进入播放或选项菜单时创建屏幕都不是很好理念.非常感谢任何想法或代码示例或建议.

我现在拥有的是一些类别的游戏屏幕,当你渲染它们时,它们会在屏幕上绘制一些GUI,但是像后退按钮这样的功能不起作用,因为我不知道如何在它们之间建立链接.

graphics user-interface libgdx

5
推荐指数
1
解决办法
4547
查看次数

如何在不使用新JFrame的情况下更改JPanel中的图像(Repaint()不起作用!)

互联网的人!

我一直在为学校做一个饮酒游戏计划.

//不是相关的信息,只是为了lulz://学校建议游戏,我没有;)这是游戏// http://sotallytober.com/games/verbal/mexican/

无论如何,我使用以下代码在JPanel中绘制了一个图像(它是一个扩展JPanel的类)

public class iconPanel extends JPanel {

ImageIcon image;
Image pic;
public iconPanel(String startScreenImage) {
      image = new ImageIcon(startScreenImage);
      pic = image.getImage();
      this.setBackground(new Color(0, true));
}

@Override

public void paintComponent(Graphics g) {
    //Paint background first
    g.drawImage (pic, 0, 0, getWidth (), getHeight (), this);
}
Run Code Online (Sandbox Code Playgroud)

现在在我的另一个类中,我有布局和所有组件,我在我的JPanels上声明如下:

private JPanel pnDrinkPlayerBW;
Run Code Online (Sandbox Code Playgroud)

然后在名为MakeComponents的同一个类中的一个方法中,我将JPanel设置为:

pnDrinkPlayerBW = new iconPanel("img/glass.jpg");
pnDrinkPlayerBW.setPreferredSize(new Dimension(183,61));
Run Code Online (Sandbox Code Playgroud)

然后我将它添加到面板中,它必须来,并将该面板添加到方法makeLayout()中的框架上(我不认为它是有用的代码,所以如果你想看到它,请问我)

然后,如果按下按钮,我想将glass.jpg图像更改为另一个图像,例如beerGlass0.png,所以在另一个方法actionEvents()的actionlistener中我这样做:

pnDrinkPlayerBW = new iconPanel("img/beerGlass.png");
pnDrinkPlayerBW.setPreferredSize(new Dimension(183,61));
pnDrinkPlayerBW.repaint();
Run Code Online (Sandbox Code Playgroud)

我会把这个类的构造函数放在这里,就像人们需要它一样:

public SpelScreen(){
    makeComponents();
    makeLayout();
    actionEvents();
} // note : this …
Run Code Online (Sandbox Code Playgroud)

java swing jpanel jframe repaint

4
推荐指数
1
解决办法
5279
查看次数

是否可以传递类类型并用作返回类型?

我有一个使用解析器的方法,解析器调用示例是:

SpecificClass ret = parser.parse(getOutputStream(),SpecificClass.class);
Run Code Online (Sandbox Code Playgroud)

请注意,返回类型与指定为paramether的返回类型相同.

现在,我想创建一个方法来执行此调用并返回我想要的特定类类型.例如:

public $$some construct I don't know$$ invokeParser(Class<?> c){
      //... operations....
      return parser.parse(getOutputStream(),c); //c works, I can pass it
}
Run Code Online (Sandbox Code Playgroud)

可能吗?

java generics

3
推荐指数
1
解决办法
64
查看次数

字符串比较中的意外结果在java中?

public class HelloWorld {
    public static void main(String[] args) {
        String s1="yes";
        String s2="yes";

        System.out.println("-------The result is-----"+ s1==s2);
        System.out.println("-------The result is-----"+ (s1==s2));    
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么上面的代码产生输出
"false"
-------结果是----- true

java

1
推荐指数
1
解决办法
45
查看次数

for循环运行时分析java

对于所有这些,我必须找出运行时间.

1.

for ( int i = 0; i < n; i+=2 )
    sum++;
Run Code Online (Sandbox Code Playgroud)

2.

for ( int i = 1; i < n; i*=2 )
    sum++
Run Code Online (Sandbox Code Playgroud)

3.

for ( int i = 0; i < n; i++ )
    for ( int j = 0; j < n; j++ )
        sum++;
Run Code Online (Sandbox Code Playgroud)

4.

for ( int i = 0; i < n; i++ )
    sum++
for ( int j = 0; j < n; j++ )
    sum++
// The above are …
Run Code Online (Sandbox Code Playgroud)

java big-o big-theta

-1
推荐指数
1
解决办法
1982
查看次数

覆盖该方法

我被要求覆盖一个实现新行为的方法,我已经制作了构造函数和方法.

private String  name;
private boolean disease; 

public Area(Position pos, String name, boolean disease) {
    super(pos);

    this.name   = name;
    this.disease = disease;
}  

public String getName() {
    return name;
}
Run Code Online (Sandbox Code Playgroud)

以及我必须覆盖的方法,以便在药物足够的情况下可以在一个区域停止疾病

public boolean hasDisease() {
    return disease;
} 
Run Code Online (Sandbox Code Playgroud)

我试过用

    if (medicine = true) { 
        disease = false
    } 
    return disease = true; 
}
Run Code Online (Sandbox Code Playgroud)

但这导致其他测试失败.

java overriding

-2
推荐指数
1
解决办法
47
查看次数