Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Motion Blur используя actionscript (http://www.flasher.ru/forum/showthread.php?t=98181)

Anait Sagoyan 08.07.2007 16:11

Motion Blur используя actionscript
 
Есть мувиклип myBall и код на нем:

Код:

onClipEvent(enterFrame) {
        speed = 6;
        this._x += speed;
}

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

Если бы кто мог помочь.

Спасибо.

iNils 08.07.2007 16:50

Для оформления своего кода, надо использовать теги [code][/code].

wvxvw 08.07.2007 21:03

Код:

import flash.filters.BlurFilter;
System.security.allowDomain("http://www.helpexamples.com");
var mclListener:Object = new Object();
mclListener.onLoadInit = function(target_mc:MovieClip) {
    // Center the target_mc movie clip on the Stage.
    target_mc._x = (Stage.width - target_mc._width) / 2;
    target_mc._y = (Stage.height - target_mc._height) / 2;
};
this.createEmptyMovieClip("img_mc", 10);
var img_mcl:MovieClipLoader = new MovieClipLoader();
img_mcl.addListener(mclListener);
img_mcl.loadClip("http://www.helpexamples.com/flash/images/image1.jpg", img_mc);
var blur:BlurFilter = new BlurFilter(10, 10, 2);

var mouseListener:Object = new Object();
mouseListener.onMouseMove = function():Void {
    /* Moving the pointer to the center of the Stage sets the blurX and blurY properties to 0%. */
    blur.blurX = Math.abs(_xmouse - (Stage.width / 2)) / Stage.width * 2 * 255;
    blur.blurY = Math.abs(_ymouse - (Stage.height / 2)) / Stage.height * 2 * 255;
    img_mc.filters = [blur];
};
Mouse.addListener(mouseListener);

Пример из хелпа (чтобы посмотреть, как работает, надо мышкой над картинкой поводить)
ЗЫ. Лучше писать код на таймлайне, а не на отдельных клипах, потом легче найти, да и взаимодействие между разными обэктами легче организовать.

Anait Sagoyan 08.07.2007 22:53

Спасибо, конечно, за проявленное внимание, но это не совсем то, т.к. мне нужно было размытие при движении мувиклипа, т.е. в начальной и конечной позиции мувик должен быть в нормальном состоянии, но во время движения от начала к концу он должен размываться, как будто при большой скорости.

Wolsh 09.07.2007 09:54

Вам нужно вот это: http://img148.**************/my.php?i...ionblursc4.swf
Это разработка товарища LiQuiDaToR, выложенная в этой теме.
Исходники найдете на второй странице темы. Удачи в интеграции :)

this.create 09.07.2007 12:39

Код:

/* mc - мувиклип на сцене. Как его туда поместить решайте сами.*/
//
import flash.filters.BlurFilter;
//
//скорость перемещения клипа
var speed:Number = 6;
//мах размытие
var blurMax:Number = 5;
//скорость размытия
var blurSpeed:Number = .1;
//
mc.onEnterFrame = function():Void  {
        var ar:BlurFilter = this.filters[0];
        if (ar) {
                ar.blurX>=blurMax ? ar.blurX=ar.blurY=blurMax : ar.blurX=ar.blurY += blurSpeed;
        } else {
                ar = new BlurFilter(0, 0, 2);
        }
        this.filters = [ar];
        this._x += speed;
        if (this._x>=Stage.width-this._width) {
                delete this.onEnterFrame;
                this._x = Stage.width-this._width;
        }
};


Anait Sagoyan 09.07.2007 13:48

Цитата:

Сообщение от Wolsh
Вам нужно вот это: http://img148.**************/my.php?i...ionblursc4.swf
Это разработка товарища LiQuiDaToR, выложенная в этой теме.
Исходники найдете на второй странице темы. Удачи в интеграции :)

Motion Blur, конечно, хороший, но исходники, выложенные на webfile, к сжалению уже удалены, возможно из-за неактивности. :(

Anait Sagoyan 09.07.2007 13:54

Цитата:

Сообщение от this.create
Код:

/* mc - мувиклип на сцене. Как его туда поместить решайте сами.*/
//
import flash.filters.BlurFilter;
//
//скорость перемещения клипа
var speed:Number = 6;
//мах размытие
var blurMax:Number = 5;
//скорость размытия
var blurSpeed:Number = .1;
//
mc.onEnterFrame = function():Void  {
        var ar:BlurFilter = this.filters[0];
        if (ar) {
                ar.blurX>=blurMax ? ar.blurX=ar.blurY=blurMax : ar.blurX=ar.blurY += blurSpeed;
        } else {
                ar = new BlurFilter(0, 0, 2);
        }
        this.filters = [ar];
        this._x += speed;
        if (this._x>=Stage.width-this._width) {
                delete this.onEnterFrame;
                this._x = Stage.width-this._width;
        }
};


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

Все равно спасибо, :) но все еще проблема не решена.

Wolsh 09.07.2007 14:09

ОК, я постараюсь найти и выложить, где-то сохранял :)
Но это часов через пять-шесть :(

Anait Sagoyan 09.07.2007 14:48

Спасибо! мне нужен именно этот эффект, а его исхоника, к сожалению нет уже на той странице. Если найдете у себя, я была бы очень благодарна!


Часовой пояс GMT +4, время: 00:08.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.