04/01/2010

PathFinder : Benchmark

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ Π²: ЭкспСримСнты — Вэги: , , — Nicolas Prof @ 17:50

ПослС внСсСния ΡΠ΅Ρ€ΡŒΠ΅Π·Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ «А» Π·Π²Π΅Π·Π΄Π° (ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ списков, ΠΈ Ρ‚Π΅ΠΌ самым ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ splice), Ρ€Π΅ΡˆΠΈΠ» ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ тСст ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ².
На врСмя влияСт расстояниС ΠΌΠ΅ΠΆΠ΄Ρƒ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ(Π΄Π»ΠΈΠ½Π° ΠΏΡƒΡ‚ΠΈ).

Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² дСйствии

P.S.
На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, Π½Π΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ДСйкстры, Π³Π΄Π΅ Π³Ρ€Π°Ρ„ ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄ сСтки.

02/07/2009

Powered by Alternativa3D

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ Π²: ЭкспСримСнты — Вэги: , , , , , , — Nicolas Prof @ 17:30

РСализация ΠΌΠΎΠ΅Π³ΠΎ ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ ΠΏΡ€ΠΎΡˆΠ»Π° Π΄ΠΎΠ»Π³ΠΈΠΉ ΠΈ тСрнистый ΠΏΡƒΡ‚ΡŒ, ΠΎΡ‚ малСнькой Ρ‚Ρ€Π΅ΡˆΠΎΠ²ΠΎΠΉ Ρ„Π»Π΅ΡˆΠΊΠΈ с ΠΊΡ€ΠΎΠ²ΡŒΡŽ ΠΈ Ρ€Π²Π°Π½ΠΎΠΉ Π±ΡƒΠΌΠ°Π³ΠΎΠΉ с Π·Π²ΡƒΠΊΠ°ΠΌΠΈ ΠΈΠ· ΠΈΠ³Ρ€Ρ‹ «НосфСрату», Π΄ΠΎ достойного 3D прилоТСния.
ΠŸΠ΅Ρ€Π²Π°Ρ 3D рСализация использовала Papervision Great White Alpha, Ρ‚.Π΅. самая пСрвая ΠΈ сырая вСрсия Papervision 2.0. Π”Π²ΠΈΠΆΠ΅ΠΊ Π²Ρ‹Π΄Π°Π²Π°Π» Π² срСднСм 24 fps Π½Π° Β«ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠΌΒ» ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ вСрсия ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ ΡƒΠΆΠ΅ использовала Away3D, ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠΆΠΊΠΎ ΠΏΡ€ΠΈΡ…Ρ€Π°ΠΌΡ‹Π²Π°Π»Π°, ΠΈ API нСсильно ΠΎΡ‚Π»ΠΈΡ‡Π°Π»ΠΎΡΡŒ, ΠΈ всС Ρ‚Π°ΠΊ ΠΆΠ΅ Π±Ρ‹Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Sprite ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹. Π’Π°ΠΊ ΠΆΠ΅, ΠΊΡƒΠ±ΠΈΠΊΠΈ ΡƒΠΆΠ΅ Π½Π΅ Π²Ρ€Π°Ρ‰Π°Π»ΠΈΡΡŒ всС врСмя, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ использовал ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ возмоТности, Ρ‚.Π΅. сцСна Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ»Π°ΡΡŒ ΠΏΡ€ΠΈ измСнСниях. FPS ΠΏΡ€ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π΅ всС Ρ‚Π°ΠΊ ΠΆΠ΅ «просСдало».

