java, javafx, android and spring programing collection
Visitor Count: 4195
school
java standard edition
addObject
arraylist
bufferedreader
colors
comparator
createTable
datatypes
date
enum
generateHTML
hashmap
inheritance
insertSQL
interface
JSONfromWEB
jsoup
list
loop
pointMatrix
queue
readCSV
regex
sqlToObject
stack
static
super
treemap
updateTable
writeCSV
java FX
3DCharacterMoving
3DMaterialList
DroneMotor
FlowPane
Hello
KeyCode
KeyMovement
ObservableList
Pane
RotateImage
rotateSphere
android
APIview
listview
ToastTimer
touchMovement
WriteReadFile
spring framework
HelloWorld
RESTful
TomcatServlet
java objects
Apple
starseite
/
lessons
/
se
fx
android
spring
/
star wars api
rotateSphere
2022-06-17 07:47:56
tags:
fx
oop.3D
view source
3DMaterialList
2022-06-14 17:34:03
tags:
fx
oop
3D
view source
3DCharacterMoving
2022-06-14 17:33:59
tags:
fx
oop
3D
view source
3DCharacterMoving
screenshot
description
source code
import javafx.application.Application; import javafx.scene.*; import javafx.scene.image.Image; import javafx.scene.paint.*; import javafx.scene.shape.Box; import javafx.scene.shape.CullFace; import javafx.scene.shape.Cylinder; import javafx.scene.shape.Sphere; import javafx.scene.transform.Rotate; import javafx.stage.Stage; import java.io.IOException; public class HelloApplication extends Application { double positionX, positionY; @Override public void start(Stage stage) throws IOException { Group character = Character3D.setGroup(); Scene scene = new Scene(character, 850, 800, true); PerspectiveCamera camera = new PerspectiveCamera(false); camera.setTranslateX(100); camera.setTranslateY(-100); camera.setTranslateZ(250); scene.setCamera(camera); scene.setOnMouseClicked((event) -> { positionX = event.getSceneX(); positionY = event.getSceneY(); }); scene.setOnMouseDragged(event -> { character.setRotationAxis(Rotate.Y_AXIS); double changeInX = event.getSceneX() - positionX; if (changeInX > 0) {character.setRotate(character.getRotate() - 1); } if (changeInX < 0) {character.setRotate(character.getRotate() + 1); } positionX = event.getSceneX(); positionY = event.getSceneY(); }); scene.setOnKeyPressed(event -> { double positionCharacter = character.getLayoutX(); switch (event.getCode()) { case LEFT: character.setLayoutX(positionCharacter-10); Character3D.moveLegs(); break; case RIGHT: character.setLayoutX(positionCharacter+10); Character3D.moveLegs(); break; } }); stage.setScene(scene); stage.show(); } public static void main(String[] args) { launch(); } } class Character3D { public static String wood ="https://cdn.pixabay.com/photo/2016/11/29/01/51/wood-1866654_960_720.jpg"; public static Box rightleg = new Box(30,70,30); public static Box leftleg = new Box(30,70,30); public static int runVariable = 0; public static Group setGroup() { Group model = new Group(); model.getChildren().add(set3DModel(setMaterial(wood))); model.getChildren().add(set3DModel2(setMaterial(wood))); model.getChildren().add(set3DModel3(setMaterial(wood))); model.getChildren().add(set3DModel4(setMaterial(wood))); model.getChildren().add(set3DModel5(setMaterial(wood))); model.getChildren().add(set3DModel6(setMaterial(wood))); model.getChildren().add(set3DModel7(setMaterial(wood))); return model; } public static Sphere set3DModel(PhongMaterial material) { Sphere head = new Sphere(50); head.setCullFace(CullFace.NONE); head.setTranslateX(250); head.setTranslateY(100); head.setTranslateZ(400); head.setMaterial(material); return head; } public static Cylinder set3DModel2(PhongMaterial material) { Cylinder hals = new Cylinder(25,70,50); hals.setCullFace(CullFace.NONE); hals.setTranslateX(250); hals.setTranslateY(170); hals.setTranslateZ(400); hals.setMaterial(material); return hals; } public static Box set3DModel3(PhongMaterial material) { Box body = new Box(100,100,50); body.setCullFace(CullFace.NONE); body.setTranslateX(250); body.setTranslateY(210); body.setTranslateZ(400); body.setMaterial(material); return body; } public static Box set3DModel4(PhongMaterial material) { Box leftarm = new Box(50,25,25); leftarm.setCullFace(CullFace.NONE); leftarm.setTranslateX(180); leftarm.setTranslateY(190); leftarm.setTranslateZ(400); leftarm.setMaterial(material); return leftarm; } public static Box set3DModel5(PhongMaterial material) { Box rightarm = new Box(50,25,25); rightarm.setCullFace(CullFace.NONE); rightarm.setTranslateX(320); rightarm.setTranslateY(190); rightarm.setTranslateZ(400); rightarm.setMaterial(material); return rightarm; } public static Box set3DModel6(PhongMaterial material) { rightleg.setCullFace(CullFace.NONE); rightleg.setTranslateX(220); rightleg.setTranslateY(290); rightleg.setTranslateZ(400); rightleg.setMaterial(material); return rightleg; } public static void moveLegs() { runVariable++; if(runVariable % 2 == 0) { rightleg.setRotationAxis(Rotate.X_AXIS); rightleg.setRotate(15); rightleg.setTranslateZ(400); leftleg.setRotationAxis(Rotate.X_AXIS); leftleg.setRotate(-15); leftleg.setTranslateZ(400); } if(runVariable % 2 != 0) { leftleg.setRotationAxis(Rotate.X_AXIS); leftleg.setRotate(15); leftleg.setTranslateZ(400); rightleg.setRotationAxis(Rotate.X_AXIS); rightleg.setRotate(-15); rightleg.setTranslateZ(400); } } public static Box set3DModel7(PhongMaterial material) { leftleg.setCullFace(CullFace.NONE); leftleg.setTranslateX(280); leftleg.setTranslateY(290); leftleg.setTranslateZ(400); leftleg.setMaterial(material); return leftleg; } public static PhongMaterial setMaterial(String url) { PhongMaterial material = new PhongMaterial(); material.setDiffuseMap( new Image(url,200, 200, true, true)); return material; } }