Caixa sendo arrastada e entrando dentro de outra
4 participantes
Página 1 de 1
Caixa sendo arrastada e entrando dentro de outra
Ola eu fiz um joguinho estilo sokoban(jogo da caixinha) esta td funcionando mas so q quando eu estou arrastando a caixa ela acaba entrando dentro da parede e nao como arrumar isso se alguem puder me ajuda estou deixando uma print e o script
- Código:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour {
public float VelAndar; //speed andar
public bool Podeempurrar;
Transform GuiaRaio; //objeto vazio,objeto filho do player vai guiar o raio
RaycastHit GetRaio;
Color blue = Color.blue; //cor do ray ,debug.drawray
public float dist; //a distancia do Raio
public float VelRot; //velocidade rotacao do Player
// Use this for initialization
void Start () {
GuiaRaio = transform.GetChild(0);
}
// Update is called once per frame
void Update () {
Debug.DrawRay(GuiaRaio.transform.position, GuiaRaio.forward * dist, blue);
Physics.Raycast(GuiaRaio.transform.position, GuiaRaio.forward * dist, out GetRaio, dist);
MoveKeys();
}
void MoveKeys()
{
if (GetRaio.collider) {
if(GetRaio.collider.tag == "caixa"){
Podeempurrar = true;
}
}else{
Podeempurrar=false;
}
if (Input.GetKey(KeyCode.W))
{
transform.Translate(Vector3.forward * VelAndar * Time.deltaTime);
if (Podeempurrar) {
if (GetRaio.collider.tag == "caixa") {
GetRaio.transform.Translate (transform.forward * VelAndar * Time.deltaTime);
}else{
Podeempurrar = false;
}
}
}
//tecla A
if (Input.GetKey(KeyCode.A)) {
transform.Rotate(-Vector3.up * VelRot * Time.deltaTime);
}
//Tecla D
if (Input.GetKey(KeyCode.D))
{
transform.Rotate(Vector3.up * VelRot * Time.deltaTime);
}
}
}
luizmauro123- Avançado
- PONTOS : 3077
REPUTAÇÃO : 6
Idade : 27
Áreas de atuação : Quase um programador C# e começando a aprender Unity3D
Respeito as regras :
Re: Caixa sendo arrastada e entrando dentro de outra
Você colocou colisor na caixa?
NKKF- ProgramadorMaster
- PONTOS : 4817
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Caixa sendo arrastada e entrando dentro de outra
Mesh Collider nas paredes e Boxe Collider nas caixas.
Re: Caixa sendo arrastada e entrando dentro de outra
Ah, certifique-se se você também colocou Rigidbody nas caixas.
NKKF- ProgramadorMaster
- PONTOS : 4817
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Caixa sendo arrastada e entrando dentro de outra
acho que o problema esta no transforms.translate
pesquise sobre isso e ve se da pra trocar pelo add.force
tive que fazer isso no meu game 2D
pesquise sobre isso e ve se da pra trocar pelo add.force
tive que fazer isso no meu game 2D
adenilson romao- MembroAvançado
- PONTOS : 2928
REPUTAÇÃO : 15
Respeito as regras :
Re: Caixa sendo arrastada e entrando dentro de outra
Também dá p fazer isso usando o Rb2d.velocity.. Aliás, mesmo que ele use o Translate, ele teria de voltar ao ponto mais próximo do Collider.
NKKF- ProgramadorMaster
- PONTOS : 4817
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Caixa sendo arrastada e entrando dentro de outra
na verdade o Souris esta certo , troquei as bolas o correto é usar Rb2d.velocity.
o add force apenas da um impulso numa direçao.
o add force apenas da um impulso numa direçao.
adenilson romao- MembroAvançado
- PONTOS : 2928
REPUTAÇÃO : 15
Respeito as regras :
Tópicos semelhantes
» Como fazer objeto se mover dentro de um collider 2d ou dentro de um sprite?
» Sprite entrando no chão!!!
» CAMERA ENTRANDO NA PAREDE
» Câmera entrando na parede
» caixa de som
» Sprite entrando no chão!!!
» CAMERA ENTRANDO NA PAREDE
» Câmera entrando na parede
» caixa de som
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos