erro magia jogo dois 2d
3 participantes
Página 1 de 1
erro magia jogo dois 2d
Ola pessoa peço uma ajuda de voces que estou com erro no script
using UnityEngine;
using System.Collections;
public abstract class Basemagic : MonoBehaviour {
//publics
public float speed;
public float timeToLive;
public float timeToRefresh;
public float damage;
//privates
private float currentTimeToRefresh;
// Use this for initialization
protected void Start () {
}
// Update is called once per frame
protected void Update () {
currentTimeToLive += Time.deltaTime;
if (currentTimeToLive > timeToLive)
Destroy(gameObject);
transform.Translate(Vector3.right * speed);
}
}
using UnityEngine;
using System.Collections;
public abstract class Basemagic : MonoBehaviour {
//publics
public float speed;
public float timeToLive;
public float timeToRefresh;
public float damage;
//privates
private float currentTimeToRefresh;
// Use this for initialization
protected void Start () {
}
// Update is called once per frame
protected void Update () {
currentTimeToLive += Time.deltaTime;
if (currentTimeToLive > timeToLive)
Destroy(gameObject);
transform.Translate(Vector3.right * speed);
}
}
jefersonguidio- Iniciante
- PONTOS : 3288
REPUTAÇÃO : 0
Respeito as regras :
ismarspn- Programador
- PONTOS : 3998
REPUTAÇÃO : 147
Idade : 30
Áreas de atuação : Unity, Photoshop, Illustrator, After Effects, Adobe Flash
Respeito as regras :
Re: erro magia jogo dois 2d
vlw brigado consegui agora estou com outro erro
jefersonguidio- Iniciante
- PONTOS : 3288
REPUTAÇÃO : 0
Respeito as regras :
Re: erro magia jogo dois 2d
to com um poblema no jogo 2d meu personagem anda pula mais quando e pra inverte o lado ele iverte mais aparece do outro lado do cenario ele sai do collider veja abaixo
codigo
using UnityEngine;
using System.Collections;
public class PlayerBehaviour : MonoBehaviour
{
public Animator playerAnimator;
//movement
public float speed;
public float maxSpeed;
public float speedJump;
public float maxSpeedJump;
private Rigidbody2D rigidbodyPlayer;
private bool lookToRight = true;
private Vector3 positionRight;
private Vector3 positionLeft;
private bool isGrounded;
public Transform footCollision;
void Start()
{
rigidbodyPlayer = GetComponent<Rigidbody2D>();
positionRight = playerAnimator.transform.localScale;
positionLeft = positionRight;
positionLeft.x *= -1;
}
void Update()
{
Vector2 inputDirection = new Vector2(Input.GetAxis("Horizontal") * speed * Time.deltaTime, 0);
if (inputDirection.x > 0)
{
lookToRight = true;
}
if (inputDirection.x < 0)
{
lookToRight = false;
}
if (lookToRight)
{
playerAnimator.transform.localScale = positionRight;
}
else {
playerAnimator.transform.localScale = positionLeft;
}
rigidbodyPlayer.velocity = new Vector2(inputDirection.x, rigidbodyPlayer.velocity.y);
if (rigidbodyPlayer.velocity.x > maxSpeed)
{
rigidbodyPlayer.velocity = new Vector2(maxSpeed, rigidbodyPlayer.velocity.y);
}
if (rigidbodyPlayer.velocity.x < -maxSpeed)
{
rigidbodyPlayer.velocity = new Vector2(-maxSpeed, rigidbodyPlayer.velocity.y);
}
playerAnimator.SetFloat("velocity", Mathf.Abs(inputDirection.x));
if (Input.GetKeyDown(KeyCode.Space))
{
Jump();
}
if (Physics2D.Linecast(transform.position, footCollision.position, 1 << LayerMask.NameToLayer("Ground")))
{
isGrounded = true;
}
else {
isGrounded = false;
}
}
public void Jump()
{
if (isGrounded)
{
rigidbodyPlayer.AddForce(new Vector2(0, speedJump));
}
}
}
codigo
using UnityEngine;
using System.Collections;
public class PlayerBehaviour : MonoBehaviour
{
public Animator playerAnimator;
//movement
public float speed;
public float maxSpeed;
public float speedJump;
public float maxSpeedJump;
private Rigidbody2D rigidbodyPlayer;
private bool lookToRight = true;
private Vector3 positionRight;
private Vector3 positionLeft;
private bool isGrounded;
public Transform footCollision;
void Start()
{
rigidbodyPlayer = GetComponent<Rigidbody2D>();
positionRight = playerAnimator.transform.localScale;
positionLeft = positionRight;
positionLeft.x *= -1;
}
void Update()
{
Vector2 inputDirection = new Vector2(Input.GetAxis("Horizontal") * speed * Time.deltaTime, 0);
if (inputDirection.x > 0)
{
lookToRight = true;
}
if (inputDirection.x < 0)
{
lookToRight = false;
}
if (lookToRight)
{
playerAnimator.transform.localScale = positionRight;
}
else {
playerAnimator.transform.localScale = positionLeft;
}
rigidbodyPlayer.velocity = new Vector2(inputDirection.x, rigidbodyPlayer.velocity.y);
if (rigidbodyPlayer.velocity.x > maxSpeed)
{
rigidbodyPlayer.velocity = new Vector2(maxSpeed, rigidbodyPlayer.velocity.y);
}
if (rigidbodyPlayer.velocity.x < -maxSpeed)
{
rigidbodyPlayer.velocity = new Vector2(-maxSpeed, rigidbodyPlayer.velocity.y);
}
playerAnimator.SetFloat("velocity", Mathf.Abs(inputDirection.x));
if (Input.GetKeyDown(KeyCode.Space))
{
Jump();
}
if (Physics2D.Linecast(transform.position, footCollision.position, 1 << LayerMask.NameToLayer("Ground")))
{
isGrounded = true;
}
else {
isGrounded = false;
}
}
public void Jump()
{
if (isGrounded)
{
rigidbodyPlayer.AddForce(new Vector2(0, speedJump));
}
}
}
jefersonguidio- Iniciante
- PONTOS : 3288
REPUTAÇÃO : 0
Respeito as regras :
Re: erro magia jogo dois 2d
Tenta modificar a escala em x, coloca negativo pra ele olhar pra tras e positivo pra olhar pra frente
ismarspn- Programador
- PONTOS : 3998
REPUTAÇÃO : 147
Idade : 30
Áreas de atuação : Unity, Photoshop, Illustrator, After Effects, Adobe Flash
Respeito as regras :
Re: erro magia jogo dois 2d
Jeferson, respeite a regra número 2 por favor...
no mais, o erro pode estar aqui:
se o objeto não estiver 100% centralizado com o pivot, na troca de escala para um valor negativo, a posição inverte drasticamente.
Preciso ver a cena para checar se o pivot do objeto está corretamente posicionado
no mais, o erro pode estar aqui:
- Código:
playerAnimator.transform.localScale = positionLeft;
se o objeto não estiver 100% centralizado com o pivot, na troca de escala para um valor negativo, a posição inverte drasticamente.
Preciso ver a cena para checar se o pivot do objeto está corretamente posicionado
Tópicos semelhantes
» Unity - Trigger detectando os dois personagens - ERRO!
» [Ajuda] Jogo online com dois participantes.
» [RESOLVIDO] Controlar dois player dentro de um jogo multiplay usando mirror
» Como colocar dois backgrounds diferentes para dois canvas diferentes?
» Erro na sombra do jogo
» [Ajuda] Jogo online com dois participantes.
» [RESOLVIDO] Controlar dois player dentro de um jogo multiplay usando mirror
» Como colocar dois backgrounds diferentes para dois canvas diferentes?
» Erro na sombra do jogo
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos