Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Como criar um Script para controlar meu objeto no ar livrimente?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Fly : MonoBehaviour
{
    Rigidbody2D physics;
    [SerializeField]
    private float force;
    private Diretor diretor;
    private Vector3 startPosition;

    private void Awake()
    {
        this.startPosition = this.transform.position;
        this.physics = this.GetComponent<Rigidbody2D>();
            }

    private void Start()
    {
        this.diretor = GameObject.FindObjectOfType<Diretor>();
    }

    public void Restart()
    {
        this.transform.position = this.startPosition;
        this.physics.simulated = true;
    }

    // Essa opção me permite ao clica no botão space do teclado dar um impulso no objeto, porém gostaria de poder controlalo livrimente no ar!

    private void Update()
    {
        if (Input.GetButtonDown("Jump"))
        {
            this.Boost();
        }

    }
    private void Boost()
    {
        this.physics.velocity = Vector2.zero;
        this.physics.AddForce(Vector2.up * this.force, ForceMode2D.Impulse);

    }

    private void OnCollisionEnter2D(Collision2D collision)
    {
        this.physics.simulated = false;
        this.diretor.EndGame();
    }



}
2 respostas

Oi Jonatas, tudo bom? Vc pode me contar um pouco mais de detalhes o que vc pretende fazer? Controlar um objeto livremente no ar significa o que?

Ele não deve usar gravidade?

Ele é controlado pelo jogador ou por uma IA?

Que tipo de controle vc quer fazer?

é possivel ele colidir com outros objeto? Se ele colidir o que acontece?

solução!

O que eu tinha em mente era mudar o script, para poder controlar o "Avião" livrimente com as sentas do teclado!

Ou seja, ele não teria gravidade, e eu poderia controla-lo livrimente pelo ar ao invez de ficar precionando um botão para ele subir.

Mas ja consegui resolver esse problema!! =D :)