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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 09.09.2010, 17:02
Tr1te вне форума Посмотреть профиль Отправить личное сообщение для Tr1te Найти все сообщения от Tr1te
  № 21  
Ответить с цитированием
Tr1te
 
Аватар для Tr1te

Регистрация: Jun 2009
Сообщений: 461
У вас в коде:
На сцене создаете один экземпляр класса в котором создаете дату, и в цикле создаете битмапы, в которую запихивайте ранее созданаю дату.

В моем варианте:
Я на сцене создаю дату и в цикле создаю 200 экземпляров класса, в который передаю дату, а уже внутри экземпляра создается битмапа.

Ваш вариант не проверял, но в моем варианте затратите секунду. Я скидывал ссылку можете попробовать.

Цитата:
Сообщение от derhab Посмотреть сообщение
да.. а вот странно, почему ваш пример не тормозит.. там явно что-то не так, а по разрозненным кускам кода трудно понять..
Вот код поля:
Код AS3:
package Scr{
 
	import flash.display.*;
	import flash.events.*;
	import flash.geom.*;
	import flash.utils.*;
 
	public class vrField extends vZoom {
		//---------------------------------------------------------------------------
 
		//--------------------------------------------------------------------------- Vars
		private var DrawSegSizeX:int=4000;
		private var DrawSegSizeY:int=DrawSegSizeX;
		private var SegSizeX:int=3700;
		private var SegSizeY:int=SegSizeX;
		private var SegMultiplyer:int=1;
		//---------------------------------------------------------------------------
 
		//--------------------------------------------------------------------------- vrField
		public function vrField():void {
			SegSizeX*=SegMultiplyer;
			SegSizeY*=SegMultiplyer;
 
			var bd_0:BitmapData=DrawvrSeg();
 
			for (var vY:int=0; vY<=14; vY++) {
				for (var vX:int=0; vX<=14; vX++) {
					var _vrSeg:vrSeg=new vrSeg(bd_0,vX,vY,DrawSegSizeX,DrawSegSizeY,SegMultiplyer);
					_vrSeg.x=vX*SegSizeX;
					_vrSeg.y=vY*SegSizeY;
					_vrSeg.scaleX=SegMultiplyer;
					_vrSeg.scaleY=SegMultiplyer;
					addChild(_vrSeg);
				}
			}
		}
		//---------------------------------------------------------------------------
 
		//--------------------------------------------------------------------------- DrawvrSeg
		private function DrawvrSeg():BitmapData {
			var Canvas:Sprite=new Sprite();
			addChild(Canvas);
 
			for (var v:int=0; v<600; v++) {
				var _vr:vr=new vr();
				_vr.x=Math.random()*(DrawSegSizeX-_vr.width);
				_vr.y=Math.random()*(DrawSegSizeY-_vr.height);
				_vr.scaleX=.5;
				_vr.scaleY=.5;
				Canvas.addChild(_vr);
			}
			for (v=0; v<300; v++) {
				_vr=new vr();
				_vr.x=Math.random()*(DrawSegSizeX-_vr.width);
				_vr.y=Math.random()*(DrawSegSizeY-_vr.height);
				_vr.scaleX=.75;
				_vr.scaleY=.75;
				Canvas.addChild(_vr);
			}
			for (v=0; v<50; v++) {
				_vr=new vr();
				_vr.x=Math.random()*(DrawSegSizeX-_vr.width);
				_vr.y=Math.random()*(DrawSegSizeY-_vr.height);
				_vr.scaleX=1;
				_vr.scaleY=1;
				Canvas.addChild(_vr);
			}
 
			var vrPicData:BitmapData=new BitmapData(DrawSegSizeX,DrawSegSizeY,true,0x00FFFFFF);
			vrPicData.draw(Canvas);
 
			while (Canvas.numChildren>0) {
				Canvas.removeChild(Canvas.getChildAt(0));
			}
 
			removeChild(Canvas);
			Canvas=null;
			return (vrPicData);
		}
		//---------------------------------------------------------------------------
 
		//--------------------------------------------------------------------------- 
	}//class
}//package
Это код сегмента:
Код AS3:
package Scr{
 
    import flash.display.*;
    import flash.events.*;
    import flash.geom.*;
 
    public class vrSeg extends Sprite {
        //---------------------------------------------------------------------------
 
        //--------------------------------------------------------------------------- Vars
        private var vrPic:Bitmap=new Bitmap();
        public var CurPos:Point=new Point();
        private var SegSizeX:int;
        private var SegSizeY:int;
        private var MultiplySegSizeX:int;
        private var MultiplySegSizeY:int;
        //---------------------------------------------------------------------------
 
        //--------------------------------------------------------------------------- vrSeg
        public function vrSeg(a_vrPicDate:BitmapData,a_X:int,a_Y:int,a_SegSizeX:int,a_SegSizeY:int,a_Multiply:int):void {
            var vrPic:Bitmap=new Bitmap(a_vrPicDate);
            addChild(vrPic);
 
            CurPos.x=a_X;
            CurPos.y=a_Y;
        }
        //---------------------------------------------------------------------------
 
        //---------------------------------------------------------------------------
    }//class
}//package
Я бы скинул исходник, но он дочерта весит.


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

Теги
bitmap , movement

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

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


 


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


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