Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   пути при загрузке (http://www.flasher.ru/forum/showthread.php?t=90435)

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

Цитата:

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

Если запускать напрямую флешку - да. Если сверстан 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

Вложений: 1
Пробую, но не получается. Вот исходник:

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.). А теперь работает! Спасибо большое!!!!!


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

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