sector_222
15.03.2009, 01:15
Здравствуйте.
переделал код с вывода фоток в вывод мувиков с зеркальным отражением
this.createEmptyMovieClip("container_mcZ",this.getNextHighestDepth());
container_mcZ._x = _root.goriz_x;
container_mcZ._y = _root.goriz_y;
for (var i = 0; i<10; i++) {
var mc:MovieClip = container_mcZ.createEmptyMovieClip(i, container_mcZ.getNextHighestDepth());
var pic:MovieClip = mc.attachMovie("pic","pic"+i,i);
var bmp:MovieClip = mc.createEmptyMovieClip('bmp', 2);
var mask:MovieClip = mc.createEmptyMovieClip('mask', 4);
mc._x = 81.3*i;
var mc = pic._parent;
mc.varTween = new Tween(mc, '_alpha', Regular.easeOut, 0, 100, 2, true);
reflect(pic);
setupReflection(pic);
//*************************************реаKция на события*********************************
pic.onRelease = function() {
var id2:Number = this.getDepth(mc);
trace(id2);
};
pic.onRollOver = function() {
this._alpha = 50;
};
pic.onRollOut = function() {
this._alpha = 100;
};
}
function reflect(mc:MovieClip) {
var bmp = mc._parent.bmp;
var bitmap:BitmapData = new BitmapData(mc._width, mc._height, true, 0);
bitmap.draw(mc);
bmp.attachBitmap(bitmap, 2, 'auto', true);
bmp._yscale = -100;
bmp._y = mc._height*2+5; //расстояние тени от картинки
bmp._x = mc._x;
bmp.filters = [blur]
}
function setupReflection(mc:MovieClip) {
var mask = mc._parent.mask;
var bmp = mc._parent.bmp;
//
with (mask) {
_y = mc._height+5;
matrix = new Matrix();
matrix.createGradientBox(mc._width, mc._height, Math.PI/2, 40, -30);// -50 - маштаб тени
beginGradientFill('linear', [0x000000, 0xffffff], [100, 0], [0, 0xff], matrix, 'pad', 'RGB', 1);
moveTo(0, 0);
lineTo(mc._width, 0);
lineTo(mc._width, mc._height);
lineTo(0, mc._height);
lineTo(0, 0);
endFill();
}
bmp.cacheAsBitmap = true;
mask.cacheAsBitmap = true;
mask._alpha = 80;
bmp.setMask(mask);
}
но почему-то 2-й и 4-й мувики не выводит.
и как сделать чтобы при наведении курсора - менялась альфа не только на мувике но и на его отражении?
переделал код с вывода фоток в вывод мувиков с зеркальным отражением
this.createEmptyMovieClip("container_mcZ",this.getNextHighestDepth());
container_mcZ._x = _root.goriz_x;
container_mcZ._y = _root.goriz_y;
for (var i = 0; i<10; i++) {
var mc:MovieClip = container_mcZ.createEmptyMovieClip(i, container_mcZ.getNextHighestDepth());
var pic:MovieClip = mc.attachMovie("pic","pic"+i,i);
var bmp:MovieClip = mc.createEmptyMovieClip('bmp', 2);
var mask:MovieClip = mc.createEmptyMovieClip('mask', 4);
mc._x = 81.3*i;
var mc = pic._parent;
mc.varTween = new Tween(mc, '_alpha', Regular.easeOut, 0, 100, 2, true);
reflect(pic);
setupReflection(pic);
//*************************************реаKция на события*********************************
pic.onRelease = function() {
var id2:Number = this.getDepth(mc);
trace(id2);
};
pic.onRollOver = function() {
this._alpha = 50;
};
pic.onRollOut = function() {
this._alpha = 100;
};
}
function reflect(mc:MovieClip) {
var bmp = mc._parent.bmp;
var bitmap:BitmapData = new BitmapData(mc._width, mc._height, true, 0);
bitmap.draw(mc);
bmp.attachBitmap(bitmap, 2, 'auto', true);
bmp._yscale = -100;
bmp._y = mc._height*2+5; //расстояние тени от картинки
bmp._x = mc._x;
bmp.filters = [blur]
}
function setupReflection(mc:MovieClip) {
var mask = mc._parent.mask;
var bmp = mc._parent.bmp;
//
with (mask) {
_y = mc._height+5;
matrix = new Matrix();
matrix.createGradientBox(mc._width, mc._height, Math.PI/2, 40, -30);// -50 - маштаб тени
beginGradientFill('linear', [0x000000, 0xffffff], [100, 0], [0, 0xff], matrix, 'pad', 'RGB', 1);
moveTo(0, 0);
lineTo(mc._width, 0);
lineTo(mc._width, mc._height);
lineTo(0, mc._height);
lineTo(0, 0);
endFill();
}
bmp.cacheAsBitmap = true;
mask.cacheAsBitmap = true;
mask._alpha = 80;
bmp.setMask(mask);
}
но почему-то 2-й и 4-й мувики не выводит.
и как сделать чтобы при наведении курсора - менялась альфа не только на мувике но и на его отражении?