GUI.Window - Форум Игроделов
Пн, 20 Май 2024, 00:47 
 
Приветствую Вас Гость Главная | Регистрация | Вход
Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум Игроделов » UNITY3D » ОБЩИЕ ВОПРОСЫ » GUI.Window
GUI.Window
ShmelДата: Сб, 07 Апр 2012, 15:13 | Сообщение # 1
 
Сообщений: 12
Награды: 0
Репутация: 0
Статус: Offline
Добрый день! У меня такой вопрос:
у меня есть окно (GUI.Window), его можно таскать, изменять размер двумя пальцами, так вот, размер можно изменять если пальцы находятся вне окна
вот пример:

Как можно реализовать что если пальцы находятся на окне то изменяем размер? я думаю что нужно использовать Contains, но вот какой оператор использовать?
Есть код:
Code
if(b)
{
GUI.DragWindow ();
  if(Input.touchCount == 2 &&Input.GetTouch(0).phase == TouchPhase.Moved && Input.GetTouch(1).phase == TouchPhase.Moved )
  {  

  myTouch = Input.GetTouch(0);
  myTouch2 = Input.GetTouch(1);
    }
       distanceOld = distance;
       distance = Vector2.Distance(myTouch.position, myTouch2.position);
       if (distance < distanceOld ) { //сдвинуть пальцы

windowRect1.width -= 5;
windowRect1.height -= 5;
       }
       if (distance > distanceOld ) {//раздвинуть пальцы

windowRect1.width += 5;
windowRect1.height += 5;
       }
}
}
 
СообщениеДобрый день! У меня такой вопрос:
у меня есть окно (GUI.Window), его можно таскать, изменять размер двумя пальцами, так вот, размер можно изменять если пальцы находятся вне окна
вот пример:

Как можно реализовать что если пальцы находятся на окне то изменяем размер? я думаю что нужно использовать Contains, но вот какой оператор использовать?
Есть код:
Code
if(b)
{
GUI.DragWindow ();
  if(Input.touchCount == 2 &&Input.GetTouch(0).phase == TouchPhase.Moved && Input.GetTouch(1).phase == TouchPhase.Moved )
  {  

  myTouch = Input.GetTouch(0);
  myTouch2 = Input.GetTouch(1);
    }
       distanceOld = distance;
       distance = Vector2.Distance(myTouch.position, myTouch2.position);
       if (distance < distanceOld ) { //сдвинуть пальцы

windowRect1.width -= 5;
windowRect1.height -= 5;
       }
       if (distance > distanceOld ) {//раздвинуть пальцы

windowRect1.width += 5;
windowRect1.height += 5;
       }
}
}

Автор - Shmel
Дата добавления - 07 Апр 2012 в 15:13
HunjethДата: Сб, 07 Апр 2012, 16:45 | Сообщение # 2
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
я не проверял посмотри тут http://answers.unity3d.com/questio....en.html
 
Сообщениея не проверял посмотри тут http://answers.unity3d.com/questio....en.html

Автор - Hunjeth
Дата добавления - 07 Апр 2012 в 16:45
ShmelДата: Сб, 07 Апр 2012, 16:55 | Сообщение # 3
 
Сообщений: 12
Награды: 0
Репутация: 0
Статус: Offline
InvalidProgramException: Invalid IL code in gag:DoMyWindow4 (int): IL_0096: cgt.un
Code
var touch1 = Input.GetTouch(0);
...
if (windowRect1.Contains(touch1.position))
{
GUI.DragWindow (Rect(0,0,0,0));
}

Не работает, хотя я раньше пытался подобного сделать, не получалось, может вы проверите?
 
СообщениеInvalidProgramException: Invalid IL code in gag:DoMyWindow4 (int): IL_0096: cgt.un
Code
var touch1 = Input.GetTouch(0);
...
if (windowRect1.Contains(touch1.position))
{
GUI.DragWindow (Rect(0,0,0,0));
}

Не работает, хотя я раньше пытался подобного сделать, не получалось, может вы проверите?

Автор - Shmel
Дата добавления - 07 Апр 2012 в 16:55
ЛевшаДата: Сб, 07 Апр 2012, 16:59 | Сообщение # 4
Черный Волк
 
