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

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 25.07.2006, 21:57
motor4ik вне форума Посмотреть профиль Отправить личное сообщение для motor4ik Посетить домашнюю страницу motor4ik Найти все сообщения от motor4ik
  № 11  
Ответить с цитированием
motor4ik
 
Аватар для motor4ik

Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
а я короче ветер вертикальный добавил, ваще, вещь, а еще его можно рнд сделать, ваще класс...но нитка реально улетная, правда двоится (( в глазах у меня )))

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

Регистрация: Sep 2002
Сообщений: 30,787
gravity и есть "вертикальный ветер"

Старый 26.07.2006, 00:05
motor4ik вне форума Посмотреть профиль Отправить личное сообщение для motor4ik Посетить домашнюю страницу motor4ik Найти все сообщения от motor4ik
  № 13  
Ответить с цитированием
motor4ik
 
Аватар для motor4ik

Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
хм, я думал это сила тяжести

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

Регистрация: Sep 2002
Сообщений: 30,787
Она же сила тяжести

Старый 26.07.2006, 00:10
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 15  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
А ветер ведь порывами дует
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Jun 2005
Адрес: Moscow - immigrate from Volgodonsk
Сообщений: 2,534
вот вот все верно, так что я круто сделал, сила тяжести постоянная, а ветер вертикальный рнд сделал )))

Старый 26.07.2006, 00:51
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 17  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Осталось только сопротивление материала добавить, чтобы при много большой длине веревка рвалась от своего веса.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 20.11.2009, 16:16
3dgod вне форума Посмотреть профиль Отправить личное сообщение для 3dgod Найти все сообщения от 3dgod
  № 18  
Ответить с цитированием
3dgod

Регистрация: Jan 2008
Сообщений: 1
На основе кода господина etc (спасибо ему больше) публикую код улучшенной веревки, с затухающим колебанием, лимитированным фактором растяжения, с подвешиванием на конце груза и фиксированной точкой привязки верхнего конца.

Груз выполнен в виде мувиклипа на сцене.

Я создаю сразу 8 веревок, с немного различающимеся параметрами, чтобы не одинаково "жили"

Код AS1/AS2:
//функция выборки случайного числа из диапазона
function Range (min:Number, max:Number):Number
{
	var randomNum:Number = Math.floor (Math.random () * (max - min + 1)) + min;
	return randomNum;
}
//создаю контейнеры для 8 линий, привязываю к каждой веревке груз
for (i = 1; i <= 8; i++)
{
	this.createEmptyMovieClip ("line" + i,_root.getNextHighestDepth ());
	_root["line" + i].letter = _root["letter_" + i];
}
//инициализация веревки
this.init = function (num, len, X, line, t)
{
	line.len = len;
	line.wind = 0;
        //таймер для колебаний
	line.t = t;
        //мультипликатор для затухания
	line.multi = 1;
	line.point = [];
	for (var i = 0; i < num; i++)
	{
		var t = new Object ();
		t.x = X;
                //помещаем все точки веревки вверх, чтобы веревка "упала"
		t.y = -200;
		line.point.push (t);
	}
};
 
//собственно "жизнь" веревки
for (j = 1; j <= 8; j++)
{
	this["line" + j].onEnterFrame = function ()
	{
		this.t += 0.1;
                //затухания
		this.multi *= 0.99;
		this.gravity = 20 + this.t;
		this.wind = Math.sin (this.t) * 6 * this.multi;
                //помещаем верхний конец в нужный "гвоздик" и фиксируем
		this.point[0].y = 0;
		this.clear ();
		this.lineStyle (0,0xD7E1EB,100);
		this.moveTo (this.point[0].x,this.point[0].y);
		for (var i = 1, len = this.point.length; i < len; i++)
		{
			//[x1,y1] и [x2,y2] - координаты предыдущей и текущей точки соответственно
			var x1 = this.point[i - 1].x, y1 = this.point[i - 1].y;
			var x2 = this.point[i].x, y2 = this.point[i].y;
			// xd и yd - разница расстояний между точками
			var xd = x2 - x1 + this.wind;
			var yd = y2 - y1 + this.gravity;
			//dist - расстояние между точками
			var dist = Math.sqrt (xd * xd + yd * yd);
			//коррекция расстояния между точками до требуемого (через подобие)
			this.point[i].x = x1 + (xd * (Math.cos (this.t * 1.3) * 1 * this.multi + this.len)) / dist;
			this.point[i].y = y1 + (yd * (Math.sin (this.t * 1.3) * 1 * this.multi + this.len)) / dist;
			this.lineTo (this.point[i].x,this.point[i].y);
		}
                //перемещаем груз к последней точке
		this.letter._x = this.point[this.point.length - 1].x;
		this.letter._y = this.point[this.point.length - 1].y;
	};
 
}

Старый 20.11.2009, 16:30
iflamberg вне форума Посмотреть профиль Отправить личное сообщение для iflamberg Найти все сообщения от iflamberg
  № 19  
Ответить с цитированием
iflamberg
 
Аватар для iflamberg

Регистрация: Jan 2009
Сообщений: 1,651
23dgod: ничего нету. Функция init нигде не вызывается.

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

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

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


 


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


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