Я добавляю силу к своему объекту, умножая вектор 3 на десятичную, я получаю ошибки - PullRequest
0 голосов
/ 02 сентября 2018

В моей игре на единство я использую приватную переменную для хранения десятичной дроби, которая умножается на мой вектор3 и добавляет силу к моему игровому объекту, но при запуске этого я получаю ошибку, что не могу преобразовать двойное число в целое число, какую ошибку я совершаю.

using System.Collections;
using UnityEngine;
using UnityEngine.UI;

public class PlayerController : MonoBehaviour
{

    public float speed;
    public Text countText;

    private Rigidbody rb;
    private int count;
    private int speedcount;

    void Start()
    {
        rb = GetComponent<Rigidbody>();
        count = 0;
        speedcount = 1;
        SetCountText();
    }

    void FixedUpdate()
    {
        float HorizontalMove = Input.GetAxis("Horizontal");
        Vector3 movement = new Vector3(-(HorizontalMove), 0.0f, -0.5f);
        rb.AddForce(movement * speed * speedcount);
    }

    void OnTriggerEnter(Collider other)
    {
      if (other.gameObject.CompareTag("Blue Cube"))
        {
            other.gameObject.SetActive(false);
            speedcount = speedcount + 0.1;
        }

1 Ответ

0 голосов
/ 02 сентября 2018

speedcount объявляется как целое число . Но вы пытаетесь добавить к нему значение с плавающей запятой (точнее, удвоение: 0.1).

Вам нужно будет выбрать одно из следующих решений:

  1. Объявите speedcount как с плавающей точкой : private float speedcount; и выполните следующую сумму speedcount = speedcount + 0.1f
  2. Изменить приращение при вычислении суммы: speedcount = speedcount + 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...