SchultzGames
Para tirar dúvidas, crie um tópico especifico na área "Dúvidas em Geral" e aguarde ser respondido. Evite comentar em tópicos não relacionados a sua dúvida Very Happy
TÓPICOS RECENTES:
Tópico:
Postado em:
Postado por:
Me ajudem nesse script, quero repoduzir uma animação ao pressionar "w"
[TUTORIAL] Sistema de Oficina de Carros
OFICINA/PERSONALIZAÇÃO DO PLAYER
Remover tela inicial Unity ?
como fazer um Objeto ir parando com o tempo?
[TUTORIAL] Menu Pause AVANÇADO (Unity 5.3 ou superior)
ERRO sharedassets0
[TUTORIAL] Menu pause ( AVANÇADO )
[____TÓPICO LIVRE____] FALE O QUE QUISER (Parte 2)
FÍSICA+ESTABILIDADE DO TUTORIAL DO MARCOS
[DÚVIDA] SISTEMA DE HEADSHOT
reconhecimento de fala simples
oque eu tenho que colocar nesse script?
Ad Mob
Botão Unity
Linkar Meshes das Rodas!
fazer o player perde vida e sua barra de vida descer conforme o dano
(pedido) script para ativar física
Baixos Brasil - Jogo de Carro Brasileiro!
Aguá do meu jogo esta rosa depois de ter passado o projeto para outro computador
[TUTORIAL] Como fazer um TELEPORTE
Script Shader
Sistema de frio??
Como colocar o um CORPO funcional no FPS
Som ambiente,Interação de objetos unity 3D
Telemportar objeto?
[RESOLVIDO] Compilar para android?
Quais melhores estratégias para divulgação de um jogo indie?
[____APOIE O FÓRUM E O CANAL E GANHE RECOMPENSAS____]
Flying Bird - PlayStore
Direção da câmera ser para onde o player vai ao apertar a tecla de ir para frente!!
Props Animations Asset
[TUTORIAL] Sistema de DIA E NOITE completo, com luzes noturnas e SISTEMA DE NUVENS
[TUTORIAL] Trocar a textura de um objeto pelas texturas de uma lista ( array ) seguindo a ordem da mesma.
MouseOver alterar de cores solidas para texturas alterar script
Como tiro a tela de seleção de resolução que aparece quando abro o jogo?
VENHAM CONTEMPLAR CUBOID! E entrem para a equipe!
chamare indice de uma List<> em outro script
Unity Assets Duvida
pessoal prefab para colider ou um raycast
[RESOLVIDO] Help. texto através dos objetos unity
[TUTORIAL] C# .NET | Instalar IDE para compilar c# para outras plataformas
Mudar Cor do Veiculo!
[RESOLVIDO]tirar vida do inimigo com click do mause
[TUTORIAL] Acessar variáveis de outros scripts, variáveis estáticas (javaScript)
Por que os modelos que importo para o unity desaparecem?
Falha de Segurança na Unity
[TUTORIAL] Gerar números aleatórios SEM REPETIR (método com lista)
Cuboid 0.8, divulguem por favor
Tutorial: jogo estilo minecraft
Meu Jogo em desenvolvimento
Verificar texto De um Input Field
Como Separar Variaveis ?
Duvida sobre script
Search the Rats update 1.2
Erro unity
Chamando animação por script
Como fazer objeto voltar a posição inicial? só que ele estará "em movimento"
Button Facebook Mobile!
Lancei um jogo na Play Store - Tic Tac ToeSP.
[TUTORIAL] Unity 5 - Sistema Completo de PORTAS E CHAVES
10 ASSETS GRATUITOS PARA UNITY 5
[DEVLOG] Projeto - Girl Blade (download Pré-Alpha)
Detectar se uma variável mudou e a quanto tempo ela mudou
Como posso criar um inputfield alfabtical alguem sabe?
ativar animação ao apertar botão (android)
Ai Enemy Inimigo Parando do nada
Duvida Extranhicima
gameobject transparente
[TUTORIAL] Tutorial Unity 3D Movimentação de Personagem com Botões UI
Menu de Construções estilo jogo "Banished"
Instanciar
-[COMO IMPLEMENTO UMA ARRAY NESTE SCRIPT?]-
[RESOLVIDO] Inteligência Artificial (básica) - interação Rigidbody2D Collision
Sistema de Futebol(Chutar bola e carrega-la até o gol)
Jogo De Corrida Infinita (2D)[Mobile]
[TUTORIAL] Inimigo seguir e atacar Player ao encostar
Jogo crashando depois da build
[TUTORIAL] Adicionar força a um Rigidbody na direção onde o mouse está
Duvida com Script VIDA
Iniciar em Unity
Escolhendo cores com scroll "mouse"
[RESOLVIDO] Erro com Audio Source ???
Partindo Para Faculdade!
[DÚVIDA] COMO FAZER UM "TEXT" APARECER SÓ UMA VEZ QUANDO O GAME INICIAR?
Simple Touch Camera Script
Duvida sobre iluminação
Duplo personagem
Erro
Dúvida sobre Estado inicial
Jogo de Pesca (Física da Linha)
Water
[RESOLVIDO] ERRO SUN SHAFTS (script nao aparece)
Animações do Player. Como faço????
MAGIA SEGUIR ALVO COM TAG APOS SER INSTANCIADA
Formação de equipe para talvez um jogo Unturned+Battlegrounds - Unity c#
[DÚVIDA] FAZER JOGO ESTILO O ARROW.IO
[RESOLVIDO] Opções no menu?
[RESOLVIDO] Alguém poderia me ajudar a diminuir esse script?
Hoje à(s) 2:55 pm
Hoje à(s) 2:51 pm
Hoje à(s) 12:16 pm
Hoje à(s) 11:52 am
Hoje à(s) 11:09 am
Hoje à(s) 8:36 am
Hoje à(s) 12:51 am
Ontem à(s) 10:08 pm
Ontem à(s) 9:58 pm
Ontem à(s) 9:56 pm
Ontem à(s) 9:43 pm
Ontem à(s) 9:14 pm
Ontem à(s) 9:10 pm
Ontem à(s) 9:08 pm
Ontem à(s) 8:12 pm
Ontem à(s) 7:57 pm
Ontem à(s) 7:22 pm
Ontem à(s) 7:09 pm
Ontem à(s) 6:58 pm
Ontem à(s) 6:03 pm
Ontem à(s) 1:37 pm
Ontem à(s) 1:37 pm
Ontem à(s) 1:24 pm
Ontem à(s) 1:19 pm
Ontem à(s) 1:13 pm
Ontem à(s) 12:18 pm
Ontem à(s) 11:01 am
Ontem à(s) 9:59 am
Ontem à(s) 9:50 am
Ontem à(s) 9:11 am
Ontem à(s) 8:44 am
Ontem à(s) 5:30 am
Ontem à(s) 12:25 am
Dom Ago 20, 2017 8:20 pm
Dom Ago 20, 2017 8:09 pm
Dom Ago 20, 2017 7:56 pm
Dom Ago 20, 2017 7:29 pm
Dom Ago 20, 2017 7:22 pm
Dom Ago 20, 2017 6:00 pm
Dom Ago 20, 2017 4:31 pm
Dom Ago 20, 2017 2:54 pm
Dom Ago 20, 2017 2:51 pm
Dom Ago 20, 2017 1:52 pm
Dom Ago 20, 2017 12:40 pm
Dom Ago 20, 2017 11:11 am
Dom Ago 20, 2017 12:31 am
Dom Ago 20, 2017 12:22 am
Dom Ago 20, 2017 12:17 am
Dom Ago 20, 2017 12:17 am
Sab Ago 19, 2017 11:44 pm
Sab Ago 19, 2017 8:55 pm
Sab Ago 19, 2017 8:46 pm
Sab Ago 19, 2017 8:35 pm
Sab Ago 19, 2017 7:40 pm
Sab Ago 19, 2017 5:14 pm
Sab Ago 19, 2017 4:17 pm
Sab Ago 19, 2017 3:47 pm
Sab Ago 19, 2017 10:33 am
Sab Ago 19, 2017 10:25 am
Sab Ago 19, 2017 5:53 am
Sex Ago 18, 2017 10:20 pm
Sex Ago 18, 2017 10:00 pm
Sex Ago 18, 2017 8:39 pm
Sex Ago 18, 2017 6:39 pm
Sex Ago 18, 2017 3:01 pm
Sex Ago 18, 2017 6:01 am
Sex Ago 18, 2017 12:04 am
Qui Ago 17, 2017 10:22 pm
Qui Ago 17, 2017 9:55 pm
Qui Ago 17, 2017 9:48 pm
Qui Ago 17, 2017 9:42 pm
Qui Ago 17, 2017 4:22 pm
Qui Ago 17, 2017 3:38 pm
Qui Ago 17, 2017 2:54 pm
Qui Ago 17, 2017 2:35 pm
Qui Ago 17, 2017 1:14 pm
Qui Ago 17, 2017 12:51 pm
Qui Ago 17, 2017 12:48 pm
Qui Ago 17, 2017 11:47 am
Qui Ago 17, 2017 11:09 am
Qui Ago 17, 2017 7:46 am
Qua Ago 16, 2017 10:19 pm
Qua Ago 16, 2017 9:55 pm
Qua Ago 16, 2017 9:10 pm
Qua Ago 16, 2017 9:03 pm
Qua Ago 16, 2017 8:01 pm
Qua Ago 16, 2017 1:17 pm
Qua Ago 16, 2017 11:49 am
Qua Ago 16, 2017 8:01 am
Ter Ago 15, 2017 7:29 pm
Ter Ago 15, 2017 5:06 pm
Ter Ago 15, 2017 5:06 pm
Ter Ago 15, 2017 1:47 pm
Ter Ago 15, 2017 11:52 am
Ter Ago 15, 2017 6:21 am
Seg Ago 14, 2017 11:28 pm
Seg Ago 14, 2017 11:04 pm
Seg Ago 14, 2017 10:06 pm
Seg Ago 14, 2017 7:19 pm
dstaroski
dstaroski
Duarte
PauloFR
deikson
MRX
MendesBk
zOverLexYT
Gabriel César CORINTHIANS
Gabriel César CORINTHIANS
Gabriel César CORINTHIANS
PauloFR
dstaroski
Duarte
dstaroski
Duarte
poker14k
Zecandy
Duarte
DUT
Gabriel César CORINTHIANS
michelly
MRX
AndyShow
AndyShow
Callyde Jr
dstaroski
Strikegames
zZAndersonZz
dstaroski
dstaroski
Regis garcia
marconi
SERGIOCS
Madness
Zecandy
cody0033
Valakinhas
ManoTrevor
Madness
BRGC
PauloFR
PauloFR
PauloFR
tom ramber
cody0033
NyanHeavyBR
rafaelllsd
cody0033
cody0033
BRGC
Manawydan
ManoTrevor
arnaldojunior
mbppedro
Eduardoro39
BRGC
dstaroski
dstaroski
Strikegames
zOverLexYT
Bruno
dstaroski
Dom3000
MiguelLuiz
zZAndersonZz
Jhin
Dom3000
juliano001
deikson
MasterWizzard
Duarte
MrTFGamer1
MatheusNani
deikson
HeF Soft
getrudes12@gmail.com
BloodyBS
deikson
Bruno
dstaroski
SERGIOCS
Vinicius F.
Duarte
Gabriel César O
Henrique0102
Zecandy
Callyde Jr
dstaroski
ffabim
AndyShow
Phph09
glauco
Bruno
Callyde Jr
Bruno11playerG
Gabriel César O
cody0033
Unidade3d5

[ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

DÚVIDA [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster em Sab Abr 01, 2017 2:22 am

[ AJUDA]  Eu estou tentando fazer uma movimentação diferente das usuais
 para um jogo de tabuleiro, no campo tem varias esferas sem rigidbody, e ao apertar uma tecla a peça GameObject tem que receber o valor do transform da esfera vizinha predeterminada no campo, ainda estou estudando o esquema de way points e fiz um script simples com um array de varios Transform[] e tento pegar o Transfom do objeto inicial que é o numero [8]  e acrescer ao vetor um int indice++ pra ele pegar o Transform do objeto[9] ao ir pra direita e assim por diante, mas nao esta funcionando ja tentei de tudo e ainda dá um errinho e a peca continua imovel, mas apesar disso eu sinto que falta pouco pode ser algo que ainda nao percebi o Schultz me indicou pedir uma ajuda pelo forum entao estou aqui, se alguem puder me ajudar ficarei agradecido, acredito ser um bom aprendizado, vou deixar o codigo  pra  quem quiser analizar  
Código:
using UnityEngine;
using System.Collections;

public class Referencial : MonoBehaviour {

 public GameObject PrefabPeca;
 public Transform[] Referentes;
 int indice = 0;


 void Start () {
 
 PrefabPeca.transform.position = Referentes[8].position;


 }
 

 void Update () {
 

 if(Input.GetKeyDown (KeyCode.RightArrow))
 {
 for(int x = 0; x< Referentes.Length; x++){
 Referentes[8].position = Referentes[x].position;
 PrefabPeca.transform.position = (Referentes[indice].position);
 indice++;
 }
 }




 }
}
avatar
Ronmaster
Membro
Membro

PONTOS : 206
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por MarcosSchultz em Qua Abr 05, 2017 11:27 pm

Qual erro que está dando?

Outra coisa, acredito que o seu erro esteja em utilizar o for no input... dê uma olhada:

Código:
for(int x = 0; x< Referentes.Length; x++){
   Referentes[8].position = Referentes[x].position;
   PrefabPeca.transform.position = (Referentes[indice].position);
   indice++;
}

Tipo, tu pressiona e o indice vai percorrer todo o for, então não tem como aumentar apenas uma posição... pela lógica, não faz muito sentido usar o for dessa maneira
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9508
REPUTAÇÃO : 1613
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster em Qui Abr 06, 2017 12:59 am

OK vou tentar outra coisa entao, na verdade esse script nao funcionou mesmo, a peca nao se mexe, vou descartar esse script, e tentar elaborar outra logica, voce teria alguma outra sugestão pra me indicar estou na busca de ideias?
avatar
Ronmaster
Membro
Membro

PONTOS : 206
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por MarcosSchultz em Qui Abr 06, 2017 7:42 pm

Código:
using UnityEngine;
using System.Collections;

public class Referencial : MonoBehaviour {

   public GameObject PrefabPeca;
   public int indiceInicial = 0;
   public Transform[] Referentes;

   int indiceAtual;

   void Start () {
      indiceAtual = indiceInicial;
      indiceAtual = Mathf.Clamp (indiceAtual, 0, Referentes.Length-1);
      PrefabPeca.transform.position = Referentes [indiceAtual].position;
   }
      
   void Update () {
      if(Input.GetKeyDown (KeyCode.RightArrow)){
         indiceAtual++;
         indiceAtual = Mathf.Clamp (indiceAtual, 0, Referentes.Length-1);
         PrefabPeca.transform.position = Referentes [indiceAtual].position;
      }
   }
}
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9508
REPUTAÇÃO : 1613
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster em Sex Abr 07, 2017 1:44 am

Beleza cara eu agradeço sua boa vontade, no caso eu fiz alguns testes com o script que voce concertou, mas ainda infelizmente a peça nao esta se movendo com ele, mas pelo menos teve algum progresso e eu aproveitei a logica e fiz outro script meio que uma gambiarra pra falar a verdade, ainda nao é o resultado desejado, porque nele a peca fica sendo instanciada em cada Transform ao pressionar a tecla, se tivesse um jeito de usar o Translate pra esse comando  ao inves de Instantiate talvez daria mais certo, acho que ta quase vou deixar os scripts na verdade 2 que estou fazendo testes para voce analizar se vai funcionar. 


Código:

using UnityEngine;
using System.Collections;

public class WayPoints : MonoBehaviour {

 public GameObject[] Vizinhos;
 public Transform[] AoVizinho;


 void Start () {

 Renderer rend = GetComponent<Renderer>();
 rend.enabled = false;
 }
 


}

e esse


Código:
using UnityEngine;
using System.Collections;

public class ControleMalha : MonoBehaviour {

 public GameObject   peca;
 
 public GameObject  wayPointAtual;
 
 public GameObject PrefabPeca;
 public Vector3 posicao, rotacao;
 public int indiceInicial = 8;
 public Transform[] Referentes;
 
 int indiceAtual;


 void Start () {
 indiceAtual = indiceInicial;
 indiceAtual = Mathf.Clamp (indiceAtual, 8, Referentes.Length-1);
 PrefabPeca.transform.position = Referentes [indiceAtual].position;
 }
 

 void Update () {
 if(Input.GetMouseButtonDown (0)){
 GameObject Peca = (GameObject)Instantiate(PrefabPeca,Referentes [indiceAtual].position, Quaternion.Euler (rotacao));
 
 }
 
 WayPoints scriptWayPoints = wayPointAtual.GetComponent<WayPoints> () ;
 

 for(int x = 0; x< scriptWayPoints.AoVizinho.Length; x++){

 wayPointAtual.transform.position = (scriptWayPoints.AoVizinho[x].position );
 //wayPointAtual.transform.position = (scriptWayPoints.Vizinhos[x].position );
 }

 if(Input.GetKeyDown (KeyCode.RightArrow)){
 GameObject Peca = (GameObject)Instantiate(PrefabPeca,Referentes [indiceAtual].position, Quaternion.Euler (rotacao));
 
 indiceAtual++;
 indiceAtual = Mathf.Clamp (indiceAtual, 8, Referentes.Length-1);
 PrefabPeca.transform.position = Referentes [indiceAtual].position;
 print (Referentes [indiceAtual]);
 //PrefabPeca.transform.position = wayAtual.position - Referentes [indiceAtual].position;
 
 peca.transform.position = (scriptWayPoints.AoVizinho [1].position );
 
 }
 
    }
}

 esse esquema com o for nao esta funcionando bem entao desconsidere o , so estou mostrando o outro esquema que eu estava pensando mas acho que nao vai funcionar, mas o do instantiate talvez tenha funcione.
avatar
Ronmaster
Membro
Membro

PONTOS : 206
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por MarcosSchultz em Ter Abr 11, 2017 12:38 am

O script que eu postei faz a peça se mover obrigatoriamente para o transform do indice... se ele não está se movendo, tem outros scripts interferindo.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9508
REPUTAÇÃO : 1613
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster em Qua Abr 12, 2017 1:11 am

Cara é realmente como voce disse, agora ta perfeito a peça esta se movendo da forma desejada muito obrigado mesmo Laughing cheers  , so tem pequeno problema que persiste, quando eu torno a peca em um prefab ela nao esta guardando os Transforms dos objetos que a variavel do script pede, nesse caso o que voce acha que deveria ser feito, estou pensando em tentar usar um FindGameObjectsWithTag talvez, sera que funcionara ou voce sabe um outro metodo que poderia ser eficaz no caso?
avatar
Ronmaster
Membro
Membro

PONTOS : 206
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster em Qua Abr 12, 2017 1:57 am

é mas na verdade isso nao deve funcionar porque  nao sei se tem como fazer uma variavel  Transform[] receber valores de object dessa forma o que voce poderia me sugerir?
avatar
Ronmaster
Membro
Membro

PONTOS : 206
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster em Qui Abr 13, 2017 1:43 am

Sera que é possivel converter um GameObject[] em Transform[]? se for possivel talvez eu poderia conseguir usar o FindGameObjectsWithTag pra que  a variavel Transform[] do prefab seja preenchida assim que o prefab entrar em jogo o que voce acha? como eu poderia setar os Transform[]  no prefab
avatar
Ronmaster
Membro
Membro

PONTOS : 206
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por MarcosSchultz em Sex Abr 14, 2017 7:06 pm

Existem muitas maneiras de preehcner os transform de uma variável, mas a ordem não é garantida...

Aconselho setar os transform's na mão mesmo.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9508
REPUTAÇÃO : 1613
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster em Sex Abr 14, 2017 9:15 pm

Sim é isso que eu fiz, eu tenho a peca original no campo e nela eu consegui colocar todos os Transform normalmente e a movimentacao funciona bem nela, mas quando eu arrasto a peca para criar um prefab por algum motivo todos os Transform da array no prefab ficam como None (Transform) e aparece um simbolo  que parece indicar que é proibido setar e eu nao consigo setar nada no local nem mesmo fazendo busca pela janela, isso esta acontecendo so com as arrays, eu tinha feito outra variavel de GameObject[] e deu o mesmo resultado, na verdade eu estava pensando em fazer um script separado so pra setar os Transforms nele e depois chama los nesse script ou entao fazer uma funcao para preencher a array assim que a peca for instanciada no campo que era o objetivo original, nao sei bem o que esta havendo deixei so esse script na peca mas nao sei se ta tendo alguma interferencia mas se voce tiver uma dica pra me ajudar
avatar
Ronmaster
Membro
Membro

PONTOS : 206
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por MarcosSchultz em Qua Abr 19, 2017 2:30 am

Você só pode setar transforms no prefab se estes transform's forem filhos do próprio prefab... do contrário não.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9508
REPUTAÇÃO : 1613
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster em Qui Abr 20, 2017 9:57 pm

Sim eu tinha feito algumas pesquisas ha algum tempo e fiquei sabendo que so poderia setar os Transforms no prefab se estes forem filhos do proprio prefab, fiz alguns testes mas dessa forma nao funciona da forma que eu queria entao realmente vou ter que tentar mudar o esquema de movimentacao, mas lhe agradeço muito pela boa vontade em me ajudar, e eu vou guardar essa logica também porque ela com certeza vai me ser útil mais pra frente  Smile
avatar
Ronmaster
Membro
Membro

PONTOS : 206
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster em Sab Abr 29, 2017 11:57 pm

Eu estava procurando nos componentes do unity algo que fosse possivel usar e finalmente consegui fazer o prefab ter acesso aos Transforms atraves de Fixed Joint em um objeto vazio do campo que carrega todos os transforms desse jeito

using UnityEngine;
using System.Collections;

public class CriaPeca : MonoBehaviour {

public Vector3 posicao, rotacao;
public GameObject PecaPrefab;

void Update () {
if(Input.GetMouseButtonDown (1)){
GameObject Peca = (GameObject)Instantiate(PecaPrefab, posicao, Quaternion.Euler (rotacao));
GameObject Alvo = GameObject.FindWithTag("Respawn");
Peca.GetComponent().connectedBody = Alvo.GetComponent();
}

}
}

dessa forma a movimentacao é feita, mas eu tinha começado outro script achando que nao ia ter jeito e a ideia dele tambem é boa porem esta aparecendo esse tipo de erro
 
IndexOutOfRangeException: Array index is out of range.
EspacoManager.SpawnPecas (Int32 index, Int32 x, Int32 y, Int32 z) (at Assets/Scripts/Script Cena2/EspacoManager.cs:100)

vou postar o script se voce puder dar uma olhada pra mim as vezes voce sabe o que pode esta ocasionado isso, acho que deve ser na array mas eu ainda nao sei bem o que, ja fiz varias modificacoes e nada
avatar
Ronmaster
Membro
Membro

PONTOS : 206
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster em Dom Abr 30, 2017 12:18 am

Na verdade sao 3 scripts trabalhando em conjunto vou posta los caso voce puder dar uma olhada o problema esta na movimentacao de novo que dessa vez é feita pelo click do mouse, no caso quando eu clico a peca é instanciada mas nao consigo move la e aparece o erro
IndexOutOfRangeException: Array index is out of range.

o erro aparece inicialmente nas linhas 56 e 100

eu iniciei a lista com um item sera que essa é a causa? o que voce acha?

Código:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class EspacoManager : MonoBehaviour {

 public PecaDeSelecao[,] Pecas{set;get;}
 private PecaDeSelecao  pecaSelecionada;

 private const float TILE_SIZE = 1.0f;
 private const float TILE_OFFSET = 0.5f;

 private int selecaoX = -1;
 private int selecaoY = -1;

 public List<GameObject> PrefabsPeca;
 private List<GameObject> ActivePeca;

 private Quaternion orientacao = Quaternion.Euler(0,180,0);

 public bool isWhiteTurn = true;

 private void Start ()
 {
 SpawnAllPecas();

 }

 private void Update ()
 {
 UpdateSelecao ();
 DrawEspacoBoard ();
 SpawnAllPecas();

 if(Input.GetMouseButtonDown(0))
 {
 if(selecaoX >= 0 && selecaoY >= 0)
 {
 if(pecaSelecionada == null)
 {
 // seleciona a Peca
 SelectPeca(selecaoX,selecaoY);
 }
 else
 {
 //move a Peca
 MovPeca(selecaoX,selecaoY,selecaoY);
 }
 }
 }

 }

 private void SelectPeca(int x,int y)
 {
 if(Pecas [x,y] == null)
 return;

 if(Pecas[x,y].isWhite != isWhiteTurn)
 return;

 pecaSelecionada = Pecas[x,y];
 }

 private void MovPeca(int x, int y, int z)
 {
 if(pecaSelecionada.PossivelMove(x,z))
 {
 Pecas[pecaSelecionada.CurrentX,pecaSelecionada.CurrentY] = null;
 pecaSelecionada.transform.position = GetTileCenter(x,y,z);
 Pecas[x,y] = pecaSelecionada;
 isWhiteTurn = !isWhiteTurn;
 }
 pecaSelecionada = null;
 }

 private void UpdateSelecao ()
 {
 if(!Camera.current)
 return;

 RaycastHit hit;
 if(Physics.Raycast(Camera.current.ScreenPointToRay(Input.mousePosition),out hit, 50.0f , LayerMask.GetMask("Campo")))
 {
 selecaoX = (int)hit.point.x;
 selecaoY = (int)hit.point.z;
 }
 else
 {
 selecaoX = -1;
 selecaoY = -1;
 }
 }

 private void SpawnPecas (int index, int x, int y, int z)
 {
 if(Input.GetMouseButtonDown(1)){
 GameObject go = Instantiate(PrefabsPeca[index],GetTileCenter(x,y,z), orientacao) as GameObject;
 go.transform.SetParent (transform);
 Pecas[x,y] = go.GetComponent<PecaDeSelecao> ();
 Pecas[x,y].SetPosition(x,y);
 ActivePeca.Add (go);
 }
 }

 private void SpawnAllPecas()
 {
 ActivePeca = new List<GameObject>();
 Pecas = new PecaDeSelecao[1,1];

 // Spawn pecas do player 1
 for (int i = 0; i < 1; i++)
 SpawnPecas(0, 9,-1,19);

 }

 private Vector3 GetTileCenter(int x,int y, int z)
 {
 Vector3 origem = Vector3.zero;
 origem.x += (TILE_SIZE * x) + TILE_OFFSET + 0.08f;
 origem.y += (TILE_SIZE * y) + TILE_OFFSET;
 origem.z += (TILE_SIZE * z) + TILE_OFFSET - 10.43f;
 return origem;
 }

 private void DrawEspacoBoard ()
 {
 Vector3 widthLine = Vector3.right * 14;
 Vector3 heigthLine = Vector3.forward * 20;
 
 for (int i = 0; i <= 20; i++)
 {
 Vector3 start = Vector3.forward * i;
 
 Debug.DrawLine (start , start  + widthLine);

 for (int j = 0; j <= 14; j++)
 {
 start = Vector3.right * j;
 Debug.DrawLine (start , start  + heigthLine);
 }

 }
 //Draw the selection
 if(selecaoX >= 0 && selecaoY >= 0)
 {
 Debug.DrawLine (
 Vector3.forward * selecaoY + Vector3.right * selecaoX,
 Vector3.forward * (selecaoY + 1) + Vector3.right * (selecaoX + 1));

 Debug.DrawLine (
 Vector3.forward * (selecaoY + 1) + Vector3.right * selecaoX,
 Vector3.forward * selecaoY + Vector3.right * (selecaoX + 1));
 }

 }
}

Código:
using UnityEngine;
using System.Collections;

public abstract class PecaDeSelecao : MonoBehaviour {

 public int CurrentX{set;get;}
 public int CurrentY{set;get;}
 //public int CurrentZ{set;get;}
 public bool isWhite;

 public void SetPosition(int x,int y)
 {
 CurrentX = x;
 CurrentY = y;
 //CurrentZ = z;
 }

 public virtual bool PossivelMove(int x, int y)
 {
 return true;
 }

}

Código:
using UnityEngine;
using System.Collections;

public class PecaLevel4 : PecaDeSelecao {


}
avatar
Ronmaster
Membro
Membro

PONTOS : 206
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por MarcosSchultz em Sex Maio 05, 2017 2:24 pm

Esse erro acontece quando o script não consegue acessar o indice... isto acontece quando:

-não tem itens no indice pedido
-o indice não existe

Alguma coisa não está correta na lógica... você está passando do indice que pode acessar ou não está iniciando o indice corretamente.
avatar
MarcosSchultz
Administrador

Masculino PONTOS : 9508
REPUTAÇÃO : 1613
Idade : 20
Áreas de atuação : Administrador do fórum
Respeito as regras :

Ver perfil do usuário http://www.schultzgames.com

Voltar ao Topo Ir em baixo

DÚVIDA Re: [ AJUDA] Eu estou tentando fazer uma movimentação diferente das usuais

Mensagem por Ronmaster em Sab Maio 06, 2017 7:29 pm

Na verdade eu tambem tinha tentado somente setando um gameobject numa variavel comum, e ate que instancia a peca mas nao da pra move la e apesar de nao aparecer esse erro esta acontecendo uma coisa esquisita a peca fica imovel quando eu clico pra move la e o script fica criando infinitos objects vazios no ponto zero ai eu mudei pra esse esquema mas esta dando esse erro, vou ver se consigo testar uma modificacao.
avatar
Ronmaster
Membro
Membro

PONTOS : 206
REPUTAÇÃO : 0
Respeito as regras :

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum