Cuber01 Ответов: 0

Как использовать кросс-платформенные входные ясли?


Я работаю над 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");
            }
        }

0 Ответов