Контроллер Unity 2DC#

Место общения программистов C#
Ответить
Anonymous
 Контроллер Unity 2D

Сообщение Anonymous »

У меня возникла проблема с обнаружением земли (кажется, что прыжки циклически повторяются в воздухе) - длина прыжка случайна, а звук, кажется, циклически повторяется. Поэтому я думаю, что обнаружение земли на самом деле не работает. Мой код:
using UnityEngine;
using UnityEngine.EventSystems;

public class PlayerCtrl : MonoBehaviour
{
bool facingRight = true;
public AudioSource jumpSoundEffect;
private bool grounded;

void FixedUpdate ()
{
grounded = Physics2D.IsTouchingLayers(GetComponent(), LayerMask.GetMask("Ground"));
}

void Update()
{
Movement();
}

void Movement()
{
if (Input.GetKey(KeyCode.RightArrow))
{
transform.Translate(Vector2.right * 4f * Time.deltaTime);
if (facingRight == false)
Flip();

facingRight = true;
}
if (Input.GetKey(KeyCode.LeftArrow))
{
transform.Translate(Vector2.left * 4f * Time.deltaTime);
if (facingRight == true)
Flip();

facingRight = false;
}
if (Input.GetKey(KeyCode.Space) && grounded)
{
transform.Translate(Vector3.up * 50f * Time.deltaTime);
jumpSoundEffect.Play ();
}
}

void Flip()
{
Vector3 theScale = transform.localScale;
theScale.x *= -1;
transform.localScale = theScale;
}
}


Подробнее здесь: https://stackoverflow.com/questions/326 ... controller
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»