好久没写BLOG了.主要是因为不知道写什么,还有就是自己变懒了?这个月来就在学JAVA基础,自己本
来对基础有一定的了解.通过学习巩固了基础知识,对一些是晃是忽的知识掌握牢固了.基础也没什么好说
的,朗沃惯例学一阶段知识开发个项目,学了JAVA基础知识要做一个JAVA游戏.有幸成为项目组长.也锻炼
了自己的一种能力.给每个组员分工,项目需求,分析等等....
主要说说做JAVA游戏中用到的几个关键技术:
1.双缓冲屏外作图
Image offScreen = createImage(FRAME_WIDTH, FRAME_HEIGHT);
Graphics drawOffScreen = offScreen.getGraphics();
drawOffScreen.clearRect(0, 0, FRAME_WIDTH, FRAME_HEIGHT); // 清空屏外作图区域
g.drawImage(offScreen, 0, 0, null); // 把屏外做的图画到窗体上
2.加载图片
String imagePath = Images.class.getResource("/img/").toString().substring(6);
Image img = this.getToolkit().getImage(imagePath + "1.gif");
3.媒体跟踪器
MediaTracker mt = new MediaTracker(this);
mt.add(img,0);
mt.waitForAll() mt.waitForId(0);
4.加载播放声音
JApplet ap = new JApplet();
URL FireURL = Music.class.getResource("/sound/fire.wav");
AudioClip auFire = ap.newAudioClip(FireURL);
auFire.play(); .stop()....
5.所有角色的父类
/*
* 所有角色的父类
* 定义共有的属性和方法
*/
package com.lovo.sprite;
import java.awt.Graphics;
public abstract class SuperSprite
{
/*
* 角色的坐标,移动步长,高宽
*/
public int X,Y, VX, VY, width, height;
public boolean visible, active; // 判断是否显示 是否移动
Image img;
abstract public void paintSprite(Graphics g);
abstract public void updateState();
public int getX()
{
return X;
}
public int getY()
{
return Y;
}
public void setLocation(int X, int Y)
{
this.X = X;
this.Y = Y;
}
public int getVX()
{
return VX;
}
public int getVY()
{
return VY;
}
public void setStep(int vx, int vy)
{
this.VX = vx;
this.VY = vy;
}
public int getWidth()
{
return width;
}
public int getHeight()
{
return height;
}
public void setSize(int width, int height)
{
this.width = width;
this.height = height;
}
public boolean isVisible()
{
return visible;
}
public void setVisible(boolean v)
{
visible = v;
}
public boolean isMove()
{
return active;
}
public void setMove(boolean m)
{
active = m;
}
}
一周时间,在大家的辛苦努力下.一个飞机游戏也基本完成了.回过头来看看还是感觉多轻松的.给我们还有一周时间可以添加更多功能.美化界面代码.