И Π²ΠΎΡ‚ 4.0 вСрсия ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ, которая ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Alternativa3D. Вся навигация Π½Π° сайтС построСна Π½Π° ΠΌΡ‹ΡˆΠΈ: лСвая, правая клавиши ΠΈ колСсико. ΠŸΡ€ΠΎΠΏΠ°Π» МР3 ΠΏΠ»Π΅Π΅Ρ€. На сайтС Π΄Π²Π° Ρ€Π΅ΠΆΠΈΠΌΠ° Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, ΠΊΠ°ΠΊ Π²Π°ΠΌ идСя? ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π½Π΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ нСсколько Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ, ΠΈ ΠΏΡƒΡΡ‚ΡŒ ΠΎΠ½ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ для Π½Π΅Π³ΠΎ. Π’Π°ΠΊ ΠΈ появилась Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Π°Ρ навигация.
ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρƒ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π²ΠΈΠΆΠΊΠ° отличная. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ создали свою ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡƒΡŽ модСль, Π½Π°Ρ‡Π°Π² всС с нуля (Object3D extends Object). ВсС Π±Ρ‹ Ρ…ΠΎΡ€ΠΎΡˆΠΎ, Π½ΠΎ Π²ΠΎΡ‚ ΠΎΡ‡Π΅Π½ΡŒ Π½Π΅Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° alpha ΠΈ visible. Π’Π°ΠΊ ΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ косяки, послС ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΈΠ½ΠΎΠ³Π΄Π° Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚Ρ‹ Π² Π²ΠΈΠ΄Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Ρ€Π΅ΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² Π½Π° повСрхности. Π’Π°ΠΊ ΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π±Π°Π³ с Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ΠΎΠΌ тСкстуры: Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ, ΠΏΡ€ΠΈ этом происходит анимация Π²Π΅Ρ€ΡˆΠΈΠ½, ΠΈ всС это происходит Π·Π° Π²ΠΈΠ΄ΠΎΠΌ ΠΊΠ°ΠΌΠ΅Ρ€Ρ‹, Ρ‚ΠΎ тСкстуры Π½Π΅ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡŽΡ‚ΡΡ, ΠΈ ΠΈΠΌΠ΅Π΅ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ Π±Π΅Π»Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Из всСх 3-Ρ‘Ρ… 3D Π΄Π²ΠΈΠΆΠΊΠΎΠ², Alternativa3D ΠΈΠΌΠ΅Π΅Ρ‚ самый «приятный» API ΠΈ ΡΠ°ΠΌΡƒΡŽ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Если Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΅Ρ‰Π΅ добавят Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования DisplayObjectContainer ΠΊΠ°ΠΊ тСкстуры, Ρ‚ΠΎ это Π±ΡƒΠ΄Π΅Ρ‚ самый Π»ΡƒΡ‡ΡˆΠΈΠΉ Π΄Π²ΠΈΠΆΠ΅ΠΊ для создания Pure 3D Flash сайтов.

P.S.
ΠŸΠΎΡΠ²ΡΡ‰Π°Π΅Ρ‚ΡΡ RSS Reader’Π°ΠΌ.

Tips & Tricks 2

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ Π²: ΠžΠΏΡ‹Ρ‚ — Вэги: , , — Nicolas Prof @ 17:00

1. БыстроС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ значСния послС запятой.
[as]
public function getDecimal($value : Number) : Number {
return $value – ($value >> 0);
}
[/as]

2. Π§Ρ‚ΠΎ Π±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ DisplayObject’Π° послС использования myMovieClipHolder.gotoAndStop(). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Event.ENTER_FRAME, Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ событиС ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. ИспользованиС MovieClip распространСно Π² многоязычных вСрсиях сайтов, сдСлав лэйблы: ru, en, ua.
[as]
private function onChangelanguage(e : Event) : void {
if(_k > 0){
this.removeEventListener(Event.ENTER_FRAME, onChangelanguage);
registerMC();
}
_k++;
}
[/as]

3. Являюсь ярым ΠΏΠΎΠΊΠ»ΠΎΠ½Π½ΠΈΠΊΠΎΠΌ TweenLite Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Jack Doyle. НС Ρ‚Π°ΠΊ Π΄Π°Π²Π½ΠΎ, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ стал ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, ΠΈ Π»Π΅Π³ΠΊΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ΡΡ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ. Π― с Π²Π°ΠΌΠΈ подСлюсь двумя ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ, ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Π² 40% всСх ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΉ – AutoDeletePlugin. ShortRadianRotationPlugin – позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ€Π°Π΄ΠΈΠ°Π½Π°ΠΌΠΈ, ΠΊΠ°ΠΊ это сдСлано Π² Alternativa 3D. AutoDeletePlugin – примСняСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для DisplayObject. По Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, большС Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ onComplete, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ DisplayObject.

