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

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

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

Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
У меня вот есть класс для каждого уровня, Level_1,Level_2...Level_n , и так же классы для персонажей и так далее.. получается в конструкторе например класса Level_1 нужно добавить объекты, и там же в конструкторе зарегистрировать таймер ,и в этом классе создать функцию private function allMoveObject (e:TimerEvent):void ?

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

Регистрация: Mar 2010
Адрес: 54.713862552265084 = 20.442724227905273
Сообщений: 449
Отправить сообщение для stweet с помощью Skype™
Код AS3:
public function moveAllObject (e:TimerEvent):void
{
	var killEnemy:Array = [];
 
	var i:int;
 
	for (i = 0; i < counterEnemy; i ++)
	{
		// типа проверили дистанцию между врагом и героем
		if (needDistancion < maxDistancion)
		{
			// допустим герой убивает в ближнем бою врага
			killEnemy.push(i);
		} else {
 
			allEnemy[i].x += vx;
			allEnemy[i].y += vy;
 
			// далее можно проверить достиг ли враг
			// припятствия и стоит ли ему сменить вектор движения
 
			// ...
		}
	}
 
	// проверяем есть ли мёртвые враги?
	if (killEnemy.length > 0) {
 
		for (i = 0; i < killEnemy.length; i ++)
		{
			// удаляем объекты из массива врагов.
			removeChild(allEnemy[killEnemy[i]]);
			allEnemy.splice(killEnemy[i], 1);
		}
	}
 
	// Двигаем героя.
	if (onLeftDown) hero.x --;
	if (onRightDown) hero.x ++;
 
	if (onTopDown) hero.y --;
	if (onBottomDown) hero.y ++;
 
	// Проверяем путь героя.
	if (hero.distancion < warDistancion)
	{
		// меняем направление гироя или запрещаем идти.
		// ...
	}
 
	// и так далее ...
 
	// дале ...
	detectPositionNext01(); 
 
	// можно даже продолжать выполнять статические методы из абстрактных классов.
	if (globalMethod != null) globalMethod.call(); 
 
	// Перерисовываем экран после всех манипуляций ...
	e.updateAfterEvent();
}
все выше приведенные переменные вымышленные, любое сходство в реальной жизни случайное совпадение! Удачи =)
__________________
Спросишь, дурак на минуту. Если не спросишь, дурак на всю жизнь!


Последний раз редактировалось stweet; 14.10.2011 в 13:39.
Старый 14.10.2011, 15:44
Vansimar вне форума Посмотреть профиль Отправить личное сообщение для Vansimar Найти все сообщения от Vansimar
  № 13  
Ответить с цитированием
Vansimar
 
Аватар для Vansimar

Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
А не будет ли это все тормозить?и какой лучше шаг времени указать?

Старый 14.10.2011, 15:52
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 14  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Цитата:
А не будет ли это все тормозить?
Вот заодно и проверьте. Тем более точно сказать трудно, ибо производительность зависит от многих факторов, и тормоза могут быть в другом участке кода.
__________________
http://www.chessmax.ru

Старый 14.10.2011, 17:54
2Sun вне форума Посмотреть профиль Отправить личное сообщение для 2Sun Найти все сообщения от 2Sun
  № 15  
Ответить с цитированием
2Sun
[+1 24.05.11]
[+1 09.08.11]
 
Аватар для 2Sun

Регистрация: Mar 2011
Сообщений: 101
Тормозить скорее всего будут сами мувики персонажей , если не оптимизированы или сделаны вектором.

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

Регистрация: Mar 2010
Адрес: 54.713862552265084 = 20.442724227905273
Сообщений: 449
Отправить сообщение для stweet с помощью Skype™
Цитата:
Сообщение от Vansimar Посмотреть сообщение
А не будет ли это все тормозить?и какой лучше шаг времени указать?
1. проц Е5200, оперативы 3.5 г. смело держит до 300 объектов с просчётами на столкновение друг с другом с разрешением рендера 1024х768. Тут правильно подметили, всё зависит от оптимизации кода и формат используемой графики. Плюсом будит если объекты выходящие за рамки рендера станут не активными что тоже снизит потребляемость памяти, т.е. не надейтесь что объекты которых вы не видите на экране но добавленные на стейдж исключены из просчётов, желательно рисовать и просчитывать только то что попадает в видимую область.

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

вывод, делая игры думать надо как "сишник" о памяти, т.е. взял-отдал. И если знать все тонкости машинного кода, то можно огогого как творить))) Помни, машине твоей легче умножить а не разделить!
__________________
Спросишь, дурак на минуту. Если не спросишь, дурак на всю жизнь!

Старый 14.10.2011, 23:03
Vansimar вне форума Посмотреть профиль Отправить личное сообщение для Vansimar Найти все сообщения от Vansimar
  № 17  
Ответить с цитированием
Vansimar
 
Аватар для Vansimar

Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
А можно когда добавляю их на сцену прежде делать cacheAsBitmap , это поможет?

Старый 14.10.2011, 23:28
2Sun вне форума Посмотреть профиль Отправить личное сообщение для 2Sun Найти все сообщения от 2Sun
  № 18  
Ответить с цитированием
2Sun
[+1 24.05.11]
[+1 09.08.11]
 
Аватар для 2Sun

Регистрация: Mar 2011
Сообщений: 101
Цитата:
Сообщение от Vansimar Посмотреть сообщение
А можно когда добавляю их на сцену прежде делать cacheAsBitmap , это поможет?
Если изначально графика векторная и не будет вращения или маштабирования - то да. В противном случае станет еще хуже. Если у вас при 4 моделях начинает тормозить - это явно проблема в моделях. Расчетная часть, хоть там сто проверок будет стоять не нагрузит так. Копайте с сторону моделей.

Старый 14.10.2011, 23:42
Vansimar вне форума Посмотреть профиль Отправить личное сообщение для Vansimar Найти все сообщения от Vansimar
  № 19  
Ответить с цитированием
Vansimar
 
Аватар для Vansimar

Регистрация: Sep 2010
Адрес: Moscow
Сообщений: 473
Вот помоему решение производительности анимации http://blog.touchmypixel.com/2008/04...ed-animations/ и еще спросить хотел cacheAsBitmap лучше использовать для фона например и вобще статических картинок?

Старый 15.10.2011, 00:06
Inet_PC вне форума Посмотреть профиль Отправить личное сообщение для Inet_PC Посетить домашнюю страницу Inet_PC Найти все сообщения от Inet_PC
  № 20  
Ответить с цитированием
Inet_PC
 
Аватар для Inet_PC

Регистрация: Feb 2009
Адрес: Гы...поди, найди!
Сообщений: 853
Записей в блоге: 1
Цитата:
Вот помоему решение производительности анимации
Я бы так не сказал, простая небольшая (по времени) анимация легко может сожрать 500 метров и больше оперативы, и вот тут тормоза то точно будут.
__________________
http://www.chessmax.ru


Последний раз редактировалось Inet_PC; 15.10.2011 в 00:18.
Создать новую тему Ответ Часовой пояс GMT +4, время: 16:07.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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