Отрисовка интерфейса, вопрос новичка

Программирование на Юнити.

Отрисовка интерфейса, вопрос новичка

Сообщение Krubbs 04 апр 2012, 10:39

Доброго времени суток!
Итак, стоит следующая задача: вывести интерфейс и сделать его интерактивным. Суть состоит в следующем:
Изображение
1) Имеются 3 кнопки, размещенные на подложке. Точнее говоря, подложка и 3 кнопки с альфой. Их нужно аккуратно расположить в углу экрана (GameObject -> Create Other -> GUI Texture не канает, кнопки разъезжаются по плашке с изменением разрешения монитора), как это сделать с помощью скрипта (c#) ?
2) А теперь кнопки надо сделать "интерактивными", т.е. есть возможность нажать на них.
3) Предположим, что под кнопками находится еще и скролл-бар, опять же нарисованный мною. Как его расположить, я пойму исходя из ответа на 1 вопрос, а вот как его сделать функционально таким же, как и обычный GUILayout.HorizontalScrollbar (c#) ?

Критически важно написать все это дело на (c#), ибо при нажатии на кнопки будут изменяться компоненты соседних скриптов в сцене.
Krubbs
UNец
 
Сообщения: 39
Зарегистрирован: 20 мар 2012, 10:02

Re: Отрисовка интерфейса, вопрос новичка

Сообщение kalach 04 апр 2012, 10:56

у меня примерно так:

Синтаксис:
Используется csharp
        for(int i=0; i<myInput.touchesCount; i++){
                        if(hitTest(myInput.touches[i])){
                                touchNumber = i;
                                break;
                        }
                }
//ну а тут обработка тача в зависимости от логики объекта
 
kalach
UNец
 
Сообщения: 34
Зарегистрирован: 04 апр 2012, 09:28

Re: Отрисовка интерфейса, вопрос новичка

Сообщение Order 04 апр 2012, 10:57

Синтаксис:
Используется csharp
       
        JoyButtonsCount = 8;
        JoyButtons = new Button[JoyButtonsCount];
        JoyButtons[0] = new Button("ButtonJoy", new Vector2(100,100), 50);

        public class Button
        {
                public string ButtonName;
                public Vector2 Pos;
                public Vector2 CurentPos;
                public Vector2 RectV2;
                public GameObject ButtonGO;
                public Rect ButtonRect;
                public GUITexture ButtonGUI;
                public float Scale;
                public bool On;
               
                public Button(string ButtonName,Vector2 Pos, float Scale)
                {
                        this.ButtonName = ButtonName;
                        this.Pos = Pos;
                        this.CurentPos = Pos;
                        this.Scale = Scale;
                       
                        ButtonRect = new Rect(Pos.x - Scale * Main.HeightUnit, Pos.y - Scale * Main.HeightUnit, Pos.x + Scale * Main.HeightUnit, Pos.y + Scale * Main.HeightUnit);
                       
                        ButtonGO = new GameObject(ButtonName);
                        ButtonGO.transform.position = Vector3.zero;
                        ButtonGO.transform.localScale = Vector3.zero;
                        ButtonGO.name = ButtonName;
                        ButtonGO.AddComponent(typeof(GUITexture));
                        ButtonGUI = ButtonGO.GetComponent<GUITexture>();       
                        ButtonGUI.texture = (Texture)Resources.Load("Joy/"+ButtonName);
                        ButtonGUI.pixelInset = ButtonRect;
                        ButtonGO.active = false;
                }

                        foreach (Touch touch in Input.touches)
                        {
if(mJoy.JoyButtons[0].ButtonGUI.HitTest(touch.position) && MouseOn) {mJoy.JoyButtons[0].On = true;

if(mJoy.JoyButtons[0].ButtonGUI.HitTest(Input.mousePosition) && MouseOn) {mJoy.JoyButtons[0].On = true;


 
Добавить rusorder в Skype , _juc4you@mail.ru ;
Платные консультации, программирование ваших проектов Unity3d,C#,IOS,Android.
Скрытый текст:
_ttp://www.youtube.com/watch?v=1m2qTnatSjM&list=UUjcKNvONEUHCILG7QrX1NFg
Order
Старожил
 
Сообщения: 805
Зарегистрирован: 21 фев 2010, 10:34

Re: Отрисовка интерфейса, вопрос новичка

Сообщение Krubbs 04 апр 2012, 11:41

Так, народ, по ходу дела я уже разобрался с первыми двумя вопросами... а вот с последним не представляю как работать
Krubbs
UNец
 
Сообщения: 39
Зарегистрирован: 20 мар 2012, 10:02

Re: Отрисовка интерфейса, вопрос новичка

Сообщение Order 04 апр 2012, 13:08

Ловишь нажатие кнопки, и меняешь позицию кнопки по нужной оси, беря координаты мышки.
Добавить rusorder в Skype , _juc4you@mail.ru ;
Платные консультации, программирование ваших проектов Unity3d,C#,IOS,Android.
Скрытый текст:
_ttp://www.youtube.com/watch?v=1m2qTnatSjM&list=UUjcKNvONEUHCILG7QrX1NFg
Order
Старожил
 
Сообщения: 805
Зарегистрирован: 21 фев 2010, 10:34


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14