PDA

Просмотр полной версии : Подёргивания


Эрман
09.02.2007, 14:38
Есть некоторый текст, который хотелось бы оживить эффектом рандомного подёргивания букв. Не случаем у кого нить похожей штуки?

Mr. Fixit
09.02.2007, 14:51
он слишком дёрганный:yahoo:

Эрман
09.02.2007, 14:54
а как сделать чтобы текст сам был на одной строке и дёргались только буквы?

CorC
09.02.2007, 14:54
я думаю имелось ввиду не подергивание текста а подергивание отдельных букв
это лучше программно делать createTextField для каждой буквы

Mr. Fixit
09.02.2007, 14:55
простым способом разбить слово на буквы, через МС выполнять функцию..
сложный способ - незнаю..

CorC
09.02.2007, 15:02
простой :)

stop();
Text = "Breathe pressure... Voodoo People";
for (var i = 0; i<Text.length; i++) {
this.createTextField("txt"+i, this.getNextHighestDepth(), 8*i, 100, 0, 0);
this["txt"+i].autoSize = true;
this["txt"+i].text = Text.substr(i, 1);
}
onEnterFrame = function () {
for (var i = 0; i<Text.length; i++) {
this["txt"+i]._x = (Math.random()*2-1)*1+i*8;
this["txt"+i]._y = (Math.random()*2-1)*1+100;
}
};

Эрман
09.02.2007, 15:05
клёво

Oreanor
09.02.2007, 15:51
простой :)


только зачем их каждый кадр криэйтить? это лишнее имхо.

CorC
09.02.2007, 15:52
мдя, косячокс :) забыл удалить
осталось с прошл хозяина :)
поменял

Oreanor
09.02.2007, 15:56
теперь все ок! :)

CorC
09.02.2007, 16:05
мдя, копипаст не всегда рулит :)

Oreanor
09.02.2007, 16:19
сделал цацку и радуюсь :)


stop();
Text = "Breathe pressure... Voodoo People";
for (var i = 0; i<Text.length; i++) {
this.createTextField("txt"+i, this.getNextHighestDepth(), 8*i, 100, 0, 0);
this["txt"+i].autoSize = true;
this["txt"+i].text = Text.substr(i, 1);
}
onEnterFrame = function () {
for (var i = 0; i<Text.length; i++) {
if(i==0){
dx = (_root._xmouse - this["txt"+i]._x)/4;
dy = (_root._ymouse - this["txt"+i]._y)/4;

} else {
dx = (this["txt"+(i-1)]._x - this["txt"+i]._x)/4;
dy = (this["txt"+(i-1)]._y - this["txt"+i]._y)/4;
}
this["txt"+i]._x +=dx+2;
this["txt"+i]._y +=dy;
this["txt"+i]._x += (Math.random()*2-1);
this["txt"+i]._y += (Math.random()*2-1);
}
};

CorC
09.02.2007, 17:11
продолжение темы :)

stop();
Text = "А вот этот вот текст мало|того что многострочный|но еще и разветвляется,|но причем здесь уже сабж|просто непонятно становится";
var j = 0;
var k = 0;
for (var i = 0; i<Text.length; i++) {
if (Text.substr(i, 1) == "|") {
j = 0;
k++;
} else {
this.createTextField("txt"+i, this.getNextHighestDepth(), 8*j, 100+k*15, 0, 0);
this["txt"+i].autoSize = true;
this["txt"+i].text = Text.substr(i, 1);
j++;
}
}
Ko=k/2;
onEnterFrame = function () {
var j = 0;
var k = 0;
for (var i = 0; i<Text.length; i++) {
if (Text.substr(i, 1) == "|") {
j = 0;
k++;
} else {
if (j == 0) {
dx = (_root._xmouse-this["txt"+i]._x)/2;
dy = (_root._ymouse-this["txt"+i]._y)/2;
} else {
dx = (this["txt"+(i-1)]._x-this["txt"+i]._x)/2;
dy = (this["txt"+(i-1)]._y-this["txt"+i]._y)/2-8*(k-Ko);
}
this["txt"+i]._x += dx+6;
this["txt"+i]._y += dy;
this["txt"+i]._x += (Math.random()*2-1);
this["txt"+i]._y += (Math.random()*2-1)+8*(k-Ko)+(k-Ko)*j/20;
j++;
}
}
};