Я использую много переменных для подсчета времени в моей игре, это нормально?

#java #android #game-physics #mobile-development

#java #Android #физика игры #мобильная разработка

Вопрос:

В моей игре у меня есть переменные таймера для всего, что происходит в моей игре, например, таймер для подсчета секунд, пока я не создам врага и не разверну его, и таймер для любого врага, чтобы стрелять .. моя точка зрения здесь в том, что я использую много переменных типа long.

 long timeToEnemyShoot = System.nanoTime();
while (true){
     update();
}

public void update(){
if( System.nanoTime() - timeToEnemyShoot) / 1000000 >= 1000 ){
     enemy.shoot();
}
  

и только представьте, что таких переменных более 15!
и я думаю, что это не очень хороший способ управлять временем.
Итак, есть ли какой-либо другой эффективный способ?

Комментарии:

1. Вам нужно то, что вам нужно … ; о) Лучший вопрос: находятся ли они в нужных местах? Но нам нужно увидеть ваш код (или хотя бы образец), чтобы сказать это.

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

3. без кода мы не можем сказать вам, нормально это или нет 🙂

Ответ №1:

Я думаю, что в целом все в порядке. Возможно, используя какую-то веху длинной переменной и для указания точного времени, вы будете использовать веху переменную, потребляющую меньше памяти. Риски — это сложность => ошибки, более высокие требования к вычислениям.

Ответ №2:

При объявлении переменной memory allocation выполняется для переменной.

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

Я надеюсь, что это поможет.