Как использовать кросс-платформенные входные ясли?
Я работаю над 2D платформером и пытаюсь добавить мобильные элементы управления
Я пытаюсь сделать так, чтобы при нажатии на джойстик игрок начинал стрелять.
Что я уже пробовал:
Я попытался изменить все input.getAxsis с помощью CrossPlatformInputManger.getAxsis, но все, что он сделал, это сделал меня не в состоянии стрелять. Я также изменил настройку сборки на IOS и убедился, что мобильный ввод включен
Вот код
void Update () { if (fireRate == 0) { if (CrossPlatformInputManager.GetButtonDown("Fire1")) { Shoot(); } } else { if (CrossPlatformInputManager.GetButton ("Fire1") && Time.time > timeToFire) { timeToFire = Time.time + 1 / fireRate; Shoot(); } } }
И метод съемки
void Shoot () { Vector2 joyStickPosition = new Vector2(Camera.main.ScreenToWorldPoint(CrossPlatformInputManager.mousePosition).x, Camera.main.ScreenToWorldPoint(CrossPlatformInputManager.mousePosition).y); Vector2 firePointPosition = new Vector2 (firePoint.position.x, firePoint.position.y); RaycastHit2D hit = Physics2D.Raycast (firePointPosition, joyStickPosition-firePointPosition, 100, whatToHit); Debug.DrawLine(firePointPosition, (joyStickPosition - firePointPosition)*100, Color.cyan); if (hit.collider != null) { Debug.DrawLine(firePointPosition, hit.point, Color.red); Enemy enemy = hit.collider.GetComponent<Enemy>(); if (enemy != null) { enemy.DamageEnemy(Damage); //Debug.Log("We hit " + hit.collider.name + "and did " + Damage + "damage"); } }