|
Общие вопросы вопросы не попадающие ни в один из доступных разделов |
22.01.2011, 19:17
|
#1
|
AnyKey`щик
Регистрация: 22.01.2011
Сообщений: 6
Написано 0 полезных сообщений (для 0 пользователей)
|
Помогите разобраться
В общем у меня есть скрипт
public class Class: ModifiedStat { private int _classCharacter; public Class(){ _classCharacter =0; } } public enum ClassName{ Warrior, Wizard }
при выводе ClassName с помощью
for(int cnt = 0; cnt < Enum.GetValues(typeof(ClassName)).Length; cnt++ ){ GUI.Label(new Rect(400, 40 + ((cnt ) * 21), 100, 21), ((ClassName)cnt).ToString() );
он выводяться вместе
а можно ли сделать чтобы они выводились по одному и с помощью двух кнопок переключать между Warrior и Wizard?
|
(Offline)
|
|
22.01.2011, 19:20
|
#2
|
AnyKey`щик
Регистрация: 22.01.2011
Сообщений: 6
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Помогите разобраться
Или сделать так
public enum Warrior{ Warrior, } public enum Wizard{ Wizard }
а потом уже переключать?
|
(Offline)
|
|
22.01.2011, 19:51
|
#3
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Помогите разобраться
Чет писец не понятно, объясни что нужно по порядку.
|
(Offline)
|
|
22.01.2011, 20:12
|
#4
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Помогите разобраться
Если я правильно понял:
using System; using UnityEngine;
public class Character : MonoBehaviour {
public CharacterClass characterClass = CharacterClass.Warrior;
public enum CharacterClass { Warrior, Wizard }
private CharacterClass[] _classes; public void Start() { var names = Enum.GetNames(typeof(CharacterClass)); _classes = new CharacterClass[names.Length]; for (int i = 0; i < names.Length; i++) { _classes[i] = (CharacterClass)Enum.Parse(typeof(CharacterClass), names[i]); } }
public void OnGUI() { GUILayout.BeginArea(new Rect(10, 10, 150, 300));
Color guiColor = GUI.color;
foreach (CharacterClass chClass in _classes) { GUI.color = chClass == characterClass ? Color.red : guiColor; if (GUILayout.Button(chClass.ToString())) { characterClass = chClass; } } GUI.color = guiColor;
GUILayout.EndArea();
} }
|
(Offline)
|
|
22.01.2011, 20:20
|
#5
|
AnyKey`щик
Регистрация: 22.01.2011
Сообщений: 6
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Помогите разобраться
спасибо можно и так но я думал осуществить прмиерно вот так
< Эт кнопка =))))
< Warrior >
и после переключения получается
< Wizard >
но имена классов берутся от туда ))
|
(Offline)
|
|
22.01.2011, 20:27
|
#6
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Помогите разобраться
Задачу надо объяснять правильно:
using System; using System.Collections.Generic; using UnityEngine;
public class Character : MonoBehaviour {
public CharacterClass characterClass = CharacterClass.Warrior;
public enum CharacterClass { Warrior, Wizard }
private List<CharacterClass> _classes = new List<CharacterClass>(); public void Start() { var names = Enum.GetNames(typeof(CharacterClass));
for (int i = 0; i < names.Length; i++) { _classes.Add((CharacterClass)Enum.Parse(typeof(CharacterClass), names[i])); } }
public void OnGUI() { GUILayout.BeginArea(new Rect(10, 10, 150, 300)); if (GUILayout.Button(characterClass.ToString())) { int index = _classes.IndexOf(characterClass) + 1; if (index >= _classes.Count) { index = 0; }
characterClass = _classes[index]; } GUILayout.EndArea();
} }
|
(Offline)
|
|
22.01.2011, 20:35
|
#7
|
AnyKey`щик
Регистрация: 22.01.2011
Сообщений: 6
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Помогите разобраться
Спасибо большое :
=)
|
(Offline)
|
|
27.01.2011, 19:21
|
#8
|
AnyKey`щик
Регистрация: 22.01.2011
Сообщений: 6
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Помогите разобраться
У меня опять вопрос по GUI =)
можно ли как то реализовать "склеивающиеся" GUI.Window
те есть два окна. window 1 и window 2, когда я претаскиваю одно окно к другому они должны прикрипиться друг к другу.
и так же если я возьму прикреплённое окно и перетаскиванием отсоеденю его от другого
|
(Offline)
|
|
27.01.2011, 20:50
|
#9
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Помогите разобраться
ну такое за Вас никто писать не будет. Создайте отдельный менеджер окон. Рисуйте и управляйте окнами через него.
|
(Offline)
|
|
27.01.2011, 21:01
|
#10
|
AnyKey`щик
Регистрация: 22.01.2011
Сообщений: 6
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Помогите разобраться
Сообщение от pax
ну такое за Вас никто писать не будет. Создайте отдельный менеджер окон. Рисуйте и управляйте окнами через него.
|
а я и не просил это пистаь за меня....
я как бы просто сросил как это можно реализовать вот и всё
|
(Offline)
|
|
27.01.2011, 21:36
|
#11
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Помогите разобраться
Ну я бы сделал класс окна с функцией OnGUI, наследовал бы все окна от него реализуя этот OnGUI. Выводил бы все окна через менеджер, в который добавлял все окна при создании. И через менеджер управлял бы прилипанием.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 12:44.
|