Сообщений: 7257
Награды: 30
Репутация: 3313
Статус: Offline
К сожалению с мобильными платформами и с Touch вообще пока работать не приходилось... sad

X.cor.R (Prologue)
 
СообщениеК сожалению с мобильными платформами и с Touch вообще пока работать не приходилось... sad

Автор - Левша
Дата добавления - 07 Апр 2012 в 16:59
HunjethДата: Сб, 07 Апр 2012, 17:11 | Сообщение # 5
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
у тебя touch1 = float
а должно быть vector3 или vector2

Добавлено (07.04.2012, 17:11)
---------------------------------------------
Code

Например
//x,y,z
var touch1 = Vector3(-2, Input.GetTouch(0), Input.GetTouch(1));
Я может перепутал местами Input.GetTouch


Сообщение отредактировал Hunjeth - Сб, 07 Апр 2012, 17:13
 
Сообщениеу тебя touch1 = float
а должно быть vector3 или vector2

Добавлено (07.04.2012, 17:11)
---------------------------------------------
Code

Например
//x,y,z
var touch1 = Vector3(-2, Input.GetTouch(0), Input.GetTouch(1));
Я может перепутал местами Input.GetTouch

Автор - Hunjeth
Дата добавления - 07 Апр 2012 в 17:11
ShmelДата: Сб, 07 Апр 2012, 17:14 | Сообщение # 6
 
Сообщений: 12
Награды: 0
Репутация: 0
Статус: Offline
var touch1 = Vector2(Input.GetTouch(0), Input.GetTouch(1));
BCE0024: The type 'UnityEngine.Vector2' does not have a visible constructor that matches the argument list '(UnityEngine.Touch, UnityEngine.Touch)'.
Не так, а как тогда?

Изменил, что то все так же, только ошибка другая...


Сообщение отредактировал Shmel - Сб, 07 Апр 2012, 17:18
 
Сообщениеvar touch1 = Vector2(Input.GetTouch(0), Input.GetTouch(1));
BCE0024: The type 'UnityEngine.Vector2' does not have a visible constructor that matches the argument list '(UnityEngine.Touch, UnityEngine.Touch)'.
Не так, а как тогда?

Изменил, что то все так же, только ошибка другая...

Автор - Shmel
Дата добавления - 07 Апр 2012 в 17:14
HunjethДата: Сб, 07 Апр 2012, 17:18 | Сообщение # 7
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
так убери position это и так position
получаеться ты написал touch1(position).position

Добавлено (07.04.2012, 17:18)
---------------------------------------------
position используеться если ты написал - var touch1 : Transform;
попробуй Vector3


Сообщение отредактировал Hunjeth - Сб, 07 Апр 2012, 17:20
 
Сообщениетак убери position это и так position
получаеться ты написал touch1(position).position

Добавлено (07.04.2012, 17:18)
---------------------------------------------
position используеться если ты написал - var touch1 : Transform;
попробуй Vector3

Автор - Hunjeth
Дата добавления - 07 Апр 2012 в 17:18
ShmelДата: Сб, 07 Апр 2012, 17:23 | Сообщение # 8
 
Сообщений: 12
Награды: 0
Репутация: 0
Статус: Offline
var touch1 = Vector2(Input.GetTouch(0), Input.GetTouch(1));
if (windowRect1.Contains(touch1))
{
GUI.DragWindow (Rect(0,0,0,0));
}
BCE0024: The type 'UnityEngine.Vector2' does not have a visible constructor that matches the argument list '(UnityEngine.Touch, UnityEngine.Touch)'.
Уже близок я smile Но что то опять не то... sad

Добавлено (07.04.2012, 17:23)
---------------------------------------------
Assets/Scripts/gag.js(20,21): BCE0024: The type 'UnityEngine.Vector3' does not have a visible constructor that matches the argument list '(int, UnityEngine.Touch, UnityEngine.Touch)'. - это с третим
А вообще я использую только 2 измерения, думаю мне нужен vector2 только.

 
Сообщениеvar touch1 = Vector2(Input.GetTouch(0), Input.GetTouch(1));
if (windowRect1.Contains(touch1))
{
GUI.DragWindow (Rect(0,0,0,0));
}
BCE0024: The type 'UnityEngine.Vector2' does not have a visible constructor that matches the argument list '(UnityEngine.Touch, UnityEngine.Touch)'.
Уже близок я smile Но что то опять не то... sad

