Eric Gobbo
Veterano
- Mensagens
- 343
- Reações
- 273
- Pontos
- 148
Já faz mais de 1 ano que estou planejando desenvolver um jogo chamado "Balloon Odyssey", onde você controla um balão e tem que entregar caixas nos lugares certos e enfrentar inimigos soltando pedras sobre eles. Por falta de experiência e motivação, estou desenvolvendo só agora o jogo, depois de fazer alguns rascunhos ano passado. Eu estou desenvolvendo ele com c# no Unity e como eu só programei dois jogos ridículos de simples, até agora estou tendo problemas em colocar três coisas no jogo: fazer com que o balão só voe para esquerda ou para direita quando ele estiver no ar, fazer com que o balão não dê "pulinhos" toda vez que eu apertar o botão de voar, colocar limites de câmera e fazer o balão colidir com os objetos, ao invés de entrar dentro deles e aparecer do nada em cima deles. Eu tentei várias vezes fazer o terceiro mas não deu certo. Em baixo tá o código do personagem do jogo:
C#:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Jogador : MonoBehaviour
{
public float velocidade = 5.0f;
public float impulso = 5.0f;
public float gravidade = 0.5f;
public float limiteX = 4.0f;
private bool impulsionar;
private Rigidbody2D rb;
private SpriteRenderer sr;
void Start()
{
rb = GetComponent<Rigidbody2D>();
sr = GetComponent<SpriteRenderer>();
rb.gravityScale = gravidade;
}
void Update()
{
if (Input.GetButton("Jump"))
{
impulsionar = true;
}
}
private void FixedUpdate()
{
float px = Input.GetAxis("Horizontal") * velocidade * Time.deltaTime;
transform.Translate(px, 0.0f, 0.0f);
if (impulsionar)
{
rb.velocity = new Vector2(0.0f, impulso);
impulsionar = false;
}
}
}