所以我了解java编程的基本知识,但是当我尝试使用我在android studio中的一点知识时,它会让所有事情变得更困难,因为有类和需要引用的不同文件。
while running:
或者类似的东西。我知道用java来定义一些东西
public void Example() {}
但是当我在Java中使用这个时,当我试图运行这个程序时,我的游戏要么立即崩溃,要么不加载任何东西。
目前的代码是
public class MainActivity extends AppCompatActivity {
//Variables
Boolean running = true;
public int years = 0;
//Setup Year Counter
TextView textView = (TextView) findViewById(R.id.year_counter);
//Advance Button
public void advance() {
ImageButton button = (ImageButton) findViewById(R.id.advance);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
years += 1;
textView.setText("" + years + "");
}
});
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Game Loop
while (running) {
advance();
}
}
}
这导致应用程序无法打开。任何帮助对我来说都意味着很多。提前感谢:)
2条答案
按热度按时间mec1mxoz1#
虽然我实际上没有看到崩溃,因为你没有真正上传一个,我可以理解为什么你可能会认为你的应用程序不会工作。
您在
while
循环中经常做的事情是,您只是一遍又一遍地设置按钮的click侦听器。pinkon5k2#
我建议使用游戏引擎。如果你想坚持使用java,libGDX是一个选择。但是如果语言(和IDE)不重要,一个更好的选择是Godot。我推荐Godot而不是一些更流行的游戏引擎的原因是因为它是开源的,100%免费,加上GDScript(godot的脚本语言)受到python的严重影响。
如果你想在java中制作自己的游戏引擎,看看这个:https://java-design-patterns.com/patterns/game-loop/#
记住while循环调用的是advance方法,所以每次循环都要为button设置view,然后再为它设置OnClickListener,并不是所有的东西都需要在while循环中。