Меню сайта
Категории раздела
Мои лекции [2]
C# [2]
as3 [3]
теория и практика
java [1]
первые шаги в java. Теория и практика
Web [2]
CSS, HTML, JS и т.д.
MyProgramms [2]
Образование [1]
лекции разного уровня
Python [0]
Python, микрофреймворк Flask, фреймворк Django
Мои ссылки
  • Дизайн-магазин
  • Поиск
    Статистика


    Суббота, 20.04.2024, 16:21ГлавнаяМой профильРегистрацияВыходВход
    Добро пожаловать в мой MIR!
    Вы вошли как Гость | Группа "Гости"Приветствую Вас Гость | RSS
    Главная » Статьи » Программирование » as3

    Создаем кнопку программно
    Ресурсы: FlashDevelop, AS3

    Создадим проект во FlashDevelop. Выбираем As3 Project




           Код напишем в классе Main.as, который лежит в папке src. Папка с классом появится при создании проекта.
           А теперь то, что мы создаем.
          Создаю метод с именем createButton, модификатор private, так как никому доступ давать не нужно. Возвращать метод ничего не будет, поэтому указываю тип void.

    private function createButton():void{
        // создаю кнопку из Sprite
            var button:Sprite = new Sprite();
       // устанавливаю цвет и толщину линии
                button.graphics.lineStyle(1, 0xDFDFDF, 1);
       // устанавливаем градиент. (Тип заливки, цвета, прозрачность, соотношение цветов, Матрица(размещение вдоль х, размещение вдоль y, угол, смещение х, смещение у))
    button.graphics.beginGradientFill(GradientType.LINEAR,[0xFFFFFF,0x9B9B9B], [1,1], [128,132], new Matrix(1,2, Math.PI/2,0,0));
      // рисуем форму кнопки
                button.graphics.drawRoundRect(0, 0, 150, 30, 25, 25);
                button.graphics.endFill();
      // устанавливаем курсор в режим кнопки при наведении на нее
                button.buttonMode = true;
     // не учитываем то, что внутри лежит, а в данном случае это надпись, иначе курсор переключится
                button.mouseChildren = false;
                
      // устанавливаем фаску кнопки Имя_фильтра(дистанция, угол, цвет_1, его прозрачность, цвет_2, его прозрачность, размытие по х, размытие по у,  сила, качество)
                button.filters = [new BevelFilter(2, -90, 0xDFDFDF, 1, 0xF7F7F7, 1, 5, 7, 2, 5)];
      // создаем текстовое поле для кнопки
     // текст на экране отображается благодаря классу TextField
                var textField:TextField = new TextField();
                textField.text = "Начало";
    // сглаживание
                textField.antiAliasType = AntiAliasType.ADVANCED;
    // создаем формат для текста
    // хорошо отформатировать текст можно только с помощью класса TextFormat
                var formatText:TextFormat = new TextFormat();
                formatText.align = TextFormatAlign.CENTER;
                formatText.bold = true;
                formatText.color = 0x005EBB;
                formatText.size = 20;
    // расстояние между буквами
                formatText.letterSpacing = 4;
    // устанавливаем созданный формат к тексту
                textField.setTextFormat(formatText);
    // добавляем текст в кнопку
                button.addChild(textField);
    // устанавливаем размер текстового поля, что б было в пределах кнопки
                textField.width = 134;
                textField.height = 25;
      // устанавливаем местоположение текста, так как мне нужно, что б текст начинался с определенной позиции
                textField.x = 9;
                textField.y = 1;
     // устанавливаю слушатель событий на нажатие кнопки мышью. Событию дам название onClickBtn     
                button.addEventListener(MouseEvent.CLICK, onClickBtn, false, 0, true);
     // добавляю кнопку на сцену
                addChild(button);
    // расположение кнопки на сцене по моему выбору
                button.y = 100;
                button.x = 10;    
    // конец метода      
     }
            
     // создаем событие для кнопки 
    // в слушателе событий на Имя_событий нажать горячую клавишу Сtrl+ Shift + 1
         private function onClickBtn(e:Event):void {    
    // какой-то код на выполнение
           }


    А теперь самое главное. Созданный метод нужно запустить. В классе Main уже есть такие строчки кода
    private function init(e:Event = null):void   {
          removeEventListener(Event.ADDED_TO_STAGE, init);

          // entry point
          // Здесь поместим вызов нашего метода
          createButton();
      }

    Всё, можно запустить. Что бы кнопка была видна, лучше использовать не белый фон.

    Категория: as3 | Добавил: halenka (16.02.2015)
    Просмотров: 1737 | Теги: button, text, программирование, as3, кнопка, flash | Рейтинг: 0.0/0
    Всего комментариев: 0

    Copyright MyCorp © 2024