Показать сообщение отдельно
Старый 21.04.2009, 19:45
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 5  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
beatstream, обратите внимание на метод draw() класса BitmapData. Вполне вероятно с его помощью можно получить изображение кнопки. Что-то вроде этого
Код AS1/AS2:
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Matrix;
 
var bitmapData:BitmapData = new BitmapData(myButton._width, myButton._height, true, 0x00000000);
 
// Flip vertical matrix
var matrix:Matrix = new Matrix(1, 0, 0, -1);
 
bitmapData.draw(myButton, matrix, null, 'normal', new Rectangle(0, 0, myButton._width, myButton._height), true);
 
var mc:MovieClip = this.createEmptyMovieClip('reflection', this.getNextHighestDepth() );
mc.attachBitmap(bitmapData, 0);
 
var mask:MovieClip = this.createEmptyMovieClip('mask', this.getNextHighestDepth() );
 
// Gradient mask. Stolen from Flash Help beginGradientFill example 
var colors:Array = [0xFF0000, 0x0000FF];
var fillType:String = "radial";
var alphas:Array = [100, 100];
var ratios:Array = [0, 0xFF];
var spreadMethod:String = "reflect";
var interpolationMethod:String = "linearRGB";
var focalPointRatio:Number = 0.9;
 
matrix = new Matrix();
matrix.createGradientBox(100, 100, Math.PI, 0, 0);
mask.beginGradientFill(fillType, colors, alphas, ratios, matrix, spreadMethod, interpolationMethod, focalPointRatio);
mask.moveTo(0, 0);
mask.lineTo(mc._width, 0);
mask.lineTo(mc._width, mc._height);
mask.lineTo(0, mc._height);
mask.lineTo(0, 0);
mask.endFill();
 
mc.setMask(mask);
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 22.04.2009 в 11:41.