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

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

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

Регистрация: Jan 2010
Сообщений: 38
По умолчанию Проферка количества фреймов

Подскажите, пожалуйста, как сделать проверку на количество фреймов в мувиклипе.
То есть условие, если фреймов в мувиклипе больше двух, то "это", если нет, то "другое".

Старый 31.01.2010, 18:30
Zik. вне форума Посмотреть профиль Отправить личное сообщение для Zik. Найти все сообщения от Zik.
  № 2  
Ответить с цитированием
Zik.
 
Аватар для Zik.

Регистрация: Nov 2007
Сообщений: 1,724
Код AS1/AS2:
if (clip._totalframes > 2) {
        //то
} else {
  //другое
}

Старый 31.01.2010, 19:17
CHLameR вне форума Посмотреть профиль Отправить личное сообщение для CHLameR Найти все сообщения от CHLameR
  № 3  
Ответить с цитированием
CHLameR

Регистрация: Jan 2010
Сообщений: 38
Спасибо
ЕЩе вопрос появился - можно как нибудь заставить анимированный мувиклип не проигрывать анмиацию, иначе чем stop(). МОжет быть можно как то установить скорость анимации = 0?

Старый 31.01.2010, 19:26
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 4  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
А stop() чем не устраивает?

Старый 01.02.2010, 17:41
CHLameR вне форума Посмотреть профиль Отправить личное сообщение для CHLameR Найти все сообщения от CHLameR
  № 5  
Ответить с цитированием
CHLameR

Регистрация: Jan 2010
Сообщений: 38
Возможно я захотел невозможного. Но все-таки напишу.
В ходе тестов игры была выявлена серьезная пробелма - после последних изменений. Каждый уровень игры постепенно начинал тормозить и до такой степени, что играть становилось невозможно. Причина тормозов выявлена.

Имеется множество блоков с множеством кадров и один вид блоков с 2 кадрами - неразрушаемый. На уровнях блоки рандомно распределяются.
Теперь пишу код столкновений блоков с шариком и результат столкновений.

Кусочек кода о столкновениях:
Код AS1/AS2:
 
//столкновения с объектами из массива.
var i = boxes.length;
	while (i--) {
		var curB = boxes[i];
		if (curB.hitTest(MCball)){
 
		if (Math.abs(MCball._x-4.5+MCball._width-curB._x)<MCball._width){
			Ball_dx=-Math.abs(Ball_dx);
		}
 
		if (Math.abs(MCball._x-4.5-curB._x-curB._width)<MCball._width){
			Ball_dx=Math.abs(Ball_dx);
		}
 
		if (Math.abs(MCball._y-4.5+MCball._height-curB._y)<MCball._height){
			Ball_dy=-Math.abs(Ball_dy);
		}
 
		if (Math.abs(MCball._y-4.5-curB._y-curB._height)<MCball._height){
			Ball_dy=Math.abs(Ball_dy);
		}
 
	//Смотрим, сколько кадров у объекта. Если больше двух - то это обычный блок, 
//за него начисляются очки и он пропадает. Если меньше двух - то это неразраушаемый блок.	
if (curB._totalframes > 2) {
    _global.score+=10;
	curB.removeMovieClip();
	remove = 1;	
	if(remove ==1){
		_global.compteurbriques--;
		remove = 0;}
//Если количество блоков на уровне становится равно количеству неразрушаемых блоков 
//то переходим на другой уровень.
		if (_global.compteurbriques==_global.blockm){
			_global.levelcourant++;
			_root.gotoAndPlay("chargementLevel");
			_global.lives+=1;
			lvlremove += 1;
			}		
	}
В итоге в игру страшные лаги, если на уровне присутствует блок, у которого 2 кадра. Если его нет - нет и лагов. Почему эти лаги возникают нет никаких предположений, но проблема спрятана именно в этих стркоах кода. Может быть тут какая-то нелепая ошибка?

Тормоза в игре усиляются со временем, даже если ни разу не запускать шарик в блоки.


Последний раз редактировалось CHLameR; 01.02.2010 в 17:45.
Создать новую тему Ответ Часовой пояс GMT +4, время: 19:12.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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