Добавлено (07.04.2012, 17:23)
---------------------------------------------
Assets/Scripts/gag.js(20,21): BCE0024: The type 'UnityEngine.Vector3' does not have a visible constructor that matches the argument list '(int, UnityEngine.Touch, UnityEngine.Touch)'. - это с третим
А вообще я использую только 2 измерения, думаю мне нужен vector2 только.


Автор - Shmel
Дата добавления - 07 Апр 2012 в 17:23
HunjethДата: Сб, 07 Апр 2012, 17:28 | Сообщение # 9
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
лол
if (windowRect1.Contains(Input.GetTouch(0).position) || windowRect1.Contains(Input.GetTouch(1).position)) {
}
я забыл что Input.GetTouch(0).position это и есть вектор


Сообщение отредактировал Hunjeth - Сб, 07 Апр 2012, 17:36
 
Сообщениелол
if (windowRect1.Contains(Input.GetTouch(0).position) || windowRect1.Contains(Input.GetTouch(1).position)) {
}
я забыл что Input.GetTouch(0).position это и есть вектор

Автор - Hunjeth
Дата добавления - 07 Апр 2012 в 17:28
ShmelДата: Сб, 07 Апр 2012, 17:33 | Сообщение # 10
 
Сообщений: 12
Награды: 0
Репутация: 0
Статус: Offline
Изначально гуиДраг у меня стоит ...(); то есть двигается куда угодно. Но как только я начинаю изменять размер окна, он должен становится ...(Rect(0,0,0,0)) чтобы не дергалось окно. Вот пытаюсь добиться: Если мы дотронулись двумя пальцами, и если пальцы двигаются по экрану, то виндовРект увеличиваем размеры, и окно не двигается. Но это никак не получается.
 
СообщениеИзначально гуиДраг у меня стоит ...(); то есть двигается куда угодно. Но как только я начинаю изменять размер окна, он должен становится ...(Rect(0,0,0,0)) чтобы не дергалось окно. Вот пытаюсь добиться: Если мы дотронулись двумя пальцами, и если пальцы двигаются по экрану, то виндовРект увеличиваем размеры, и окно не двигается. Но это никак не получается.

Автор - Shmel
Дата добавления - 07 Апр 2012 в 17:33
HunjethДата: Сб, 07 Апр 2012, 17:41 | Сообщение # 11
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
В Update
Quote

transform.position = Vector3(Mathf.Lerp(transform.position.x, 0, 0.1), Mathf.Lerp(transform.position.y, 0, 0.1), Mathf.Lerp(transform.position.z, 0, 0.1));


Сообщение отредактировал Hunjeth - Сб, 07 Апр 2012, 17:45
 
СообщениеВ Update
Quote

transform.position = Vector3(Mathf.Lerp(transform.position.x, 0, 0.1), Mathf.Lerp(transform.position.y, 0, 0.1), Mathf.Lerp(transform.position.z, 0, 0.1));

Автор - Hunjeth
Дата добавления - 07 Апр 2012 в 17:41
ShmelДата: Сб, 07 Апр 2012, 19:19 | Сообщение # 12
 
Сообщений: 12
Награды: 0
Репутация: 0
Статус: Offline
UnityException: Index out of bounds.
gag.DoMyWindow4 (Int32 windowID) (at Assets/Scripts/gag.js:57)
UnityEngine.GUI+_Window.Do () (at C:/BuildAgent/work/6bc5f79e0a4296d6/Runtime/ExportGenerated/Editor/GUI.cs:985)
UnityEngine.GUI.EndWindows (UnityEngine.IDList idlist) (at C:/BuildAgent/work/6bc5f79e0a4296d6/Runtime/ExportGenerated/Editor/GUI.cs:1257)
UnityEngine.GUIUtility.EndGUI (Int32 doLayout, Int32 doWindows, UnityEngine.IDList idlist) (at C:/BuildAgent/work/6bc5f79e0a4296d6/Runtime/ExportGenerated/Editor/GUIUtility.cs:359)
Это вот с
Code
if (windowRect1.Contains(Input.GetTouch(0).position) || windowRect1.Contains(Input.GetTouch(1).position)) {   
}

