Модераторы: SoWa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление элемента controls в Sprite 
V
    Опции темы
nikitos1980
Дата 15.4.2010, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 17.5.2008

Репутация: нет
Всего: нет



Создаю объект Sprite, и элемент пользовательского интерфейса, например TextArea.
Код

var sprite:Sprite = new Sprite();
var txt:TextArea = new TextArea();


Задаю размер текстовому полю и размещаю на экране
Код

txt.height = 50;
sprite.addChild(txt);
this.addChild(sprite);


Запрос trace(sprite.height); возвращает результат, равный 115 ВСЕГДА!
Почему? Так происходит с любым UIControl.
PM MAIL WWW   Вверх
bars80080
Дата 15.4.2010, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: нет
Всего: 315



а удавалось ли ему изменить высоту?
PM MAIL WWW   Вверх
nikitos1980
Дата 16.4.2010, 00:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 17.5.2008

Репутация: нет
Всего: нет



Цитата(bars80080 @  15.4.2010,  20:39 Найти цитируемый пост)
а удавалось ли ему изменить высоту? 

Да, элемент управления изменяет размеры:
txt.height = 50; // Становится 50 пкс в высоту

даже если увеличить, скажем, до 200 пкс, то низ просто будет "обрезан"

PM MAIL WWW   Вверх
bars80080
Дата 16.4.2010, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: нет
Всего: 315



ему, имелось в виду объекту sprite. вы ему высоту задавали?
PM MAIL WWW   Вверх
nikitos1980
Дата 16.4.2010, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 17.5.2008

Репутация: нет
Всего: нет



Цитата(bars80080 @  16.4.2010,  15:09 Найти цитируемый пост)
ему, имелось в виду объекту sprite. вы ему высоту задавали? 


и ему тоже
Если ему задать, то и контрол изменил размеры

PM MAIL WWW   Вверх
nilrem
Дата 17.4.2010, 03:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 15.2.2006
Где: Киев

Репутация: нет
Всего: нет



попробуйте 
Код

  sprite.getBounds(sprite);


PM MAIL WWW ICQ Skype   Вверх
nikitos1980
Дата 17.4.2010, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 17.5.2008

Репутация: нет
Всего: нет



Цитата(nilrem @  17.4.2010,  03:34 Найти цитируемый пост)
попробуйте 


Код

var size:Rectangle = sprite.getBounds(sprite);
trace(size.height);


результат - 115
PM MAIL WWW   Вверх
nilrem
Дата 17.4.2010, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 15.2.2006
Где: Киев

Репутация: нет
Всего: нет



Тогда весь код в студию smile
PM MAIL WWW ICQ Skype   Вверх
nikitos1980
Дата 20.4.2010, 08:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 96
Регистрация: 17.5.2008

Репутация: нет
Всего: нет



Решил задачу. Спасибо людям, в совершенстве владеющим поиском Google.

Код

import flash.display.*;
import fl.controls.*;
import flash.geom.*;
import fl.managers.*;

var sprite:Sprite = new Sprite();
var tArea:TextArea = new TextArea();
SetTextAreaSize(tArea, 49);

function SetTextAreaSize(textAreaObj:TextArea, h:Number) : void
{
    textAreaObj.getChildAt(0).height = h;
    var tUSB:UIScrollBar = UIScrollBar(textAreaObj.getChildAt(1));
    var tLB:LabelButton = LabelButton(tUSB.getChildAt(1));
    tLB.getChildAt(0).height = 0;
    
    tUSB = UIScrollBar(tArea.getChildAt(2));
    tLB = LabelButton(tUSB.getChildAt(1));
    tLB.getChildAt(0).width = 0;
    
}

tArea.setSize(230, 49);
sprite.addChild(tArea);
addChild(sprite);

trace(sprite.height);  // получаю 49



Это сообщение отредактировал(а) nikitos1980 - 21.4.2010, 17:42
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | ActionScript 3 | Следующая тема »


 




[ Время генерации скрипта: 0.0485 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.