Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.02.2012, 10:36
Andru1988 вне форума Посмотреть профиль Отправить личное сообщение для Andru1988 Найти все сообщения от Andru1988
  № 1  
Ответить с цитированием
Andru1988

Регистрация: Feb 2012
Сообщений: 11
По умолчанию Подгружаем в анимацию картинки из внешнего источника

Привет форумчане. Нужна ваша помощь.
Я тут новичок, да и во флеше работаю недавно. С ActionScript знаком плохо.
Пробема вот в чём:
мне нужно сделать такую анимацию: грубо говоря картинка, а на ней небольшие графические элементы. Когда челоек наводит мышкой на этот элемент появляется картинка в окне анимации, но картинка должна подгружаться из вне, из URL. Никак не пойму какой Экшн Скрипт нужен.
Буду очень благодарен за помощь.

Старый 09.02.2012, 11:11
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Есть два варианта решения:
- подгрузить картинку заранее и показывать ее в неком контейнере при наведении
- подгружать картинку в контейнер файл при наведении, по отдельному запросу
Первый, как видно, лучше, поскольку нет времени на ожидание загрузки после наведения.

В обеих случаях нужно использовать методы и события класса MovieClipLoader, а в первом - еще и класс BitmapData.

Добавлено через 1 час 0 минут
Вариант в соседней теме пример выложил. Там сперва подгружается комплект картинок, а потом оперируется с их видимостью.
Только там не по наведению осуществялется показ, а путем перелистывания.
Для организации показа по наведению нужно использовать обработчик onRollOver на кнопке.

По первому варианту - пример во вложении. Возможно сложноват, конечно.
__________________
Идите первым!


Последний раз редактировалось mooncar; 09.02.2012 в 12:27.
Старый 09.02.2012, 12:13
Andru1988 вне форума Посмотреть профиль Отправить личное сообщение для Andru1988 Найти все сообщения от Andru1988
  № 3  
Ответить с цитированием
Andru1988

Регистрация: Feb 2012
Сообщений: 11
Написал вот такой код:

Код AS1/AS2:
on (rollOver) {
loadGraphic("http://vashcoach.clan.su/_ph/15/2/90408174.jpg");
 
}
Но ничего не происходит. Понимаю что гдет накасячил но где не пойму, сижу на работе с самоучителем разбираюсь)
Как и говорил с Экшн скрипт дела не имел, так что если можно поподробне плиз.

Делаю на ЭкшнСкрипт 2.0 кстать.


Последний раз редактировалось mooncar; 09.02.2012 в 12:15.
Старый 09.02.2012, 12:15
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
1. Не забываем об оформлении кода тегами в сообщении!
2. Не пишем код на кнопках.
3. Что за loadGraphic такой? Используйте MovieClipLoader и его метод loadClip.
__________________
Идите первым!

Старый 09.02.2012, 12:17
Andru1988 вне форума Посмотреть профиль Отправить личное сообщение для Andru1988 Найти все сообщения от Andru1988
  № 5  
Ответить с цитированием
Andru1988

Регистрация: Feb 2012
Сообщений: 11
ок.Спс.Ща буду сидеть мудрить)

Старый 09.02.2012, 12:17
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Цитата:
Сообщение от Andru1988 Посмотреть сообщение
Делаю на ЭкшнСкрипт 2.0 кстать.
Код на кнопках - это у вас не AS2, а AS1. Сразу перестаньте делать неправильно.

Пример загрузки в конце статьи о методе loadClip класса MCL.
Там контейнер создается на лету, а вы можете нарисовать на сцене заренее, задать имя container (имя не в библиотеке, а на сцене, Instance name) и убрать строку
Код AS1/AS2:
var container:MovieClip = createEmptyMovieClip("container", getNextHighestDepth());
из примера.
__________________
Идите первым!


Последний раз редактировалось mooncar; 09.02.2012 в 12:21.
Старый 09.02.2012, 14:34
Andru1988 вне форума Посмотреть профиль Отправить личное сообщение для Andru1988 Найти все сообщения от Andru1988
  № 7  
Ответить с цитированием
Andru1988

Регистрация: Feb 2012
Сообщений: 11
Поковыряся и встроил вот такой код:

Код AS1/AS2:
prev_btn.onRollover = function() {
var container:MovieClip = createEmptyMovieClip("container", getNextHighestDepth());
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(this);
mcLoader.loadClip("YourImage.jpg",container);
 
};
 
function onLoadInit(mc:MovieClip) {
    trace("onLoadInit: " + mc);
}
Ничего не работает, оно и неудивительно,знаю что код касячный но не могу понять где касяк. При наведении мыши на кнопку prev_btn ничего не происходит,картинка в контейнере не загружается.
И другой вопрос, где должна быть картинка container? Когда преобразую в символ без разницы графика это или фрагмент ролика?


Последний раз редактировалось Andru1988; 10.02.2012 в 11:37.
Старый 09.02.2012, 15:51
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 8  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Здесь container - это не картинка, а контейнер-мувик для загрузки. Он может быть вообще пустым, обычно так и делают. В примере он вообще изначально отустствует, как я уже и говорил, создается на лету с помощью createEmptyMovieClip.

Можете нарисовать простой прямоугольник, превратить его в MovieClip (не Graphic, у этого символа нельзя задать имя экземпляра), в свойствах задать ему имя container и удалить содержание, я уже писал об этом.

Добавлено через 2 минуты
Для теста попробуйте так:
Код AS1/AS2:
var container:MovieClip = createEmptyMovieClip("container", getNextHighestDepth()); //либо имейте готовый на сцене
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(this);
 
prev_btn.onRollover = function() {
	mcLoader.loadClip("YourImage.jpg",container);
 
};
 
function onLoadInit(mc:MovieClip) {
    trace("загрузили!  " + mc);
}
То есть - не надо все пихать в обработчик onRollOver, отучайтесь. То что реально надо, оставляйте - то есть loadClip, старт загрузки.
__________________
Идите первым!


Последний раз редактировалось mooncar; 09.02.2012 в 15:53.
Старый 10.02.2012, 10:43
Andru1988 вне форума Посмотреть профиль Отправить личное сообщение для Andru1988 Найти все сообщения от Andru1988
  № 9  
Ответить с цитированием
Andru1988

Регистрация: Feb 2012
Сообщений: 11
СПС))Щас пришёл на работу.Буду ковырять код)

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

Код AS1/AS2:
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(this);
 
prev_btn.onRollOver = function() {
	mcLoader.loadClip("YourImage.jpg",container);
 
};
 
 
prev_btn.onRollOut = function() {
	mcLoader.loadClip("",container);
 
};
function onLoadInit(mc:MovieClip) {
    trace("загрузили!  " + mc);
}
Добавлено через 1 час 48 минут
Картинка не в контейнере появляется, а её верхний левый угол вствёт по центру "контейнера"

Добавлено через 1 час 50 минут
Да, и после наведении сам контейнер исчезает.....


Последний раз редактировалось Andru1988; 10.02.2012 в 11:45.
Создать новую тему Ответ Часовой пояс GMT +4, время: 21:45.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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