Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.12.2005, 13:14
nadyas вне форума Посмотреть профиль Отправить личное сообщение для nadyas Найти все сообщения от nadyas
  № 1  
Ответить с цитированием
nadyas

Регистрация: Jun 2003
Адрес: Москва
Сообщений: 168
По умолчанию суммирование времени

подскажите пожалуйста, в разный фреймах я считаю время уровня, т.е. в каждом следующем фрейме увеличиваю переменную на то время, которое пришлось на данный уровень
например

уровень 1, в событии onEnterFrame:
_global.timeLeft = Math.round((maintime-getTimer())/1000);
_global.score=_global.timeLeft;

уровень 2 в событии том же:
_global.timeLeft = Math.round((maintime-getTimer())/1000);
_global.score=_global.score+_global.timeLeft;

так вот при вываоде _global.score во втором уровне сумма неправильная?
может дело в переводе из формата даты и число?

Старый 16.12.2005, 13:27
KPaul вне форума Посмотреть профиль Отправить личное сообщение для KPaul Найти все сообщения от KPaul
  № 2  
Ответить с цитированием
KPaul
 
Аватар для KPaul

Регистрация: Nov 2005
Сообщений: 221
Если можно, то хотелось бы более понятно.
Что ты подразумеваешь под уровнями?
Что значит "время, которое пришлось на данный уровень"?
Что такое "maintime"?

Наилучший подход - детально описать систему, что она должна делать,
описать текущую структуры(клипы, код, где, что, ...).
А здесь предлагается править готовое (возможно не всегда правильное) решение, вырванное из какого-то контекста. Быстро и корректно сделать это просто не возможно.

ps
сорри за многословие, просто таких вопросов слишком много...

Старый 16.12.2005, 13:33
nadyas вне форума Посмотреть профиль Отправить личное сообщение для nadyas Найти все сообщения от nadyas
  № 3  
Ответить с цитированием
nadyas

Регистрация: Jun 2003
Адрес: Москва
Сообщений: 168
да, извиняюсь не точно высказалась

уровень - это уровень игры, каждый уровень - в отдельном кадре прописан и нарисован

первый кадр - уровень игры 1, в нем мувик actions, мувику задано следующее:
onClipEvent(load)
{
gameLevel=1;
maintime=getTimer()+40000;
}

onClipEvent(enterFrame)
{
if(_global.timeLeft>=0)
{
_global.timeLeft = Math.round((maintime-getTimer())/1000); // время оставшееся до конца уровня игры
_global.score=_global.timeLeft;
.....
}
else
{
_root.gotoAndStop("level1done"); //переход к кадру, где сообщается "уровень пройден, ваше время такое-то - здесь надо вывести _global.score
}

}


а во втором уровне игры вместо _global.score=_global.timeLeft;
пишу _global.score=_global.score+_global.timeLeft;
если в первом уровне _global.score выводит количество секунд, то во втором уровне _global.score=_global.score+_global.timeLeft - выводит неправильную сумму

Старый 16.12.2005, 14:06
KPaul вне форума Посмотреть профиль Отправить личное сообщение для KPaul Найти все сообщения от KPaul
  № 4  
Ответить с цитированием
KPaul
 
Аватар для KPaul

Регистрация: Nov 2005
Сообщений: 221
Тебе нужно просто потрэйсить timeLeft и score на каждом уровне и узнать
что за значения остаются при переходе.
Ты общаешься исключительно с цифрами поэтому проблем со сложением быть не должно.
Но на мой взгляд в конце уровня в score записывается отрицательное число. Если timeLeft равен 0, то в следующий раз getTimer будет больше чем maintime, а значит timeLeft меньше 0 и мы записываем это в score.
Мне кажется это странной логикой.
Код:
if(_global.timeLeft>=0)
{
_global.timeLeft = Math.round((maintime-getTimer())/1000); // время оставшееся до конца уровня игры
_global.score=_global.timeLeft;
.....
}
Хотя возможно я не прав...

Создать новую тему Ответ Часовой пояс GMT +4, время: 11:31.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 11:31.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.