2013-11-12 11 views
-2

В моей игре скорость шара увеличивается на определенное число каждые 15 секунд, когда игра началась. Сейчас у меня есть int, который является скорость шара и метод:Добавление двух целых чисел

ballSpeed += 1; 

Это работает, но когда я уменьшить сумму, что скорость мяча увеличивается на, который будет меньше, чем 1, по какой-то причине это не работает.

Например, если я делаю:

ballSpeed += .9 

, по какой-то причине он не работает.

Я думал, что я просто не мог разглядеть разницу, потому что он был слишком маленьким, но когда у меня есть .99, он все еще не работает, и я мог бы сказать разницу с этим номером.

Любой ответ очень приветствуется.

Thanks

+1

Как хранить '1.9' как целое число? (Должна быть ошибка типа/предупреждение на строке '+ =', но сначала исправьте основной выбор дизайна.) – user2864740

ответ

1

Вы используете целые числа? .9 не является целым числом, поэтому для этого вам придется использовать другой тип данных (например: float).

0

С ballSpeed - целое число, оно может принимать только целые значения. Таким образом, используя код

ballSpeed += .9; 

заставит его округлить, и конечный результат будучи ballSpeed не изменится. Итак, 1 - это самое маленькое изменение, которое вы можете сделать.

+0

Может кто-нибудь объяснить пояснение? В противном случае это не полезно. – MasterOfBinary

0

Вы не можете использовать int для хранения десятичного числа. Попробуйте float вместо int.

Смежные вопросы