import java.awt.*;
import java.applet.*;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;public class Ball4 extends Applet implements Runnable, AudioClip {
private Image bgImage;
private Graphics bg;
private int x_speed = 1;
private int applety; private int y = 20;
int x = 100; int r = 10; public void init() { // AudioClip co = newAudioClip(“gun.wav”) start(); } public void start() { Thread th = new Thread(this);
th.start(); } public void stop() {
} public void destroy() {
} @Override
public void run() {
// TODO Auto-generated method stub
while (true) {
AudioClip co = getAudioClip(getCodeBase(), "gun.wav");
co.loop();
repaint(); // 设置动画移动速度
applety = this.getSize().width;
if (y > (applety - r / 2)) {
// 改变方向
x_speed = -1;
}
// 反弹上升球
else if (y < r / 2) { // 改变方向
x_speed = +1; }
y += x_speed; try {
Thread.sleep(10);
} catch (InterruptedException e) {
System.out.println(e);
}
} } public void update(Graphics g) {
if (bgImage == null) {
bgImage = createImage(this.getSize().width, this.getSize().height);
bg = bgImage.getGraphics();
}
;
// 后台清屏,即设置圆球组件和后台一样的颜色,大小 // bg.setColor(getBackground());
bg.setColor(Color.yellow);
bg.fillRect(0, 0, this.getSize().width, this.getSize().height);
// 绘制相应的元素组件 bg.setColor(getForeground());
paint(bg);
// 在屏幕上重画已经绘制好的圆
g.drawImage(bgImage, 0, 0, this); }; public void paint(Graphics g) { // 设置球的颜色
g.setColor(Color.blue); // 从x,y位置处画一个实心的圆
g.fillOval(x, y, 2 * r, 2 * r); } @Override
public void loop() {
// TODO Auto-generated method stub } @Override
public void play() {
// TODO Auto-generated method stub }}
import java.applet.*;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;public class Ball4 extends Applet implements Runnable, AudioClip {
private Image bgImage;
private Graphics bg;
private int x_speed = 1;
private int applety; private int y = 20;
int x = 100; int r = 10; public void init() { // AudioClip co = newAudioClip(“gun.wav”) start(); } public void start() { Thread th = new Thread(this);
th.start(); } public void stop() {
} public void destroy() {
} @Override
public void run() {
// TODO Auto-generated method stub
while (true) {
AudioClip co = getAudioClip(getCodeBase(), "gun.wav");
co.loop();
repaint(); // 设置动画移动速度
applety = this.getSize().width;
if (y > (applety - r / 2)) {
// 改变方向
x_speed = -1;
}
// 反弹上升球
else if (y < r / 2) { // 改变方向
x_speed = +1; }
y += x_speed; try {
Thread.sleep(10);
} catch (InterruptedException e) {
System.out.println(e);
}
} } public void update(Graphics g) {
if (bgImage == null) {
bgImage = createImage(this.getSize().width, this.getSize().height);
bg = bgImage.getGraphics();
}
;
// 后台清屏,即设置圆球组件和后台一样的颜色,大小 // bg.setColor(getBackground());
bg.setColor(Color.yellow);
bg.fillRect(0, 0, this.getSize().width, this.getSize().height);
// 绘制相应的元素组件 bg.setColor(getForeground());
paint(bg);
// 在屏幕上重画已经绘制好的圆
g.drawImage(bgImage, 0, 0, this); }; public void paint(Graphics g) { // 设置球的颜色
g.setColor(Color.blue); // 从x,y位置处画一个实心的圆
g.fillOval(x, y, 2 * r, 2 * r); } @Override
public void loop() {
// TODO Auto-generated method stub } @Override
public void play() {
// TODO Auto-generated method stub }}
// 后台清屏,即设置圆球组件和后台一样的颜色,大小// bg.setColor(getBackground());bg.drawImage(这里填一个image对象)//加这句填背景
bg.setColor(Color.yellow);
现在没有环境我没试 可能不对
// bg.setColor(getBackground());
bg.drawImage(这里填一个image对象)//加这句填背景
写成了
bg.setColor(Color.yellow);
//bg.drawImage()
blackImage=getImage(getCodeBase(),"aaa.gif");
bg.drawImage(blackImage, 0, 0, this);
bg.fillRect(0, 0, this.getSize().width, this.getSize().height);
// 绘制相应的元素组件
bg.setColor(getForeground());
paint(bg);
但小球不动了,背景也没出来啊,背景变成一片白色了???
import java.awt.*;
import java.applet.*;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;public class Ball8 extends Applet implements Runnable, AudioClip {
//private Image bgImage;
private Graphics bg;
private int x_speed = 1;
private int applety;
private Image blackground;
private int y = 20;
int x = 100; int r = 10; public void init() { // AudioClip co = newAudioClip(“gun.wav”)
blackground=getImage(getCodeBase(),"tiankong.gif");
start(); } public void start() { Thread th = new Thread(this);
th.start(); } public void stop() {
} public void destroy() {
} @Override
public void run() {
// TODO Auto-generated method stub
while (true) { AudioClip co = getAudioClip(getCodeBase(), "gun.wav");
co.loop(); repaint(); // 设置动画移动速度
applety = this.getSize().width;
if (y > (applety - r / 2)) {
// 改变方向
x_speed = -1;
}
// 反弹上升球
else if (y < r / 2) { // 改变方向
x_speed = +1; }
y += x_speed; try {
Thread.sleep(10);
} catch (InterruptedException e) {
System.out.println(e);
}
} } public void update(Graphics g) {
// if (bgImage == null) {
// bgImage = createImage(this.getSize().width, this.getSize().height);
//
// bg = bgImage.getGraphics();
// };
//
// if (blackground == null) {
// blackground = createImage(this.getSize().width, this.getSize().height);
// bg = blackground.getGraphics();
//
// };
//blackground=getImage(getCodeBase(),"tiankong.gif");
// 后台清屏,即设置圆球组件和后台一样的颜色,大小 // bg.setColor(getBackground());
//bg.setColor(Color.yellow);
//bg.fillRect(0, 0, this.getSize().width, this.getSize().height);
// 绘制相应的元素组件 //bg.setColor(getForeground());
paint(g);
//paint(bg);
// 在屏幕上重画已经绘制好的圆
// g.drawImage(bgImage, 0, 0, this);
//g.drawImage( blackground, 0, 0, this); }; public void paint(Graphics g) {
g.drawImage( blackground, 0, 0, this);
// 设置球的颜色
g.setColor(Color.blue); // 从x,y位置处画一个实心的圆
g.fillOval(x, y, 2 * r, 2 * r); } @Override
public void loop() {
// TODO Auto-generated method stub } @Override
public void play() {
// TODO Auto-generated method stub }}
但声音还是没能解决!