Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Unity > Общие вопросы

Общие вопросы вопросы не попадающие ни в один из доступных разделов

Ответ
 
Опции темы
Старый 22.01.2011, 19:17   #1
Ipe
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 0cnt Enum.GetValues(typeof(ClassName)).Lengthcnt++ ){
GUI.Label(new Rect(40040 + ((cnt ) * 21), 10021), ((ClassName)cnt).ToString() ); 
он выводяться вместе
а можно ли сделать чтобы они выводились по одному и с помощью двух кнопок переключать между Warrior и Wizard?
(Offline)
 
Ответить с цитированием
Старый 22.01.2011, 19:20   #2
Ipe
AnyKey`щик
 
Регистрация: 22.01.2011
Сообщений: 6
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите разобраться

Или сделать так
public enum Warrior
    
Warrior

public 
enum Wizard
    
Wizard 

а потом уже переключать?
(Offline)
 
Ответить с цитированием
Старый 22.01.2011, 19:51   #3
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Помогите разобраться

Чет писец не понятно, объясни что нужно по порядку.
(Offline)
 
Ответить с цитированием
Старый 22.01.2011, 20:12   #4
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 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 0names.Lengthi++)
        {
            
_classes[i] = (CharacterClass)Enum.Parse(typeof(CharacterClass), names[i]);
        }
    }


    public 
void OnGUI()
    {
        
GUILayout.BeginArea(new Rect(1010150300));

        
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
Ipe
AnyKey`щик
 
Регистрация: 22.01.2011
Сообщений: 6
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите разобраться

спасибо можно и так но я думал осуществить прмиерно вот так
< Эт кнопка =))))

< Warrior >
и после переключения получается
< Wizard >
но имена классов берутся от туда ))
(Offline)
 
Ответить с цитированием
Старый 22.01.2011, 20:27   #6
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 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 0names.Lengthi++)
        {
            
_classes.Add((CharacterClass)Enum.Parse(typeof(CharacterClass), names[i]));
        }
    }


    public 
void OnGUI()
    {
        
GUILayout.BeginArea(new Rect(1010150300));
        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
Ipe
AnyKey`щик
 
Регистрация: 22.01.2011
Сообщений: 6
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите разобраться

Спасибо большое :
=)
(Offline)
 
Ответить с цитированием
Старый 27.01.2011, 19:21   #8
Ipe
AnyKey`щик
 
Регистрация: 22.01.2011
Сообщений: 6
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите разобраться

У меня опять вопрос по GUI =)
можно ли как то реализовать "склеивающиеся" GUI.Window
те есть два окна. window 1 и window 2, когда я претаскиваю одно окно к другому они должны прикрипиться друг к другу.
и так же если я возьму прикреплённое окно и перетаскиванием отсоеденю его от другого
(Offline)
 
Ответить с цитированием
Старый 27.01.2011, 20:50   #9
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Помогите разобраться

ну такое за Вас никто писать не будет. Создайте отдельный менеджер окон. Рисуйте и управляйте окнами через него.
(Offline)
 
Ответить с цитированием
Старый 27.01.2011, 21:01   #10
Ipe
AnyKey`щик
 
Регистрация: 22.01.2011
Сообщений: 6
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Помогите разобраться

Сообщение от pax Посмотреть сообщение
ну такое за Вас никто писать не будет. Создайте отдельный менеджер окон. Рисуйте и управляйте окнами через него.
а я и не просил это пистаь за меня....
я как бы просто сросил как это можно реализовать вот и всё
(Offline)
 
Ответить с цитированием
Старый 27.01.2011, 21:36   #11
pax
Unity/C# кодер
 
Аватар для pax
 
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений
(для 5,323 пользователей)
Ответ: Помогите разобраться

Ну я бы сделал класс окна с функцией OnGUI, наследовал бы все окна от него реализуя этот OnGUI. Выводил бы все окна через менеджер, в который добавлял все окна при создании. И через менеджер управлял бы прилипанием.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 00:30.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com