Четверг, 28 Марта 2024, 12:56

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Чем заменить OnMouseUp для iOS/Android
Чем заменить OnMouseUp для iOS/Android
iXeroxДата: Пятница, 25 Ноября 2011, 01:42 | Сообщение # 1
частый гость
Сейчас нет на сайте
У меня вопрос, кстати, по этому поводу. У меня скрипт:
Code
function Update()
{
   var count = Input.touchCount;
   for (var i: int = 0; i < count; i++)
   {
     var touch : Touch = Input.GetTouch(i);
        Тут действие, которое должно произойти

         }
}


Этот скрипт выполняет действие, при любом касании экрана, а мне надо, чтобы он выполнял действие при касании 3D Text. В PC\Mac версии я использую скрипт:
Code

var isBtn = false;

function OnMouseUp()
{
         if(isBtn)
         {
         Тут действие, которое должно произойти
         }
}


В iOS\Android версии данный скрипт не работает. Может мне кто-нибудь подсказать замену этому скрипту для iOS.
noTformaTДата: Пятница, 25 Ноября 2011, 01:59 | Сообщение # 2
Ukrainian independent game developer
Сейчас нет на сайте
iXerox, шустринько проходим этот офф туториал
А еще есть класс Input с кучей интересных методов.
Ну, и накрайняк есть русс форум, там эту проблему решали, и решили... Но, только не сильно разжевали для новичков :)


@noTformaT
iXeroxДата: Пятница, 25 Ноября 2011, 23:37 | Сообщение # 3
частый гость
Сейчас нет на сайте
Во именно) Я в той теме спрашивал, но мне посоветовали нерабочий C# скрипт. Приходится разбираться самому)

Добавлено (25.11.2011, 16:15)
---------------------------------------------

Code

var display = false;  

private var selection = 0;   

function Update ()  
{  
  if ( !display && selection == 0 && Input.touchCount > 0 )
  {
   for(var i : int = 0; i< Input.touchCount;i++)
   {
    var touch : Touch = Input.GetTouch(i);
    // Check whether we are getting a touch and that it is within the bounds of
    // the title graphic
    if(touch.phase == TouchPhase.Began && guiTexture.HitTest(touch.position))
    {
     Application.LoadLevel(1);
      
    }    
   }
  }
}


Вот, когда я разбирался с Penelope мною был найден кусок кода. Но он реагирует только на guiTexture:
Code
if(touch.phase == TouchPhase.Began && guiTexture.HitTest(touch.position))

Что и прописано в этой строчке. Я пробовал поставить на место "guiTexture" "Cube", но Unity стал ругаться. Вопрос: Что делать? Мне нужен либо текст, либо куб.

Добавлено (25.11.2011, 23:37)
---------------------------------------------
Кому надо, есть решение данной проблемы(ОГРОМНОЕ СПАСИБО noTformaT:

Code

function Update(){  
var ray : Ray = Camera.main.ScreenPointToRay (Input.mousePosition);  
var hit : RaycastHit;  
if (collider.Raycast (ray, hit, 100.0))  
{  

ТУТ ДЕЙСТВИЕ, КОТОРОЕ ВЫ ХОТИТЕ

}  
}  


P.S.: Работает и на PC\Mac и на iOS(Android не проверял, ибо не на чем)
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Чем заменить OnMouseUp для iOS/Android
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг