Статьи

Совет: создайте кнопку «Копировать в буфер обмена» во Flash

Буфер обмена является программным средством, которое может использоваться для кратковременного хранения данных и / или передачи данных между документами или приложениями посредством операций копирования и вставки.

В этом кратком совете мы создадим кнопку «Копировать в буфер обмена» во Flash.


Приведенный ниже пример — то, к чему мы будем стремиться в этом кратком совете.

Нажмите Cmd + V (или Ctrl + v на ПК), чтобы вставить текст в другое место.

Два текстовых поля будут размещены на сцене, поле ввода и динамическое поле. Кнопка будет использоваться для получения и копирования текста поля ввода в буфер обмена, показывая сообщение в динамическом поле.

Теперь в этом совете мы будем обрабатывать буфер обмена в плагине Flash Player Browser, это означает, что у нас не будет доступа к классу flash.desktop.Clipboard, который доступен только в AIR, что сокращает наши возможные действия.

Откройте Flash и создайте новый файл Flash (ActionScript 3.0).

Установите размер сцены на 320 х 240 пикселей.

Каждый InteractiveObject (то есть каждый объект, с которым пользователь может взаимодействовать) отправляет события копирования и вставки . Если объект, который в данный момент имеет фокус, является TextField, поведение этого события по умолчанию состоит в том, что любой выделенный в данный момент текст в текстовом поле будет скопирован в буфер обмена. Вы можете прослушать эти события, используя:

1
2
3
myObject.addEventListener(Event.COPY, onCopy);
myObject.addEventListener(Event.CUT, onCut);
myObject.addEventListener(Event.PASTE, onPaste);

В этом совете мы сосредоточимся на методе System.setClipboard ().

Выберите Text Tool (T) и создайте два текстовых поля, динамическое и поле ввода.

Вы можете ввести текст в поле ввода, чтобы использовать его по умолчанию. Введите что-то, что должно быть скопировано точно так, как написано, например адрес электронной почты.

Откройте панель свойств и задайте имена экземпляров полей, как показано на рисунке.

Кнопка вызовет действие копирования в буфер обмена.

Выберите инструмент Rectangle Tool (R), создайте прямоугольник размером 60×28 пикселей и заполните его # 333333. Добавьте статическое текстовое поле в качестве метки.

Преобразуйте фигуры в MovieClip (выберите их, затем нажмите « Изменить»> «Преобразовать в символ» ) и назовите кнопку copyButton .

Нажмите Option + F9 или перейдите в Окно> Действия, чтобы открыть Панель действий.

Это функция, которая будет копировать текст в буфер обмена.

1
2
3
4
5
function copyText(e:MouseEvent):void
{
    System.setClipboard(myField.text);
    messageField.text = «Copied!»;
}

Функция копирования вызывается MouseEvent.

К кнопке будет добавлен прослушиватель событий, который активирует функцию copyText, когда пользователь нажимает кнопку.

1
copyButton.addEventListener(MouseEvent.MOUSE_UP, copyText);

Сохраните свою работу и нажмите Cmd + Return, чтобы запустить приложение.

Нажмите Cmd + V (или Ctrl + v на ПК), чтобы вставить текст в другое место.

Это базовый пример того, как вы можете использовать эту функцию; экспериментируйте и используйте его в своих проектах!

Спасибо за прочтение!