4. Быстрый ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ, Π½ΠΎ Π½Π΅ самый Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ способ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ с элСмСнтов интСрфСйса. Допустим Π΅ΡΡ‚ΡŒ нСкая Ρ„ΠΎΡ€ΠΌΠ°, элСмСнты ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ содСрТатся Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅, ΠΏΡƒΡΡ‚ΡŒ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ formHolder.
[as]
private function toggleForm($state : Boolean) : void {
formHolder.mouseChildren = $state;
}
[/as]
Π“Π»Π°Π²Π½Ρ‹ΠΉ минус Ρ‚Π°ΠΊΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° Ρ‚Π΅ΠΌΠΈ элСмСнтами интСрфСйса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ игнорирования событий ΠΎΡ‚ ΠΌΡ‹ΡˆΠΈ. К ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ Π»Π΅ΠΉΠ±Π»Ρ‹ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ°Ρ…, Ссли Ρ‚Π°ΠΊΠΈΡ… элСмСнтов Π½Π΅Ρ‚, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ смСло. Π’Π°ΠΊ ΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСактивная, Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΎΠ΄Π½Ρƒ строчку ΠΊΠΎΠ΄Π°:
[as]
private function toggleForm($state : Boolean) : void {
formHolder.mouseChildren = $state;
formHolder.alpha= ($state) ? 1 : 0.6;
}
[/as]

5. Разрабатывая Pure AS3 ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Π²Ρ‹ Π½Π΅ смоТСтС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Β«ΠΏΠ»ΡŽΡˆΠΊΡƒΒ» Flash Player 10 для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с тСкстом. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с тСкстом ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ совсСм Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΈΠΏ встроСнного тСкста, ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ встроСнный тСкст Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ EMBEDDED, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ EMBEDDED_CFF. Π Π΅ΡˆΠΈΡ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ смоТСт лишь Π½ΠΎΠ²Ρ‹ΠΉ Flex SDK 4 вСрсии с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌ мСтатэгом Embbed. Но ΡƒΡ‡Ρ‚ΠΈΡ‚Π΅, ΡˆΡ€ΠΈΡ„Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ встроСн Π΄Π²Π°ΠΆΠ΄Ρ‹.

12/06/2009

ΠΠ΅ΠΎΠ±ΡŠΡΡ‚Π½Ρ‹ΠΉ Blur

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ Π²: ЭкспСримСнты — Вэги: , , , , — Nicolas Prof @ 14:06

Π‘Ρ‹Π»ΠΈ Π»ΠΈ Ρƒ вас случаи, ΠΊΠΎΠ³Π΄Π° ограничСния Flash Π½Π΅ позволяли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€?
Π•ΡΡ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ простой ΠΎΠ±Ρ…ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡƒΡ‚ΡŒ. Если Π½Π°ΠΌ Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°ΡŽΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΊ самому ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΊ Π΅Π³ΠΎ дСтям. ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстро, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° довольно Ρ‚Π°ΠΊΠΈ быстрая опСрация. Π’ этом ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅. Π’Π°ΠΊ ΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ количСство Π΄Π΅Ρ‚Π΅ΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° прямо ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ кратности замСдлСния процСсса, Ρ‚.Π΅. Ссли 100 Π΄Π΅Ρ‚Π΅ΠΉ, Ρ‚ΠΎ врСмя примСнСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π±ΡƒΠ΄Π΅Ρ‚ Π² 100 Ρ€Π°Π· ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅ΠΉ. ВмСсто 10мс, Π±ΡƒΠ΄Π΅Ρ‚ 1сСк ΠΏΡ€ΠΈ 10 000 ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ, ΡΠΎΠ³Π»Π°ΡΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ Π² сСкунду Π² Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρƒ нас Π² запасС Ρ…ΠΎΡ€ΠΎΡˆΠΈΠ΅ Ρ€Π΅Π·Π΅Ρ€Π²Ρ‹, ΠΈ ΠΌΡ‹ Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ»ΡŒΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ Ρ‚Π΅Ρ…Π½ΠΈΠΊΡƒ с ΠΊΠ°ΠΊΠΈΠΌ Π»ΠΈΠ±ΠΎ Tween Π΄Π²ΠΈΠΆΠΊΠΎΠΌ.

Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² дСйствии

P.S.
Кнопка Broke Holder, измСняСт Π³Π°Π±Π°Ρ€ΠΈΡ‚Ρ‹ спрайта Π½Π° 5000 Ρ€Ρ….

03/06/2009

Tips & Tricks 1

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ΠΎ Π²: ΠžΠΏΡ‹Ρ‚ — Вэги: , , , — Nicolas Prof @ 19:17

