在Java中通过单击鼠标移动球

阿什里

我正在尝试编写经典的Breakout游戏,并将其作为编程任务的一部分。我必须从用户的鼠标单击开始移动球。所以我正在使用鼠标监听器来实现这一目标。下面的代码只是我想要做的一个更小,更简单的版本。但是,它不会逐步移动球。在执行while循环后,它仅将球显示在其最终位置。

import acm.graphics.*;
import acm.program.*;
import acm.util.*;

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class BallMoveTest extends GraphicsProgram {

    public void run() {
        ball = new GOval(20,20);
        ball.setFilled(true);
        add(ball, 100, 100);

        addMouseListeners();
    }

    public void mouseClicked(MouseEvent e) {
        while (counter < 100) {
            moveBall();
            counter++;
            pause(20);
        }
    }

    public void moveBall(){
        ball.move(2, 2);
    }

    // Private instance variables
    private GOval ball;
    private int counter = 1;
}

但是,此替代代码效果很好,但不允许用户单击以开始球的运动。

import acm.program.*;
import acm.graphics.*;

public class TestGOval extends GraphicsProgram {

    public void run() {
        int counter = 1;
        GOval ball = new GOval(20,20);
        ball.setFilled(true);
        add(ball,100,100);

        while (counter < 100) {
            ball.move(2, 2);
            counter++;
            pause(20);
        }

    }
}

有人可以指出我在这里做错了什么,更重要的是,为什么第一个代码块无法按预期工作?

PS:这是我的第一个问题,我是编程的新手。如果可以的话,请对我放松。:)

华吉

可能只是您没有显示所有代码,但应该有一个实现MouseListener的类。仅用鼠标单击的方法不足以让Java识别出这是您的意图。这里有一个更详细的教程:http : //docs.oracle.com/javase/tutorial/uiswing/events/mouselistener.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过单击鼠标在PuTTY中移动光标?

来自分类Dev

Java BounceBall球移动

来自分类Dev

Java BounceBall球移动

来自分类Dev

Java:平行移动球

来自分类Dev

如何通过鼠标移动来执行单击按钮的功能?

来自分类Dev

在Opengl中通过鼠标移动形状

来自分类Dev

在Opengl中通过鼠标移动形状

来自分类Dev

鼠标移动并单击vlc嵌入

来自分类Dev

如何移动鼠标光标并单击?

来自分类Dev

如何通过单击Java中的JPanel来移动未修饰的JFrame?

来自分类Dev

通过在Visual Studio C#中单击按钮,获取从TextBox中的输入更改Directley的球的速度

来自分类Dev

在Matlab中通过鼠标单击选择图像的输入像素

来自分类Dev

如何通过单击鼠标捕获HTML代码中的标记元素

来自分类Dev

用Java编写台球游戏-如何定义球并移动它们(通过Graphics g)?

来自分类Dev

如何通过单击pygame中的键来更改我的球方向?

来自分类Dev

我如何向该程序中添加鼠标单击,每次在C#中单击该球,分数就会增加一?

来自分类Dev

通过鼠标进入事件将球放在面板中间

来自分类Dev

如何计算单击期间鼠标移动的距离

来自分类Dev

只需单击鼠标即可移动DIV?

来自分类Dev

xdotool脚本执行鼠标移动和单击

来自分类Dev

xdotool,单击并按住并移动鼠标

来自分类Dev

单击鼠标移动屏幕项目的顺序

来自分类Dev

在Java中将JButton组件平稳地移动到鼠标单击位置

来自分类Dev

如何使用javascript模拟鼠标单击以及鼠标移动

来自分类Dev

鼠标光标变成“粗加号”,无法单击,但鼠标可以移动

来自分类Dev

单击鼠标但不移动鼠标即可唤醒PC

来自分类Dev

在DirectX游戏中模拟Java中的鼠标单击

来自分类Dev

如果在Firefox中单击时鼠标被移动,HTML标签不会触发相应的输入

来自分类Dev

Ubuntu 12.04.02中奇怪的,随机的鼠标移动和单击-Nvidia相关吗?

Related 相关文章

  1. 1

    通过单击鼠标在PuTTY中移动光标?

  2. 2

    Java BounceBall球移动

  3. 3

    Java BounceBall球移动

  4. 4

    Java:平行移动球

  5. 5

    如何通过鼠标移动来执行单击按钮的功能?

  6. 6

    在Opengl中通过鼠标移动形状

  7. 7

    在Opengl中通过鼠标移动形状

  8. 8

    鼠标移动并单击vlc嵌入

  9. 9

    如何移动鼠标光标并单击?

  10. 10

    如何通过单击Java中的JPanel来移动未修饰的JFrame?

  11. 11

    通过在Visual Studio C#中单击按钮,获取从TextBox中的输入更改Directley的球的速度

  12. 12

    在Matlab中通过鼠标单击选择图像的输入像素

  13. 13

    如何通过单击鼠标捕获HTML代码中的标记元素

  14. 14

    用Java编写台球游戏-如何定义球并移动它们(通过Graphics g)?

  15. 15

    如何通过单击pygame中的键来更改我的球方向?

  16. 16

    我如何向该程序中添加鼠标单击,每次在C#中单击该球,分数就会增加一?

  17. 17

    通过鼠标进入事件将球放在面板中间

  18. 18

    如何计算单击期间鼠标移动的距离

  19. 19

    只需单击鼠标即可移动DIV?

  20. 20

    xdotool脚本执行鼠标移动和单击

  21. 21

    xdotool,单击并按住并移动鼠标

  22. 22

    单击鼠标移动屏幕项目的顺序

  23. 23

    在Java中将JButton组件平稳地移动到鼠标单击位置

  24. 24

    如何使用javascript模拟鼠标单击以及鼠标移动

  25. 25

    鼠标光标变成“粗加号”,无法单击,但鼠标可以移动

  26. 26

    单击鼠标但不移动鼠标即可唤醒PC

  27. 27

    在DirectX游戏中模拟Java中的鼠标单击

  28. 28

    如果在Firefox中单击时鼠标被移动,HTML标签不会触发相应的输入

  29. 29

    Ubuntu 12.04.02中奇怪的,随机的鼠标移动和单击-Nvidia相关吗?

热门标签

归档