На всякий случай:
Code
function DoMyWindow4 (windowID : int) { //Рот3
var e : Event = Event.current;
if(windowRect1.Contains(mousePos) && e.isMouse && e.type == EventType.MouseDown && e.clickCount == 2)//если дабл клик
{
   b = true;  // активируем b
   a = false;
}
else if(b) // если b тру
{
GUI.DragWindow (); //Можно двигать окно
   if(Input.touchCount == 2 &&Input.GetTouch(0).phase == TouchPhase.Moved && Input.GetTouch(1).phase == TouchPhase.Moved ) // изменять размеры окна
   {   

   myTouch = Input.GetTouch(0);
   myTouch2 = Input.GetTouch(1);
     }
                    distanceOld = distance;
                    distance = Vector2.Distance(myTouch.position, myTouch2.position);
                    if (distance < distanceOld ) { //сдвинуть пальцы

windowRect1.width -= 5;
windowRect1.height -= 5;
                    }
                    if (distance > distanceOld ) {//раздвинуть пальцы

windowRect1.width += 5;
windowRect1.height += 5;
                    }
}
if (windowRect1.Contains(Input.GetTouch(0).position) || windowRect1.Contains(Input.GetTouch(1).position)) {  // ?
GUI.DragWindow(Rect(0,0,0,0));
}   
}

Добавлено (07.04.2012, 18:52)
---------------------------------------------
Что же ей опять не хватает?

Добавлено (07.04.2012, 19:13)
---------------------------------------------

Code
function DoMyWindow4 (windowID : int) { //Рот3
var e : Event = Event.current;
if(windowRect1.Contains(mousePos) && e.isMouse && e.type == EventType.MouseDown && e.clickCount == 2)
{
  b = true;  
  a = false;
}
if(b)
{
if (windowRect1.Contains(Input.GetTouch(0).position) || windowRect1.Contains(Input.GetTouch(1).position)) {  
GUI.DragWindow(Rect(0,0,0,0));
}  
GUI.DragWindow ();
  if(Input.touchCount == 2 &&Input.GetTouch(0).phase == TouchPhase.Moved && Input.GetTouch(1).phase == TouchPhase.Moved )
  {  

  myTouch = Input.GetTouch(0);
  myTouch2 = Input.GetTouch(1);
    }
                   distanceOld = distance;
                   distance = Vector2.Distance(myTouch.position, myTouch2.position);
                   if (distance < distanceOld ) { //сдвинуть пальцы

windowRect1.width -= 5;
windowRect1.height -= 5;
                   }
                   if (distance > distanceOld ) {//раздвинуть пальцы

windowRect1.width += 5;
windowRect1.height += 5;
                   }
}

}

Переставил так, ошибок нет, но только теперь непонятно, окно дергается(то исчезнет, то появится), не двигается, хотя не, двигается но непонятно когда, размер изменяется...

Добавлено (07.04.2012, 19:19)
---------------------------------------------
Вру, те же самые ошибки...

Сообщение отредактировал Shmel - Сб, 07 Апр 2012, 17:48
 
СообщениеUnityException: Index out of bounds.
gag.DoMyWindow4 (Int32 windowID) (at Assets/Scripts/gag.js:57)
UnityEngine.GUI+_Window.Do () (at C:/BuildAgent/work/6bc5f79e0a4296d6/Runtime/ExportGenerated/Editor/GUI.cs:985)
UnityEngine.GUI.EndWindows (UnityEngine.IDList idlist) (at C:/BuildAgent/work/6bc5f79e0a4296d6/Runtime/ExportGenerated/Editor/GUI.cs:1257)
UnityEngine.GUIUtility.EndGUI (Int32 doLayout, Int32 doWindows, UnityEngine.IDList idlist) (at C:/BuildAgent/work/6bc5f79e0a4296d6/Runtime/ExportGenerated/Editor/GUIUtility.cs:359)
Это вот с
Code
if (windowRect1.Contains(Input.GetTouch(0).position) || windowRect1.Contains(Input.GetTouch(1).position)) {   
}

