Eclipse 写 java小程序。 6个小球碰撞反d。我知道怎么碰壁反d。我想要在碰撞过程中小球互相碰撞也反d。

Eclipse 写 java小程序。 6个小球碰撞反d。我知道怎么碰壁反d。我想要在碰撞过程中小球互相碰撞也反d。,第1张

小球类定义一个方法:碰撞;然后当周围环境的坐标到球心的距离等于小球的半径时,小球的运动路径算法就应该是轴对称的。先判断之前的运动方向,然后根据运动方向确定新的运动方向。这个其实就是线性方程做小球的运动轨迹而已。

 

 

可以这样写:

import javax.swing.*

import java.awt.*

class C extends JFrame {

    C() {

        final Point point = new Point()

        add(new JPanel() {

            public void paintComponent(Graphics g) {

                g.fillOval(point.x, point.y, 20, 20)

                point.x = (point.x + 2) % getWidth()

                point.y = (point.x * point.x) / 1000   // 造就弧线的简单二次方程。

            }

        })

        setSize(777, 666)

        setVisible(true)

        setDefaultCloseOperation(EXIT_ON_CLOSE)

        while (true) {

            repaint(point.x, point.y, 50, 50)

            try { Thread.sleep(10)} catch (Exception ex) {}

        }

    }

    public static void main(String[] args) {

        new C()

    }

}

 

 

 


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

原文地址: http://outofmemory.cn/yw/12034574.html

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

发表评论

登录后才能评论

评论列表(0条)

保存