Работа с изображением 3
Картинка из кусочков.
Чтобы посмотреть ещё раз, обновите страницу браузера (клавиша F5)
Создайте новый документ AS 2.0 Загрузите картинку на сцену и выравнивайте по размеру сцены
(размер сцены создайте такую, чтобы ширина и высота делились на 50). Преобразуйте картинку в
муви клип (клавиша F8) с точкой регистрации верхний левый угол. Дайте название - myPic
поставить галочку в чебоксе "Экспорт ActionScript" и дать такое же название Instance Name.
Теперь удалите картинку со сцены, выделите первый кадр и, открыв панель "Action Script"
вставьте следующий код:
function takePic()
{
var picHolder = this.createEmptyMovieClip("picHol", 0);
var dep = 0;
var i = 0;
while (i < picHeight / bSize)
{
var k = 0;
while (k < picWidth / bSize)
{
var block = picHolder.createEmptyMovieClip("block" + i + k, dep);
++dep;
with (block)
{
attachMovie("myPic", "myPic", 0);
createEmptyMovieClip("mask", 1);
mask._x = k * bSize;
mask._y = i * bSize;
mask.beginFill(0, 100);
mask.lineTo(bSize, 0);
mask.lineTo(bSize, bSize);
mask.lineTo(0, bSize);
mask.lineTo(0, 0);
mask.endFill();
myPic.setMask(block.mask);
_x = picWidth - mask._x;
_y = picHeight - mask._y;
} // End of with
block.intervalID = setInterval(blockMover, dep * 200 + 1000, block);
++k;
} // end while
++i;
} // end while
} // End of the function
function blockMover(clip)
{
clearInterval(clip.intervalID);
clip.targetX = clip.targetY = 0;
clip.dist = Math.sqrt(Math.pow(clip.targetX - clip._x, 2) + Math.pow(clip.targetY - clip._y, 2));
clip.onEnterFrame = function ()
{
if (Math.abs(this.dist) > 1)
{
this._x = this._x + (this.targetX - this._x) / 4;
this._y = this._y + (this.targetY - this._y) / 4;
}
else
{
this._x = this.targetX;
this._y = this.targetY;
delete this.onEnterFrame;
} // end else if
};
} // End of the function
var bSize = 50;
this.createEmptyMovieClip("temp", 0);
this.temp.attachMovie("myPic", "myPic", 0);
var picWidth = this.temp.myPic._width;
var picHeight = this.temp.myPic._height;
removeMovieClip (this.temp);
takePic();
onMouseUp = function ()
{
takePic();
};
|
Смотрим результат, тестируя ролик (Ctrl+Enter)
Другой пример с кнопкой.
Этот урок аналогичен предыдущему, с той разницей, что здесь имеется кнопка для повторения ролика.
Создайте новый документ на AS 3.0 Загрузите картинку на сцену, переведите её в муви клип и дайте
Instance Name - Image Затем создайте второй слой и разместите на нём кнопку, присвоив Instance Name
- s_btn Создайте третий слой и, открыв панель Action Script (клавиша F9) вставьте следующий код:
import fl.transitions.*;
import fl.transitions.easing.*;
s_btn.addEventListener(MouseEvent.CLICK, prevObject);
function prevObject(event:MouseEvent) {
TransitionManager.start(Image, {type:PixelDissolve, direction:Transition.IN, duration:2, easing:Regular.easeIn, xSections:10, ySections:10});
}
|
После этого тестируем ролик и смотрим что получилось.
Исчезновение и появление картинки при щелчке мышкой.
При щелчке мышкой картинка исчезает, а при повторном щелчке появляется.
Создайте новый документ на AS 2.0 Загрузите любую картинку на сцену, преобразуйте её в
муви клип, присвоив Instance Name - image_mc Создайте второй слой и вставьте следующий код:
var lightOn:Boolean = false;
image_mc.onPress = function() {
if (lightOn == false) {
image_mc._alpha = 100;
lightOn = true;
} else {
image_mc._alpha = 0;
lightOn = false;
}
};
|
Тестируем ролик (сочетание клавиш Ctrl+Enter)
|