Skip to content

Commit ec4c34f

Browse files
committed
Added Double Circle (#6)
Signed-off-by: Harsh Kumar <harsh19043@iiitd.ac.in>
1 parent 5bc4de4 commit ec4c34f

7 files changed

+104
-54
lines changed

src/elements/ElementsController.java

+9-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
package elements;
22

3-
import javafx.animation.Animation;
4-
import javafx.animation.Interpolator;
5-
import javafx.animation.RotateTransition;
6-
import javafx.animation.TranslateTransition;
3+
import javafx.animation.*;
74
import javafx.fxml.FXML;
85
import javafx.fxml.Initializable;
96
import javafx.scene.Node;
@@ -20,7 +17,7 @@ public class ElementsController implements Initializable {
2017

2118
ArrayList<RotateTransition> rotatingElements;
2219
@FXML
23-
Pane ball;
20+
Pane ball, star;
2421

2522
private void addRotatingNode(Node node, int timeInMillis, boolean clockwise) {
2623
RotateTransition rt = new RotateTransition();
@@ -47,5 +44,12 @@ public void initialize(URL url, ResourceBundle resourceBundle) {
4744
tt.setAutoReverse(true);
4845
tt.setNode(ball);
4946
tt.play();
47+
48+
ScaleTransition st = new ScaleTransition(Duration.millis(1000), star);
49+
st.setByX(0.3);
50+
st.setByY(0.3);
51+
st.setCycleCount(Animation.INDEFINITE);
52+
st.setAutoReverse(true);
53+
st.play();
5054
}
5155
}

src/obstacles/ObstaclesController.java

+5-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public class ObstaclesController implements Initializable {
2222

2323
ArrayList<RotateTransition> rotatingElements;
2424
@FXML
25-
Pane circle, circleFlow, star;
25+
Pane circle, circleFlow, star, circle1, circle2, square;
2626

2727
private void addRotatingNode(Node node, int timeInMillis, boolean clockwise) {
2828
RotateTransition rt = new RotateTransition();
@@ -44,6 +44,10 @@ public void initialize(URL url, ResourceBundle resourceBundle) {
4444
rotatingElements = new ArrayList<>();
4545
addRotatingNode(circle);
4646
addRotatingNode(circleFlow);
47+
addRotatingNode(square);
48+
49+
addRotatingNode(circle1, defaultRotatingDuration, true);
50+
addRotatingNode(circle2, defaultRotatingDuration, false);
4751

4852
// Load star
4953
if(star != null) {

src/obstacles/TestObstacle.java

+10-3
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,21 @@
22

33
import javafx.application.Application;
44
import javafx.fxml.FXMLLoader;
5-
import javafx.scene.Parent;
5+
import javafx.geometry.Pos;
6+
import javafx.scene.Node;
67
import javafx.scene.Scene;
78
import javafx.scene.image.Image;
9+
import javafx.scene.layout.GridPane;
10+
import javafx.scene.paint.Paint;
811
import javafx.stage.Stage;
912

1013
public class TestObstacle extends Application {
1114
private Scene loadSampleObstacle() throws Exception {
12-
Parent root = FXMLLoader.load(getClass().getResource("/scenes/sample.fxml"));
13-
return new Scene(root, 500, 500);
15+
Node root = FXMLLoader.load(getClass().getResource("/obstacles/square.fxml"));
16+
GridPane pane = new GridPane();
17+
pane.setAlignment(Pos.CENTER);
18+
pane.add(root, 0, 0);
19+
return new Scene(pane, 500, 500);
1420
}
1521

1622
@Override
@@ -19,6 +25,7 @@ public void start(Stage primaryStage) throws Exception {
1925
primaryStage.setTitle("Color Switch");
2026

2127
Scene scene = loadSampleObstacle();
28+
scene.setFill(Paint.valueOf("#292929"));
2229

2330
primaryStage.setScene(scene);
2431
primaryStage.setHeight(1024);

src/obstacles/circle.fxml

+8-6
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,18 @@
44
<?import javafx.scene.layout.*?>
55
<?import javafx.scene.shape.*?>
66

7-
<Pane xmlns:fx="http://javafx.com/fxml/1" fx:id="circle" prefHeight="350" prefWidth="350" xmlns="http://javafx.com/javafx/11.0.1" fx:controller="obstacles.ObstaclesController">
7+
<Pane xmlns:fx="http://javafx.com/fxml/1" prefHeight="350" prefWidth="350" xmlns="http://javafx.com/javafx/11.0.1" fx:controller="obstacles.ObstaclesController">
88

99
<stylesheets>
1010
<URL value="@../style/style.css" />
1111
</stylesheets>
12-
<Arc focusTraversable="true" layoutX="175.0" layoutY="175.0" length="90.0" radiusX="175.0" radiusY="175.0" startAngle="0.0" styleClass="fill-yellow" type="ROUND" />
13-
<Arc focusTraversable="true" layoutX="175.0" layoutY="175.0" length="90.0" radiusX="175.0" radiusY="175.0" startAngle="90.0" styleClass="fill-blue" type="ROUND" />
14-
<Arc focusTraversable="true" layoutX="175.0" layoutY="175.0" length="90.0" radiusX="175.0" radiusY="175.0" startAngle="180.0" styleClass="fill-pink" type="ROUND" />
15-
<Arc focusTraversable="true" layoutX="175.0" layoutY="175.0" length="90.0" radiusX="175.0" radiusY="175.0" startAngle="270.0" styleClass="fill-purple" type="ROUND" />
16-
<Circle fill="WHITE" layoutX="175.0" layoutY="175.0" radius="147.0" stroke="BLACK" strokeType="INSIDE" styleClass="fill-soft-black" />
12+
<Pane fx:id="circle" >
13+
<Arc focusTraversable="true" layoutX="175.0" layoutY="175.0" length="90.0" radiusX="175.0" radiusY="175.0" startAngle="0.0" styleClass="fill-yellow" type="ROUND" />
14+
<Arc focusTraversable="true" layoutX="175.0" layoutY="175.0" length="90.0" radiusX="175.0" radiusY="175.0" startAngle="90.0" styleClass="fill-blue" type="ROUND" />
15+
<Arc focusTraversable="true" layoutX="175.0" layoutY="175.0" length="90.0" radiusX="175.0" radiusY="175.0" startAngle="180.0" styleClass="fill-pink" type="ROUND" />
16+
<Arc focusTraversable="true" layoutX="175.0" layoutY="175.0" length="90.0" radiusX="175.0" radiusY="175.0" startAngle="270.0" styleClass="fill-purple" type="ROUND" />
17+
<Circle fill="WHITE" layoutX="175.0" layoutY="175.0" radius="147.0" stroke="BLACK" strokeType="INSIDE" styleClass="fill-soft-black" />
18+
</Pane>
1719
<Pane layoutX="138.0" layoutY="138.0" prefHeight="75" prefWidth="75">
1820
<Pane fx:id="star" />
1921
</Pane>

src/obstacles/circleFlow.fxml

+34-34
Original file line numberDiff line numberDiff line change
@@ -4,44 +4,44 @@
44
<?import javafx.scene.layout.Pane?>
55
<?import javafx.scene.shape.Circle?>
66

7-
<Pane xmlns:fx="http://javafx.com/fxml/1" fx:id="circleFlow" prefHeight="350" prefWidth="350" xmlns="http://javafx.com/javafx/11.0.1" fx:controller="obstacles.ObstaclesController">
7+
<Pane xmlns:fx="http://javafx.com/fxml/1" prefHeight="350" prefWidth="350" xmlns="http://javafx.com/javafx/11.0.1" fx:controller="obstacles.ObstaclesController">
88

99
<stylesheets>
1010
<URL value="@../style/style.css" />
1111
</stylesheets>
12-
13-
<Circle layoutX="63.0" layoutY="59.0" radius="14.0" styleClass="fill-yellow" />
14-
<Circle layoutX="92.0" layoutY="37.0" radius="14.0" styleClass="fill-yellow" />
15-
<Circle layoutX="41.0" layoutY="86.0" radius="14.0" styleClass="fill-yellow" />
16-
<Circle layoutX="24.0" layoutY="117.0" radius="14.0" styleClass="fill-yellow" />
17-
<Circle layoutX="16.0" layoutY="151.0" radius="14.0" styleClass="fill-yellow" />
18-
<Circle layoutX="126.0" layoutY="22.0" radius="14.0" styleClass="fill-yellow" />
19-
<Circle layoutX="161.0" layoutY="15.0" radius="14.0" styleClass="fill-yellow" />
20-
21-
<Circle layoutX="116.0" layoutY="325.0" radius="14.0" styleClass="fill-blue" />
22-
<Circle layoutX="85.0" layoutY="309.0" radius="14.0" styleClass="fill-blue" />
23-
<Circle layoutX="58.0" layoutY="286.0" radius="14.0" styleClass="fill-blue" />
24-
<Circle layoutX="37.0" layoutY="258.0" radius="14.0" styleClass="fill-blue" />
25-
<Circle layoutX="22.0" layoutY="226.0" radius="14.0" styleClass="fill-blue" />
26-
<Circle layoutX="150.0" layoutY="334.0" radius="14.0" styleClass="fill-blue" />
27-
<Circle layoutX="15.0" layoutY="190.0" radius="14.0" styleClass="fill-blue" />
28-
29-
<Circle layoutX="285.0" layoutY="292.0" radius="14.0" styleClass="fill-pink" />
30-
<Circle layoutX="224.0" layoutY="328.0" radius="14.0" styleClass="fill-pink" />
31-
<Circle layoutX="309.0" layoutY="265.0" radius="14.0" styleClass="fill-pink" />
32-
<Circle layoutX="335.0" layoutY="198.0" radius="14.0" styleClass="fill-pink" />
33-
<Circle layoutX="256.0" layoutY="314.0" radius="14.0" styleClass="fill-pink" />
34-
<Circle layoutX="189.0" layoutY="336.0" radius="14.0" styleClass="fill-pink" />
35-
<Circle layoutX="326.0" layoutY="233.0" radius="14.0" styleClass="fill-pink" />
36-
37-
<Circle layoutX="328.0" layoutY="126.0" radius="14.0" styleClass="fill-purple" />
38-
<Circle layoutX="235.0" layoutY="26.0" radius="14.0" styleClass="fill-purple" />
39-
<Circle layoutX="198.0" layoutY="16.0" radius="14.0" styleClass="fill-purple" />
40-
<Circle layoutX="292.0" layoutY="65.0" radius="14.0" styleClass="fill-purple" />
41-
<Circle layoutX="335.0" layoutY="161.0" radius="14.0" styleClass="fill-purple" />
42-
<Circle layoutX="266.0" layoutY="42.0" radius="14.0" styleClass="fill-purple" />
43-
<Circle layoutX="314.0" layoutY="93.0" radius="14.0" styleClass="fill-purple" />
44-
12+
<Pane fx:id="circleFlow">
13+
<Circle layoutX="63.0" layoutY="59.0" radius="14.0" styleClass="fill-yellow" />
14+
<Circle layoutX="92.0" layoutY="37.0" radius="14.0" styleClass="fill-yellow" />
15+
<Circle layoutX="41.0" layoutY="86.0" radius="14.0" styleClass="fill-yellow" />
16+
<Circle layoutX="24.0" layoutY="117.0" radius="14.0" styleClass="fill-yellow" />
17+
<Circle layoutX="16.0" layoutY="151.0" radius="14.0" styleClass="fill-yellow" />
18+
<Circle layoutX="126.0" layoutY="22.0" radius="14.0" styleClass="fill-yellow" />
19+
<Circle layoutX="161.0" layoutY="15.0" radius="14.0" styleClass="fill-yellow" />
20+
21+
<Circle layoutX="116.0" layoutY="325.0" radius="14.0" styleClass="fill-blue" />
22+
<Circle layoutX="85.0" layoutY="309.0" radius="14.0" styleClass="fill-blue" />
23+
<Circle layoutX="58.0" layoutY="286.0" radius="14.0" styleClass="fill-blue" />
24+
<Circle layoutX="37.0" layoutY="258.0" radius="14.0" styleClass="fill-blue" />
25+
<Circle layoutX="22.0" layoutY="226.0" radius="14.0" styleClass="fill-blue" />
26+
<Circle layoutX="150.0" layoutY="334.0" radius="14.0" styleClass="fill-blue" />
27+
<Circle layoutX="15.0" layoutY="190.0" radius="14.0" styleClass="fill-blue" />
28+
29+
<Circle layoutX="285.0" layoutY="292.0" radius="14.0" styleClass="fill-pink" />
30+
<Circle layoutX="224.0" layoutY="328.0" radius="14.0" styleClass="fill-pink" />
31+
<Circle layoutX="309.0" layoutY="265.0" radius="14.0" styleClass="fill-pink" />
32+
<Circle layoutX="335.0" layoutY="198.0" radius="14.0" styleClass="fill-pink" />
33+
<Circle layoutX="256.0" layoutY="314.0" radius="14.0" styleClass="fill-pink" />
34+
<Circle layoutX="189.0" layoutY="336.0" radius="14.0" styleClass="fill-pink" />
35+
<Circle layoutX="326.0" layoutY="233.0" radius="14.0" styleClass="fill-pink" />
36+
37+
<Circle layoutX="328.0" layoutY="126.0" radius="14.0" styleClass="fill-purple" />
38+
<Circle layoutX="235.0" layoutY="26.0" radius="14.0" styleClass="fill-purple" />
39+
<Circle layoutX="198.0" layoutY="16.0" radius="14.0" styleClass="fill-purple" />
40+
<Circle layoutX="292.0" layoutY="65.0" radius="14.0" styleClass="fill-purple" />
41+
<Circle layoutX="335.0" layoutY="161.0" radius="14.0" styleClass="fill-purple" />
42+
<Circle layoutX="266.0" layoutY="42.0" radius="14.0" styleClass="fill-purple" />
43+
<Circle layoutX="314.0" layoutY="93.0" radius="14.0" styleClass="fill-purple" />
44+
</Pane>
4545
<Pane layoutX="138.0" layoutY="138.0" prefHeight="75" prefWidth="75">
4646
<Pane fx:id="star" />
4747
</Pane>

src/obstacles/doubleCircle.fxml

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
3+
<?import java.net.*?>
4+
<?import javafx.scene.layout.*?>
5+
<?import javafx.scene.shape.*?>
6+
7+
<Pane xmlns:fx="http://javafx.com/fxml/1" prefHeight="400" prefWidth="400" xmlns="http://javafx.com/javafx/11.0.1" fx:controller="obstacles.ObstaclesController">
8+
9+
<stylesheets>
10+
<URL value="@../style/style.css" />
11+
</stylesheets>
12+
<Pane fx:id="circle1" layoutX="26.0" layoutY="24.0" rotate="45.0" scaleX="1.142857143" scaleY="1.142857143">
13+
<Arc focusTraversable="true" layoutX="175.0" layoutY="175.0" length="90.0" radiusX="175.0" radiusY="175.0" startAngle="0.0" styleClass="fill-yellow" type="ROUND" />
14+
<Arc focusTraversable="true" layoutX="175.0" layoutY="175.0" length="90.0" radiusX="175.0" radiusY="175.0" startAngle="90.0" styleClass="fill-blue" type="ROUND" />
15+
<Arc focusTraversable="true" layoutX="175.0" layoutY="175.0" length="90.0" radiusX="175.0" radiusY="175.0" startAngle="180.0" styleClass="fill-pink" type="ROUND" />
16+
<Arc focusTraversable="true" layoutX="175.0" layoutY="175.0" length="90.0" radiusX="175.0" radiusY="175.0" startAngle="270.0" styleClass="fill-purple" type="ROUND" />
17+
<Circle fill="WHITE" layoutX="175.0" layoutY="175.0" radius="147.0" stroke="BLACK" strokeType="INSIDE" styleClass="fill-soft-black" />
18+
</Pane>
19+
20+
<Pane fx:id="circle2" layoutX="26.0" layoutY="24.0" rotate="45.0" scaleX="0.94" scaleY="0.94">
21+
<Arc focusTraversable="true" layoutX="175.0" layoutY="175.0" length="90.0" radiusX="175.0" radiusY="175.0" startAngle="0.0" styleClass="fill-yellow" type="ROUND" />
22+
<Arc focusTraversable="true" layoutX="175.0" layoutY="175.0" length="90.0" radiusX="175.0" radiusY="175.0" startAngle="90.0" styleClass="fill-blue" type="ROUND" />
23+
<Arc focusTraversable="true" layoutX="175.0" layoutY="175.0" length="90.0" radiusX="175.0" radiusY="175.0" startAngle="180.0" styleClass="fill-pink" type="ROUND" />
24+
<Arc focusTraversable="true" layoutX="175.0" layoutY="175.0" length="90.0" radiusX="175.0" radiusY="175.0" startAngle="270.0" styleClass="fill-purple" type="ROUND" />
25+
<Circle fill="WHITE" layoutX="175.0" layoutY="175.0" radius="147.0" stroke="BLACK" strokeType="INSIDE" styleClass="fill-soft-black" />
26+
</Pane>
27+
28+
<Pane layoutX="163.0" layoutY="166.0" prefHeight="75" prefWidth="75">
29+
<Pane fx:id="star" />
30+
</Pane>
31+
</Pane>

src/obstacles/square.fxml

+7-5
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<?import javafx.scene.layout.*?>
55
<?import javafx.scene.shape.*?>
66

7-
<Pane xmlns:fx="http://javafx.com/fxml/1" fx:id="circle" prefHeight="350" prefWidth="350" xmlns="http://javafx.com/javafx/11.0.1" fx:controller="obstacles.ObstaclesController">
7+
<Pane xmlns:fx="http://javafx.com/fxml/1" prefHeight="350" prefWidth="350" xmlns="http://javafx.com/javafx/11.0.1" fx:controller="obstacles.ObstaclesController">
88

99
<stylesheets>
1010
<URL value="@../style/style.css" />
@@ -13,8 +13,10 @@
1313
<Pane layoutX="138.0" layoutY="138.0" prefHeight="75" prefWidth="75">
1414
<Pane fx:id="star" />
1515
</Pane>
16-
<Rectangle arcHeight="5.0" arcWidth="5.0" height="350.0" layoutX="323.0" styleClass="fill-purple" width="28.0" />
17-
<Rectangle arcHeight="5.0" arcWidth="5.0" height="28.0" layoutX="1.0" layoutY="322.0" styleClass="fill-pink" width="350.0" />
18-
<Rectangle arcHeight="5.0" arcWidth="5.0" height="350.0" styleClass="fill-yellow" width="28.0" />
19-
<Rectangle arcHeight="5.0" arcWidth="5.0" height="28.0" layoutX="0.0" layoutY="0.0" styleClass="fill-blue" width="350.0" />
16+
<Pane fx:id="square">
17+
<Rectangle arcHeight="5.0" arcWidth="5.0" height="350.0" layoutX="323.0" styleClass="fill-purple" width="28.0" />
18+
<Rectangle arcHeight="5.0" arcWidth="5.0" height="28.0" layoutX="1.0" layoutY="322.0" styleClass="fill-pink" width="350.0" />
19+
<Rectangle arcHeight="5.0" arcWidth="5.0" height="350.0" styleClass="fill-yellow" width="28.0" />
20+
<Rectangle arcHeight="5.0" arcWidth="5.0" height="28.0" layoutX="0.0" layoutY="0.0" styleClass="fill-blue" width="350.0" />
21+
</Pane>
2022
</Pane>

0 commit comments

Comments
 (0)