На всякий случай:
Code
function DoMyWindow4 (windowID : int) { //Рот3
var e : Event = Event.current;
if(windowRect1.Contains(mousePos) && e.isMouse && e.type == EventType.MouseDown && e.clickCount == 2)//если дабл клик
{
   b = true;  // активируем b
   a = false;
}
else if(b) // если b тру
{
GUI.DragWindow (); //Можно двигать окно
   if(Input.touchCount == 2 &&Input.GetTouch(0).phase == TouchPhase.Moved && Input.GetTouch(1).phase == TouchPhase.Moved ) // изменять размеры окна
   {   

   myTouch = Input.GetTouch(0);
   myTouch2 = Input.GetTouch(1);
     }
                    distanceOld = distance;
                    distance = Vector2.Distance(myTouch.position, myTouch2.position);
                    if (distance < distanceOld ) { //сдвинуть пальцы

windowRect1.width -= 5;
windowRect1.height -= 5;
                    }
                    if (distance > distanceOld ) {//раздвинуть пальцы

windowRect1.width += 5;
windowRect1.height += 5;
                    }
}
if (windowRect1.Contains(Input.GetTouch(0).position) || windowRect1.Contains(Input.GetTouch(1).position)) {  // ?
GUI.DragWindow(Rect(0,0,0,0));
}   
}

Добавлено (07.04.2012, 18:52)
---------------------------------------------
Что же ей опять не хватает?

Добавлено (07.04.2012, 19:13)
---------------------------------------------

Code
function DoMyWindow4 (windowID : int) { //Рот3
var e : Event = Event.current;
if(windowRect1.Contains(mousePos) && e.isMouse && e.type == EventType.MouseDown && e.clickCount == 2)
{
  b = true;  
  a = false;
}
if(b)
{
if (windowRect1.Contains(Input.GetTouch(0).position) || windowRect1.Contains(Input.GetTouch(1).position)) {  
GUI.DragWindow(Rect(0,0,0,0));
}  
GUI.DragWindow ();
  if(Input.touchCount == 2 &&Input.GetTouch(0).phase == TouchPhase.Moved && Input.GetTouch(1).phase == TouchPhase.Moved )
  {  

  myTouch = Input.GetTouch(0);
  myTouch2 = Input.GetTouch(1);
    }
                   distanceOld = distance;
                   distance = Vector2.Distance(myTouch.position, myTouch2.position);
                   if (distance < distanceOld ) { //сдвинуть пальцы

windowRect1.width -= 5;
windowRect1.height -= 5;
                   }
                   if (distance > distanceOld ) {//раздвинуть пальцы

windowRect1.width += 5;
windowRect1.height += 5;
                   }
}

}

Переставил так, ошибок нет, но только теперь непонятно, окно дергается(то исчезнет, то появится), не двигается, хотя не, двигается но непонятно когда, размер изменяется...

Добавлено (07.04.2012, 19:19)
---------------------------------------------
Вру, те же самые ошибки...


Автор - Shmel
Дата добавления - 07 Апр 2012 в 19:19
HunjethДата: Сб, 07 Апр 2012, 19:57 | Сообщение # 13
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
1 - b = true; замени на то что относиться к b.
2 - в начале функции напиши var inpgt0 = Input.GetTouch(0).position
3 - в начале функции напиши var inpgt1 = Input.GetTouch(1).position
4 - замени все фразы на inpgt0 и inpgt1 так ты получишь то когда ты нажал он не будет проверять по центру опции нажата ли кнопка и поможет избежать все баги с нажатием
вот пример

Code

function DoMyWindow4 (windowID : int) {
    var inpgt0 = Input.GetTouch(0).position;
    var inpgt1 = Input.GetTouch(1).position;
    var e : Event = Event.current;
       
    if(windowRect1.Contains(mousePos) && e.isMouse && e.type == EventType.MouseDown && e.clickCount == 2) {
     if (windowRect1.Contains(inpgt0) || windowRect1.Contains(inpgt1)) {
      GUI.DragWindow(Rect(0,0,0,0));
     }
     GUI.DragWindow();
     distanceOld = distance;
     distance = Vector2.Distance(inpgt0, inpgt1);
     if (distance < distanceOld ) {
      windowRect1.width -= 5;
      windowRect1.height -= 5;
     }
     if (distance > distanceOld ) {
      windowRect1.width += 5;
      windowRect1.height += 5;
     }
     if (a != false)
      a = false;
    }
}


