Duvida
4 participantes
Página 1 de 1
Duvida
Como consigo fazer o butao escolhido fica no lugar do butao anterio igual a imagem sem BeginArea
Chilinger- MembroAvançado
- PONTOS : 4091
REPUTAÇÃO : 42
Idade : 30
Respeito as regras :
Re: Duvida
Haha jogava pacas Red Crucible...ainda devo ter uma conta...
Mas enfim. Ha centenas de modos. Mas tu precisa mostrar o script que voce ja fez até agora.
Mas enfim. Ha centenas de modos. Mas tu precisa mostrar o script que voce ja fez até agora.
RenanMSV- Instrutor
- PONTOS : 4483
REPUTAÇÃO : 356
Áreas de atuação : Programação em C#, PHP. SQL, JavaScript (Web)
Respeito as regras :
Re: Duvida
A primeira imagem e do CS e eu nao sei como fazer.
A imagem Red Crucible volta a joga esta show, vou colocar o script.
A imagem Red Crucible volta a joga esta show, vou colocar o script.
- Código:
using UnityEngine;
using System.Collections;
public class casa2 : MonoBehaviour {
public Texture[] TextureMap;
public string[] NameMap;
public string[] infoMap;
public GameObject[] ObjectMap;
private int SelectionMap = 0;
private bool AC = true;
private string _salanome = "";
bool mododejogo;
bool showDate;
GUI.Box (new Rect (5, 20, largura - 10, altura - 59),"");
GUI.Box (new Rect (5, 60, largura - 10, altura - 100),"");
if (GUI.Button(new Rect(largura - 890, altura - 525, 100, 30), "CRIAR"))
showDate = !showDate;
if(showDate){
GUI.BeginGroup(new Rect(30, 70,600, 420));
GUI.Box(new Rect(0, 0, 410, 395), "");
GUI.Label(new Rect(100, 10 , 130, 30),"Nome da partida:");
_salanome = GUI.TextField(new Rect(230, 10 , 130, 30),_salanome,(20));
GUI.Label(new Rect(30, 50 , 80, 30),"Tipo:");
if(GUI.Button(new Rect(240, 50 , 35, 30),"▼")){
mododejogo = !mododejogo;
}
GUI.Label(new Rect(110, 90 , 140, 30),"Escolha a Sala:");
if (AC == true) {
GUI.DrawTexture (new Rect (110, 120 , 170, 150), TextureMap [SelectionMap]);
GUI.Label (new Rect (220, 90 , 130, 30), NameMap [SelectionMap]);
GUI.Box (new Rect (80, 280 , 235, 100), "informações do Mapa");
GUI.Label (new Rect (90, 300 , 230, 100), infoMap [SelectionMap]);
if (GUI.Button (new Rect(280, 180 , 45, 30), "►")) {
if (SelectionMap < TextureMap.Length - 1) {
SelectionMap++;
} else {
SelectionMap = 0;
}
}
if (GUI.Button (new Rect (60, 180 , 45, 30), "◄")) {
if (SelectionMap > 0) {
SelectionMap--;
} else {
SelectionMap = TextureMap.Length - 1;
}
}
}
if(mododejogo){
GUI.BeginGroup(new Rect(65, 50,180, 345));
GUI.Box(new Rect(0, 0, 170, 340), "");
GUI.Button(new Rect(5, 5 , 160, 40),"Todos contra todos");
GUI.Button(new Rect(5, 45 , 160, 40),"Ultimo vivo");
GUI.Button(new Rect(5, 85 , 160, 40),"Equipe contra equipe");
GUI.Button(new Rect(5, 125 , 160, 40),"Boot");
GUI.Button(new Rect(5, 165 , 160, 40),"Raça contra raça");
GUI.Button(new Rect(5, 205 , 160, 40),"So espada");
GUI.Button(new Rect(5, 245 , 160, 40),"Missao");
GUI.Button(new Rect(5, 285 , 160, 40),"");
GUI.EndGroup();
}
GUI.EndGroup();
}
if (GUI.Button(new Rect(largura - 220, altura - 35, 100, 30), "MERCADO"))currentJanela = Janelas.MERCADO;
if (GUI.Button(new Rect(largura - 300, altura - 35, 70, 30), "CASA"))currentJanela = Janelas.CASA;
if (GUI.Button(new Rect(largura - 400, altura - 35, 90, 30), "OPCAO"))currentJanela = Janelas.OPCAO;
if (GUI.Button(new Rect(largura - 115, altura - 35, 90, 30), "SAIR"))Application.Quit();
}
}
Chilinger- MembroAvançado
- PONTOS : 4091
REPUTAÇÃO : 42
Idade : 30
Respeito as regras :
Re: Duvida
Sim mas com a antiga GUI
Chilinger- MembroAvançado
- PONTOS : 4091
REPUTAÇÃO : 42
Idade : 30
Respeito as regras :
Re: Duvida
Chilinger escreveu:Sim mas com a antiga GUI
Antiga GUI? bah, não aconselho continuar muito com ela... A unity só está aconselhando para usos em edição do editor, como custom inspector, etc, etc... más a UI eh mais leve e muito mais prática
Da uma olhada, depois que você acostuma, eh muito prático.
Re: Duvida
Sim eu sei so que so falta isso e outras coisa para termina meu projeto.Como a primeira imagem como consigo fazer uma GUI.Texfield quando achar a tecla do teclado e coloca no lugar da que estiver ativa.
Chilinger- MembroAvançado
- PONTOS : 4091
REPUTAÇÃO : 42
Idade : 30
Respeito as regras :
Re: Duvida
- Código:
//Script GUIExtends.cs
//By Chewie
using UnityEngine;
using System;
public static class GUIExtends {
//Menu drop com Enumeradores
public static T MenuDrop<T>(Rect rect, T value, ref bool open){
return MenuDrop(rect, value, ref open, GUI.skin.button);
}
//Menu drop com Enumeradores + GUIStyle
public static T MenuDrop<T>(Rect rect, T value, ref bool open, GUIStyle style){
if(GUI.Button(rect, value.ToString(), style))
open = !open;
if(open){
string[] names = Enum.GetNames(value.GetType());
int jump = 0;
for(int i = 0; i < names.Length; i++){
string name = names[i];
if(name == value.ToString()){
jump++;
continue;
}
if(GUI.Button(new Rect(rect.x, (i - jump) * rect.height + rect.y + rect.height, rect.width, rect.height), name, style)){
open = false;
value = (T)Enum.Parse(value.GetType(), name);
}
}
}
return value;
}
//Menu drop com List
public static int MenuDrop(Rect rect, string[] names, int index, ref bool open){
return MenuDrop(rect, names, index, ref open, GUI.skin.button);
}
//Menu drop com Lista + Style
public static int MenuDrop(Rect rect, string[] names, int index, ref bool open, GUIStyle style){
if(GUI.Button(rect, names[index]))
open = !open;
if(open){
int jump = 0;
for(int i = 0; i < names.Length; i++){
string name = names[i];
if(i == index){
jump++;
continue;
}
if(GUI.Button(new Rect(rect.x, (i - jump) * rect.height + rect.y + rect.height, rect.width, rect.height), name)){
open = false;
index = i;
}
}
}
return index;
}
public static bool MenuDropCallBack(Rect rect, bool open, Type enumType, Action<object> callback){
return MenuDropCallBack(rect, open, enumType, callback, GUI.skin.button);
}
public static bool MenuDropCallBack(Rect rect, bool open, Type enumType, Action<object> callback, GUIStyle style){
string[] names = Enum.GetNames(enumType);
if(open){
for(int i = 0; i < names.Length; i++){
string name = names[i];
if(GUI.Button(new Rect(rect.x, i * rect.height + rect.y, rect.width, rect.height), name, style)){
open = false;
if(callback != null)
callback.Invoke(Enum.Parse(enumType, name));
}
}
}else{
if(GUI.Button( rect, names[0])){
open = !open;
}
}
return open;
}
}
Esse codigo irá servir de teste :
- Código:
//Script Teste.cs
using UnityEngine;
using System.Collections;
public class Teste : MonoBehaviour {
public enum Equipe{
Branco,
Vermelho,
Azul,
}
public enum Classe{
Fuzileiro,
Demolidor,
Arqueiro,
Xama
}
public enum Forma{
Cubo,
Esfera,
Cilindro,
}
public Equipe enumEquipe;
public bool blEquipe;
public Classe enumClasse;
public bool blClasse;
public bool blForma;
private GameObject go;
void Update(){
if(go != null){
if(enumEquipe == Equipe.Vermelho){
go.GetComponent<MeshRenderer>().material.color = Color.red;
}else if(enumEquipe == Equipe.Branco){
go.GetComponent<MeshRenderer>().material.color = Color.white;
}else{
go.GetComponent<MeshRenderer>().material.color = Color.blue;
}
}
}
void OnGUI(){
//Com Callback
blForma = GUIExtends.MenuDropCallBack(new Rect( 0, 0, 100, 30), blForma, typeof(Forma), MudarForma);
if(go != null){
//Normal
enumEquipe = GUIExtends.MenuDrop(new Rect( 100, 0, 100, 30), enumEquipe, ref blEquipe);
enumClasse = GUIExtends.MenuDrop(new Rect( 200, 0, 100, 30), enumClasse, ref blClasse);
}
}
void MudarForma(object ob){
if(go != null)
Destroy(go);
switch((Forma)ob){
case Forma.Cubo:
go = GameObject.CreatePrimitive(PrimitiveType.Cube);
break;
case Forma.Esfera:
go = GameObject.CreatePrimitive(PrimitiveType.Sphere);
break;
case Forma.Cilindro:
go = GameObject.CreatePrimitive(PrimitiveType.Cylinder);
break;
}
}
}
Bom, eu não vejo o Legacy GUI como algo obsoleto ainda. Vejo que muitos programadores estão na fase de transição entre UI e GUI, eles falam que a UI é muitos mais eficiente, mas ainda prefiro mexer com GUI, pois não gosto de lidar com gameObjects em prefabs e tals:.
Chewbacca- Iniciante
- PONTOS : 3233
REPUTAÇÃO : 2
Idade : 27
Respeito as regras :
Re: Duvida
De fato a GUI ainda pode ser usada, e aliás, é o único meio de editar o editor, fazer custom Inspector, etc, etc...
Más o que digo é que ela torna-se muito mais fácil para algumas outras coisas, por exemplo... no meu tutorial de Menu com UI, eu fiz uma DropDown em 3 segundos... Já com a GUI, seria uma confusão só, com for, etc,etc.
Então, para quem é experiente em programação, talvez não tenha tanta diferença, más para iniciantes, a UI eh uma maravilha, pois traz diversas coisas complicadas como barra de rolagem, DropDown, Togg, etc, tudo pronto.
Más o que digo é que ela torna-se muito mais fácil para algumas outras coisas, por exemplo... no meu tutorial de Menu com UI, eu fiz uma DropDown em 3 segundos... Já com a GUI, seria uma confusão só, com for, etc,etc.
Então, para quem é experiente em programação, talvez não tenha tanta diferença, más para iniciantes, a UI eh uma maravilha, pois traz diversas coisas complicadas como barra de rolagem, DropDown, Togg, etc, tudo pronto.
Re: Duvida
Nao tem algo mas simples ai gente
Chilinger- MembroAvançado
- PONTOS : 4091
REPUTAÇÃO : 42
Idade : 30
Respeito as regras :
Re: Duvida
MarcosSchultz escreveu:De fato a GUI ainda pode ser usada, e aliás, é o único meio de editar o editor, fazer custom Inspector, etc, etc...
Más o que digo é que ela torna-se muito mais fácil para algumas outras coisas, por exemplo... no meu tutorial de Menu com UI, eu fiz uma DropDown em 3 segundos... Já com a GUI, seria uma confusão só, com for, etc,etc.
Então, para quem é experiente em programação, talvez não tenha tanta diferença, más para iniciantes, a UI eh uma maravilha, pois traz diversas coisas complicadas como barra de rolagem, DropDown, Togg, etc, tudo pronto.
Sim, concordo contigo nessa questão de iniciante, mas ainda não vejo a GUI como algo extinto para a interface. Esse script é meio que intermediario, então pra quem esta começando agora, fica meio que dificil a compreensão.
Eu gosto muito de trabalhar com script em vez de fazer as coisas na mão, eu sei que estou em desvantagens em questão de praticidade, mas fazer oque gosto de hobbies é um deles é programar.
Chewbacca- Iniciante
- PONTOS : 3233
REPUTAÇÃO : 2
Idade : 27
Respeito as regras :
Tópicos semelhantes
» [Duvida] Duvida Com script de mover em direção ao mouse.
» [DÚVIDA] Dúvida sobre script e rigidbody
» Duvida
» [DUVIDA] ADS Em app WPF.NET ?
» ///Duvida///
» [DÚVIDA] Dúvida sobre script e rigidbody
» Duvida
» [DUVIDA] ADS Em app WPF.NET ?
» ///Duvida///
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos