Форум 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)
-   -   Скопировать (унаследовать) свойства TextField (http://www.flasher.ru/forum/showthread.php?t=133554)

mj_nooker 08.12.2009 06:16

Скопировать (унаследовать) свойства TextField
 
В мувике создается несколько текстфилдов. Каждый из них должен иметь одинаковые свойства. Гуглил, искал здесь и на других ресурсах - конкретной инфы нет.
Не цеплять-же на каждый из них несколько строк свойств! (
Пожалуйста, подскажите, кто как реализовывал или где я не дочитал?

mooncar 08.12.2009 10:36

Ну есть такая штука - повторное использование кода. Для этого обычно используются функции.
Пишете функцию, в которой аргумент - текстовое поле и поочередно для всех ее вызываете, например, в цикле:

Код AS1/AS2:

function setTextFieldProperties (tf:TextField) {
    tf.autoSize = true ;
    tf.border = true ;
    tf.wordWrap = true ;
}
 
var mc:MovieClip = _root.cont_mc.texts_mc;
for (i = 1; i < 20; i++) {
  setTextFieldProperties (mc['tf' + i]);
}

Либо прямо в самой функции делаете создание текстовых полей с последующим изменением свойств. Типа:
Код AS1/AS2:

var fmt:TextFormat = new TextFormat(); 
fmt.bold = true;
fmt.size = 12;
fmt.color = 0xFF0000;
 
function createTextFields (tfName:String, step:Number) {
    var tf:TextField = mc.createTextField(tfName, mc.getNextHighestDepth(), 10, 10 + step, 200, 20);
    tf.border = true ;
    tf.wordWrap = true ;
    tf.setNewTextFormat(fmt);
}
 
 
for (i = 1; i < 20; i++) {
  createTextFields  ('tf' + i, 30 * i);
}



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

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