[RESOLVIDO] Fazer position.x de um objeto ficar igual a de outro, sem transforma-lo em filho.
3 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
[RESOLVIDO] Fazer position.x de um objeto ficar igual a de outro, sem transforma-lo em filho.
Tentei fazer com que a posição X de um objeto ficasse igual a de outro. Porém não consegui.
Segue meu código e o erro que deu na Unity.
Segue meu código e o erro que deu na Unity.
- Código:
using UnityEngine;
using System.Collections;
public class guardamovimentação : MonoBehaviour {
public Transform player;
// Use this for initialization
void Start () {
player = GameObject.FindGameObjectWithTag("Player").transform; //Buscamos o transform do player
}
// Update is called once per frame
void Update () {
transform.position.x = player.transform.position.x;
}
}
error CS1612: Cannot modify a value type return value of `UnityEngine.Transform.position'. Consider storing the value in a temporary variable
Última edição por dstaroski em Qui Dez 15, 2016 7:58 pm, editado 1 vez(es) (Motivo da edição : Resolvido.)
VSouza- Membro
- PONTOS : 3175
REPUTAÇÃO : 5
Respeito as regras :
Re: [RESOLVIDO] Fazer position.x de um objeto ficar igual a de outro, sem transforma-lo em filho.
Amigo, você tem que informar qual seu objetivo. Vou deduzir pelo nome do script que você tá fazendo a movimentação de um guarda, no caso uma AI. Sugiro que estude sobre NavMesh. O erro que você está tendo nesse script é um erro básico, como disse logo aí em cima, sugiro que você estude o básico e não tente ir fazendo as coisas sem entender o princípio delas.
Vou deixar uma documentação aqui para você estudar:
- Lista de Tutoriais báisico: https://unity3d.com/pt/learn/tutorials/topics/scripting
- Transform: https://docs.unity3d.com/ScriptReference/Transform.html
- NavMesh: https://docs.unity3d.com/ScriptReference/AI.NavMesh.html
Vou aproveitar o gancho e dizer uma coisa... Que esses posts sirvam de exemplo pra quem está começando procurar estudar o básico, entendam uma coisa, jogos não se fazem sem conceito básico de programação, pelo menos um pouco de algoritimo, de c#. Então estudem moçada.
Vou deixar uma documentação aqui para você estudar:
- Lista de Tutoriais báisico: https://unity3d.com/pt/learn/tutorials/topics/scripting
- Transform: https://docs.unity3d.com/ScriptReference/Transform.html
- NavMesh: https://docs.unity3d.com/ScriptReference/AI.NavMesh.html
Vou aproveitar o gancho e dizer uma coisa... Que esses posts sirvam de exemplo pra quem está começando procurar estudar o básico, entendam uma coisa, jogos não se fazem sem conceito básico de programação, pelo menos um pouco de algoritimo, de c#. Então estudem moçada.
Re: [RESOLVIDO] Fazer position.x de um objeto ficar igual a de outro, sem transforma-lo em filho.
Ah vocâ pode fazer assim:
pois o position em c# precisa ser setado com um Vector3 novo (uma variavel temporaria)
- Código:
transform.position = new Vector3(player.transform.position.x, transform.position.y, transform.position.z);
pois o position em c# precisa ser setado com um Vector3 novo (uma variavel temporaria)
Re: [RESOLVIDO] Fazer position.x de um objeto ficar igual a de outro, sem transforma-lo em filho.
dimmuo escreveu:Amigo, você tem que informar qual seu objetivo. Vou deduzir pelo nome do script que você tá fazendo a movimentação de um guarda, no caso uma AI. Sugiro que estude sobre NavMesh. O erro que você está tendo nesse script é um erro básico, como disse logo aí em cima, sugiro que você estude o básico e não tente ir fazendo as coisas sem entender o princípio delas.
Vou deixar uma documentação aqui para você estudar:
- Lista de Tutoriais báisico: https://unity3d.com/pt/learn/tutorials/topics/scripting
- Transform: https://docs.unity3d.com/ScriptReference/Transform.html
- NavMesh: https://docs.unity3d.com/ScriptReference/AI.NavMesh.html
Vou aproveitar o gancho e dizer uma coisa... Que esses posts sirvam de exemplo pra quem está começando procurar estudar o básico, entendam uma coisa, jogos não se fazem sem conceito básico de programação, pelo menos um pouco de algoritimo, de c#. Então estudem moçada.
Desculpa se o post não ficou claro, porém o que estou fazendo é um jogo pra ir aprendendo mesmo e estudando com na prática, obrigado pela ajuda.
Só que no caso não é um guarda não. Não ficou claro no post. Na verdade é um guarda-chuva, hahahaha. Eu tô fazendo um joguinho 2D em que o gato tem que fugir das gostas de chuva que caem.
Eu tentei igualar a transform.position.x do guarda-chuva, com o X do transform do gatinho. porém não tô conseguindo. E ao ler alguns tópicos desse forum e de outros não achei nada que me ajudasse. Enfim, estou aprendendo, obrigado pelas dicas.
VSouza- Membro
- PONTOS : 3175
REPUTAÇÃO : 5
Respeito as regras :
Re: [RESOLVIDO] Fazer position.x de um objeto ficar igual a de outro, sem transforma-lo em filho.
hetrodo_gamer escreveu:Ah vocâ pode fazer assim:
- Código:
transform.position = new Vector3(player.transform.position.x, transform.position.y, transform.position.z);
pois o position em c# precisa ser setado com um Vector3 novo (uma variavel temporaria)
Vlw, muito obrigado! Funcionou!
VSouza- Membro
- PONTOS : 3175
REPUTAÇÃO : 5
Respeito as regras :
Tópicos semelhantes
» [RESOLVIDO] Como fazer um objeto ter a mesma rotação de outro
» [RESOLVIDO] Como fazer para colocar um objeto Parente do outro?
» [RESOLVIDO] como fazer um objeto trocar de cor ao colidir com outro objeto
» [RESOLVIDO] Como fazer um objeto 2D rotacionar em direção a outro objeto
» [Resolvido] Como fazer o objeto colidir uma vez e tão ficar tremendo?
» [RESOLVIDO] Como fazer para colocar um objeto Parente do outro?
» [RESOLVIDO] como fazer um objeto trocar de cor ao colidir com outro objeto
» [RESOLVIDO] Como fazer um objeto 2D rotacionar em direção a outro objeto
» [Resolvido] Como fazer o objeto colidir uma vez e tão ficar tremendo?
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos