Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Обсуждение работ > Не сайты

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.02.2008, 17:07
divinus вне форума Посмотреть профиль Отправить личное сообщение для divinus Найти все сообщения от divinus
  № 1  
Ответить с цитированием
divinus
 
Аватар для divinus

Регистрация: Dec 2005
Адрес: мухосранск
Сообщений: 661
Отправить сообщение для divinus с помощью ICQ
По умолчанию простейшая реализация поверхности воды

вот сделал на досуге... хотел 3D сделать поверхность, но понял что при более-менее приличном качестве, даже прорисовка занимает слишком много времени, не говоря уже о просчетах.
Код:
this.createEmptyMovieClip("pool",0);
pool.count = 100;
pool.spacing = 4;
pool.seaLevel = -150;
pool.delay = 1;
pool.accel = .07;
pool.fric = .98;
pool._x = 0;
pool._y = 290;
pool.init = function() {
	this.pause = 0;
	this.theFrame = 0;
	this.curr_ymouse = this._ymouse;
	this.points = new Array();
	for (var _loc2 = 0; _loc2<this.count; ++_loc2) {
		this.points[this.points.length] = {x:_loc2*this.spacing, y:this.seaLevel, speed:0, num:_loc2, process:new Array(), nProcess:new Array()};
	}
};
pool.makeWave = function(num, mag) {
	this.points[num].speed = this.points[num].speed+mag;
	this.points[num-1].process[this.points[num-1].process.length] = [mag, -1];
	this.points[num+1].process[this.points[num+1].process.length] = [mag, 1];
};
pool.mouseWaveNum = function() {
	return (Math.round(Math.min(Math.max(this._xmouse/this.spacing, 0), this.count)));
};
pool.onMouseMove = function() {
	this.last_ymouse = this.curr_ymouse;
	this.curr_ymouse = this._ymouse;
	var _loc3 = this.mouseWaveNum();
	var _loc2 = this.points[_loc3].y;
	if (curr_ymouse<_loc2 && _loc2<this.last_ymouse || _loc2<this.curr_ymouse && this.last_ymouse<_loc2) {
		this.makeWave(_loc3,Math.min(Math.max(-1, (this.curr_ymouse-this.last_ymouse)*1.000000E-001), 1));
	}
};
pool.onEnterFrame = function() {
	var _loc4;
	var _loc2;
	var _loc3;
	var _loc5;
	for (var _loc6 = 0; _loc6<this.count; ++_loc6) {
		_loc2 = this.points[_loc6];
		_loc2.speed = _loc2.speed+(this.seaLevel-_loc2.y)*this.accel;
		_loc2.speed = _loc2.speed*this.fric;
		_loc2.y = _loc2.y+_loc2.speed;
		if (!this.pause) {
			for (var _loc3 = 0; _loc3<_loc2.process.length; ++_loc3) {
				_loc2.speed = _loc2.speed+_loc2.process[_loc3][0];
				_loc4 = this.points[_loc6+_loc2.process[_loc3][1]];
				_loc4.nProcess[_loc4.nProcess.length] = _loc2.process[_loc3].slice();
			}
		}
	}
	_loc6 = 0;
	this.clear();
	this.beginFill(10084351,30);
	while (_loc6<this.count) {
		_loc2 = this.points[_loc6];
		if (!this.pause) {
			_loc2.process = _loc2.nProcess;
			_loc2.nProcess = [];
		}
		if (!_loc6) {
			_loc5 = 28896;
		} else {
			_loc5 = 127+Math.min(Math.max(20*(this.points[_loc6-1].y-_loc2.y), -127), 128);
			_loc5 = _loc5/2 << 8 | _loc5;
		}
		this.lineStyle(0,_loc5,100);
		this.lineTo(_loc2.x,_loc2.y);
		++_loc6;
	}
	this.lineStyle(0,56,100);
	this.lineTo(_loc2.x,0);
	this.lineTo(0,0);
	this.pause = this.theFrame++%this.delay;
};
pool.init();
ну, вообщем если будут вопросы, задавайте...
__________________
Кто может делать - делает, кто не может делать - учит, кто не может учить - управляет...

Старый 01.02.2008, 20:48
MoHaX вне форума Посмотреть профиль Отправить личное сообщение для MoHaX Найти все сообщения от MoHaX
  № 2  
Ответить с цитированием
MoHaX
 
Аватар для MoHaX

Регистрация: Aug 2004
Сообщений: 422
Отправить сообщение для MoHaX с помощью ICQ
мега круто!)

Старый 01.02.2008, 22:05
CrazyFlasher вне форума Посмотреть профиль Отправить личное сообщение для CrazyFlasher Найти все сообщения от CrazyFlasher
  № 3  
Ответить с цитированием
CrazyFlasher
 
Аватар для CrazyFlasher

Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,181
честно говоря сразу даже не могу представить, где это может быть полезным
__________________
Flash Developer
Папа TDP4 Team Battle

Старый 02.02.2008, 16:56
neelts вне форума Посмотреть профиль Отправить личное сообщение для neelts Посетить домашнюю страницу neelts Найти все сообщения от neelts
  № 4  
Ответить с цитированием
neelts
 
Аватар для neelts

Регистрация: Mar 2004
Адрес: Kazan
Сообщений: 466
Отправить сообщение для neelts с помощью ICQ Отправить сообщение для neelts с помощью Skype™
_locN - такое ощущение что код из декомпилятора!

Старый 02.02.2008, 17:04
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
Откуда этот код?

Старый 02.02.2008, 17:37
Chas вне форума Посмотреть профиль Отправить личное сообщение для Chas Посетить домашнюю страницу Chas Найти все сообщения от Chas
  № 6  
Ответить с цитированием
Chas
[+1 14.08.08]
[+1 20.08.08]
 
Аватар для Chas

Регистрация: Sep 2002
Адрес: simferopol
Сообщений: 981
Отправить сообщение для Chas с помощью ICQ
да, стопудофф декопил =)
__________________
~
Never trouble trouble till trouble troubles you!

Старый 02.02.2008, 18:05
zanull вне форума Посмотреть профиль Отправить личное сообщение для zanull Найти все сообщения от zanull
  № 7  
Ответить с цитированием
zanull
[+3 16.09.08]

Регистрация: Jan 2008
Адрес: flex.org
Сообщений: 211
а как Вы узнали что код из декомпилятора?

Старый 02.02.2008, 18:09
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 8  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,784
По именам локальных переменных.

Старый 02.02.2008, 18:41
TERRORist вне форума Посмотреть профиль Отправить личное сообщение для TERRORist Найти все сообщения от TERRORist
  № 9  
Ответить с цитированием
TERRORist
 
Аватар для TERRORist

блогер
Регистрация: Jun 2005
Адрес: RU
Сообщений: 1,540
Записей в блоге: 12
и не только...
фигня)

Старый 02.02.2008, 19:42
2morrowMan вне форума Посмотреть профиль Отправить личное сообщение для 2morrowMan Найти все сообщения от 2morrowMan
  № 10  
Ответить с цитированием
2morrowMan
 
Аватар для 2morrowMan

Регистрация: Aug 2007
Сообщений: 467
Чел лохонулся реально! Ппц!

Создать новую тему Ответ Часовой пояс GMT +4, время: 04:19.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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