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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

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

Регистрация: Oct 2006
Сообщений: 2,276
думаю так понятнее
Код AS3:
var loader:Loader=new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
addChild(loader);
loader.load(new URLRequest("1.jpg"));
//тут загрузка только началась!
//тут ты просто описываешь функцию ее код не выполняется(!) т.к. никто функцию не вызвал(пока)
function onComplete(e:Event):void {
	e.target.removeEventListener(Event.COMPLETE, onComplete);
	//загрузка окончена!
}
//тут все еще ничего не загружено,loader.width/loader.height=0;
//тут деление на 0
var scale:Number=Math.min(windowWidth/loader.width),windowHeight/loader.height);
loader.scaleX=loader.scaleY=scale;

Старый 08.09.2017, 19:29
FlashRus вне форума Посмотреть профиль Отправить личное сообщение для FlashRus Найти все сообщения от FlashRus
  № 12  
Ответить с цитированием
FlashRus
 
Аватар для FlashRus

Регистрация: Nov 2006
Адрес: СПб
Сообщений: 919
Отправить сообщение для FlashRus с помощью ICQ Отправить сообщение для FlashRus с помощью Skype™
1. Вам-же сказали - дождитесь окончания загрузки и в обработчике onComplete отскейлите размер изображения. До его загрузки размеры loader'a ещё не известны.

2. Изображение на самом деле загружается, но вы уже его отскейлили по scale равному Infinity, т.к. loader.width и loader.height на тот момент равны нулю. В следствии этого вы ничего не наблюдаете.
__________________
ЛОДКИ

Старый 08.09.2017, 19:43
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 13  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Случай запущенный, человек вообще не хочет разбираться с тем, что ему советуют, он хочет копипастнуть и чтобы всё сработало. Народ думает, что он хоть что-то понимает, но по видимому, он не понимает и не хочет понимать.

Предлагаю перенести топик в Вакансии.

Добавлено через 9 минут
P.S. У меня подозрение, что он так и оставил windowWidth, windowHeight. И да, undefined, там лишняя скобка.
__________________
There is no thing in this world that is not simple.

Старый 08.09.2017, 20:21
Visors вне форума Посмотреть профиль Отправить личное сообщение для Visors Найти все сообщения от Visors
  № 14  
Ответить с цитированием
Visors

Регистрация: Aug 2017
Сообщений: 23
Цитата:
Сообщение от FlashRus Посмотреть сообщение
1. Вам-же сказали - дождитесь окончания загрузки и в обработчике onComplete отскейлите размер изображения. До его загрузки размеры loader'a ещё не известны.
Вопрос: А зачем вообще нужно узнавать размер изображения ?
Содержимое файла jpg - будет постоянно меняться как и его размеры.
Я имел ввиду - как заставить флэш как-то подгонять размеры фотографии под окно - какими бы размеры фотографии не были ?
Еще вопрос: Вы написали - дождитесь окончания загрузки. Как мне узнать, что загрузка закончена? Должен быть какой-то звуковой сигнал или какой-то другой тип оповещения?

Цитата:
Сообщение от FlashRus Посмотреть сообщение
2. Изображение на самом деле загружается, но вы уже его отскейлили по scale равному Infinity, т.к. loader.width и loader.height на тот момент равны нулю. В следствии этого вы ничего не наблюдаете.
Как можно кодом - узнать width и height фотофайла - автоматически без того, чтобы каждый раз вручную "скейлить" изображение при каждой смене jpg ?

Добавлено через 1 минуту
ZackMercury, знаете что - я действительно довольно плохо разбираюсь в программе флэш, поэтому и пишу на этот форум.

Старый 08.09.2017, 20:33
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 15  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,276
Цитата:
Я имел ввиду - заставить флэш как-то подгонять размеры фотографии под окно - какими бы они не были ?
Что бы сделать это надо знать:
1)Размер изображения
2)Размер окна
Цитата:
Как можно кодом - узнать width и height фотофайла - автоматически без того, чтобы каждый раз вручную "скейлить" изображение при каждой смене jpg ?
До загрузки файла никак.В десятый раз - выставлять размеры надо после окончания загрузки, внутри функции onComplete, когда известны все размеры.
Цитата:
И да, undefined, там лишняя скобка.
Да,вот правильный вариант
Код AS3:
var scale:Number=Math.min(windowWidth/loader.width,windowHeight/loader.height);


Последний раз редактировалось undefined; 08.09.2017 в 20:53.
Старый 08.09.2017, 20:43
Visors вне форума Посмотреть профиль Отправить личное сообщение для Visors Найти все сообщения от Visors
  № 16  
Ответить с цитированием
Visors

Регистрация: Aug 2017
Сообщений: 23
Цитата:
Сообщение от undefined Посмотреть сообщение
Что бы сделать это надо знать:
1)Размер изображения
2)Размер окна
Как можно узнать размер окна?
Ведь я могу растянуть его во весь экран, или наоборот сжать до минимума - размеры окна постоянно меняются.

Старый 08.09.2017, 20:47
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 17  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,276
Цитата:
Как можно узнать размер окна?
все,я сдаюсь

Старый 08.09.2017, 21:21
ZackMercury вне форума Посмотреть профиль Отправить личное сообщение для ZackMercury Найти все сообщения от ZackMercury
  № 18  
Ответить с цитированием
ZackMercury
 
Аватар для ZackMercury

блогер
Регистрация: Jul 2013
Адрес: Север
Сообщений: 1,918
Записей в блоге: 23
Отправить сообщение для ZackMercury с помощью ICQ Отправить сообщение для ZackMercury с помощью Skype™
Visors, если вы пишете на форум, значит вы хотите чему-то научиться, чего я не вижу. Судя по всему, вы ничего не гуглите, а вместо этого задаёте глупые вопросы людям, без какого-либо уважения. Если не учитесь - то вам на биржу фриланса или в раздел Вакансии.
По AS3 есть замечательная документация от Adobe, разработчиков языка. А если вы не программист и не собираетесь этим заниматься, то ищите программиста в Вакансиях.
__________________
There is no thing in this world that is not simple.

Старый 08.09.2017, 21:46
Visors вне форума Посмотреть профиль Отправить личное сообщение для Visors Найти все сообщения от Visors
  № 19  
Ответить с цитированием
Visors

Регистрация: Aug 2017
Сообщений: 23
ZackMercury, я неплохо разбираюсь в VisulBasic.
И вот там, чтобы смасштабировать фотографию на форме - достаточно просто щелкнуть в свойствах инструмента на этой форме и выбрать опцию - масштабирование. Вот и все - это простейшая операция.
То же в языке Autoit - дело пары минут - смасштабировать изображение по размерам окна.

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

Старый 08.09.2017, 21:57
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 20  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,276
Visors,ты спросил как узнать размер окна.Это тебе виднее что у тебя за окно.В общем случае узнать размер визуального объекта можно с помощью свойств width и height.

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

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

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


 


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


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