- package gameEngine.entites.gameComponents;
-
- import gameEngine.Time;
- import gameEngine.entites.GameObject;
-
- public class Physics extends GameComponent{
-
- private GameObject parent;
- public boolean useGravity = true;
- private float gravity = 9.8f; // 地球の重力加速度を使用
- private float velocityY = 0; // Y軸方向の速度 Resetしなければ速度が引き継がれる
-
- public Physics(GameObject parent){
- this.parent = parent;
- }
-
- @Override
- public GameComponent copy() {
- return this;
- }
-
- public void update() {
- if (useGravity) {
- float deltaTime = Time.deltaTime;
-
- velocityY += gravity * deltaTime;
-
- float y = parent.transform.position.y;
- parent.transform.setPosition(parent.transform.position.x, y + velocityY * deltaTime, parent.transform.position.z);
- }
- }
-
- public void reset() {
- velocityY = 0;
- }
- }