Форум 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)
-   -   Задание координат подгружаемого мувика (http://www.flasher.ru/forum/showthread.php?t=121225)

EGA 10.02.2009 20:09

Задание координат подгружаемого мувика
 
Пожалуйста, помогите сориентировать подгружаемый .swf в нужном месте экрана. Только, если можно, чтобы было понятно "бумажному" дизайнеру. :) Скрипт на кнопке такой:

Код AS1/AS2:

on (release) {
  setProperty("design.swf", _x,"400");
  setProperty("design.swf", _x,"200");
  loadMovieNum("D:/WORK/SITE/fla/design.swf",1);
}

Кнопка работает, вызывает мувик в level1, но не устанавливает нужные координаты. Может лучше использовать loadMovie? Был еще такой вариант:

Код AS1/AS2:

on (release) {
    loadMovie("D:/WORK/SITE/fla/design.swf", empty);
}

Empty - библиотечный MC с alpha=0, который размещен в основном мувике level0 и должен заменяться на design.swf. Скрипт не работает.
Заранее спасибо за комментарии.

Жень Шень 10.02.2009 20:34

Привет!
Клип просто еще не успел загрузится, потому и не "встает" на указанное место.
Необходимо использовать MovieClipLoader класс.
тогда по событию onLoadInit можно с клипом делать все, что душе угодно.
В ХЭЛПе все расписано, как по нотам.

EGA 11.02.2009 02:29

Привет, Жень Шень!
Спасибо за комментарий. Программирование идет туго, хотя мультипликацию вспомнил быстро. К тому же в CS3 не самый удобный ХЭЛП.
Алгоритм я себе представляю. Из всех подручных средств конструкция
собралась такая:

Код AS1/AS2:

on (release) {
  myListener = new Object();
  emty = new MovieClipLoader();
  emty.loadClip("design.swf",1)// (можно ли подгружать swf на конкретный уровень?)
  myListener.onLoadInit = function ("design.swf");
  setProperty("design.swf", _x,"400");
  setProperty("design.swf", _x,"200");
}

Скрипт не работает, но отладчик ругается только на 5 строку. Но построение правильное, или нет?

nOobCrafter 11.02.2009 13:13

Кнопке даем инстанс нейм - btn и пишем в кадре:
Код AS1/AS2:

btn.onRelease = function ()
{
hmc = createEmptyMovieClip('holder_mc', 1)// создаем мувик, который будет содержать свку
 
// Создаем слушатель чтоб наблюдать за загрузкой свки
var loaderListener:Object = new Object();
 
loaderListener.onLoadInit = function(mc:MovieClip)                      // когда загрузка завершена
{
 // тут же уже можно писать что будет после того как фотки загрузятся, допустим переход на второй кадр или что то такое.
 mc._x = mc._y = 100// ставим куда хотим
mc.img_width = mc._width;                                              // получаем размеры свки;)
 mc.img_height = mc._height;                                            // получаем размеры свки;)                        // так же тут уже можно центрировать нашу свку, или выровнять по другому
};     
 
var imageLoader:MovieClipLoader = new MovieClipLoader();
imageLoader.addListener(loaderListener);
 
imageLoader.loadClip(link____, hmc);                  // берем свку и загружаем в нужный мувик
}

по моему так может выйти. где link____ это адрес до свки.

Жень Шень 11.02.2009 13:14

Вложений: 1
Привет!
Посмотрите комментированый пример.
Совет: откажитесь от кодирования на AS1.

EGA 11.02.2009 17:58

nOobCrafter,
Большое спасибо за развернутый ответ. Попробую отладить. ;)

Жень Шень,
Спасибо за пример.


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

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