私はUnity3Dでコーディングしています。私のジャンプが1.533287を超えると、私の最大健康状態の半分が100になるようにする必要があります。c#Unity3D Special Fallfallage
私の問題は、プレイヤーがダブルジャンプして、ジャンプの開始場所よりも高いプラットフォームに上陸することになっていることです。
}
void Start()
{
}
public int doubleJump = 0;
public float speed = 6.0F;
public float jumpSpeed = 8.0F;
public float gravity = 20.0F;
public int health = 100;
public float maxHeight;
public float height;
public int maxHealth = 100;
private Vector3 moveDirection = Vector3.zero;
// Update is called once per frame
void Update()
{
CharacterController controller = GetComponent<CharacterController>();
if (controller.isGrounded)
{
moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0,
Input.GetAxis("Vertical"));
moveDirection = transform.TransformDirection(moveDirection);
moveDirection *= speed;
if (Input.GetButtonDown("Jump"))
{
moveDirection.y = jumpSpeed;
}
doubleJump = 0;
}
if (!controller.isGrounded)
{
if (doubleJump == 0)
{
if (Input.GetButtonDown("Jump"))
{
moveDirection.y = jumpSpeed;
doubleJump = 1;
}
}
}
if (maxHeight < height) //This sets the maximum height
{
maxHeight = height;
}
height = transform.position.y;
moveDirection.y -= gravity * Time.deltaTime;
controller.Move(moveDirection * Time.deltaTime);
}
あなたの問題に質問はありませんでした。 – Hristo
実際の問題は何ですか?あなたが落下損傷を主張する同じ距離の上に安全なジャンプを上げれば、プレーヤーは負傷していますか?その場合は、距離がしきい値を超えている場合は、適切な軸の開始値が終了値よりも大きいことを確認するだけです。 – CDove