Создание кнопки копирования в буфер обмена

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player

Информация
Автор/переводчик: 
ProcXel.A
Описание: 

Буфер обмена - это такая штука в операционной системе, которая необходима для временного хранения и передачи информации из одной программы в другую. В системе Windows, например, для работы с буфером обмена есть горячие клавиши. И Flash умеет обрабатывать нажатие этих горячих клавиш с помощью событий:

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

Благодаря которым можно подшучивать над пользователями, желающими что-нибудь скопировать с вашего flash-сайта. Например, копирует пользователь с сайта рецепт вкусной пиццы, а вы ему подсовываете в буфер обмена секретную базу данных Пентагона и через минуту США закидывают ядерными бомбами страну вашего пользователя. Хм... Очень удобную штуку придумала компания Adobe.

Ах, да! Самое главное-то забыл. Записывать информацию в буфер обмена позволяет следующая строка кода:


System.setClipboard( str:String );

Всё просто!

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

1. Создайте новый *.fla файл с размерами 300 х 250.
2. Вставьте в первый кадр главного слоя (клавиша F9) следующий код:


import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.events.Event;
import flash.text.TextFormat;
import flash.display.SimpleButton;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.system.System;

//Это массив для движущихся текстовых полей.
var fields:Array = []
//Это наша строка, которую будем копировать в буфер обмена при нажатии на кнопку.
var myText:String = "Если хочешь скопировать этот текст, то нажми кнопку."
//Это спрайт, который будет своим появлением означать, что наша строка скопирована.
var done_spt:Sprite

//Слушатель обновления кадров.
this.addEventListener( Event.ENTER_FRAME, Update )
//Создание текстовых полей.
CreateFields()
//Создание кнопки.
CreateBtn()

//Функция создания текстовых полей.
function CreateFields():void {
//Разделяем нашу строку на слова.
var words:Array = myText.split( " " )
//Переставляем задом-наперед. Даже не спрашивай! Так надо!
words.reverse()

//Создаем формат текстового поля.
var tf:TextFormat = new TextFormat( "Arial", 30, 0, true )

//Создаем текстовые поля из слов.
for ( var i:int = 0; i

3. Протестируйте ролик.

Теперь при нажатии на кнопку крутящаяся стока копируется в буфер обмена. После чего вы можете ее вставить куда угодно. Например, откройте блокнот и нажмите Ctrl+V (Windows).

Конец.

Исходник: 

Впервые!

Если у вас было хоть раз желание сделать что-то новое и необычное, то этот видеокурс для вас! Знания ActionScript 3.0 вдохнут в ваши проекты новую жизнь, позволив тем самым поднять их на новый уровень

С помощью этого видеокурса вы пройдёте путь от новичка до Объектно-Ориентированного Программирования, сможете работать со многими популярными библиотеками и научитесь создавать сайты во flash! + Видеокурс по PaperVision3D в подарок!

Видеокурс содержит 119 видеоуроков в 12 главах. На сегодняшний день это единственный видеокурс, таких масштабов

Узнайте о других возможностях ActionScript 3.0

Комментарии

Аватар пользователя Sumbit

Спасибо, интересный урок.

Аватар пользователя taraa

прикольно., но не сработает если он будет копировать комбинациями клавиш,. хотя можно запретить выделения текста, и поставить кнопку, ))) ну никогда не нужно было такое,, но интересное дело)) можно упростить даже для себя много вещей. спасибо.

а хули...