网站建设资讯

NEWS

网站建设资讯

Java代码使球弹起来 java实现小球自由下落回弹

java中 为什么小球只闪一下就没了 我想让它随机移动,碰到墙壁会反弹 怎么写

你要进行坐标进行判断,当与边界发生碰撞时,x、y改变递增或递减的,在考虑的时候要算上撞球的半径

超过十余年行业经验,技术领先,服务至上的经营模式,全靠网络和口碑获得客户,为自己降低成本,也就是为客户降低成本。到目前业务范围包括了:成都网站设计、做网站,成都网站推广,成都网站优化,整体网络托管,微信小程序,微信开发,成都app软件开发公司,同时也可以让客户的网站和网络营销和我们一样获得订单和生意!

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

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

JAVA如何实现小球的弹性碰撞

我没用java写过代码,所以我只说算法,代码你自己翻译下

按C的语法来:

void xiaoqiu

{

int UB=10,DB=200,LB=10,RB=200; //定义弹球范围的边界

int sh=1; //定义横向步长

int sz=1; //定义纵向步长(两步长之比决定了反弹的角度)

int x=LB,y=UB; //定义坐标

int i=10000; //循环次数(自己选择跳出手段)

while(i0)

{

i--;

x=x+sh;

if(x=RB||x=LB) sh=-sh; //碰壁后步长变反

y=y+sz;

if(y=DB||y=UB) sz=-sz; //碰壁后步长变反

(显示代码)

}

return;

}

总得来说,就是相当于横向和纵向分别处理移动、反弹的问题,碰壁后步长变为相反数

不懂请追问

java小球碰撞窗体边缘来回反弹的代码

import java.awt.Color;

import java.awt.Graphics;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.util.Random;

import javax.swing.JFrame;

import javax.swing.JPanel;

public class RunningBallDemo extends JFrame {

public static void main(String args[]) {

new RunningBallDemo();

}

public RunningBallDemo() {

Ball ballPanel = new Ball(5, 5);

getContentPane().add(ballPanel);

setBackground(Color.BLACK);

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0);

}

});

setSize(350, 350);

setVisible(true);

Thread thread1 = new Thread(ballPanel);

thread1.start();

}

}

class Ball extends JPanel implements Runnable {

int rgb = 0;

Color color;

int x, y;

int dx = 5, dy = 5;

Ball(int x, int y) {

this.x = x;

this.y = y;

}

@Override

protected void paintComponent(Graphics g) {

super.paintComponent(g);

setBackground(Color.BLACK);

g.setColor(color);

g.fillOval(x, y, 50, 50);

}

public void run() {

while (true) {

if (x = 0) {

dx = 5;

updateBallColor();

} else if ((x + 50) = getWidth()) {

dx = -5;

updateBallColor();

}

if (y = 0) {

dy = 5;

updateBallColor();

} else if ((y + 50) = getHeight()) {

dy = -5;

updateBallColor();

}

x = x + dx;

y = y + dy;

repaint();

try {

Thread.sleep(25);

} catch (InterruptedException e) {

;

}

}

}

public void updateBallColor() {

rgb = new Random().nextInt();

color = new Color(rgb);

}

}


本文名称:Java代码使球弹起来 java实现小球自由下落回弹
本文URL:http://njwzjz.com/article/dojeogo.html