java实现抛物线轨迹计算_JavaFX中抛物线轨迹的时间线

小编典典

在a中KeyValue,第一个参数应为a

WritableValue,例如circle.centerXProperty(),代表初始坐标,例如x。第二个参数应该是类型兼容的值,在这种情况下x,就是射弹应向其移动的坐标。随着时间线播放,WritableValue将会相应更新。添加一秒钟KeyValue以驱动y坐标。

在此处看到的第一个示例中,三个实例KeyValue将图形从其初始位置移动到其目的地位置,该位置是size沿每个坐标轴的单位。在此相关示例中,图形将形状点移动p1到p2。

在下面的例子中,Circle移动平行于x间轴100和500。同时,它们Circle平行于抛物线 y = –4( x –½)2

+1 定义的y轴之间300并100跟随其移动的轴,其顶点(1 / 2,1)且 x

在0和1处相交。根据API的要求,在单位正方形上实现抛物线路径模型的实现。您可以通过在关键帧中更改高度与宽度的比率来更改仰角,例如curve() __curve()``curve()

KeyValue xKV = new KeyValue(c.centerXProperty(), 200);

KeyValue yKV = new KeyValue(c.centerYProperty(), 0, new Interpolator() {…});

DOb6V.png

import javafx.animation.Interpolator;

import javafx.animation.KeyFrame;

import javafx.animation.KeyValue;

import javafx.animation.Timeline;

import javafx.application.Application;

import javafx.scene.Group;

import javafx.scene.Scene;

import javafx.scene.paint.Color;

import javafx.scene.shape.Circle;

import javafx.scene.shape.Line;

import javafx.stage.Stage;

import javafx.util.Duration;

/**

* @see https://stackoverflow.com/a/38031826/230513

*/

public class Test extends Application {

@Override

public void start(Stage primaryStage) {

primaryStage.setTitle("Test");

Group group = new Group();

Scene scene = new Scene(group, 600, 350);

scene.setFill(Color.BLACK);

primaryStage.setScene(scene);

primaryStage.show();

Circle c = new Circle(100, 300, 16, Color.AQUA);

Line l = new Line(100, 300, 500, 300);

l.setStroke(Color.AQUA);

group.getChildren().addAll(c, l);

final Timeline timeline = new Timeline();

timeline.setCycleCount(Timeline.INDEFINITE);

timeline.setAutoReverse(false);

KeyValue xKV = new KeyValue(c.centerXProperty(), 500);

KeyValue yKV = new KeyValue(c.centerYProperty(), 100, new Interpolator() {

@Override

protected double curve(double t) {

return -4 * (t - .5) * (t - .5) + 1;

}

});

KeyFrame xKF = new KeyFrame(Duration.millis(2000), xKV);

KeyFrame yKF = new KeyFrame(Duration.millis(2000), yKV);

timeline.getKeyFrames().addAll(xKF, yKF);

timeline.play();

}

public static void main(String[] args) {

launch(args);

}

}

2020-10-16

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您讲解JavaFX的快速入门。 首先,JavaFX是一个用于创建富客户端应用程序的框架。它提供了一套丰富的图形用户界面(GUI)控件、动画、图形效果等组件,使得开发者可以轻松地创建漂亮且交互性强的应用。 以下是JavaFX快速入门的步骤: 1. 安装JavaFX SDK:您需要从Oracle官网下载JavaFX SDK并安装,以便在您的开发环境使用JavaFX。 2. 设置开发环境:您需要配置您的开发环境,以便能够使用JavaFX库和工具。这包括将JavaFX库添加到Java类路径,以及设置JavaFX Scene Builder。 3. 创建JavaFX项目:您可以使用JavaFX插件来创建一个JavaFX项目。您可以在Eclipse或IntelliJ IDEA等IDE安装JavaFX插件。 4. 创建JavaFX场景:您需要在JavaFX创建一个场景。场景是JavaFX应用程序的顶级容器,您可以将其他控件添加到场景。 5. 添加控件:您可以将JavaFX控件添加到场景,例如按钮、标签、文本框等。JavaFX提供了许多内置的控件,您也可以创建自定义控件。 6. 设置控件属性:您可以为每个控件设置属性,例如大小、位置、背景颜色等。JavaFX提供了许多属性,您也可以创建自定义属性。 7. 添加事件处理程序:您可以为每个控件添加事件处理程序,例如单击、键盘按下等。JavaFX提供了许多内置的事件处理程序,您也可以创建自定义事件处理程序。 8. 运行JavaFX应用程序:您可以在IDE运行JavaFX应用程序,并在JavaFX场景查看添加的控件和设置的属性。 希望这些步骤能够帮助您快速入门JavaFX。如果您有任何其他问题,请随时问我。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值