Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как заставить Slider динамически менять размер объекта (http://www.flasher.ru/forum/showthread.php?t=169365)

Шурик_2 03.10.2011 18:47

Как заставить Slider динамически менять размер объекта
 
Вложений: 1
Каким образом сделать это в реальном времени?
Вот мой текущий код:
Код AS3:

import fl.controls.Slider;
import fl.events.SliderEvent;
import fl.controls.Label;
import flash.events.Event;
import as3.clss.crystal;
 
//создаём слайдер
var aSlider:Slider = new Slider();
aSlider.width = 200;
aSlider.snapInterval = 1;
aSlider.tickInterval = 1;
aSlider.minimum = 3;
aSlider.maximum = 50;
aSlider.value = 3;
aSlider.move(174, 143);
addChild(aSlider);
 
var size:Number=3; //создаётся переменная "size" с дефолтным значением
 
aSlider.addEventListener(SliderEvent.CHANGE, changeSize);
 
function changeSize(event:SliderEvent):void
{
        size = event.value;
}
trace(size); //трейсится "3" один раз во время запуска воспроизведения
 
//создаём экземпляр класса crystal (цветной круг в Sprite)
var example:crystal = new crystal();
 
example.LEDsize = size; //размер экземпляра, который должен изменятся ползунком
 
example.xK = 10; //координаты
example.yK = 10; //экземпляра
addChild(example);


in4core 03.10.2011 18:55

интерФрейм или создать свой слайдер повесить кастомное событие на change

КорДум 03.10.2011 18:58

Код AS3:

function changeSize(event:SliderEvent):void
{
        size = event.value;
        example.LEDsize = size;
}


Шурик_2 03.10.2011 22:25

Вложений: 1
Цитата:

Сообщение от КорДум (Сообщение 1036414)
Код AS3:

function changeSize(event:SliderEvent):void
{
        size = event.value;
        example.LEDsize = size;
}


Александр, к сожалению ваш вариант не сработал. Даже трейс не отобразил изменений. Ставил по умолчанию ползунок на деление 8, а трейс показывает те же "3". По всей видимости, событие не сообщает переменной никаких значений.

КорДум 03.10.2011 22:29

Очевидно, что трейс ТОЖЕ нужно поместить в хендлер.

Шурик_2 03.10.2011 22:29

Цитата:

Сообщение от in4core (Сообщение 1036413)
интерФрейм или создать свой слайдер повесить кастомное событие на change

Извините, моего уровня изучения AS 3.0 не хватает, чтобы понять вашу идею.

КорДум 03.10.2011 22:32

Код AS3:

function changeSize(event:SliderEvent):void
{
        size = event.value;
        example.LEDsize = size;
        trace(size);
}


Шурик_2 03.10.2011 22:34

Вложений: 1
Цитата:

Сообщение от КорДум (Сообщение 1036471)
Очевидно, что трейс ТОЖЕ нужно поместить в хендлер.

Результат виден на скрине. Трейс в хендлере "молчит".

Bgg 03.10.2011 22:36

А вы попробовали подергать слайдер?

КорДум 03.10.2011 22:36

Не знаком с этим компонентом. Посмотрите документацию. Видно, что событие не рассылается.


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

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