Ошибка Unity iOS.transform.translate не работает должным образом только на сборках iOS - PullRequest
0 голосов
/ 29 сентября 2018

Я использую скрипт, который имитирует снаряд с сопрограммой.Скрипт отлично работает на Unity Editor, сборке Windows, сборке Android, кроме сборок iOS.У меня есть публичное плавание под названием гравитация.В зависимости от его значения изменяется скорость снаряда.Проблема в том, что на iOS-сборках значение силы тяжести изменяется в зависимости от условий сценария, но скорость снаряда остается неизменной.Ниже приведена часть скрипта (C #), где я имитирую снаряд.

     float gravity = 8; // this value increases over time

 IEnumerator SimulateProjectile()
 {
         // Calculate distance to target
         float target_Distance = Vector3.Distance(player.position, target.position);

         // Calculate the velocity needed to throw the object to the target at specified angle.
         float projectile_Velocity = target_Distance / (Mathf.Sin(2 * firingAngle * Mathf.Deg2Rad) / gravity);

         // Extract the X  Y componenent of the velocity
         float Vx = Mathf.Sqrt(projectile_Velocity) * Mathf.Cos(firingAngle * Mathf.Deg2Rad);
         float Vy = Mathf.Sqrt(projectile_Velocity) * Mathf.Sin(firingAngle * Mathf.Deg2Rad);


         float elapse_time = 0;

         while (player.position.y >= 3.3f)
         {

                 player.Translate(Vx * Time.fixedDeltaTime, (Vy - (gravity * elapse_time)) * Time.fixedDeltaTime, 0);
                 elapse_time += Time.fixedDeltaTime;
                 yield return null;
         }
 }
...