java如何实现跳动的小球-创新互联
这篇文章主要讲解了java如何实现跳动的小球,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

实现效果为一个小球接触左右侧时,会反向的运动。
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.paint.Color;
import javafx.scene.shape.Ellipse;
import javafx.stage.Stage;
import java.util.Timer;
import java.util.TimerTask;
public class BallMove extends Application {
//x记录小球的横坐标,默认值为初始位置
static int x = 200;
//e为小球
static Ellipse e = new Ellipse();
//temp记录小球的移动情况:当temp为left时,左移;temp为right时,右移
static String temp = "left";
//创建计时器
static Timer t = new Timer();
//创建记录器,当多次点击过“确定”按钮后,只有第一次点击有效
static boolean record = true;
public static void main(String[] args) {
launch(args);
}
public void start(Stage s) {
//创建Group面板
Group root = new Group();
//创建场景
Scene scene = new Scene(root, 400, 250, Color.WHITE);
//创建按钮
Button start = new Button("开始");
Button stop = new Button("停止");
//创造一个小球
e.setCenterX(x);
e.setCenterY(90);
e.setRadiusX(50);
e.setRadiusY(50);
e.setFill(Color.RED);
//放置开始按钮
start.setLayoutX(100);
start.setLayoutY(180);
//放置停止按钮
stop.setLayoutX(250);
stop.setLayoutY(180);
//为开始按钮添加事件
start.setOnAction(new EventHandler() {
public void handle(ActionEvent event) {
System.out.println("开始按钮被触发");
if(record==true) {
t = new Timer();
t.schedule(new TimerTask() {
public void run() {
e.setFill( Color.rgb((int)(Math.random()*255),(int)(Math.random()*255),(int)(Math.random()*255)));
//小球的半径为50,场景的宽度为400,那么小球横坐标达到50或者350时,转向移动
if (x < 50) { temp = "right"; }
if (x > 350) { temp = "left"; }
if (temp.equals("left")) { e.setCenterX(x -= 5);
} else { e.setCenterX(x += 5); }
}
}, 0, 25);
}
//“开始"按钮被点击且事件被触发,record=false;
record=false;
}
});
//为停止按钮添加事件
stop.setOnAction(new EventHandler() {
public void handle(ActionEvent event) {
System.out.println("停止按钮被触发");
record = true;
t.cancel();
}
});
root.getChildren().add(e);
root.getChildren().add(start);
root.getChildren().add(stop);
s.setTitle("移动小球");
s.setScene(scene);
s.show();
}
} 另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前题目:java如何实现跳动的小球-创新互联
文章分享:http://www.jxjierui.cn/article/piehp.html


咨询
建站咨询
