- Home /
My character falls of the map when build, but works ok in the editor
I'm creating a platformer game, like mario bros, and I'm trying to create an exe file to it. However, when I try to play it my character falls of the map and ignore the collisions with the ground, but when I'm at the editor It works perfectly. How can I solve it?
could you post your code for the character and the objects it's trying to interact with.
also I had a similar problem one time. I was missing a rigid body on one of my objects. and for them to interact I believe your collider should NOT be set to "istrigger" if you're trying to have them not pass through each other.
I'm sorry about the terms in portuguese. that's because I'm brazilian and it was easier to understando.
Some meanings: Velocidade - velocity forcaPulo - JumpForce estaNoChao - IsInTheground $$anonymous$$ovimentacao - $$anonymous$$ovimentation
Here's the code:
public class Player : $$anonymous$$onoBehaviour { public float velocidade; public float forcaPulo; private bool estaNoChao; public Transform chaoVerificador; using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Animations;
//Animator
Animator animator;
private Rigidbody2D rb;
// Use this for initialization
void Start() {
animator = GetComponent<Animator>();
rb = GetComponent<Rigidbody2D>();
}
// Update is called once per frame
void Update()
{
$$anonymous$$ovimentacao();
}
void $$anonymous$$ovimentacao(){
if (Input.GetAxisRaw("Horizontal") > 0)
{
transform.Translate(Vector2.right * velocidade * Time.deltaTime);
transform.eulerAngles = new Vector2(0, 0);
}
if (Input.GetAxisRaw("Horizontal") < 0)
{
transform.Translate(Vector2.right * velocidade * Time.deltaTime);
transform.eulerAngles = new Vector2(0, 180);
}
if (Input.GetButtonDown("Jump") && estaNoChao) {
rb.AddForce(transform.up * forcaPulo);
animator.SetBool("NoChao", false);
}
animator.SetFloat("Velocidade", $$anonymous$$athf.Abs(Input.GetAxisRaw("Horizontal")));
animator.SetFloat("VelocidadeVertical", velocidade);
estaNoChao = Physics2D.Linecast(transform.position, chaoVerificador.position, 1 << Layer$$anonymous$$ask.NameToLayer("Piso"));
animator.SetBool("NoChao", estaNoChao);
}
Your answer
Follow this Question
Related Questions
Distribute terrain in zones 3 Answers
Unity is not letting me Build 1 Answer
Unity Build Problem, cant change product name 0 Answers
.exe error 0 Answers
Android - Error building Player: CommandInvokationFailure: Failed to re-package resources 3 Answers