Четверг, 20 Июня 2019, 15:59

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: beril  
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Помогите наладить прыжок.
Помогите наладить прыжок.
mkarovДата: Суббота, 26 Января 2019, 17:21 | Сообщение # 1
был не раз
Сейчас нет на сайте
Делаю 2D платформер, и никак не получается сделать чтобы персонаж прыгал только когда касается земли, а не летал. Если кто знает подскажите как решить. Заранее спасибо!

Код персонажа:
Код
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour {

    public int jump = 200;
    public int speed = 20;
    private Rigidbody2D rb;
    bool isGrounded;

    void Start () {
  rb = GetComponent <Rigidbody2D> ();
    }
    
    void Update () {

    //Жизни и смерти
  
    //Перемещение
  float moveX = Input.GetAxis("Horizontal");
        rb.velocity = new Vector2(moveX * speed, rb.velocity.y);

        if (Input.GetKeyDown(KeyCode.Space) && isGrounded == true){
         rb.AddForce(Vector2.up * jump, ForceMode2D.Impulse);
  }
    }

    void OnCollisionEnter2D (Collision2D collision){
        if(collision.gameObject.tag == "Groung")
         isGrounded = true;
        
    }

    void OnCollisionExit2D (Collision2D collision){
        if(collision.gameObject.tag == "Ground")
         isGrounded = false;
        
    }
}
DivESДата: Суббота, 26 Января 2019, 17:38 | Сообщение # 2
Blender 2.49b user
Сейчас нет на сайте
Тут, как минимум, опечатка в "Ground":
Код
void OnCollisionEnter2D (Collision2D collision){
        if(collision.gameObject.tag == "Groung")
         isGrounded = true;

Да и вообще. Почему два метода при столкновении с поверхностью земли одновременно присваивают и true, и false флагу isGrounded?
Хотя, наверное я не понимаю Unity ^_^

Добавлено (26 Января 2019, 17:43)
---------------------------------------------
Хотя, видимо ...Enter2d срабатывает при столкновении, а ...Exit2d - при "отсутствии" столкновения. В таком случае, попробуй и правда опечатку убрать :)

mkarovДата: Суббота, 26 Января 2019, 17:50 | Сообщение # 3
был не раз
Сейчас нет на сайте
Спасибо большое! Всё заработало.
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Помогите наладить прыжок.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2019 Рейтинг