Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Почему не показывается простая кнопка? (http://www.flasher.ru/forum/showthread.php?t=145168)

AlesNormales 30.09.2010 23:07

flash.display.SimpleButton
или из мувиклипа кнопку делайте.

xintrea 30.09.2010 23:27

Цитата:

Сообщение от AlesNormales (Сообщение 939962)
flash.display.SimpleButton
или из мувиклипа кнопку делайте.

У SimpleButton нет свойства Label. Как задать надпись на такой кнопке?

Bgg 30.09.2010 23:31

Цитата:

Сообщение от xintrea (Сообщение 939964)
У SimpleButton нет свойства Label. Как задать надпись на такой кнопке?

Руками во Flash IDE.

xintrea 30.09.2010 23:38

Цитата:

Сообщение от SilverToad (Сообщение 939953)
или на Canvas: Button и Label +))

Хорошо, вот код:

Код AS3:

package {
  import mx.containers.Canvas;
  import mx.controls.Button;
  import mx.controls.Label;
 
  public class Main extends Canvas {
 
  public function Main()
  {
  var display_txt:Label = new Label();
  display_txt.text = "This is text";
  addChild(display_txt);
 
  var pButton:Button = new Button();
  pButton.label="This is button";
  addChild(pButton);
  }
 }
}

Компилируется без ошибок, но при запуске выдает:

Код:

Произошла ошибка ActionScript:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
        at mx.styles::StyleManager$/getStyleManager()
        at mx.styles::StyleProtoChain$/getStyleManager()
        at mx.styles::StyleProtoChain$/initProtoChain()
        at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::initProtoChain()
        at mx.core::UIComponent/regenerateStyleCache()
        at mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::addingChild()
        at mx.core::Container/http://www.adobe.com/2006/flex/mx/internal::addingChild()
        at mx.core::Container/addChildAt()
        at mx.core::Container/addChild()
        at Main()

Что эта гадость еще от меня хочет?

deamoK 30.09.2010 23:41

на худой конец можно сделать так:

Код AS1/AS2:

package  
{
        import flash.display.Sprite;
        import flash.events.MouseEvent;
        import flash.text.TextField;
 
        public class SimpleDrag extends Sprite
        {
                private var button:Sprite;
                private var label:TextField;
 
                public function SimpleDrag()
                {
                        button = new Sprite();
                        label = new TextField()
                        label.text = "Label";
                        label.selectable = false;
                        label.x = 30;
                        label.y = 15
                        button.graphics.lineStyle(1)
                        button.graphics.beginFill(0xCCCCCC);
                        button.graphics.drawRoundRect(0, 0, 10050, 15);
                        button.graphics.endFill()
                        button.addChild(label)
                        stage.addChild(button);
                        button.x = button.y = 100;
                }
 
        }
 
}

я, лично, юзаю компоненты отсюда minimalcomps.com , очень удобные штучки

xintrea 30.09.2010 23:42

Цитата:

Сообщение от Bgg (Сообщение 939965)
У SimpleButton нет свойства Label. Как задать надпись на такой кнопке?
Руками во Flash IDE.

То есть, во Flash IDE доступно свойство Label, а в чистом AS3 недоступно? Тогда я вообще не понимаю, как Flex устроен.

И да, я под линухом компилирую через mxmlc, о чем написал в первом посте. Flash IDE тут нет как понятия.

Добавлено через 3 минуты
Цитата:

Сообщение от deamoK (Сообщение 939969)
на худой конец можно сделать так:

Не, не, не надо на худой конец.

Хочу узнать простую вещь - как сделать "надпись" и "кнопку с текстом". И показать их на экране. Неужели во Flex нет таких базовых компонент???

AlesNormales 30.09.2010 23:48

с SimpleButton проще разбираться. Никакого лейбла и текста у нее действительно нет. на то она и Simple. Расширьте ее класс, кладите сверху на нее текстфилд, вот вам и текст.

вот тут обсуждают
http://www.kirupa.com/forum/showthread.php?t=317239
и здесь пример есть
http://livedocs.adobe.com/flash/9.0/...xamplesSummary

Bgg 01.10.2010 00:00

Цитата:

Сообщение от xintrea (Сообщение 939970)
То есть, во Flash IDE доступно свойство Label, а в чистом AS3 недоступно? Тогда я вообще не понимаю, как Flex устроен.

И да, я под линухом компилирую через mxmlc, о чем написал в первом посте. Flash IDE тут нет как понятия.

Вас линукс до добра не доведет))

Свойства Label нет у SimpleButton нигде, о чем и говорится в документации.

Я бы на вашем месте скачал FlashBuilder и посмотрел как формируется mxml документ, в котором содержится разметка и свойства(Label, ага) различных компонентов.

xintrea 01.10.2010 00:29

Цитата:

Сообщение от deamoK (Сообщение 939969)
я, лично, юзаю компоненты отсюда minimalcomps.com , очень удобные штучки

Скачал, но так и не догнал, как их установить в Flex4 SDK. Может, вы знаете?

deamoK 01.10.2010 00:39

Цитата:

Сообщение от xintrea (Сообщение 939987)
Скачал, но так и не догнал, как их установить в Flex4 SDK. Может, вы знаете?

SDK? Может быть вы имели ввиду FlashBuilder4, ну или Flex4
Во флексе есть всевозможные компоненты: и надписи, и кнопки, и перекнопки итд

Я юзаю FlashDevelop, те чистый as3 код

Добавлено через 6 минут
ааа, все-все, увидел что вы под линуксом))
Нужна просто кнопка, тогда мой код постом выше НЕ худой конец, а норм решение)))


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

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