TEB-2023-GD1/Assets/Scripts/SphereControl2.cs

89 lines
2.2 KiB
C#
Raw Permalink Normal View History

2023-11-22 22:21:43 +01:00
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class SphereControl2 : MonoBehaviour
{
public Rigidbody rigidbody;
[Range(0.01f, 10.0f)]
public float speed = 1.0f;
[Range(0.01f, 1000.0f)]
public float jumpForce = 4.0f;
public bool isOnGround = true;
void OnCollisionEnter()
{
isOnGround = true;
}
// Update is called once per frame
void Update()
{
// if (Input.GetKey(KeyCode.RightArrow))
// {
// SetVelocityX(speed);
// }
// if (Input.GetKey(KeyCode.LeftArrow))
// {
// SetVelocityX(-speed);
// }
// if (Input.GetKey(KeyCode.UpArrow))
// {
// SetVelocityZ(speed);
// }
// if (Input.GetKey(KeyCode.DownArrow))
// {
// SetVelocityZ(-speed);
// }
// if (Input.GetKey(KeyCode.Space) && isOnGround)
// {
// SetVelocityY(jumpForce);
// isOnGround = false;
// }
if (Input.GetKey(KeyCode.RightArrow))
{
rigidbody.AddForce(speed, 0, 0);
}
if (Input.GetKey(KeyCode.LeftArrow))
{
rigidbody.AddForce(-speed, 0, 0);
}
if (Input.GetKey(KeyCode.UpArrow))
{
rigidbody.AddForce(0, 0, speed);
}
if (Input.GetKey(KeyCode.DownArrow))
{
rigidbody.AddForce(0, 0, -speed);
}
if (Input.GetKeyDown(KeyCode.Space) && isOnGround)
{
rigidbody.AddForce(0, jumpForce, 0, ForceMode.Impulse);
isOnGround = false;
}
}
void SetVelocityX(float v)
{
Vector3 currentVelocity = rigidbody.velocity;
currentVelocity.x = v;
rigidbody.velocity = currentVelocity;
}
void SetVelocityY(float v)
{
Vector3 currentVelocity = rigidbody.velocity;
currentVelocity.y = v;
rigidbody.velocity = currentVelocity;
}
void SetVelocityZ(float v)
{
Vector3 currentVelocity = rigidbody.velocity;
currentVelocity.z = v;
rigidbody.velocity = currentVelocity;
}
}