java做一些小游戏需要学什么

java做一些小游戏需要学什么,第1张

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做小游戏等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10051088.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存