рдЗрд╕ рдЖрд▓реЗрдЦ рдореЗрдВ рдПрдирд┐рдореЗрдЯреЗрдб рдХреНрд▓рд┐рдк рдХреЛ рдХреИрд╢рд┐рдВрдЧ рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╣реА рдХрд╣рд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред
рдореИрдВ рдЖрдкрдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдпрд╛рдж рджрд┐рд▓рд╛рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рд╕рд╛рд░ рдкрд╣рд▓реЗ рдмрд┐рдЯрдореИрдкрдорд╛рддрд╛ рдкреНрд░рдХрд╛рд░ рдХреА рд╡рд╕реНрддреБрдУрдВ рдореЗрдВ рдПрдиреАрдореЗрд╢рди рдлреНрд░реЗрдо-рдмрд╛рдп-рдлреНрд░реЗрдо рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛ рдерд╛ рдФрд░ рдлрд┐рд░ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рдерд╛ред рдЙрд╕реА рд╕рдордп, рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рд╕рдордп рдХреЗрд╡рд▓ рд░рд╕реНрдЯрд░ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЗ рдкреНрд░рддрд┐рдкрд╛рджрди рдкрд░ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╡рд┐рдзрд┐ рд╣рдореЗрд╢рд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИред
рдпрджрд┐, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХреНрд╢рдирд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдХрдг рдкреНрд░рдгрд╛рд▓реА) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рднрд╛рд╡ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреИрд╢реНрдб рдореВрд╡реАрдХреНрд▓рд┐рдк рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдлреНрд░реЗрдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЛ рд╢реЛрдзрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдирд┐рд░реНрдгрдп
рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкрд╣рд▓реЗ рдлреНрд░реЗрдо рдХреЛ рдХреИрд╢ рди рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдкреНрд░рднрд╛рд╡ рдХреА рдкрд╣рд▓реА рдкреНрд▓реЗрдмреИрдХ рдХреЗ рджреМрд░рд╛рди ("рдЖрд▓рд╕реА рд▓реЛрдбрд┐рдВрдЧ")ред рдмрд╛рдж рдХреЗ рд▓реЙрдиреНрдЪ рдореЗрдВ, рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХрд╛ рдбреЗрдЯрд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд┐рдЯрдореИрдкрдбреИрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде, рдкреВрд░реНрд╡-рдХреИрд╢рд┐рдВрдЧ (рд╡рд┐рд╢реЗрд╖рдХрд░ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдиреЗрд╕реНрдЯреЗрдб рдХреНрд▓рд┐рдк рдХреЗ рд╕рд╛рде) рдХреЗ рджреМрд░рд╛рди рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдХреНрд▓рд┐рдк рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рджреЗрд░реА рд╕реЗ рдмрдЪрдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред
рдЪреВрдВрдХрд┐, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рд╣рдо рд░реЗрдЦрд╛рдВрдХрди рдХреЗ рд▓рд┐рдП рддрдЦреНрддреЗ рдХреА рд╕рд╣реА рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдЧрдгрдирд╛ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрдгреЛрдВ рдХреА рдПрдХ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдХрдг рдЬреАрд╡рдирдХрд╛рд▓ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдлрд╝реНрд░реЗрдо рдХреА рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЦреНрдпрд╛ рд▓рдЧрднрдЧ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд┐рддрд┐ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреИрд╢рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд╡рд░реНрдЧ рдХреЛрдб:
public class MyCache extends Sprite
{
private var _clip: Sprite = null ;
public function MyCache(clip: Sprite, framesCount: int )
{
_clip = clip;
_framesCount = framesCount;
_bitmap = new Bitmap( null , PixelSnapping.AUTO, true );
addChild(_bitmap);
mouseEnabled = false ;
}
private var _bitmap: Bitmap = null ;
private var _frames: Array = new Array();
private var _framesCount: int = 0;
private var _currentFrame: int = 0;
private var _onEnd: Function = null ;
private var _loop: Boolean = true ;
public function play(loop: Boolean = true , onEnd: Function = null ): void
{
_currentFrame = 0;
_loop = loop;
_onEnd = onEnd;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function stop(): void
{
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
if (_onEnd != null )
_onEnd( this );
}
private function createCache(clip: Sprite): Object
{
var rect: Rectangle = clip.getRect(clip);
var bmpData: BitmapData = new BitmapData(rect.width, rect.height, true , 0x00000000);
var m: Matrix = new Matrix();
m.translate(-rect.x, -rect.y);
m.scale(clip.scaleX, clip.scaleY);
bmpData.draw(clip, m);
return { "frame" : bmpData, "x" : rect.x, "y" : rect.y };
}
private function cachNextFrame(): void
{
if (_frames.length < _framesCount)
{
_clip.dispatchEvent( new Event(Event.ENTER_FRAME));
_frames.push(createCache(_clip));
}
}
private function onEnterFrame(e: Event): void
{
cachNextFrame();
if (_currentFrame < _frames.length)
{
var bmpData: Object = _frames[_currentFrame];
_bitmap.bitmapData = bmpData.frame;
_bitmap.x = bmpData.x;
_bitmap.y = bmpData.y;
}
else
{
if (_loop)
_currentFrame = 0;
else
stop();
}
_currentFrame++;
}
}
* This source code was highlighted with Source Code Highlighter .
public class MyCache extends Sprite
{
private var _clip: Sprite = null ;
public function MyCache(clip: Sprite, framesCount: int )
{
_clip = clip;
_framesCount = framesCount;
_bitmap = new Bitmap( null , PixelSnapping.AUTO, true );
addChild(_bitmap);
mouseEnabled = false ;
}
private var _bitmap: Bitmap = null ;
private var _frames: Array = new Array();
private var _framesCount: int = 0;
private var _currentFrame: int = 0;
private var _onEnd: Function = null ;
private var _loop: Boolean = true ;
public function play(loop: Boolean = true , onEnd: Function = null ): void
{
_currentFrame = 0;
_loop = loop;
_onEnd = onEnd;
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
public function stop(): void
{
removeEventListener(Event.ENTER_FRAME, onEnterFrame);
if (_onEnd != null )
_onEnd( this );
}
private function createCache(clip: Sprite): Object
{
var rect: Rectangle = clip.getRect(clip);
var bmpData: BitmapData = new BitmapData(rect.width, rect.height, true , 0x00000000);
var m: Matrix = new Matrix();
m.translate(-rect.x, -rect.y);
m.scale(clip.scaleX, clip.scaleY);
bmpData.draw(clip, m);
return { "frame" : bmpData, "x" : rect.x, "y" : rect.y };
}
private function cachNextFrame(): void
{
if (_frames.length < _framesCount)
{
_clip.dispatchEvent( new Event(Event.ENTER_FRAME));
_frames.push(createCache(_clip));
}
}
private function onEnterFrame(e: Event): void
{
cachNextFrame();
if (_currentFrame < _frames.length)
{
var bmpData: Object = _frames[_currentFrame];
_bitmap.bitmapData = bmpData.frame;
_bitmap.x = bmpData.x;
_bitmap.y = bmpData.y;
}
else
{
if (_loop)
_currentFrame = 0;
else
stop();
}
_currentFrame++;
}
}
* This source code was highlighted with Source Code Highlighter .
рдкреНрд░рддреНрдпреЗрдХ рдлреНрд░реЗрдо рдХреЗ рд▓рд┐рдП рдмрд┐рдЯрдореИрдк рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕реНрдерд┐рддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рддрд╕реНрд╡реАрд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рдХреА рдСрдлрд╕реЗрдЯ рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рддреА рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдХреИрд╢рд┐рдВрдЧ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХреЗ рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рд╡реГрджреНрдзрд┐ рдХреЗрд╡рд▓ рдмрд╛рдж рдХреЗ рд▓реЙрдиреНрдЪ рдХреЗ рджреМрд░рд╛рди рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реЛрдЧреАред рдЗрд╕рд▓рд┐рдП, рдПрдиреАрдореЗрд╢рди рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╣рдЯрд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдкреВрд▓ рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкреВрд▓ рдмреЗрд╕ рдХреНрд▓рд╛рд╕
public class MyCachePool
{
protected function createEffect(): MyCache
{
return null ;
}
private var _pool: Array = new Array();
public function show(owner: Sprite, px: int , py: int , loop: Boolean = true ): void
{
var effect: MyCache = getEffect();
owner.addChild(effect);
effect.x = px;
effect.y = py;
effect.play(loop, onEnd);
}
private function getEffect(): MyCache
{
if (_pool.length > 0)
{
var idx: int = Math.round((Math.random() * (_pool.length - 1)));
var rez: MyCache = _pool[idx];
_pool.splice(idx, 1);
return rez;
}
return createEffect();
}
private function onEnd(effect: MyCache): void
{
_pool.push(effect);
}
}
* This source code was highlighted with Source Code Highlighter .
public class MyCachePool
{
protected function createEffect(): MyCache
{
return null ;
}
private var _pool: Array = new Array();
public function show(owner: Sprite, px: int , py: int , loop: Boolean = true ): void
{
var effect: MyCache = getEffect();
owner.addChild(effect);
effect.x = px;
effect.y = py;
effect.play(loop, onEnd);
}
private function getEffect(): MyCache
{
if (_pool.length > 0)
{
var idx: int = Math.round((Math.random() * (_pool.length - 1)));
var rez: MyCache = _pool[idx];
_pool.splice(idx, 1);
return rez;
}
return createEffect();
}
private function onEnd(effect: MyCache): void
{
_pool.push(effect);
}
}
* This source code was highlighted with Source Code Highlighter .
рдпрд╣ рд╡рд░реНрдЧ рдЖрдзрд╛рд░ рд╣реИред рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рднрд╛рд╡ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдирдпрд╛ рд╡рд░реНрдЧ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЕрдиреБрд╕рд╛рд░ createEffect рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рднрд╛рд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реНрдпреБрддреНрдкрдиреНрди рдкреВрд▓ рд╡рд░реНрдЧред
public class BoomCachPool extends MyCachePool
{
override protected function createEffect():MyCache
{
return new MyCache( new gBoom(), 20);
}
}
* This source code was highlighted with Source Code Highlighter .
public class BoomCachPool extends MyCachePool
{
override protected function createEffect():MyCache
{
return new MyCache( new gBoom(), 20);
}
}
* This source code was highlighted with Source Code Highlighter .
GBoom рд╡рд░реНрдЧ рдПрдХ рдлрд┐рд▓реНрдо рд╣реИ рдЬреЛ рдПрдХ swc рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХреА рдЬрд╛рддреА рд╣реИред рдХреИрд╢рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдлрд╝реНрд░реЗрдо рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд░реВрдк рд╕реЗ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛ред
рдиреАрдЪреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВред
рдЪрд┐рддреНрд░рд╛ 1 - рдХреИрд╢рд┐рдВрдЧ рдХреЗ рдмрд┐рдирд╛ рдХрдг
рдЪрд┐рддреНрд░рд╛ 2 - рдХреИрд╢рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдХрдг
рдЗрд╕ рд╡рд┐рдзрд┐ рдХреЗ рдХреБрдЫ рдиреБрдХрд╕рд╛рди рднреА рд╣реИрдВред рдкрд╣рд▓реЗ рдЪрд░рдг рдореЗрдВ, рдПрдлрдкреАрдПрд╕ рдХреИрд╢рд┐рдВрдЧ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд┐рдирд╛ рд╣реА рд╣реИ (рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдХрдо рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмрд┐рдЯрдореИрдкрдбреЗрдЯрд╛ рдореЗрдВ рд░реЗрдЦрд╛рдВрдХрди рднреА рдЕрддрд┐рд░рд┐рдХреНрдд рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореВрд▓ рдХреНрд▓рд┐рдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╣рд╛рдВ рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рднрд╛рд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЕрднреА рднреА рд╕реАрдорд┐рдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдмрд╛рдж рдХреЗ рдкреНрд░рднрд╛рд╡ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреВрд▓ рд╕реЗ рд▓рд┐рдП рдЧрдП рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрддреНрдкрд╛рджрдХрддрд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдмреБрд░рд╛рдИ рд╣реИ (рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ рдХреБрдЫ рддреНрдпрд╛рдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛)ред рдЗрд╕рдХреА рднрд░рдкрд╛рдИ рдХреЗ рд▓рд┐рдП, рдкреВрд▓ рд╕реЗ рдкреНрд░рднрд╛рд╡реЛрдВ рдХреЛ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЕрдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рдпрд╣ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрдХреВрд▓ рд╡рд┐рд╡рд┐рдзрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред
рдирд┐рд╖реНрдХрд░реНрд╖
рд▓реЗрдЦ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдкреВрд░реНрдг рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдЗрд╕рдореЗрдВ рдЕрд╕рд╛рдзрд╛рд░рдг рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪ рдХрд╛ рдЕрднрд╛рд╡ рд╣реИ рдФрд░ рдкреВрд░реНрдг рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдХрд┐рд╕реА рдХрдг рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рдкрд░реНрдЯрд┐рдЬреЗрди (рдХреЛрдб рдХреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдЗрд╕рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдПрдорд┐рдЯрд░ рдХреЛ рд╢реБрд░реВ рдХрд░рдирд╛ рдФрд░ рд░реЛрдХрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ (рдХреБрдЫ рдФрд░ рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рднреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИрдВ)ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкрд░реАрдХреНрд╖рдг рдмрддрд╛рддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рдкреНрд░рднрд╛рд╡ рдХреЗ рд╕рд╛рде рдХреИрд╢рд┐рдВрдЧ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦрдиреАрдп рд╡реГрджреНрдзрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЕрдХреНрд╕рд░ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░реНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрддрд┐ рдХреЗ рд╕рд╛рде рдПрдХ рдЖрд╡реЗрджрди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛ рд╣реИред
рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рд╕реНрд░реЛрдд рдХреЛрдб рдпрд╣рд╛рдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред
рдкреБрдирд╢реНрдЪ: рдЙрдкрд░реЛрдХреНрдд рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдХ рдХрдг рдкреНрд░рдгрд╛рд▓реА рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░рднрд╛рд╡реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдлрд╝реНрд░реЗрдо рдПрдиреАрдореЗрд╢рди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рдирдИ рд╡рд╕реНрддреБ рдмрдирд╛рддреЗ рд╕рдордп рдХреИрд╢рд┐рдВрдЧ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдлреНрд░реЗрдо рдХреЗ рднреАрддрд░, рддрд╕реНрд╡реАрд░ рд╕реНрдерд┐рд░ рд╣реИред рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реНрдерд╛рди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕реНрдерд┐рд░ рд╕рд░рдгреА рдореЗрдВ) рдореЗрдВ рдПрдХ рдмрд╛рд░ рдлрд╝реНрд░реЗрдо рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рдЕрдзрд┐рдХ рд╕рд╣реА рд╣реИ, рдФрд░ рдлрд┐рд░ рдЬрдм рдЙрдиреНрд╣реЗрдВ рд╡рд╣рд╛рдВ рд╕реЗ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓рд┐рдк рдХреА рд╕рднреА рдкреНрд░рддрд┐рдпрд╛рдВ рдЖрд░реЗрдЦрд┐рдд рдХрд░реЗрдВред рддреЛ рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рд╕реНрдореГрддрд┐ рдЦрдкрдд рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдлрд╛рдпрджреЗрдордВрдж рд╣реЛрдЧрд╛ред
рд╡рд┐рд╖рдп рдкрд░ рд▓рд┐рдВрдХ:
- рдПрдирд┐рдореЗрдЯреЗрдб рдХреНрд▓рд┐рдк рдХреЗ рдЕрдиреБрдХреВрд▓рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдлреНрд▓реИрд╢ - рдЖрд▓реЗрдЦ рдореЗрдВ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдЕрдиреБрдХреВрд▓рди
- Partigen - рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрдг рдкреНрд░рдгрд╛рд▓реА (рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рднреБрдЧрддрд╛рди)
- рдЯрдЪ рдорд╛рдИ рдкрд┐рдХреНрд╕реЗрд▓ - рдлрд╝реНрд░реЗрдо рдкрд░ рдХреИрд╢рд┐рдВрдЧ рдПрдирд┐рдореЗрд╢рди рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ (рдЕрдкрдиреЗ рд╡рд░реНрддрдорд╛рди рд░реВрдк рдореЗрдВ, рдпрд╣ рдиреЗрд╕реНрдЯреЗрдб рдлрд╝реНрд░реЗрдо рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИ)ред