Как ΠΈ Ρ€Π°Π½Π΅Π΅ ΠΎΠ±Π΅Ρ‰Π°Π», Π½Π°Ρ‡ΠΈΠ½Π°ΡŽ Ρ€ΡƒΠ±Ρ€ΠΈΠΊΡƒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… совСтов, наблюдСний ΠΈ ΡƒΠΊΠ»ΠΎΠ½ΠΎΠ² ΠΎΡ‚ Π³Ρ€Π°Π±Π»Π΅ΠΉ. ΠŸΠΎΠ΅Ρ…Π°Π»ΠΈ.

  1. Π•ΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ° построСнная Π½Π° собствСнной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ UI ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ…, ΠΎΡ‡Π΅Π½ΡŒ Π»ΡŽΠ±ΠΈΠΌΡ‹Ρ… Π½Π°ΠΌΠΈ, ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°ΠΆΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ стандартных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ кстати ΠΎΡ‡Π΅Π½ΡŒ Π΄Π°ΠΆΠ΅ качСствСнно написаны. И ΠΏΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΈΡ… Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… дСйствиях Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… ΠΎΡ‚ нас Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ блокирования Ρ„ΠΎΡ€ΠΌΡ‹ ΠΊΡ‚ΠΎ Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ список UI ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΈ Ссли это наши ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ui.active = false, ΠΈΠ»ΠΈ Ссли стандартныС, Ρ‚ΠΎ ui.enabled = false. Но такая опСрация трудоСмкая, совсСм Π½ΠΈΠΊΠΎΠΌΡƒ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ΠΉ лишний Ρ†ΠΈΠΊΠ», плюс ΠΊΠΎ всСму ошибки, Ссли Ρ„ΠΎΡ€ΠΌΠ° слоТная, Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ. Π’Π°ΠΊ Π²ΠΎΡ‚, Π΄Π΅Π»Π°Ρ‚ΡŒ это всС Π½Π΅ Π½Π°Π΄ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ изящный ΠΈ Π½Π° порядок Π±ΠΎΠ»Π΅Π΅ быстрый ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΈΠ·-Π·Π° простоты Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΅Ρ‰Π΅ ΠΈ ΡΠ½ΠΈΠΆΠ°ΡŽΡ‰ΠΈΠΉ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ошибки. Для Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ„ΠΎΡ€ΠΌ, ΠΈ Π»ΡŽΠ±Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Sprite. Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠ΅ Ρ‚ΠΎ модальноС ΠΎΠΊΠ½ΠΎ, Ρ‚ΠΎ просто добавляСм Π½Π° Stage, наш Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ слой, Ρƒ мСня ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΎΠ½ называСтся нСзамысловато _blockLayer. Π‘Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ слой заливаСтся посрСдством Graphics Π»ΡŽΠ±Ρ‹ΠΌ Ρ†Π²Π΅Ρ‚ΠΎΠΌ с ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Π½Π΅ ΠΎΠ΄Π½ΠΎ MouseEvent событиС Π½Π΅ ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ сквозь Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ слой. А Π΅Ρ‰Π΅ Π±ΠΎΠ»Π΅Π΅ быстрый способ, это Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Alpha, Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ BlendMode. Π’Π°ΠΊ ΠΆΠ΅ Π·Π°ΠΊΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ слой Ρ‡Π΅Ρ€Π½Ρ‹ΠΌ (ΠΊΡ‚ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚, это 0 ΠΈΠ»ΠΈ ΡƒΠΌΠ½Π΅Π΅ 0Ρ…000000), ΠΈ ставим _blockLayer.blendMode = BlendMode.ERASE.
  2. ΠžΡ‚Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅ маскам Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ Π·Π° счСт Rectangle, Ρ‚.Π΅. anyDisObject.scrollRect = new Rectangle(0,0,100,50). Но Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅, для прСмущСства ΠΎΡ‚ ScrollRect Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ маскируСмый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ cacheAsBitmap = true. Π•ΡΡ‚ΡŒ нСсколько нСудобств ΠΏΡ€ΠΈ использовании ScrollRect – ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ постоянно ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ anyDisObject.scrollRect = _dynamicRectangleRef, Π½Ρƒ ΠΈ СстСствСнно, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Rectangle, ΠΈ ΠΌΠ΅Π½ΡΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ Π½Π°ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: x, y, width, height.
  3. ΠŸΠ΅Ρ€Π΅Π΄ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с Display List, сдСлайтС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ, objToDelete.visible = false. ΠžΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ памяти, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ всСгда Π½Π΅Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚.
  4. Если ссылкС Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Sound Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ null, Ρ‚ΠΎ тяТСлый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ сразу высвобоТдСн с памяти.
this.prevFrame ()
 
ο»Ώ
Menu:
Twitter Updates:
    Archive:
    Control:
    Flash & Flex friends: