Ajuda em Script, movimentação de obstaculo
3 participantes
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Ajuda em Script, movimentação de obstaculo
Galera, sou um novato em programação, e estou brincando tentando fazer script com os vídeos que eu vi do Marcos, e minha intenção era fazer uma cubo que ia e voltava pra fechar um caminho, ou seja, o player teria que esperar abrir o caminho abrir pra passar, e estou com dificuldades. Fiz um sistema com lerp e transform.localPosition e transform.localScale e consegui fazer ela se movimentar e fechar o caminho, mas não sei como fazer ela voltar pra posição inicial, e depois fechar o caminho dnv e etc etc.
Fiz isso:
public float numeropx;
public float numeropy;
public float numeropz;
public float numeroinicialx;
public float numeroinicialy;
public float numeroinicialz;
void Update () {
IdaCubo ();
VoltaCubo ();
}
void IdaCubo () {
transform.localScale = Vector3.Lerp (transform.localScale, new Vector3 (5, 6, 1), Time.deltaTime);
transform.localPosition = Vector3.Lerp (transform.localPosition, new Vector3 (numeropx, numeropy, numeropz), Time.deltaTime/2);
}
void VoltaCubo () {
transform.localPosition = Vector3.Lerp (transform.localPosition, new Vector3 (numeroinicialx, numeroinicialy, numeroinicialz), Time.deltaTime/2);
}
}
alguém me ajuda pls.
Fiz isso:
public float numeropx;
public float numeropy;
public float numeropz;
public float numeroinicialx;
public float numeroinicialy;
public float numeroinicialz;
void Update () {
IdaCubo ();
VoltaCubo ();
}
void IdaCubo () {
transform.localScale = Vector3.Lerp (transform.localScale, new Vector3 (5, 6, 1), Time.deltaTime);
transform.localPosition = Vector3.Lerp (transform.localPosition, new Vector3 (numeropx, numeropy, numeropz), Time.deltaTime/2);
}
void VoltaCubo () {
transform.localPosition = Vector3.Lerp (transform.localPosition, new Vector3 (numeroinicialx, numeroinicialy, numeroinicialz), Time.deltaTime/2);
}
}
alguém me ajuda pls.
Vinicius F.- Membro
- PONTOS : 2820
REPUTAÇÃO : 2
Respeito as regras :
Re: Ajuda em Script, movimentação de obstaculo
- Código:
public class Expansao : MonoBehaviour {
public float numeropx;
public float numeropy;
public float numeropz;
public float numeroinicialx;
public float numeroinicialy;
public float numeroinicialz;
void Update () {
IdaCubo ();
VoltaCubo ();
}
void IdaCubo () {
transform.localScale = Vector3.Lerp (transform.localScale, new Vector3 (5, 6, 1), Time.deltaTime);
transform.localPosition = Vector3.Lerp (transform.localPosition, new Vector3 (numeropx, numeropy, numeropz), Time.deltaTime/2);
}
void VoltaCubo () {
transform.localPosition = Vector3.Lerp (transform.localPosition, new Vector3 (numeroinicialx, numeroinicialy, numeroinicialz), Time.deltaTime/2);
}
}
Vinicius F. escreveu:Galera, sou um novato em programação, e estou brincando tentando fazer script com os vídeos que eu vi do Marcos, e minha intenção era fazer uma cubo que ia e voltava pra fechar um caminho, ou seja, o player teria que esperar abrir o caminho abrir pra passar, e estou com dificuldades. Fiz um sistema com lerp e transform.localPosition e transform.localScale e consegui fazer ela se movimentar e fechar o caminho, mas não sei como fazer ela voltar pra posição inicial, e depois fechar o caminho dnv e etc etc.
Fiz isso:
public float numeropx;
public float numeropy;
public float numeropz;
public float numeroinicialx;
public float numeroinicialy;
public float numeroinicialz;
void Update () {
IdaCubo ();
VoltaCubo ();
}
void IdaCubo () {
transform.localScale = Vector3.Lerp (transform.localScale, new Vector3 (5, 6, 1), Time.deltaTime);
transform.localPosition = Vector3.Lerp (transform.localPosition, new Vector3 (numeropx, numeropy, numeropz), Time.deltaTime/2);
}
void VoltaCubo () {
transform.localPosition = Vector3.Lerp (transform.localPosition, new Vector3 (numeroinicialx, numeroinicialy, numeroinicialz), Time.deltaTime/2);
}
}
alguém me ajuda pls, não sei se o certo seria fazer isso e continuar isso com um if, e não saberia mesmo assim, pois sou um novato k
Vinicius F.- Membro
- PONTOS : 2820
REPUTAÇÃO : 2
Respeito as regras :
Re: Ajuda em Script, movimentação de obstaculo
- Código:
public float numeropx;
public float numeropy;
public float numeropz;
public float numeroinicialx;
public float numeroinicialy;
public float numeroinicialz;
public float tempForAction = 5.0f;
private bool open, action = true;
void Start()
{
action = true;
}
void Update()
{
if (open)
IdaCubo();
else
VoltaCubo();
if (action)
StartCoroutine(DoAction());
}
IEnumerator DoAction()
{
action = false;
yield return new WaitForSeconds(tempForAction);
open = !open;
action = true;
}
void IdaCubo()
{
transform.localScale = Vector3.Lerp(transform.localScale, new Vector3(5, 6, 1), Time.deltaTime);
transform.localPosition = Vector3.Lerp(transform.localPosition, new Vector3(numeropx, numeropy, numeropz), Time.deltaTime / 2);
}
void VoltaCubo()
{
transform.localPosition = Vector3.Lerp(transform.localPosition, new Vector3(numeroinicialx, numeroinicialy, numeroinicialz), Time.deltaTime / 2);
}
seria mais interessante você usar vector3 no lugar dessas variáveis float
Weslley- Moderador
- PONTOS : 5727
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: Ajuda em Script, movimentação de obstaculo
- Código:
using UnityEngine;
using System.Collections;
public class Test : MonoBehaviour {
public float numeropx;
public float numeropy;
public float numeropz;
public float numeroinicialx;
public float numeroinicialy;
public float numeroinicialz;
bool Indo;
Vector3 ida;
Vector3 volta;
void Update () {
if(Indo == false){
IdaCubo ();
}
if(Indo == true){
VoltaCubo ();
}
ida = new Vector3 (numeropx, numeropy, numeropz);
float distIda = Vector3.Distance(ida, transform.position);
if(distIda < 8){
Indo = true;
}
volta = new Vector3 (numeroinicialx, numeroinicialy, numeroinicialz);
float distVolta = Vector3.Distance(volta, transform.position);
if(distVolta < 8){
Indo = false;
}
}
void IdaCubo () {
transform.localScale = Vector3.Lerp (transform.localScale, new Vector3 (5, 6, 1), Time.deltaTime);
transform.localPosition = Vector3.Lerp (transform.localPosition, new Vector3 (numeropx, numeropy, numeropz), Time.deltaTime/2);
}
void VoltaCubo () {
transform.localPosition = Vector3.Lerp (transform.localPosition, new Vector3 (numeroinicialx, numeroinicialy, numeroinicialz), Time.deltaTime/2);
}
}
Vinicius F.- Membro
- PONTOS : 2820
REPUTAÇÃO : 2
Respeito as regras :
Tópicos semelhantes
» Ajuda Script Movimentação
» Preciso de ajuda com um script de movimentação !
» [AJUDA]Preciso de ajuda em um script relacionado ao vídeo Sistema de escolha de personagen
» Ajuda Urgente como chamo a animação no script alguém poderia dar uma ajuda???
» [AJUDA]Quero Ajuda poque esse script so da erro!
» Preciso de ajuda com um script de movimentação !
» [AJUDA]Preciso de ajuda em um script relacionado ao vídeo Sistema de escolha de personagen
» Ajuda Urgente como chamo a animação no script alguém poderia dar uma ajuda???
» [AJUDA]Quero Ajuda poque esse script so da erro!
SchultzGames :: UNITY 3D :: Resolvidos
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos