rockerman
18.02.2009, 08:01
Уважаемые форумчане! Пожалуйста, помогите разобраться в проблеме. Я уже замучался с этой задачей! У меня есть код Action Script. Суть этого кода в том, что он анимационно "состаривает" картинку или муви клип. Использовать его просто. Вставляешь картинку на главную сцену и в первый же фрейм суешь этот скрипт. Получается что-то вроде ретро фильма.
Проблема в следующем. Вся моя флешка по размеру составляет 1000 х 600 пикселей. Я хочу с помощью этого скрипта сделать имитацию небольшого проекционного экрана со стареньким кинопроектором. Но этот экранчик занимает всего 200 х 200 пикселей от общего размера флешки. А скрипт делает анимацию на всю флешку. Я не силен в языках программирования и методом "тыка" уже все перепробовал! Выручайте!!!! Что делать? Нужно, чтобы анимация была лишь на маленьком фрагменте (на одном мувиклипе).
Вот сам текст скрипта:
// Случайное число
function randNumb(min, max) {
var number:Number = Math.random()*(max-min)+min;
return number;
}
// Присоединяем помехи
function noise(nLines, nDots, nCurves) {
var lines:MovieClip = this.createEmptyMovieClip("linesHolder", 0);
for (var i:Number = 0; i<nLines; i++) {
var line:MovieClip = lines.createEmptyMovieClip("line"+i, i);
line.lineStyle(0, 0xFFFFFF, 50);
line.lineTo(0, Stage.height);
line._x = randNumb(0, Stage.width);
line.onEnterFrame = linesMover;
}
var dots:MovieClip = this.createEmptyMovieClip("dotsHolder", 1);
for (var i:Number = 0; i<nDots; i++) {
var dot:MovieClip = dots.createEmptyMovieClip("dot"+i, i, {_x:randNumb(0, Stage.width), _y:randNumb(0, Stage.height)});
dot.lineStyle(0, 0xFFFFFF, 80);
dot.lineTo(0, 1);
dot.onEnterFrame = dotsMover;
}
var curves:MovieClip = this.createEmptyMovieClip("curvesHolder", 2);
for (var i:Number = 0; i<nCurves; i++) {
var curve:MovieClip = curves.createEmptyMovieClip("curve"+i, i, {_x:randNumb(0, Stage.width), _y:randNumb(0, Stage.height)});
curve.lineStyle(0, 0xFFFFFF, 50);
curve.curveTo(7, 0, 5, 5);
curve.onEnterFrame = curvesMover;
}
}
// Передвижение полос
function linesMover() {
this._x = randNumb(0, Stage.width);
this._alpha = randNumb(0, 50);
}
// Передвижение точек
function dotsMover() {
this._x = randNumb(0, Stage.width);
this._y = randNumb(0, Stage.height);
}
// Передвижение кривых
function curvesMover() {
this._x = randNumb(0, Stage.width);
this._y = randNumb(0, Stage.height);
this._alpha = randNumb(10, 50);
this._rotation = randNumb(0, 360);
}
// Запускаем помехи (в скобках указывается кол-во линий, точек и кривых)
noise(2, 10, 3);
Надеюсь на Вашу помощь!
Добавлено через 2 минуты
Предыдущую мою тему закрыли из-за ненадлежащего оформления. Надеюсь сейчас все сделал правильно.
Проблема в следующем. Вся моя флешка по размеру составляет 1000 х 600 пикселей. Я хочу с помощью этого скрипта сделать имитацию небольшого проекционного экрана со стареньким кинопроектором. Но этот экранчик занимает всего 200 х 200 пикселей от общего размера флешки. А скрипт делает анимацию на всю флешку. Я не силен в языках программирования и методом "тыка" уже все перепробовал! Выручайте!!!! Что делать? Нужно, чтобы анимация была лишь на маленьком фрагменте (на одном мувиклипе).
Вот сам текст скрипта:
// Случайное число
function randNumb(min, max) {
var number:Number = Math.random()*(max-min)+min;
return number;
}
// Присоединяем помехи
function noise(nLines, nDots, nCurves) {
var lines:MovieClip = this.createEmptyMovieClip("linesHolder", 0);
for (var i:Number = 0; i<nLines; i++) {
var line:MovieClip = lines.createEmptyMovieClip("line"+i, i);
line.lineStyle(0, 0xFFFFFF, 50);
line.lineTo(0, Stage.height);
line._x = randNumb(0, Stage.width);
line.onEnterFrame = linesMover;
}
var dots:MovieClip = this.createEmptyMovieClip("dotsHolder", 1);
for (var i:Number = 0; i<nDots; i++) {
var dot:MovieClip = dots.createEmptyMovieClip("dot"+i, i, {_x:randNumb(0, Stage.width), _y:randNumb(0, Stage.height)});
dot.lineStyle(0, 0xFFFFFF, 80);
dot.lineTo(0, 1);
dot.onEnterFrame = dotsMover;
}
var curves:MovieClip = this.createEmptyMovieClip("curvesHolder", 2);
for (var i:Number = 0; i<nCurves; i++) {
var curve:MovieClip = curves.createEmptyMovieClip("curve"+i, i, {_x:randNumb(0, Stage.width), _y:randNumb(0, Stage.height)});
curve.lineStyle(0, 0xFFFFFF, 50);
curve.curveTo(7, 0, 5, 5);
curve.onEnterFrame = curvesMover;
}
}
// Передвижение полос
function linesMover() {
this._x = randNumb(0, Stage.width);
this._alpha = randNumb(0, 50);
}
// Передвижение точек
function dotsMover() {
this._x = randNumb(0, Stage.width);
this._y = randNumb(0, Stage.height);
}
// Передвижение кривых
function curvesMover() {
this._x = randNumb(0, Stage.width);
this._y = randNumb(0, Stage.height);
this._alpha = randNumb(10, 50);
this._rotation = randNumb(0, 360);
}
// Запускаем помехи (в скобках указывается кол-во линий, точек и кривых)
noise(2, 10, 3);
Надеюсь на Вашу помощь!
Добавлено через 2 минуты
Предыдущую мою тему закрыли из-за ненадлежащего оформления. Надеюсь сейчас все сделал правильно.