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

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

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

Регистрация: Nov 2006
Адрес: *.kh.ua
Сообщений: 19
Здравствуй, народ!

Возможно, вопрос довольно ламерский, но всё же рискну его задать...

В общем, имеем код (AS 2):

Код:
var myJPGImageAdress:String = "http://somehost/1.jpg";

var my_mc:MovieClip = _root.createEmptyMovieClip("myMovieClip", getNextHighestDepth());

// Размещаем ролик на экране в указанном месте 
my_mc._x = 100;
my_mc._y = 100;

// Загружаем картинку
my_mc.loadMovie(myJPGImageAdress, "GET");

// Меняем ширину картинки
my_mc._width = 100;
Фигня заключается в том, что, по логике вещей, последняя строчка кода
Код:
my_mc._width = 100;
должна менять ширину мувиклипа. Но на практике из-за этой строчки мувиклип вообще на экране не отображается никаким образом. Если её закоментировать, то мувиклип отображается в указанной позиции. В чём проблема этой строки кода? Что я сделал не так?

За любую помощь буду очень благодарен.

П.С.: прощу прощения за вопиющее ламерство

---
Главной моей целью является загрузить с сайта изображение и сжать его по ширине и высоте до определённого размера (в данном случае 100 на 100 пикселов) и отобразить на экране (что-то вробе thumbnail'а, при наведении на изображение курсора мыши оно должно увеличиваться в размерах; когда пользователь убирает курсор мыши с изображения, оно должно уменьшаться до 100x100).


Последний раз редактировалось etc; 18.02.2008 в 20:38.
Старый 18.02.2008, 20:47
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
1) Загрузка асинхронна (использовать MovieClipLoader.onLoadInit).
2) Изображение наследует позицию, угол, и масшаб мувиклипа, в который оно загружено (если хотите изменяйте не _width, а _xscale).

Старый 18.02.2008, 21:25
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 3  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Добавка к 1-му пункту. Как только началась загрузка в мувиклип, его содержимое удаляется, то есть имеем пустой мувиклип. А по скольку размер мувиклипа - это размер его содержимого, то попытка пустому мувиклипу задать размер, это тоже самое, что вилкой суп есть.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 19.02.2008, 15:54
deep_freeze вне форума Посмотреть профиль Отправить личное сообщение для deep_freeze Найти все сообщения от deep_freeze
  № 4  
Ответить с цитированием
deep_freeze
 
Аватар для deep_freeze

Регистрация: Nov 2006
Адрес: *.kh.ua
Сообщений: 19
спасибо огромное!

Да я сам планировал использовать MovieClipLoader, но тестировал локально, загрузка была моментальная, так что код нормально работал.

Масштабирование при помощи _xscale действительно помогло. Но для того, чтобы узнать коэффициент масштабирования, нужно узнать ширину и высоту самого изображения. Скажите, пожалуйста, как это можно узнать средствами ActionScript (не хочется эту задачу перекладывать на РНР скрипт, чтобы ещё потом данные загружать во флеш)... Спасибо ещё раз.

Старый 19.02.2008, 16:55
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 5  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Загрузка немоментальна в любом случае. Хоть локально, хоть нелокально. Размеры изображения можно узнать только после того, как оно загружено и проинициализировано.

Код:
var mcl:MovieClipLoader = new MovieClipLoader();
mcl.addListener(this);

var cont:MovieClip = this.createEmptyMovieClip("cont", this.getNextHighestDepth());
mcl.loadClip("asdf.jpg", cont);

function onLoadInit(target:MovieClip) {
	trace(target._width);
}

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:54.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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