Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа 4

.docx
Скачиваний:
10
Добавлен:
10.06.2021
Размер:
46.73 Кб
Скачать

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ КЫРГЫЗСКОЙ РЕСПУБЛИКИ

КЫРГЫЗСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ

УНИВЕРСИТЕТ ИМ. И. РАЗЗАКОВА

Отчет

Бишкек 2020

Лабораторная работа №4

а) задать перемещение объекта из центра экрана в каждый из углов,

оставляя “хвост” из нескольких изображений. Острый угол объекта

должен каждый раз указывать на угол экрана;

Код:

package Four; import javafx.animation.*; import javafx.application.Application; import javafx.scene.Group; import javafx.scene.Scene; import javafx.scene.paint.Color; import javafx.scene.paint.CycleMethod; import javafx.scene.paint.LinearGradient; import javafx.scene.paint.Stop; import javafx.scene.shape.*; import javafx.stage.Stage; import javafx.util.Duration; public class Main extends Application { public static void main(String[] args) { launch(args); } public void start(Stage primaryStage) { Stop[] stops = new Stop[] { new Stop(0, Color.BLACK), new Stop(1, Color.ORANGE)}; LinearGradient linearGradient = new LinearGradient(0, 0, 1, 1, true, CycleMethod.NO_CYCLE, stops); Rectangle rectPath = new Rectangle(0,0,40,40); rectPath.setFill(linearGradient); TranslateTransition translateTransitionUpLeft = new TranslateTransition(Duration.millis(2000), rectPath); translateTransitionUpLeft.setFromY(190); translateTransitionUpLeft.setFromX(190); translateTransitionUpLeft.setToX(0); translateTransitionUpLeft.setToY(0); translateTransitionUpLeft.setAutoReverse(true); translateTransitionUpLeft.setCycleCount(2); TranslateTransition translateTransitionDownLeft = new TranslateTransition(Duration.millis(2000), rectPath); translateTransitionDownLeft.setFromY(190); translateTransitionDownLeft.setFromX(190); translateTransitionDownLeft.setToX(0); translateTransitionDownLeft.setToY(360); translateTransitionDownLeft.setAutoReverse(true); translateTransitionDownLeft.setCycleCount(2); TranslateTransition translateTransitionUpRight = new TranslateTransition(Duration.millis(2000), rectPath); translateTransitionUpRight.setFromY(190); translateTransitionUpRight.setFromX(190); translateTransitionUpRight.setToX(360); translateTransitionUpRight.setToY(0); translateTransitionUpRight.setAutoReverse(true); translateTransitionUpRight.setCycleCount(2); TranslateTransition translateTransitionDownRight = new TranslateTransition(Duration.millis(2000), rectPath); translateTransitionDownRight.setFromY(190); translateTransitionDownRight.setFromX(190); translateTransitionDownRight.setToX(360); translateTransitionDownRight.setToY(360); translateTransitionDownRight.setAutoReverse(true); translateTransitionDownRight.setCycleCount(2); RotateTransition rotateTransitionUpLeft = new RotateTransition(Duration.millis(2000), rectPath); rotateTransitionUpLeft.setByAngle(0f); rotateTransitionUpLeft.setCycleCount(0); rotateTransitionUpLeft.setAutoReverse(true); RotateTransition rotateTransitionDownLeft = new RotateTransition(Duration.millis(2000), rectPath); rotateTransitionDownLeft.setByAngle(270f); rotateTransitionDownLeft.setCycleCount(0); rotateTransitionDownLeft.setAutoReverse(true); RotateTransition rotateTransitionUpRight = new RotateTransition(Duration.millis(2000), rectPath); rotateTransitionUpRight.setByAngle(180f); rotateTransitionUpRight.setCycleCount(0); rotateTransitionUpRight.setAutoReverse(true); RotateTransition rotateTransitionDownRight = new RotateTransition(Duration.millis(2000), rectPath); rotateTransitionDownRight.setByAngle(90f); rotateTransitionDownRight.setCycleCount(0); rotateTransitionDownRight.setAutoReverse(true); SequentialTransition sequentialTransition = new SequentialTransition(); sequentialTransition.getChildren().addAll( rotateTransitionUpLeft, translateTransitionUpLeft, rotateTransitionDownLeft, translateTransitionDownLeft, rotateTransitionUpRight, translateTransitionUpRight, rotateTransitionDownRight, translateTransitionDownRight ); sequentialTransition.setCycleCount(Timeline.INDEFINITE); sequentialTransition.setAutoReverse(true); sequentialTransition.play(); Group root = new Group(); root.getChildren().add(rectPath); primaryStage.setScene(new Scene(root,400,400)); primaryStage.show(); } }

Фото результат:

Движение фигуры и направление угла черным градиентом

Соседние файлы в предмете Компьютерная Графика