请教下JAVA大神们,最近学习做一个项目游戏,做到发射子弹这里,有一个问题。比如做发射子弹功能,做

请教下JAVA大神们,最近学习做一个项目游戏,做到发射子弹这里,有一个问题。比如做发射子弹功能,做了一个方法public void bull(Graphics g){ ...... },如何在当按下键后调用这个方法呢?难点就出在这个参数是一个画笔,求教,谢谢。

我感觉应该是在发射子弹的方法里调用paint方法,而不是先定义发射子弹的方法再调用画笔追问

那请问如何在发射子弹的方法里调用paint方法呢?

追答

刚才理解错了,我试着写了一下左右上下移动的move方法,你看一下吧
public void draw(Graphics g) {
if (live) {//飞机存活
g.drawImage(img, (int) x, (int) y, null);
move();
}
}
public void move() {

if (left) {
x -= 10;
}
if (right) {
x += 10;
}
if (up) {
y -= 10;
}
if (down) {
y += 10;
}
}

追问

你写的很好,但是如果这样写的话,如何调用呢?子弹的话一开始并不会出现,只是在按下特定的键后才出现子弹,请问该如何实现呢?

追答

public class Test {
boolean biubiu;

public void bull(Graphics g){
if(fashe){
g.drawImage("子弹图片", x, y, null);
}
}
public boolean fashe(KeyEvent e) {

switch (e.getKeyCode()) {
case 32:
biubiu = true;
break;
}
return biubiu;
}
}

就类似与这样,将biubiu视为发射子弹的布尔变量,如果按下空格(keyCode=32),则biubiu为true;不按就是false

追问

这样能够将子弹画到窗体中吗?

追答

要不你把你的项目发给我 我试着写写 然后再给你
[email protected]

追问

好的,等下回家发给你,麻烦你了。

温馨提示:答案为网友推荐,仅供参考