[TUTORIAL] Sistema de escolha de personagens
+20
PauloFR
bitgames
HeF Software
HeF Soft
leandroinforware
ronanbastos
ldmaia
Weslley
Soulphantom
LegendGames
Nork
hellkiller
Animdude
jefersonguidio
Renan Arruda
Pqquim
valdir
GabrielWorks
williampereira21
MarcosSchultz
24 participantes
Página 1 de 1
[TUTORIAL] Sistema de escolha de personagens
Script de seleção
- Código:
using UnityEngine;
using System.Collections;
public class EscolhaDoPlayer : MonoBehaviour {
public Texture[] Personagem;
private int SelecaoAtual;
void Start (){
SelecaoAtual = 0;
}
void OnGUI (){
//SELECAO DO PERSONAGEM
if (GUI.Button (new Rect (Screen.width / 2 - Screen.width / 4, Screen.height / 2 - Screen.height / 2.2f, Screen.width / 2, Screen.height / 1.2f), "")) {
DATA.PersonagemAInstanciar = SelecaoAtual;
Application.LoadLevel ("JOGO"); // MUDAR O NOME DA CENA CONFORME O SEU JOGO
}
//IFS
if (SelecaoAtual == 0) {
GUI.DrawTexture(new Rect(Screen.width/2-Screen.width/4,Screen.height/2-Screen.height/2.2f,Screen.width/2,Screen.height/1.2f),Personagem[SelecaoAtual]);
//mudar selecao
if(GUI.Button (new Rect(Screen.width/1.3f,Screen.height/2.2f,Screen.width/6.5f,Screen.height/5),"PROXIMO")){
SelecaoAtual = SelecaoAtual +1;
}
}
//
if (SelecaoAtual > 0 && SelecaoAtual < (Personagem.Length - 1)) {
GUI.DrawTexture(new Rect(Screen.width/2-Screen.width/4,Screen.height/2-Screen.height/2.2f,Screen.width/2,Screen.height/1.2f),Personagem[SelecaoAtual]);
//mudar selecao
if(GUI.Button (new Rect(Screen.width/1.3f,Screen.height/2.2f,Screen.width/6.5f,Screen.height/5),"PROXIMO")){
SelecaoAtual = SelecaoAtual +1;
}
if(GUI.Button (new Rect(Screen.width/13,Screen.height/2.2f,Screen.width/6.5f,Screen.height/5),"ANTERIOR")){
SelecaoAtual = SelecaoAtual -1;
}
}
//
if (SelecaoAtual >= (Personagem.Length - 1)) {
GUI.DrawTexture(new Rect(Screen.width/2-Screen.width/4,Screen.height/2-Screen.height/2.2f,Screen.width/2,Screen.height/1.2f),Personagem[SelecaoAtual]);
//mudar selecao
if(GUI.Button (new Rect(Screen.width/13,Screen.height/2.2f,Screen.width/6.5f,Screen.height/5),"ANTERIOR")){
SelecaoAtual = SelecaoAtual -1;
}
}
}
}
Script da DATA:
- Código:
using UnityEngine;
using System.Collections;
public class DATA : MonoBehaviour {
private GameObject[] Datas;
public static int PersonagemAInstanciar;
void Awake (){
Datas = GameObject.FindGameObjectsWithTag ("DATA");
if (Datas.Length >= 2) {
Destroy(Datas[0]);
}
DontDestroyOnLoad (transform.gameObject);
}
}
Script para Instanciar
- Código:
using UnityEngine;
using System.Collections;
public class Instanciador : MonoBehaviour {
public Vector3 PosicaoParaInstanciar;
public float RotacaoEmX,RotacaoEmY,RotacaoEmZ;
public GameObject[] Players;
void Start () {
Instantiate (Players [DATA.PersonagemAInstanciar], PosicaoParaInstanciar, Quaternion.Euler (RotacaoEmX, RotacaoEmY, RotacaoEmZ));
}
}
Última edição por MarcosSchultz em Ter Jun 07, 2016 8:45 pm, editado 1 vez(es)
Re: [TUTORIAL] Sistema de escolha de personagens
muito bom meu amigo, estou fazendo nesse momento esse tutorial, muito obrigado
williampereira21- Iniciante
- PONTOS : 3568
REPUTAÇÃO : 1
Re: [TUTORIAL] Sistema de escolha de personagens
Mano,Seu canal e FODAAAAAAAAAAAAAA melhor Canal De scripts C# que eu ja vi
GabrielWorks- Iniciante
- PONTOS : 3434
REPUTAÇÃO : 5
Re: [TUTORIAL] Sistema de escolha de personagens
meu unity 4.6.4.1f e não sei porque não aparece a imagem da textura me ajuda ai !!obrigado fora isso seus tutorias são show..
valdir- Iniciante
- PONTOS : 3357
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
Corrigindo ai !!com o seus escript ficou show!!!
valdir- Iniciante
- PONTOS : 3357
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
Estou tendo um problema , quando vou adicionar um script aparece :
Pqquim- Iniciante
- PONTOS : 3290
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
Eu acho que o nome do script tem que ser igual ao nome da classe
Renan Arruda- Membro
- PONTOS : 3341
REPUTAÇÃO : 3
Idade : 28
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
Pqquim escreveu:Estou tendo um problema , quando vou adicionar um script aparece :
É por que você só copiou o código e nem viu o tutorial -.-
O nome da classe está diferente do nome do script
Re: [TUTORIAL] Sistema de escolha de personagens
Nao é que eu nao vi , mas é porque sou meio novato nisso . Tenho que deixar com o mesmo nome que voce deixou no video entao , porque se for isso eu ja tentei e ocorreu o mesmo erro . Se der pra explicar um pouco mais oque significa ''mesmo nome da classe" me ajuda mesmo :D
Pqquim- Iniciante
- PONTOS : 3290
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
nome da classe é isso:
O nome que estiver ali deve ser o mesmo nome do script
- Código:
public class NomeDaClasse : MonoBehaviour {
O nome que estiver ali deve ser o mesmo nome do script
Re: [TUTORIAL] Sistema de escolha de personagens
Esta o mesmo , parece que agora esta indo corretamente , estranho que quando deu erro eu fiz a mesma coisa . Bom obrigado e desculpa o incomodo . Se possivel voce poderia ensinar a fazer um metodo de leaderboard (tabela de liderança) para colocar dentro do jogo , mostrando os melhores players . Obrigado
Pqquim- Iniciante
- PONTOS : 3290
REPUTAÇÃO : 1
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
serve pra jogo 2d ?
jefersonguidio- Iniciante
- PONTOS : 3288
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
Da Pra Add GUISkin??????????
Animdude- Membro
- PONTOS : 3374
REPUTAÇÃO : 1
Respeito as regras :
hellkiller- Mestre
- PONTOS : 4053
REPUTAÇÃO : 170
Áreas de atuação : Programação em C#,
Modelagem,
GameArt.
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
Este tutorial é o que eu estava precisando, vlw Marcos :D
Nork- Iniciante
- PONTOS : 3187
REPUTAÇÃO : 0
Re: [TUTORIAL] Sistema de escolha de personagens
Mano poderia fazer um sistema nesse script de player ter q comprar os personagens ou ter tantos pontos para desbloquear
LegendGames- Membro
- PONTOS : 3242
REPUTAÇÃO : 6
Idade : 24
Áreas de atuação : programação
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
Ola Eu gostaria de saber se em vez de texturas poderiam ser usados GameObjects ? Se sim Como ?
desde já Grato.
desde já Grato.
Soulphantom- Membro
- PONTOS : 3225
REPUTAÇÃO : 3
Idade : 24
Áreas de atuação : PHP,HTML,C#,Blender etc
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
Teria que refazer o sistema para poder usar GameObjects, por que o sistema atual atua só na void OnGUI, e para usar GameObjects, teria que ser na Update, usando SetActive para ativa-los e desativa-los
Re: [TUTORIAL] Sistema de escolha de personagens
Poderia Fazer um assim eu acho muito massa com GameObjects eu tentei com ajuda de um cara aki no forum so q num da certo pois não sei como colocar o int no game object pra contar na lista e poder selecionar o character no momento eu so coloco na tela o Personagem Selecionado(CharacterSelect) Mas eu quero colocar o Character você pode me ajudar ? Desde já muito Obrigado :D :D :D :D
- Código:
public class Select : MonoBehaviour
{
public GameObject[] characters;
public GameObject characterSelected;
public Vector3 posicao, rotacao ;
public int selecao ;
private int indexCharacterSelected;
void Start()
{
}
void Update()
{
SelectCharacterClick();
indexCharacterSelected = Mathf.Clamp(indexCharacterSelected, 0, characters.Length);
if (indexCharacterSelected > -1)
{
characterSelected = characters[indexCharacterSelected];
}
if (Input.GetKeyDown("e"))
{
selecao = selecao +1;
}
if (Input.GetKeyDown("q"))
{
selecao = selecao -1;
}
}
void SelectCharacterClick()
{
if (Input.GetMouseButtonDown(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hit;
bool clickOverCharacter = Physics.Raycast(ray, out hit);
if (clickOverCharacter)
{
indexCharacterSelected = Array.IndexOf(characters, hit.collider.gameObject);
}
Instantiate(characterSelected, posicao, Quaternion.Euler(rotacao));
}
}
}
Soulphantom- Membro
- PONTOS : 3225
REPUTAÇÃO : 3
Idade : 24
Áreas de atuação : PHP,HTML,C#,Blender etc
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
Crie um script em C# com o nome "EscolhaDoPlayer" e utilize este código nele:
Agora, crie um script com o nome "DATA" (em C#) e utilize este código nele:
Jogue o script em um objeto vazio, e coloque neste objeto vazio a tag "DATA"
Agora basta jogar os objetos nas variáveis dos personagens e colocar o nome da cena de jogo (no script de seleção do player).
Os objetos que devem ser jogados na array "Personagem", são objetos em cena, objetos normais, que devem estar todos afrente da camera, para serem vistos na seleção.
- Código:
using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;
public class EscolhaDoPlayer : MonoBehaviour {
public GameObject[] Personagem;
public string nomeCenaJogo;
private int SelecaoAtual;
void Start (){
SelecaoAtual = 0;
TrocarSelecao (SelecaoAtual);
}
void TrocarSelecao(int indice){
for (int x = 0; x < Personagem.Length; x++) {
Personagem [x].SetActive (false);
}
Personagem [indice].SetActive (true);
}
void OnGUI (){
//SELECAO DO PERSONAGEM
if (GUI.Button (new Rect (Screen.width / 2f - Screen.width / 14f, Screen.height / 2f + Screen.height / 2.5f, Screen.width / 7f, Screen.height / 16f), "SELECIONAR")) {
DATA.PersonagemAInstanciar = SelecaoAtual;
SceneManager.LoadScene (nomeCenaJogo);
}
//IFS
if (SelecaoAtual == 0) {
TrocarSelecao (SelecaoAtual);
//mudar selecao
if(GUI.Button (new Rect(Screen.width/1.3f,Screen.height/2.2f,Screen.width/6.5f,Screen.height/5),"PROXIMO")){
SelecaoAtual = SelecaoAtual +1;
}
}
//
if (SelecaoAtual > 0 && SelecaoAtual < (Personagem.Length - 1)) {
TrocarSelecao (SelecaoAtual);
//mudar selecao
if(GUI.Button (new Rect(Screen.width/1.3f,Screen.height/2.2f,Screen.width/6.5f,Screen.height/5),"PROXIMO")){
SelecaoAtual = SelecaoAtual +1;
}
if(GUI.Button (new Rect(Screen.width/13,Screen.height/2.2f,Screen.width/6.5f,Screen.height/5),"ANTERIOR")){
SelecaoAtual = SelecaoAtual -1;
}
}
//
if (SelecaoAtual >= (Personagem.Length - 1)) {
TrocarSelecao (SelecaoAtual);
//mudar selecao
if(GUI.Button (new Rect(Screen.width/13,Screen.height/2.2f,Screen.width/6.5f,Screen.height/5),"ANTERIOR")){
SelecaoAtual = SelecaoAtual -1;
}
}
}
}
Agora, crie um script com o nome "DATA" (em C#) e utilize este código nele:
- Código:
using UnityEngine;
using System.Collections;
public class DATA : MonoBehaviour {
private GameObject[] Datas;
public static int PersonagemAInstanciar;
void Awake (){
Datas = GameObject.FindGameObjectsWithTag ("DATA");
if (Datas.Length >= 2) {
Destroy(Datas[0]);
}
DontDestroyOnLoad (transform.gameObject);
}
}
Jogue o script em um objeto vazio, e coloque neste objeto vazio a tag "DATA"
Agora basta jogar os objetos nas variáveis dos personagens e colocar o nome da cena de jogo (no script de seleção do player).
Os objetos que devem ser jogados na array "Personagem", são objetos em cena, objetos normais, que devem estar todos afrente da camera, para serem vistos na seleção.
Re: [TUTORIAL] Sistema de escolha de personagens
Vlw cara eu tava louco atras de um código assim muito obrigado mesmo !!! :D :D :D
Soulphantom- Membro
- PONTOS : 3225
REPUTAÇÃO : 3
Idade : 24
Áreas de atuação : PHP,HTML,C#,Blender etc
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
Olá Marcos uma dúvida, no caso de ter um jogo multiplayer onde teríamos no exemplo 6 personagens, eu seleciono 1, e posteriormente cada jogador irá selecionar o seu mediante o restante que ficaram, isso é se tinham 6 e eu selecionei 1 ficaram 5 e assim gradativamente eles iriam sendo eliminados da lista mediante as escolhas. A minha dúvida seria se esse script possibilita fazer isso, de modo que ao entrar no jogo, cada jogador estará com o personagem selecionado anteriormente. Obrigado!
Convidado- Convidado
Re: [TUTORIAL] Sistema de escolha de personagens
teria que fazer algumas alterações não e complicado talvez um pouco trabalhoso por envolver multiplayer
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
Sergiocso escreveu:Olá Marcos uma dúvida, no caso de ter um jogo multiplayer onde teríamos no exemplo 6 personagens, eu seleciono 1, e posteriormente cada jogador irá selecionar o seu mediante o restante que ficaram, isso é se tinham 6 e eu selecionei 1 ficaram 5 e assim gradativamente eles iriam sendo eliminados da lista mediante as escolhas. A minha dúvida seria se esse script possibilita fazer isso, de modo que ao entrar no jogo, cada jogador estará com o personagem selecionado anteriormente. Obrigado!
Complicado...
Para fazer isto que você quer, você precisa trabalhar com "list", system.collections.generic, e possivelmente, bando de dados.
É na verdade um sisteminha bem chatinho de se fazer, por causa dos atrasos na conexão, etc... já tentei algo parecido uma vez, mas eh beeem chato de trabalhar
Re: [TUTORIAL] Sistema de escolha de personagens
Na hora de jogar lá a imagem não aparece nada, segui passo a passo o tutorial. Alguem sabe o que pode ser? testei imagens com várias resoluções diferentes e nada..
ldmaia- Iniciante
- PONTOS : 2986
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
ldmaia escreveu:Na hora de jogar lá a imagem não aparece nada, segui passo a passo o tutorial. Alguem sabe o que pode ser? testei imagens com várias resoluções diferentes e nada..
qual o formato das texturas? estão como sprite ou texture?
Re: [TUTORIAL] Sistema de escolha de personagens
MarcosSchultz escreveu:ldmaia escreveu:Na hora de jogar lá a imagem não aparece nada, segui passo a passo o tutorial. Alguem sabe o que pode ser? testei imagens com várias resoluções diferentes e nada..
qual o formato das texturas? estão como sprite ou texture?
Tão em formato png.
ldmaia- Iniciante
- PONTOS : 2986
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
Tem como postar uma print das imagens linkadas no script? o sistema é feito com GUI ainda... TEM que aparecer.
ldmaia- Iniciante
- PONTOS : 2986
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
Isto não faz o menor sentido O.o
Você seguiu todo o tutorial? está com os scripts Data e Instantiate nas cenas corretas?
Não faz sentido não funcionar
Você seguiu todo o tutorial? está com os scripts Data e Instantiate nas cenas corretas?
Não faz sentido não funcionar
Re: [TUTORIAL] Sistema de escolha de personagens
Pior que já, Mas por via das dúvidas vou fazer do 0 novamente pra ver...
Obrigado Marcos, se eu descobrir o que foi eu posto aqui pra se alguem tiver o mesmo problema.
Obrigado Marcos, se eu descobrir o que foi eu posto aqui pra se alguem tiver o mesmo problema.
ldmaia- Iniciante
- PONTOS : 2986
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
alguém pode me explicar como usar public static int PersonagemAInstanciar com dois personagem para fazer um jogo de luta,tipo a seleção de mk.
ronanbastos- Iniciante
- PONTOS : 3448
REPUTAÇÃO : 0
Idade : 29
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
ronanbastos escreveu:alguém pode me explicar como usar public static int PersonagemAInstanciar com dois personagem para fazer um jogo de luta,tipo a seleção de mk.
Cara, ai você não vai usar simplesmente um instantiate... você vai ter que elaborar um gerenciador de cena beeeem complexo, pois você precisa setar qual personagem terá o controle para os hits, etc, etc... Isso eh bem complicado.
Re: [TUTORIAL] Sistema de escolha de personagens
legal, sabe como fazer para ao invez de escolher um dos personagems escolher os objetos como cabelo, olhos etc para ir para o personagem?
leandroinforware- Membro
- PONTOS : 3010
REPUTAÇÃO : 1
Idade : 26
Áreas de atuação : Aprendiz C# & Unity 3D
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
o principio e o mesmo
Weslley- Moderador
- PONTOS : 5726
REPUTAÇÃO : 744
Idade : 26
Áreas de atuação : Inversión, Desarrollo, Juegos e Web
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
o meu deu certo mas o meu Volante UI para de funcionar e da o seguint erro
HeF Soft- Membro
- PONTOS : 2848
REPUTAÇÃO : 4
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
este erro não tem a ver com este tópico...HeF Soft escreveu:o meu deu certo mas o meu Volante UI para de funcionar e da o seguint erro
O erro é em algum objeto da sua cena que possua o script "BarrinhaRebaixar"... Esta faltando associar algum UI a ma variável.
Re: [TUTORIAL] Sistema de escolha de personagens
mas eu ja associei, esse erro não aparece se eu der play na minha cena do jogo, ele só aparece se eu der play no menu de seleção
HeF Software- Membro
- PONTOS : 2852
REPUTAÇÃO : 7
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
Crie um tópico para esta dúvida em especial, postando o script e uma print do inspector deste mesmo script.
Re: [TUTORIAL] Sistema de escolha de personagens
oque posso fazer para colocar modelos 3D ou invés de texturas ?
bitgames- Iniciante
- PONTOS : 2729
REPUTAÇÃO : 1
Idade : 23
Áreas de atuação : Usuário iniciante em C#.
Usuário inciante em Unity 5.
usuário iniciante em Sketchup.
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
bitgames escreveu:oque posso fazer para colocar modelos 3D ou invés de texturas ?
Usar .enabled ou trocar a mesh do modelo...
Re: [TUTORIAL] Sistema de escolha de personagens
MANO O MEU NAO ESTA DANDO CERTO O CARRO FICA INVISIVEL E NAO VAI PARA OUTRA CENA
heliab125- Membro
- PONTOS : 2872
REPUTAÇÃO : 4
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
Ja tentou ?
- Código:
objetoPersonagem.SetActive (false);//Desativar
- Código:
objetoPersonagem.SetActive (true);//ativar
Re: [TUTORIAL] Sistema de escolha de personagens
o meu fucionou perfeitamente mais tem um pequeno ero quando passa para a outra sena as sobras ficam bugadas
Vini32- Iniciante
- PONTOS : 2518
REPUTAÇÃO : 0
Respeito as regras :
Re: [TUTORIAL] Sistema de escolha de personagens
Galera boa tarde!
Iniciante aqui, adorando o Forum.
Como ficaria este Script se quando pressione a tecla F transformasse o Personagem1 transforma no Personagem2, pressionando novamente, Personagem2 transforma em Personagem1.
Tentei alguns IF mais ainda estou entendendo a logica.
Parabens a todos, apredendo muito aqui.
Iniciante aqui, adorando o Forum.
Como ficaria este Script se quando pressione a tecla F transformasse o Personagem1 transforma no Personagem2, pressionando novamente, Personagem2 transforma em Personagem1.
Tentei alguns IF mais ainda estou entendendo a logica.
Parabens a todos, apredendo muito aqui.
xgilmar- Iniciante
- PONTOS : 1275
REPUTAÇÃO : 0
Respeito as regras :
Tópicos semelhantes
» [TUTORIAL] Desbloqueio e Escolha de Personagens.
» [TUTORIAL] Sistema simples de SEMÁFORO (sinaleira), com tempo entre fases, escolha da fase inicial e troca de cor dos materiais
» Sistema de Escolha de Skin!
» Sistema de Escolha de Player no Multiplayer
» Sistema de desbloqueio de personagens
» [TUTORIAL] Sistema simples de SEMÁFORO (sinaleira), com tempo entre fases, escolha da fase inicial e troca de cor dos materiais
» Sistema de Escolha de Skin!
» Sistema de Escolha de Player no Multiplayer
» Sistema de desbloqueio de personagens
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos