Java做这些小游戏, 可以使用下面几种Java自带的图形界面框架
Awt 适合内存较小, 配置较低的嵌入式系统等,组件较少, 性能好,资源消耗低
Swing 适合PC等, 组件较丰富, 内存占用较大, 但是跨平台性优越
JavaFX 这个是比较强大的框架了,组件比Swing更丰富,比如添加了 日期选择组件, WebView组件, 还支持3D和 动画 并且多多媒体支持良好 但是相关资料比Swing等少
既然学过Java Web 那么对网页编程还是有了解吧, HTML+CSS+JS 也可以开发出小游戏,浏览器可以显示, 放入JavaFX的WebView组件也可以显示出来
推荐使用JavaFX 或者 Web ,因为这两者都很好做到了分离 JavaFX也可以分离出FXML文件,CSS文件,Java文件 当然也可以采用最稳妥的Swing来开发,毕竟Swing的图书教程很多
推荐书籍
<Java 2D游戏编程入门> <Java游戏编程原理与实践教程>
<JavaFX 游戏程式设计 第三版>
其实游戏算法都一样, 在Swing上好了弄透彻了, 也可以轻松移植到JavaFX或者网页上
java设计小游戏点击方向键无法刷新
您的手机系统与游戏可能有兼容性问题,也有可能JAVA游戏本身设计有问题,也有可能像楼上的几位说的内存小,可以试试格机后,裸机玩玩看。如果手机内存小的话,尽量不要装太多软件。
import javaawtGraphics;
import javaappletApplet;
import javaawtevent;
import javaawteventKeyEvent;
public class TestKey extends Applet implements KeyListener {
int x=30, y=30;
public void init() {
addKeyListener(this);
}
public void keyTyped(KeyEvent e) {
}
public void paint(Graphics g) {
gdrawString("java程序设计", x, y);
}
public void keyReleased(KeyEvent e) {
}
public void keyPressed(KeyEvent e) {
if (egetKeyCode() == eVK_DOWN)
y += 10;
else if (egetKeyCode() == eVK_UP)
y -= 10;
else if (egetKeyCode() == eVK_RIGHT)
x += 10;
else if (egetKeyCode() == eVK_LEFT)
x -= 10;
repaint();
}
只要你会一点c语言的基础就行,在了解一点java的面向对象的思想,其实挺简单的,我学了一个星期就能看懂小游戏的源代码了,而且能做出来。其实就是一个applet小程序。
基本程序:安装一个jdk14就行,设好环境变量,就行了。这个软件特别小,就几兆。
我建议你买一本书来看就更快了,书名为“java2使用教程(第二版)”,清华大学出版社,这本书很基础,有很多的好例子,一看就懂了。我就是学者本书的。
import javaxswing;
import javaawt;
import javaawtevent;
public class Game1 extends javaxswingJFrame {
public Game1() {
initComponents();
}
private void initComponents() {
jButton1 = new javaxswingJButton();
jButton2 = new javaxswingJButton();
jButton3 = new javaxswingJButton();
jButton4 = new javaxswingJButton();
jButton5 = new javaxswingJButton();
jButton6 = new javaxswingJButton();
jButton7 = new javaxswingJButton();
setDefaultCloseOperation(javaxswingWindowConstantsEXIT_ON_CLOSE);
jButton1setIcon(new javaxswingImageIcon("C:\\Users\\Administrator\\Desktop\\游戏jpg"));
jButton1setText("jButton1");
jButton1addActionListener(new javaawteventActionListener() {
public void actionPerformed(javaawteventActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
jButton2setIcon(new javaxswingImageIcon("C:\\Users\\Administrator\\Desktop\\游戏jpg"));
jButton2setText("jButton2");
jButton2addActionListener(new javaawteventActionListener() {
public void actionPerformed(javaawteventActionEvent evt) {
jButton2ActionPerformed(evt);
}
});
jButton3setIcon(new javaxswingImageIcon("C:\\Users\\Administrator\\Desktop\\游戏jpg"));
jButton3setText("jButton3");
jButton3addActionListener(new javaawteventActionListener() {
public void actionPerformed(javaawteventActionEvent evt) {
jButton3ActionPerformed(evt);
}
});
jButton4setIcon(new javaxswingImageIcon("C:\\Users\\Administrator\\Desktop\\游戏2jpg"));
jButton4setText("jButton4");
jButton4addActionListener(new javaawteventActionListener() {
public void actionPerformed(javaawteventActionEvent evt) {
jButton4ActionPerformed(evt);
}
});
jButton5setIcon(new javaxswingImageIcon("C:\\Users\\Administrator\\Desktop\\游戏1jpg")); // NOI18N
jButton5setText("jButton5");
jButton5addActionListener(new javaawteventActionListener() {
public void actionPerformed(javaawteventActionEvent evt) {
jButton5ActionPerformed(evt);
}
});
jButton6setIcon(new javaxswingImageIcon("C:\\Users\\Administrator\\Desktop\\游戏1jpg")); // NOI18N
jButton6setText("jButton6");
jButton6addActionListener(new javaawteventActionListener() {
public void actionPerformed(javaawteventActionEvent evt) {
jButton6ActionPerformed(evt);
}
});
jButton7setIcon(new javaxswingImageIcon("C:\\Users\\Administrator\\Desktop\\游戏1jpg")); // NOI18N
jButton7setText(" ");
jButton7addActionListener(new javaawteventActionListener() {
public void actionPerformed(javaawteventActionEvent evt) {
jButton7ActionPerformed(evt);
}
});
javaxswingGroupLayout layout = new javaxswingGroupLayout(getContentPane());
getContentPane()setLayout(layout);
layoutsetHorizontalGroup(
layoutcreateParallelGroup(javaxswingGroupLayoutAlignmentLEADING)
addGroup(layoutcreateSequentialGroup()
addGap(132, 132, 132)
addGroup(layoutcreateParallelGroup(javaxswingGroupLayoutAlignmentTRAILING, false)
addComponent(jButton1, javaxswingGroupLayoutAlignmentLEADING, 0, 0, ShortMAX_VALUE)
addComponent(jButton2, javaxswingGroupLayoutAlignmentLEADING, 0, 0, ShortMAX_VALUE)
addComponent(jButton3, javaxswingGroupLayoutAlignmentLEADING, 0, 0, ShortMAX_VALUE)
addComponent(jButton4, javaxswingGroupLayoutAlignmentLEADING, 0, 0, ShortMAX_VALUE)
addComponent(jButton5, javaxswingGroupLayoutAlignmentLEADING, 0, 0, ShortMAX_VALUE)
addComponent(jButton6, 0, 0, ShortMAX_VALUE)
addComponent(jButton7, javaxswingGroupLayoutPREFERRED_SIZE, 69, ShortMAX_VALUE))
addContainerGap(199, ShortMAX_VALUE))
);
layoutsetVerticalGroup(
layoutcreateParallelGroup(javaxswingGroupLayoutAlignmentLEADING)
addGroup(layoutcreateSequentialGroup()
addGap(101, 101, 101)
addComponent(jButton7)
addGap(29, 29, 29)
addComponent(jButton6)
addGap(30, 30, 30)
addComponent(jButton5)
addPreferredGap(javaxswingLayoutStyleComponentPlacementRELATED, javaxswingGroupLayoutDEFAULT_SIZE, ShortMAX_VALUE)
addComponent(jButton4)
addGap(18, 18, 18)
addComponent(jButton3)
addGap(18, 18, 18)
addComponent(jButton2)
addGap(18, 18, 18)
addComponent(jButton1))
);
pack();
}// </editor-fold>
private void jButton1ActionPerformed(javaawteventActionEvent evt) {
if(a==0)
{
if(a!=b)
{
if(b==2)
{
jButton2setIcon(f1);
jButton1setIcon(f3);
a=2;
b=0;
}
else
{
if(c==2)
{
jButton3setIcon(f1);
jButton1setIcon(f3);
c=0;
a=2;
}
}
}
}
}
private void jButton2ActionPerformed(javaawteventActionEvent evt) {
if(b==0)
{
if(b!=c)
{
if(c==2)
{
jButton3setIcon(f1);
jButton2setIcon(f3);
b=2;
c=0;
}
else
{
if(d==2)
{
jButton4setIcon(f1);
jButton2setIcon(f3);
d=0;
b=2;
}
}
}
}
if(b==1)
{
if(a==2)
{
jButton1setIcon(f2);
jButton2setIcon(f3);
b=2;
a=1;
}
}
}
private void jButton3ActionPerformed(javaawteventActionEvent evt) {
if(c==0)
{
if(c!=d)
{
if(d==2)
{
jButton4setIcon(f1);
jButton3setIcon(f3);
c=2;
d=0;
}
else
{
if(e==2)
{
jButton5setIcon(f1);
jButton3setIcon(f3);
e=0;
c=2;
}
}
}
}
if(c==1)
{
if(b==0&&a==2)
{
jButton1setIcon(f2);
jButton3setIcon(f3);
c=2;
a=1;
}
if(b==2)
{
jButton2setIcon(f2);
jButton3setIcon(f3);
c=2;
b=1;
}
}
}
private void jButton4ActionPerformed(javaawteventActionEvent evt) {
if(d==0)
{
if(d!=e)
{
if(e==2)
{
jButton5setIcon(f1);
jButton4setIcon(f3);
d=2;
e=0;
}
else
{
if(f==2)
{
jButton6setIcon(f1);
jButton4setIcon(f3);
f=0;
d=2;
}
}
}
}
if(d==1)
{
if(c==0&&b==2)
{
jButton2setIcon(f2);
jButton4setIcon(f3);
d=2;
b=1;
}
if(c==2)
{
jButton3setIcon(f2);
jButton4setIcon(f3);
d=2;
c=1;
}
}
}
private void jButton5ActionPerformed(javaawteventActionEvent evt) {
if(e==0)
{
if(e!=f)
{
if(f==2)
{
jButton6setIcon(f1);
jButton5setIcon(f3);
e=2;
f=0;
}
else
{
if(g==2)
{
jButton7setIcon(f1);
jButton5setIcon(f3);
g=0;
e=2;
}
}
}
}
if(e==1)
{
if(d==0&&c==2)
{
jButton3setIcon(f2);
jButton5setIcon(f3);
e=2;
c=1;
}
if(d==2)
{
jButton4setIcon(f2);
jButton5setIcon(f3);
e=2;
d=1;
}
}}
private void jButton6ActionPerformed(javaawteventActionEvent evt) {
if(f==0&&g==2)
{
jButton7setIcon(f1);
jButton6setIcon(f3);
f=2;
g=0;
}
if(f==1&&e==2)
{
jButton5setIcon(f2);
jButton6setIcon(f3);
f=2;
e=1;
}
if(f==1&&e==0&&d==2)
{
jButton4setIcon(f2);
jButton6setIcon(f3);
d=1;
f=2;
}
}
private void jButton7ActionPerformed(javaawteventActionEvent evt) {
if(g==1&&f==2)
{
jButton6setIcon(f2);
jButton7setIcon(f3);
g=2;
f=1;
}
if(g==1&&f==0&&e==2)
{
jButton5setIcon(f2);
jButton7setIcon(f3);
g=2;
e=1;
}
}
public static void main(String args[]) {
javaawtEventQueueinvokeLater(new Runnable() {
public void run() {
new Game1()setVisible(true);
}
});
}
// Variables declaration - do not modify
private javaxswingJButton jButton1;
private javaxswingJButton jButton2;
private javaxswingJButton jButton3;
private javaxswingJButton jButton4;
private javaxswingJButton jButton5;
private javaxswingJButton jButton6;
private javaxswingJButton jButton7;
// End of variables declaration
int a=0;int b=0;int c=0;int d=2;int e=1;int f=1;int g=1;
String s="C:\\Users\\Administrator\\Desktop\\游戏jpg";
String s1="C:\\Users\\Administrator\\Desktop\\游戏1jpg";
String s2="C:\\Users\\Administrator\\Desktop\\游戏2jpg";
ImageIcon f1=new ImageIcon("C:\\Users\\Administrator\\Desktop\\游戏jpg");
ImageIcon f2=new ImageIcon("C:\\Users\\Administrator\\Desktop\\游戏1jpg");
ImageIcon f3=new ImageIcon("C:\\Users\\Administrator\\Desktop\\游戏2jpg");
}//我对“点击按钮要隔一个按钮移,必须两个相邻按钮箭头相对”的理解是两个箭头相对的按钮后要有空位才可以移动,不知道是不是对的,而且我不会把按钮做成圆形,你可以用你的界面,如果我理解不对,里面的方法思想应该可以解决移动问题,还有,向下的按钮图案我存为
游戏jpg;向上的我存为游戏1jpg;空位按钮我存为游戏2jpg
以上就是关于java做一些小游戏需要学什么全部的内容,包括:java做一些小游戏需要学什么、java设计小游戏点击方向键无法刷新、怎样用JAVA做小游戏等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)