forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Физика (http://forum.boolean.name/forumdisplay.php?f=168)
-   -   Проблема с физикой (http://forum.boolean.name/showthread.php?t=16256)

pax 03.02.2012 13:58

Ответ: Проблема с физикой
 
Ну тут проще не свою функцию писать, а готовую использовать http://unity3d.com/support/documenta....Contains.html
Пробовать некогда.

Если надо обрабатывать только один тач, то достаточно http://unity3d.com/support/documenta...uttonDown.html ну и http://unity3d.com/support/documenta...ePosition.html
оно на мобильниках работает.

Lestar 03.02.2012 14:15

Ответ: Проблема с физикой
 
Цитата:

Сообщение от Nerd96 (Сообщение 218513)
Это я видел, мне надо было именно для GUITexture.

OnMouseDown is called when the user has pressed the mouse button while over the GUIElement or Collider.

Nerd 03.02.2012 14:22

Ответ: Проблема с физикой
 
Цитата:

Сообщение от Lestar (Сообщение 218524)
OnMouseDown is called when the user has pressed the mouse button while over the GUIElement or Collider.

На мобилках-то не работает. Приведённый мной код вроде должен работать даже с мультитачем. Тупо нет возможности проверить.

Lestar 03.02.2012 17:41

Ответ: Проблема с физикой
 
Я для себя давал ссылку на класс, позволяющий работать работать OnMouseDown на девайсах? Он тоже будет работать с мультитачем, но я бы для этих целей его не юзал.

Nerd 03.02.2012 17:53

Ответ: Проблема с физикой
 
Не, ну
Цитата:

Сообщение от Lestar (Сообщение 218543)
Я для себя давал ссылку на класс, позволяющий работать работать OnMouseDown на девайсах?

Цитата:

Это я видел, мне надо было именно для GUITexture.
Цитата:

This is only for 3D objects with colliders (e.g. this is used for the 3D menus in HyperBowl), not for GUIText and GUITexture.

Nerd 03.02.2012 22:51

Ответ: Проблема с физикой
 
И ещё вопrос. FixedJoint почему-то работает как пружина, а не закрепляет два объекта (на врапере физикса под блиц pxJointCreateFixed работало как надо). Можно ли настроить джоинт, чтоб он именно закреплял с возможностью отламаться?

pax 04.02.2012 15:09

Ответ: Проблема с физикой
 
ну чтобы отломилась - нужно задать два параметра Break xxx

Nerd 06.02.2012 14:50

Ответ: Проблема с физикой
 
Так, проверил свою кликалку на настоящем девайсе - не работает. Готовых решений не нашёл(
Где в вышеприведённом коде может быть ошибка?

pax 06.02.2012 14:54

Ответ: Проблема с физикой
 
OnUpdate() замени на Update()

Nerd 06.02.2012 15:34

Ответ: Проблема с физикой
 
Код:


using UnityEngine;
using System.Collections;

public class mobile_clicker : MonoBehaviour {

public GameObject[] butts;

void Update()
{
    foreach(Touch t in Input.touches)
    {
        foreach(GameObject b in butts)
        {
                Rect r = b.guiTexture.GetScreenRect();
                if( QuadCollide(r.x,r.y,r.width,r.height,t.position.x,t.position.y) )
                {
                                      if(t.phase == TouchPhase.Began)
                                      {
                                          b.gameObject.SendMessage("OnMouseDown", null, SendMessageOptions.DontRequireReceiver);
                                        }
                                else if(t.phase == TouchPhase.Ended)
                                {
                                        b.gameObject.SendMessage("OnMouseUp", null, SendMessageOptions.DontRequireReceiver);
                                }
        }
      }
    }
}

bool QuadCollide(float x,float y,float w,float h,float ix,float iy)
{
        if(ix>=x)
        {
                if(iy>=y)
                {
                        if(ix<=(x+w))
                        {
                                if(iy<=(y+h))
                                {
                                        return true;
                                }                               
                        }
                }
        }
return false;
}
       
}

Всё исправил, теперь работает. Даже OnMouseUp!
А нельзя ли получить лист всех GUITexture на сцене?
И ещё: как передавать данные между сценами?

pax 06.02.2012 16:02

Ответ: Проблема с физикой
 
1. Найти все GUITexture
2. Статические переменные, объекты или так

Lestar 06.02.2012 16:42

Ответ: Проблема с физикой
 
2. DontDestroyOnLoad.

Nerd 11.02.2012 13:17

Ответ: Проблема с физикой
 
На андроиде изменение pixelinset почему-то не работает (всмысле, вообще убирает вникуда). Это нормально?

pax 11.02.2012 13:54

Ответ: Проблема с физикой
 
А ты уверен что правильно его назначаешь?

Nerd 11.02.2012 14:49

Ответ: Проблема с физикой
 
Ну, раз на других платформах работает...


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot