Показать сообщение отдельно
Старый 04.05.2006, 22:28
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 5  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Код:
// .. IMAGINATION
// .. Created by Paul Neave
// .. www.neave.com
p = new Array();
count = 0;
p[count] = {x:_xmouse, y:_ymouse, w:0, col:0};
count++;
rand = Math.random;
sin = Math.sin;

r = 255; //rand() * 128 + 127;
g = 127; //rand() * 128 + 127;
b = 0; //rand() * 128 + 127;
w = 0;
ri = 0.02; //rand() * 0.05;
gi = 0.015; //rand() * 0.05;
bi = 0.025; //rand() * 0.05;

this.onEnterFrame = function() {
	vx = _xmouse - oldx + rand() * 2 - 1;
	vy = _ymouse - oldy + rand() * 2 - 1;
	oldx = _xmouse;
	oldy = _ymouse;
	p[count] = { x:_xmouse, y:_ymouse, vx:vx * 0.5, vy:vy * 0.5, w:(sin(w += 0.2)*5 + 5),
					  col:(sin(r += ri) * 128 + 127) << 16  |  (sin(g += gi) * 128 + 127) << 8  |  (sin(b += bi) * 128 + 127) };
	count++;
	clear();
	moveTo(_xmouse, _ymouse);
	
	for (var i in p) {
		lineStyle(p[i].w, p[i].col);
		p[i].x += p[i].vx;
		p[i].y += p[i].vy;
		if (p[i].y > 380) {
			p[i].y = 380;
			p[i].vy *= -0.5;
			p[i].vx *= .95;
		}
		if (i) curveTo(p[i].x, p[i].y, (Number(p[i].x) + Number(p[i-1].x))/2, (Number(p[i].y) + Number(p[i-1].y))/2);
		if (p.length > 50) {
			p.splice(0, 1);
			count--;
		}
	}
};