Сообщение отредактировал Hunjeth - Сб, 07 Апр 2012, 20:07
 
Сообщение1 - b = true; замени на то что относиться к b.
2 - в начале функции напиши var inpgt0 = Input.GetTouch(0).position
3 - в начале функции напиши var inpgt1 = Input.GetTouch(1).position
4 - замени все фразы на inpgt0 и inpgt1 так ты получишь то когда ты нажал он не будет проверять по центру опции нажата ли кнопка и поможет избежать все баги с нажатием
вот пример

Code

function DoMyWindow4 (windowID : int) {
    var inpgt0 = Input.GetTouch(0).position;
    var inpgt1 = Input.GetTouch(1).position;
    var e : Event = Event.current;
       
    if(windowRect1.Contains(mousePos) && e.isMouse && e.type == EventType.MouseDown && e.clickCount == 2) {
     if (windowRect1.Contains(inpgt0) || windowRect1.Contains(inpgt1)) {
      GUI.DragWindow(Rect(0,0,0,0));
     }
     GUI.DragWindow();
     distanceOld = distance;
     distance = Vector2.Distance(inpgt0, inpgt1);
     if (distance < distanceOld ) {
      windowRect1.width -= 5;
      windowRect1.height -= 5;
     }
     if (distance > distanceOld ) {
      windowRect1.width += 5;
      windowRect1.height += 5;
     }
     if (a != false)
      a = false;
    }
}

Автор - Hunjeth
Дата добавления - 07 Апр 2012 в 19:57
ShmelДата: Вт, 10 Апр 2012, 17:17 | Сообщение # 14
 
Сообщений: 12
Награды: 0
Репутация: 0
Статус: Offline
Та же самая ошибка
1 - b = true; замени на то что относиться к b. у меня просто несколько окон, я "b" использую как 1 окно, "a" использую как второе окно.. Поэтому если сделали дабл клик то катаем первое окно, на другом окне сделали дабл клик другое окно катаем а первое нет.
Полный код

Добавлено (08.04.2012, 22:10)
---------------------------------------------
Я делаю что-то не правильно?

Добавлено (10.04.2012, 16:21)
---------------------------------------------

Code
function DoMyWindow5 (windowID : int) {  

     var e : Event = Event.current;  

     if(windowRect0.Contains(mousePos) && e.isMouse && e.type == EventType.MouseDown && e.clickCount == 2) {  
      a = true;
   b = false;
   }
   if(a)
   {

   if (windowRect0.Contains(inpgt0) || windowRect0.Contains(inpgt1)  ||windowRect0.Contains(inpgt0) || windowRect0.Contains(inpgt1) || Input.touchCount == 2 &&Input.GetTouch(0).phase == TouchPhase.Moved && Input.GetTouch(1).phase == TouchPhase.Moved ) {  
        myTouch = Input.GetTouch(0);  
myTouch2 = Input.GetTouch(1);      
  GUI.DragWindow(Rect(0,0,0,0));  
      }  
      GUI.DragWindow();  
      distanceOld = distance;  
distance = Vector2.Distance(myTouch.position, myTouch2.position);  
      if (distance < distanceOld ) {  
       windowRect0.width -= 5;  
       windowRect0.height -= 5;  
      }  
      if (distance > distanceOld ) {  
       windowRect0.width += 5;  
       windowRect0.height += 5;  
      }  

     }  
  }

Добавлено (10.04.2012, 17:17)
---------------------------------------------
http://www.youtube.com/watch?v=2BUwQ26hda8&feature=player_embedded
вот даже видео есть.

 
СообщениеТа же самая ошибка
1 - b = true; замени на то что относиться к b. у меня просто несколько окон, я "b" использую как 1 окно, "a" использую как второе окно.. Поэтому если сделали дабл клик то катаем первое окно, на другом окне сделали дабл клик другое окно катаем а первое нет.
Полный код

