Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Презентация с подгрузкой контента и XML (http://www.flasher.ru/forum/showthread.php?t=82593)

Lodeon 16.07.2006 22:36

Грамотное программное размещение контента в презентации
 
Делаю движок для презентации. Он из XML файла подгружает содержимое: текст, ссылки на картинки, звук и видео.

С парсингом XML все понятно. Проблема в том чтобы расположить и загрузить контент в следующем фрейме (если есть время в n последующих), пока пользователь просматривает текущий.

Потому как в 12 слайде может оказаться видео, а на его загрузку нужно много времени, а мы за время пока пользователь смотрел первые 11 слайдов его уже загрузим.

Если я гружу картинку так:

Код:

_root.createEmptyMovieClip("logo_mc", 1);
logo_mc.loadMovie(Objects[j].attributes.path);


то она оказывается Выше всех фреймов и перекрывает их.

Как сделать, чтобы мувиКлип принадлежал определенному фрейму? (это возможно?)
Можно ли actionScriptom создать фрейм? (количество фреймов может быть любым, равным числу слайдов)

Или я принципиально неверно мыслю и есть способ проще?

P.S. Если не сложно с примерами кода - это мой первый опыт с flash.

Homo Sapiens 17.07.2006 01:08

ну, ты можешь сделать проще
Код:

_root.createEmptyMovieClip("logo_mc", 1);
logo_mc.loadMovie(Objects[j].attributes.path);
logo_mc._visible = false;

а на нужном кадре сделать его видимым.

MINASTIS 17.07.2006 10:15

МОжно сделать так. Создаешь вручную в редакторе пустой мувиклип в ТОМ фрейме, который тебе надо. И в него кидаешь картинку или чего там. И картинка остается в ТОМ фрейме, который надо. Это же логично.

El Scream 17.07.2006 11:48

На сколько я понимаю твою проблему, ты мыслишь все таки неправильно. Дело не во фреймах, а в виртуальных слоях на которых находятся все объекты, на каждый объект по слою. Определить на каком слое находится объект можно функцией this.getDepth() (пример смотрим в хелпе), соответственно при создании клипа в параметрах нужно указывать номер слоя. нумерация происходит от минус бесконечности до плюс бесконечности. просто существующие слои идут в виде списка. кстати если уж затронули эту тему, то кто может подсказать где на форуме можно будет найти топик или статейку про правильную организацию загрузок на слои, у меня просто проблема в создании n (n много больше 100) объектов посредством ActionScript.

Lodeon 18.07.2006 22:43

Цитата:

Сообщение от Homo Sapiens
ну, ты можешь сделать проще
на нужном кадре сделать его видимым.

представим, что на нужном слайде у нас лежит 6 картинок и 12 текстовых надписей, чтобы перелеснуть слайд, пробегаем в цикле сначала все на текущем слайде, чтобы их сделать невидимыми, а затем на следующем, чтобы сделать видимыми, нормальный такой цикл получается. Да, нам ведь еще надо хранить массив "чего для каждого слайда показовать" - не очень оптимально...

Lodeon 18.07.2006 22:45

Цитата:

Сообщение от MINASTIS
Создаешь вручную в редакторе пустой мувиклип в ТОМ фрейме, который тебе надо. И в него кидаешь картинку

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

Цитата:

Сообщение от El Scream
Дело не во фреймах, а в виртуальных слоях на которых находятся все объекты, на каждый объект по слою.

Вы, видимо, предлагаете когда нам понадобится увидеть объекты поднять их наверх, а ненужные опустить вниз... смотрим мой ответ Homo Sapiens, опять не оптимально получается...:D

Может, я недавно программирую во flash, но опыта в программировании в целом мне хватает. Не люблю недо- решения.

Книжек уже изрядно полистал, но ничего удачного пока не придумал.
Может кто-ть предложить другой подход или свежую идею?:rolleyes:

2 Moderator Подкорректировал название темы, может, в ActionScript перенести?

iNils 19.07.2006 01:50

Для раздела ActionScript рановато. Вы простых вещей не понимаете. Единственный разумный вариант предложил Homo Sapiens, но сути вы его не поняли. Объясняю, грузите вы свой xml, по числу слайдов в нем создаете по порядку такое же число пустых мувиклипов и делаете их невидимыми (естесственно с помощью _visible=false) кроме первого, далее наполняете его чем нужно (правда если у вас 100 "слайдов"-клипов и в каждом видео или тяжелая артинка, то памяти у вас уйдет много и слабые машины не потянут. поэтому тут логичнее грузить скажем не все сразу, а только на 5-10 слайдов вперед, а потом подгружать, а ушедшие слайды выгружать, все равно потом из кеша можно будет взять), но не в сам клип одну картинку, а делаете из него контейнер. Потом вы просто, без всякого цикла делает текушему "слайду"-клипу _visible=false, а на тот который перешли _visible=true.


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

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