Цитата:
|
Я даже могу добавить! Само понятие Флаш - виртуальное. Есть только АктивЫкс (На Винде), частный случай COM.
|
Даже под виндой, есть не только "АктивЫкс" (который только для эксплорера).
Цитата:
|
ГДЕ мы тогда храним наши ресурсы (звуки, к0ртинки, скрипты, шрифты)?
|
В тегах. См. спецификацию.
Цитата:
|
Флешка заливается и проигрывается покадрово (это намек!).
|
По-факту — потегово.
Цитата:
|
Залив первый кадр, мы можем порешать (в частности, кодом), что нам делать с остальными кадрами.
|
Они все равно будут загружены, если не оборвется соединение.
Цитата:
|
Что еще? Посмотрите команду addFrameScript.
|
Это функция, а не команда компилятору. Разницу объяснять надо?
Дальше по-порядку. Вот дамп флешки

Код:
[HEADER] File version: 10
[HEADER] File is zlib compressed. Ratio: 49%
[HEADER] File size: 2513
[HEADER] Frame rate: 24.000000
[HEADER] Frame count: 5
[HEADER] Movie width: 550.00
[HEADER] Movie height: 400.00
[045] 4 FILEATTRIBUTES as3 symbolclass
[04d] 1284 METADATA
[009] 3 SETBACKGROUNDCOLOR (ff/ff/ff)
[056] 11 SCENEDESCRIPTION
[053] 51 DEFINESHAPE4 defines id 0001
[027] 4 DEFINESPRITE defines id 0002
[01a] 6 PLACEOBJECT2 places id 0001 at depth 0001
uses IDs: 1
[001] 0 SHOWFRAME 1 (00:00:00,000)
[000] 0 END
[027] 4 DEFINESPRITE defines id 0003
[01a] 12 PLACEOBJECT2 places id 0002 at depth 0001 name "clip2"
uses IDs: 2
[001] 0 SHOWFRAME 1-2 (00:00:00,000-00:00:00,042)
[01a] 14 PLACEOBJECT2 moves object at depth 0001
[001] 0 SHOWFRAME 3 (00:00:00,083)
[000] 0 END
[01a] 14 PLACEOBJECT2 places id 0003 at depth 0001 name "clip"
uses IDs: 3
[052] 943 DOABC, lazy load
[04c] 46 SYMBOLCLASS
exports 0003 as "movie_fla.clip_1"
exports 0000 as "movie_fla.MainTimeline"
uses IDs: 3, 0==== Error: Id 0000 is not yet defined.
====
[001] 0 SHOWFRAME 1-4 (00:00:00,000-00:00:00,125)
[01a] 8 PLACEOBJECT2 moves object at depth 0001
[001] 0 SHOWFRAME 5 (00:00:00,167)
[000] 0 END
В корне «clip»:
1 кадр

Код AS3:
import flash.events.MouseEvent;
stop();
clip.addEventListener(MouseEvent.CLICK, onClick);
function onClick(e:MouseEvent):void {
clip.removeEventListener(MouseEvent.CLICK, onClick);
play();
}
5 кадр

Код AS3:
import flash.events.MouseEvent;
stop();
clip.addEventListener(MouseEvent.CLICK, onClick2);
function onClick2(event:MouseEvent):void {
clip.removeEventListener(MouseEvent.CLICK, onClick2);
clip.play();
gotoAndStop(1);
}
В него вложен clip2:
1 кадр

Код AS3:
stop();
trace("clip2, frame 1");
3 кадр

Код AS3:
trace("clip2, last frame");
Как видно из дампа весь код оказался в одном теге. (единственная возможность передвинуть его за SHOWFRAME это дать
прямое указание компилятору). А если еще присмотреться, то видно что "кадров" 2,3,4 вообще несуществует. И во избежание...
Цитата:
The ShowFrame tag instructs Flash Player to display the contents of the display list. The file is
paused for the duration of a single frame.
|
Кадр в данном случае, если не вдаваться в подробности, время между ENTER_FRAME и RENDER.