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

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

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

Регистрация: Jun 2007
Сообщений: 374
Question Баг UILoader и ScrollPane

В данном примере не срабатывает update(), есть ли какой-нибудь выход из этой ситуации?
Код:
import fl.containers.ScrollPane;
import fl.containers.UILoader;
import fl.events.ComponentEvent;

var sp:ScrollPane = new ScrollPane();
sp.x = 10;
sp.y = 30;
sp.width = 100;
sp.height = 100;
var ldr:UILoader = new UILoader();
ldr.scaleContent = false;
ldr.addEventListener(ComponentEvent.RESIZE, function(e:ComponentEvent):void { trace ("abc"); sp.update() } );
ldr.width = ldr.height = 10;
sp.source = ldr;
ldr.source = "http://************/uploads/080828/M5j5G6z2fl.jpg";	
addChild(sp);


Последний раз редактировалось s8000_1; 30.08.2008 в 23:00.
Старый 30.08.2008, 23:16
ramshteks вне форума Посмотреть профиль Отправить личное сообщение для ramshteks Найти все сообщения от ramshteks
  № 2  
Ответить с цитированием
ramshteks
 
Аватар для ramshteks

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
ты ваще в курсе что у тя там ошибка
Код:
1046: Type was not found or was not a compile-time constant: ComponentEvent.

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

Регистрация: Jun 2007
Сообщений: 374
ramshteks, добавьте в classpath в настройках puclish:
Код:
$(AppConfig)/Component Source/ActionScript 3.0/User Interface
+ надо в библиотеку добавить скины ScrollPane и UILoader.

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

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
Код:
import fl.containers.ScrollPane;
import fl.containers.UILoader;
import fl.events.ComponentEvent;

var sp:ScrollPane = new ScrollPane();
sp.x = 10;
sp.y = 30;
sp.width = 100;
sp.height = 100;
var ldr:UILoader = new UILoader();
ldr.scaleContent = false;
sp.addEventListener(ComponentEvent.RESIZE, OnResize);
ldr.width = ldr.height = 10;
sp.source = ldr;
ldr.source = "http://************/uploads/080828/M5j5G6z2fl.jpg";	
sp.addChild(ldr);
addChild(sp);

function OnResize(e:*):void {
	trace("abc");
	sp.update();
}
вот так он апдейтится но что то там еще ошибка я ваще не в курсах можжет разберетесь

Старый 30.08.2008, 23:40
s8000_1 вне форума Посмотреть профиль Отправить личное сообщение для s8000_1 Найти все сообщения от s8000_1
  № 5  
Ответить с цитированием
s8000_1
 
Аватар для s8000_1

Регистрация: Jun 2007
Сообщений: 374
Цитата:
Сообщение от ramshteks Посмотреть сообщение
вот так он апдейтится но что то там еще ошибка я ваще не в курсах можжет разберетесь
Ничего не апдейтится. update=появление полосы прокрутки. Полос прокрутки не появляется.

Старый 30.08.2008, 23:49
ramshteks вне форума Посмотреть профиль Отправить личное сообщение для ramshteks Найти все сообщения от ramshteks
  № 6  
Ответить с цитированием
ramshteks
 
Аватар для ramshteks

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
ааа ну тогда сори

Старый 30.08.2008, 23:58
ramshteks вне форума Посмотреть профиль Отправить личное сообщение для ramshteks Найти все сообщения от ramshteks
  № 7  
Ответить с цитированием
ramshteks
 
Аватар для ramshteks

Регистрация: Jul 2007
Сообщений: 805
Отправить сообщение для ramshteks с помощью ICQ Отправить сообщение для ramshteks с помощью Skype™
Код:
import fl.containers.ScrollPane;
import fl.containers.UILoader;
import fl.events.*;

var sp:ScrollPane = new ScrollPane();
sp.source = "http://************/uploads/080828/M5j5G6z2fl.jpg";
sp.addEventListener(ComponentEvent.RESIZE,  OnResize);
addChild(sp);

function OnResize(e:ComponentEvent):void {
	trace("abc");
	sp.update();
}
прости уж что все урезал. и извини если уилоадер был нужен, но так хотя бы рабоает.

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

Регистрация: Jun 2007
Сообщений: 374
Цитата:
Сообщение от ramshteks Посмотреть сообщение
прости уж что все урезал. и извини если уилоадер был нужен, но так хотя бы рабоает.
Я знаю, как сделать так, чтобы обычный ScrollPane работал
Проблема именно во взаимодействии UILoader и ScrollPane.
В частности из-за того, что в классе UIComponent есть методы:
Код:
protected function callLater(fn:Function):void {
if (inCallLaterPhase) { return; }
...
}
и
Код:
private function callLaterDispatcher(event:Event):void {
...
inCallLaterPhase = true;			
var methods:Dictionary = callLaterMethods;
for (var method:Object in methods) {
method();
delete(methods[method]);
}
inCallLaterPhase = false;
}
UILoader вызывает событие ComponentEvent.RESIZE в конце метода draw, однако в это время статичная переменная inCallLaterPhase класса UIComponent равна true, поэтому функция CallLater класса ScrollPane не срабатывает.

Выход в принципе есть. Перенести присвоение inCallLaterPhase = false в методе callLaterDispatcher класса UIComponent в конец метода draw этого же класса. Но мне как-то не очень хочется править компоненту adobe, мало ли, какие-нибудь еще глюки могут возникнуть из-за этого.

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

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

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


 


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


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