Aktywne Wpisy

dariusz44 +756
Mój ziomeczek z którym wychowałem się na jednej klatce 15 lat temu w wieku lat 30 zachorował na #schizofrenia. Od 5 lat jest w ośrodku opiekuńczym. Słaby jest z nim kontakt, żyje w swoim świecie . Jak jestem w okolicy to zawsze podrzucam mu zestaw z Maca i opowiadam co jest grane w świecie. Na tego Maca świecą mu się oczy, chociaż prawie nic nie mówi. Zawsze lubił fastfoody.
źródło: IMG_7963
Pobierz
PatrykPhoenix +43




Robię grę na androida z tutoriala.
Przepisałem dany kod na zarządzanie dotykiem TouchManager, który na filmiku działa bez zarzutu, ale u mnie po wciśnięciu Play gra od razu wywala błąd Index out of bounds.
Poszperałem trochę w necie i znalazłem, że powinienem dodać do kodu takie rzeczy jak SendMessageOptions.DontRequireReceiver i Input.touchCount > 0 .
Po dodaniu tego gra już się uruchamia, ale znowu wywala błąd Index out of bounds, tylko że po naciśnieciu jakiegokolwiek przycisku.
Co robić, spotkał się już ktoś z czymś takim?
Wklejam kod programu:
using UnityEngine;
using System.Collections;
public class TouchManager : MonoBehaviour {
public static bool guiTouch = false;
public void TouchInput(GUITexture texture) {
if (Input.touchCount > 0 && texture.HitTest(Input.GetTouch(0).position))
{
switch (Input.GetTouch(0).phase)
{
case TouchPhase.Began:
SendMessage("OnFirstTouchBegan", SendMessageOptions.DontRequireReceiver);
SendMessage("OnFirstTouch", SendMessageOptions.DontRequireReceiver);
guiTouch=true;
break;
case TouchPhase.Stationary:
SendMessage("OnFirstTouchStayed", SendMessageOptions.DontRequireReceiver);
SendMessage("OnFirstTouch", SendMessageOptions.DontRequireReceiver);
guiTouch=true;
break;
case TouchPhase.Moved:
SendMessage("OnFirstTouchMoved", SendMessageOptions.DontRequireReceiver);
SendMessage("OnFirstTouch", SendMessageOptions.DontRequireReceiver);
guiTouch=true;
break;
case TouchPhase.Ended:
SendMessage("OnFirstTouchTouchEnded", SendMessageOptions.DontRequireReceiver);
guiTouch=false;
break;
}
}
if (Input.touchCount > 0 && texture.HitTest(Input.GetTouch(1).position))
{
switch (Input.GetTouch(1).phase)
{
case TouchPhase.Began:
SendMessage("OnSecondTouchBegan", SendMessageOptions.DontRequireReceiver);
SendMessage("OnSecondTouch", SendMessageOptions.DontRequireReceiver);
break;
case TouchPhase.Stationary:
SendMessage("OnSecondTouchStayed", SendMessageOptions.DontRequireReceiver);
SendMessage("OnSecondTouch", SendMessageOptions.DontRequireReceiver);
break;
case TouchPhase.Moved:
SendMessage("OnSecondTouchMoved", SendMessageOptions.DontRequireReceiver);
SendMessage("OnSecondTouch", SendMessageOptions.DontRequireReceiver);
break;
case TouchPhase.Ended:
SendMessage("OnSecondTouchTouchEnded", SendMessageOptions.DontRequireReceiver);
break;
}
}
}
}
źródło: comment_DyuXxtnUIvWi9es0CbeoDJ7ghnAngVZQ.jpg
Pobierz@Wextor: sytuacja opanowana, dzięki za reakcję (⌐ ͡■ ͜ʖ ͡■)