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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 18.12.2015, 22:32
Bletraut вне форума Посмотреть профиль Отправить личное сообщение для Bletraut Найти все сообщения от Bletraut
  № 23  
Ответить с цитированием
Bletraut
 
Аватар для Bletraut

Регистрация: Mar 2013
Адрес: Вне пространства.
Сообщений: 567
Отправить сообщение для Bletraut с помощью ICQ Отправить сообщение для Bletraut с помощью Skype™
Цитата:
С чего бы это? Мувиклип это просто контейнер. Он никак не превратит растрову картинку в векторную. Причина лагов у него была в векторных масках. В моем файле тоже растровая картинка добавляется в контейнер, и это не приводит ни как каким лагам
Зачем для битматы делать ещё один контейнер?

Цитата:
То же не понятно как это может влиять на наличие лагов
Если убрать флешевскую анимацию и сделать rotation += 10, то лаги исчезают

Добавлено через 39 секунд
Код AS3:
Попробовал. Серьезно, ничего не изменилось.(
Придется выложить исходник

Добавлено через 22 минуты
Все дело в альфа канале. Если убрать у картинок прозрачность, лаги пропадают. Проблема в этом.

Добавлено через 30 минут
Пример со спрайтами теперь жутко лагает. Всего лишь выставлена прозрачность.

Код AS3:
package {
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.geom.Point;
 
	[SWF(frameRate = 30)]
	public class ImagesRotation extends Sprite {
 
		private var _allObjects:Array = [];
 
		public function ImagesRotation() {
 
			for (var i:int = 0; i < 200; i++) {
				var b:Bitmap = new Bitmap(new BitmapData(100, 100, true, Math.random() * 100000000));
				var s:Sprite = new Sprite();
				var pos:Point = getRandomPosition();
				b.x 	= -b.width >> 1;
				b.y 	= -b.height >> 1;
				s.x 	= pos.x;
				s.y 	= pos.y;
				s.addChild(b);
				addChild(s);
				_allObjects.push(s);
			}
			addChild(new Stats());
			addEventListener(Event.ENTER_FRAME, onEnterFrame);
		}
 
		private function onEnterFrame(e:Event):void {
			for each (var sprite:Sprite in _allObjects) {
				sprite.rotation += 20;
			}
		}
		private function getRandomPosition():Point {
			return new Point(stage.stageWidth * Math.random(), stage.stageHeight * Math.random());
		}
	}
 
}
__________________
Я заклинаю вас действовать иначе.

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

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

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


 


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


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