Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   как на ходу создать button?? (http://www.flasher.ru/forum/showthread.php?t=74948)

TheStriker 01.02.2006 13:48

как на ходу создать button??
 
как на ходу создать button??

Создать МС - createEmptyMovieClip();

А как создать Button instance?

Или по другому - динамически созданный текст преобразовать в кнопки??

Спасибо

silin 01.02.2006 14:01

аттачить из библиотеки ..
как добраться до текста в кнопке (по простому не выйдет) обсуждалось много.., ищи
зы:имхо пользы от кнопок мало: с мувиками удобнее..

TheStriker 01.02.2006 15:39

////////////////////////////////////////////////////////////////

loadVariables("menu1.php",this);
for(i=0;i<10;i++){
this.createTextField(i,i,i*90,0,80,20);
this[i].border = 0;
this[i].font = "Times New Roman";
this[i].size = 10;
this[i].variable = "c"+i;
}

///////////////////////////////////////////////////////////////

Видать, я плохо поставил вопрос или не понял ответ.

Написал я такой код.Валит во Флэш из MySQL базы переменные(ч\з РНР скрипт).
Текст выдается.Визуально - Всё в порядке.Надо сделать чтоб каждая надпись из этих была кнопкой.

Как???

Спасибо.

Fl00r 01.02.2006 16:36

В первый кадр соответственно.
Надеюсь понятно как его под свои нужды подстроить
Код:

this.createEmptyMovieClip("but", 1);

but.beginFill(0x000000, 0);
but.lineStyle(1, 0xFF00FF, 0);
but.moveTo(0, 0);
but.lineTo(0, 100);
but.lineTo(100, 100);
but.lineTo(100, 0);
but.lineTo(0, 0);
but.endFill();

x = 100;
y = 100;
_root.createTextField("tf",_root.getNextHighestDepth(),x,y,1,1);
_root.tf.autoSize = true;
_root.tf.selectable = false;
_root.tf.text = "My button text";
but._x = _root.tf._x;
but._y = _root.tf._y;
but._xscale = _root.tf._width;
but._yscale = _root.tf._height;

but.onPress= function(){
        trace ("_root.tf.text");
}


silin 01.02.2006 16:42

если правильно понимаю нужна реакция на нажатие..
вариантов много:
-аттачить из библиотеки заготовку(Button,MovieClip), передавая в InitObject текст
-создавать мувик, а уже в нем текстфилд..для мувика определять onRelease
-на MouseMove вешать отслеживание над каким текстфилдом мышь, на onMouseDown - действие..
-создвать текстфилд с html=true, на asfunction вешать действие

не думаю, что это полный список..
зы: пример для asfunction:
Код:

var labels = ['zero', 'one', 'two'];
for (i=0; i<labels.length; i++) {
        this.createTextField(i, i, i*90, 0, 80, 20);
        this[i].html = true;
        this[i].htmlText = "<a href='asfunction:clickText,"+i+"'>"+labels[i]+"</a>";
}
function clickText(n) {
        trace(n);
}


Fl00r 01.02.2006 16:45

Думаю asfunction - лучший вариант, если нет необходимости настройки hitZone.


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

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