Добавлено (08.04.2012, 22:10)
---------------------------------------------
Я делаю что-то не правильно?

Добавлено (10.04.2012, 16:21)
---------------------------------------------

Code
function DoMyWindow5 (windowID : int) {  

     var e : Event = Event.current;  

     if(windowRect0.Contains(mousePos) && e.isMouse && e.type == EventType.MouseDown && e.clickCount == 2) {  
      a = true;
   b = false;
   }
   if(a)
   {

   if (windowRect0.Contains(inpgt0) || windowRect0.Contains(inpgt1)  ||windowRect0.Contains(inpgt0) || windowRect0.Contains(inpgt1) || Input.touchCount == 2 &&Input.GetTouch(0).phase == TouchPhase.Moved && Input.GetTouch(1).phase == TouchPhase.Moved ) {  
        myTouch = Input.GetTouch(0);  
myTouch2 = Input.GetTouch(1);      
  GUI.DragWindow(Rect(0,0,0,0));  
      }  
      GUI.DragWindow();  
      distanceOld = distance;  
distance = Vector2.Distance(myTouch.position, myTouch2.position);  
      if (distance < distanceOld ) {  
       windowRect0.width -= 5;  
       windowRect0.height -= 5;  
      }  
      if (distance > distanceOld ) {  
       windowRect0.width += 5;  
       windowRect0.height += 5;  
      }  

     }  
  }

Добавлено (10.04.2012, 17:17)
---------------------------------------------
http://www.youtube.com/watch?v=2BUwQ26hda8&feature=player_embedded
вот даже видео есть.


Автор - Shmel
Дата добавления - 10 Апр 2012 в 17:17
HunjethДата: Ср, 11 Апр 2012, 08:05 | Сообщение # 15
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
Вот может тут есть http://cssmodeling.ucoz.lv/load....1-0-237
По полному описанию я так понял там есть то что надо.
 
СообщениеВот может тут есть http://cssmodeling.ucoz.lv/load....1-0-237
По полному описанию я так понял там есть то что надо.

Автор - Hunjeth
Дата добавления - 11 Апр 2012 в 08:05
ShmelДата: Пт, 13 Апр 2012, 16:28 | Сообщение # 16
 
Сообщений: 12
Награды: 0
Репутация: 0
Статус: Offline
Не работает... ошибка установки пакета
 
СообщениеНе работает... ошибка установки пакета

Автор - Shmel
Дата добавления - 13 Апр 2012 в 16:28
seamanДата: Пт, 13 Апр 2012, 16:44 | Сообщение # 17
Гуру
 
Сообщений: 1748
Награды: 10
Репутация: 660
Статус: Offline
Quote
Не работает... ошибка установки пакета

Версия Юнити? У меня в 3.4.2.f3 все прекрасно импортируется.
 
Сообщение
Quote
Не работает... ошибка установки пакета

Версия Юнити? У меня в 3.4.2.f3 все прекрасно импортируется.

Автор - seaman
Дата добавления - 13 Апр 2012 в 16:44
HunjethДата: Пт, 13 Апр 2012, 16:50 | Сообщение # 18
 
Сообщений: 354
Награды: 1
Репутация: 112
Статус: Offline
у тебя в пути к файлу русские буквы наверно : было тоже такое

Сообщение отредактировал Hunjeth - Пт, 13 Апр 2012, 16:51
 
Сообщениеу тебя в пути к файлу русские буквы наверно : было тоже такое

Автор - Hunjeth
Дата добавления - 13 Апр 2012 в 16:50
ShmelДата: Пт, 13 Апр 2012, 23:14 | Сообщение # 19
 
Сообщений: 12
Награды: 0
Репутация: 0
Статус: Offline
Действительно, работает. Но хотелось бы свой вариант доработать. Может есть способ?
 
СообщениеДействительно, работает. Но хотелось бы свой вариант доработать. Может есть способ?

Автор - Shmel
Дата добавления - 13 Апр 2012 в 23:14
Форум Игроделов » UNITY3D » ОБЩИЕ ВОПРОСЫ » GUI.Window
  • Страница 1 из 1
  • 1
Поиск:
Загрузка...

Game Creating CommUnity © 2009 - 2024