我正在编写游戏,我试图通过在用户界面中单击按钮来获得掷骰子的价值。
我不太熟悉MVC原理,但是我听说这是要走的路。有关如何从此代码到达那里的任何提示?
int move = -1;
while (move == -1) {
this.btnLancerLeD.addMouseListener(new MouseAdapter() {
public int diceRoll;
@Override
public void mouseClicked(MouseEvent arg0) {
diceRoll = jeu.getDe().lancer();
move = diceRoll;
}
});
}
我正试图获得diceRoll值来移动我的棋手。
答案 0 :(得分:0)
首先,您应该只调用一次addMouseListener(),而不要在while循环中重复进行一次。其次,您可以在mouseClicked()
内部进行“移动”的逻辑。您可能需要一个if
语句。
请注意,Swing已经包含了等待用户做某事的逻辑。这是事件侦听器的重点。仅在该事件发生时才触发它们。如果是按钮,则应使用ActionListener
而不是MouseListener
。有关更多详细信息,建议您查看Swing的官方Oracle教程。您可以通过Google的快速搜索找到这些内容。