PDA

Просмотр полной версии : пути при загрузке


darkzip
11.01.2007, 11:20
Вопрос простой, но не могу найти на форуме тему такую.

У меня есть основная Флэшка, в неё из разных папок подгружаются другие. Как во второстепенной флэшке прописывать путь, чтобы он начинался от директории, в которой и лежит Флэшка, а не из корневой папки?

MyXus
11.01.2007, 13:46
также как и везде.. а в чем проблема?

darkzip
12.01.2007, 03:00
ну смотри, скажем у меня в корне лежит две папки 001 и 002, в них второстепенные флэшки. Однако если в них что-то грузить придется в пути писать \001\хх.тхт, а мне надо так, чтобы я писал универсально \...\хх.тхт

Я где-то видел, что надо писать что-то наподобие <url>\001\ но так не выходит, может пунктуацию путаю??

MyXus
12.01.2007, 09:41
может не писать слеш в начале пути?

Kikasso
12.01.2007, 09:51
может слеш в другую сторону нагнуть?
/ от корня сайта
http:// абсолютный
все остальное считается от html в котором основная флешка,
или от параметра base в object/embed html если тот прописан .
../ уровнем выше

darkzip
12.01.2007, 10:09
Нагибание мне кажется не поможет. Я где-то видел, что вроде есть как раз типа волшебное слово, чтобы путь начинал считаться как раз из того места, где файл лежит....

Kikasso
12.01.2007, 11:26
trace(_url);
а потом отсечь все после последнего слеша

pathArr = _url.split("/");
pathArr.pop();
path = pathArr.join("/")+"/";
trace(path);

только это изврат, потому что я говорю истинную правду.

chingachgoog
12.01.2007, 11:47
а по-моему подгруженные флешки качают в себя файлы так же как если бы они были на месте главной флешки (куда они подгружены). Т.е. просто пишешь путь как для главной флешки.

Kikasso
13.01.2007, 04:16
а по-моему подгруженные флешки качают в себя файлы так же как если бы они были на месте главной флешки (куда они подгружены). Т.е. просто пишешь путь как для главной флешки.
Если запускать напрямую флешку - да. Если сверстан html, путь считается от html с учетом параметра base в тагах object/embed, если тот прописан.
Не верите - проверьте.

darkzip
15.01.2007, 03:05
Так и что делать то по итогу?? Просто у меня планируется от 20 папок, в каждой флэшка с одинкаовым кодом (загрузить в неё 10 фото). Но переделывать код, меняя в каждой название папки - это же долго!!!

Kikasso
15.01.2007, 03:18
писать xml со списком файлов и грузить по списку. Какая версия флеша?
как у вас кстати все устроено? html один или несколько?

darkzip
15.01.2007, 07:20
один html в нем главная флэшка (лежит в корне). Есть 10 папок (в которых фото). в каждой папке по swf (который в главный подгружается). Это вообще возможно, чтобы отсчет пути начинался именно от той флжшки, в которой этот код, а не от главной?

Kikasso
15.01.2007, 10:27
Кусок кода, отвечающий за загрузку картинок, давайте сюда.
Я повторю - правильным решением было бы делать одну флешку, загружать в нее xml и скакать по разделам. Это чувствую пока рано.
Рассмотрим другие варианты.

Список картинок - только имена с расширением.
1) Имеем 10 html и одну флешку. В тагах object/embed прописываем vlashvars="path=<путь к папке>";
эта переменная передается во флеш, адрес картинки path + "/" + "image.jpg"
2) 10 html и одна флешка. В тагах object/embed прописываем base:
<param name="base" value="<путь к папке>" />
теперь для флешки текущим становится <путь к папке> и загружать картинки можно просто по именам файлов. Я не совсем помню, надо ли писать слеш на конце <путь к папке> .
3) 10 одинаковых флешек в разных папках.
var path = _url.substring(0, _url.lastIndexOf("/") );
var pikAddress = path + "/" + "image.jpg";

_url это как раз адрес загруженой флешки, мы отсекаем от него все после последнего слеша включительно, то есть оставляем только папку в которой флешка лежит.

darkzip
15.01.2007, 10:49
а проще никак нельзя это сделать??

у меня есть корень, в нем папки с именами 001, 002, 003. в каждой папке лежит swf (они грузятся в главную, ту что в корне). в каждой из папок лежат (допустим) по 10 картинок, они подгружаются в побочну флэшку.

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

Kikasso
15.01.2007, 15:32
вариант 3.

darkzip
16.01.2007, 03:03
А если несложно, напиши прям полный код на кнопку on (press) {...}

Боюсь перепутаю что-нибудь и буду опять мучать тут всех

Kikasso
16.01.2007, 07:15
я так не умею, чтобы on(press){ ... }
и чтобы loadMovie() тоже не умею.
есть такой MovieClipLoader и btn.onPress = function(){ ... }
У вас нет исходника? Так вам не пути при загрузке, а надо загрузку картинок организовать? Так поищите на форуме по загрузку картинок.
Прямо так, нажимаете "поиск" и туда пишете "загрузка картинок"

darkzip
16.01.2007, 07:24
НЕТ, именно пути верные мне нужны. Это не обязательно картинки будут!!!

Kikasso
16.01.2007, 07:34
я не понимаю, куда проще? Путь верный.
trace( _url.substring(0, _url.lastIndexOf("/") ) );
в первом кадре fla. Далее сохраняем ее в разные папки и жмем ctrl+Enter
Поройся в конце концов на форуме, увидишь 100 вариантов.

darkzip
16.01.2007, 07:45
Пробую, но не получается. Вот исходник:

002.swf - это основная флэшка
01/tt.swf - это подгружаемая флэшка, в ней стоит Ваш код и команда подгрузить флэшку map.swf - и она НЕ грузится! =(

Kikasso
16.01.2007, 10:56
о, наконец исходник..
Замените код на такое:
map.loadMovie(_url.substring(0, _url.lastIndexOf("/"))+'/'+'map.swf');
теперь грузится и там, и там.

darkzip
16.01.2007, 11:00
не работает!!!!

Kikasso
16.01.2007, 11:07
У меня работает. Этот код в tt.fla вместо того который у вас. Просто скопируйте и вставьте.
Посмотрите еще раз пост #13, способ 3. Переменная path содержит имя папки, в котором лежит вызываемая флешка, что trace и показывает. Добавляем слеш и имя файла - получаем путь до флешки, которую надо загрузить.

darkzip
17.01.2007, 03:11
ДА, всё работает!! СПАСИБО!!! Я просто немного видоизменил код (добавил _root.). А теперь работает! Спасибо большое!!!!!