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

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

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

Регистрация: Mar 2012
Сообщений: 8
Question Установка размера загружаемого на сцену внешнего объекта

Привет Всем!
Подскажите уважаемые знатоки.

при таком написание, после нажатия кнопки идет закачка файла(симулятор закачки показывает) но объекта невидно на сцене.
если я убираю параметры:
swHands.height = 358;
swHands.width = 252;
то файл появляется на сцене после нажатия кнопки.

вот собственно код
Код AS3:
swHands_btn.addEventListener(MouseEvent.CLICK,OnClickHands);
 
function OnClickHands(e:MouseEvent):void {
	gotoAndPlay(2);
	var swHands:Loader = new Loader();
    swHands.load(new URLRequest("images/swHands.jpg"));
	swHands.height = 358;
	swHands.width = 252;
	swHands.x=377.7;
	swHands.y=122.4;
	addChild(swHands);
	}
я новичек, немогу понять причину или как обойти это, задав размеры загружаемой картинке другим способом.
спасибо

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Сначала нужно загрузить объект, а потом задать ему размеры.

Сейчас, вы пытаетесь дать размеры пустому контейнеру. А пустота не имеет размеров. Размеры имеет содержимое контейнера, но содержимого нет, оно еще не загружено.
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 29.03.2012 в 14:11.
Старый 29.03.2012, 14:29
anmelegov вне форума Посмотреть профиль Отправить личное сообщение для anmelegov Найти все сообщения от anmelegov
  № 3  
Ответить с цитированием
anmelegov
[+4 07.04.12]
[+1 20.01.12]

Регистрация: Nov 2009
Адрес: Украина, Славутич
Сообщений: 263
Код AS3:
swHands.addEventListener(Event.COMPLETE, setSize);
function setSize(event:Event):void {
  swHands.removeEventListener(Event.COMPLETE, setSize);
  event.width = xxx;
  event.height = xxx;
}

Старый 29.03.2012, 14:59
brotherhood вне форума Посмотреть профиль Отправить личное сообщение для brotherhood Найти все сообщения от brotherhood
  № 4  
Ответить с цитированием
brotherhood

Регистрация: Mar 2012
Сообщений: 8
Цитата:
Сообщение от iNils Посмотреть сообщение
Сначала нужно загрузить объект, а потом задать ему размеры.

Сейчас, вы пытаетесь дать размеры пустому контейнеру. А пустота не имеет размеров. Размеры имеет содержимое контейнера, но содержимого нет, оно еще не загружено.
Объект загружается после клика мыши. там же прописано. при прописи параметров положения .x.y объект появляется там где и должен, но большого размера(какой и есть) а если прописать его размеры то он также загружается только его нет на сцене.

Старый 29.03.2012, 15:01
brotherhood вне форума Посмотреть профиль Отправить личное сообщение для brotherhood Найти все сообщения от brotherhood
  № 5  
Ответить с цитированием
brotherhood

Регистрация: Mar 2012
Сообщений: 8
Цитата:
Сообщение от anmelegov Посмотреть сообщение
Код AS3:
swHands.addEventListener(Event.COMPLETE, setSize);
function setSize(event:Event):void {
  swHands.removeEventListener(Event.COMPLETE, setSize);
  event.width = xxx;
  event.height = xxx;
}
Вот так?? :

Код AS3:
swHands_btn.addEventListener(MouseEvent.CLICK,OnClickHands);
 
function OnClickHands(e:MouseEvent):void {
	gotoAndPlay(2);
	var swHands:Loader = new Loader();
swHands.load(new URLRequest("images/swHands.jpg"));
	swHands.x=377.7;
	swHands.y=122.4;
	addChild(swHands);
 
}
 
	swHands.addEventListener(Event.COMPLETE, setSize);
function setSize(event:Event):void {
  swHands.removeEventListener(Event.COMPLETE, setSize);
  event.width = 252;
  event.height = 358;
}
или вот так ?:
Код AS3:
swHands_btn.addEventListener(MouseEvent.CLICK,OnClickHands);
 
function OnClickHands(e:MouseEvent):void {
	gotoAndPlay(2);
	var swHands:Loader = new Loader();
swHands.load(new URLRequest("images/swHands.jpg"));
		swHands.addEventListener(Event.COMPLETE, setSize);
function setSize(event:Event):void {
  swHands.removeEventListener(Event.COMPLETE, setSize);
  event.width = 252;
  event.height = 358;
}
    swHands.x=377.7;
	swHands.y=122.4;
	addChild(swHands);
 
}

Старый 29.03.2012, 15:01
brotherhood вне форума Посмотреть профиль Отправить личное сообщение для brotherhood Найти все сообщения от brotherhood
  № 6  
Ответить с цитированием
brotherhood

Регистрация: Mar 2012
Сообщений: 8
Цитата:
Сообщение от anmelegov Посмотреть сообщение
Код AS3:
swHands.addEventListener(Event.COMPLETE, setSize);
function setSize(event:Event):void {
  swHands.removeEventListener(Event.COMPLETE, setSize);
  event.width = xxx;
  event.height = xxx;
}
не работает

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Цитата:
Объект загружается после клика мыши. там же прописано
Он не загружается. Загрузка происходит асинхронно выполнению кода. То есть, что если вы написали swHands.load (), не значит, что для строки кода ниже объект уже будет загружен. Загрузка произойдет "когда-там-далеко" и весь код внутри функции выполнится.
Для того, чтобы знать когда произошла загрузка, нужно подписаться на событие и уже там производиться все действия которые были у вас ниже swHands.load ()
Пример кода дал выше anmelegov.

Добавлено через 1 минуту
И еще, или вы нормально форматируете код, то есть табуляцию делаете лесенкой, а не кашей, либо я закрою тему.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
Цитата:
Сообщение от anmelegov Посмотреть сообщение
Код AS3:
swHands.addEventListener(Event.COMPLETE, setSize);
function setSize(event:Event):void {
  swHands.removeEventListener(Event.COMPLETE, setSize);
  event.width = xxx;
  event.height = xxx;
}
у event есть width и height?)
__________________
freelance | Раздор

Старый 29.03.2012, 15:14
brotherhood вне форума Посмотреть профиль Отправить личное сообщение для brotherhood Найти все сообщения от brotherhood
  № 9  
Ответить с цитированием
brotherhood

Регистрация: Mar 2012
Сообщений: 8
Цитата:
Сообщение от iNils Посмотреть сообщение
Он не загружается. Загрузка происходит асинхронно выполнению кода. То есть, что если вы написали swHands.load (), не значит, что для строки кода ниже объект уже будет загружен. Загрузка произойдет "когда-там-далеко" и весь код внутри функции выполнится.
Для того, чтобы знать когда произошла загрузка, нужно подписаться на событие и уже там производиться все действия которые были у вас ниже swHands.load ()
Пример кода дал выше anmelegov.

Добавлено через 1 минуту
И еще, или вы нормально форматируете код, то есть табуляцию делаете лесенкой, а не кашей, либо я закрою тему.
Так Неработает:

Код AS3:
swHands_btn.addEventListener(MouseEvent.CLICK,OnClickHands);
function OnClickHands(e:MouseEvent):void {
	gotoAndPlay(2);
        var swHands:Loader = new Loader();
             swHands.load(new URLRequest("images/swHands.jpg"));
swHands.addEventListener(Event.COMPLETE, setSize);
function setSize(event:Event):void {
        swHands.removeEventListener(Event.COMPLETE, setSize);
        event.width = 252;
        event.height = 358;
}
        swHands.x=377.7;
	swHands.y=122.4;
	addChild(swHands);
 
}

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

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
вы сами читаете, что пишете?
чему вы задаете ширину и высоту?
__________________
freelance | Раздор

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

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

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


 


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


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