Итак, в основном моя проблема в том, что элементы управления моего приложения работают по-разному на разных телефонах. Мой код:
GameObject Button = new GameObject;
void Begin()
{
SetButton();
TouchPanel.Listen(ButtonState.Pressed, CheckTouch1, "null");
}
void SetButton()
{
Button = new GameObject(Screen.Width * 0.555, Screen.Height * 0.166);
Button.X = 0.0;
Button.Y = Screen.Height * 0.286;
Button.Shape = Shape.Rectangle;
Add(Button);
}
void CheckTouch1(Touch touchpoint)
{
bool IsInside;
Vector Point = new vector(touchpoint.PositionOnScreen.X, touchpoint.PositionOnScreen.Y);
IsInside = CheckTouch2(Point, Button);
if(IsInside == true)
{
//Do Something
}
}
bool CheckTouch2(Vector p, GameObject area)
{
bool IsInside;
if (area.IsInside(p) == true)
{
IsInside = true;
return IsInside;
}
else
{
IsInside = false;
return IsInside;
}
}
Он хорошо работает на моем телефоне, но на других телефонах кнопка (она видна на экране), кажется, находится в правильном месте, но область, где кнопка работает (IsInside = = true) это не та область, где находится изображение кнопки. Другими словами, область, где работает кнопка, расположена не на своем месте.