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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 15.04.2010, 15:16
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 1  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
По умолчанию Сетка и движение клипов для MouseMove события

Вот 2 скрина на первом видим сетку из квадратиков. На втором тоже сетка, но с местом где квадраты расположены рандомно. Идея :
По onMouseMove ( к мышке аттачиться сначала некая область скажем круг, 100*100) все клипы попавшие в эту область, плавно, рандомно расходятся. При передвижении мышки дальше, клипы отошедшие с области , плавно возвращаются обратно, а новые клипы попавшие в область рандомно расходятся. И т.д.

Нужна помощь как это делается.

П.с. пока идея пришла такая. По маус мув, в цикле запоминется начальное значение, затем с помощью Math.random() все расходится ( если hitTest = true); а потом возвращаем начальное значение. НО в этом то и проблема, что маус мув идет постоянно и клипы не успевают получить начального значения. Может стоит попробовать следующее : На клипе писнуть ролловер и роллаут действия, При ролловер - рандомно расходимся, при роллОут - сходимся обратно. Тогда можно легко задействовать каждый клип,НО опять же косяк - если уж рандомно разошелся, то роллОут не сработает, ибо будет уже находится мышка в не области клипа

Вообщем жду ващей помощи....

П.с. и еще вопрос - если я такими мелкими клипами буду заливать области типа 1600*1200 - плеер крякнется от такой нагрузки или нет?
Изображения
   

Старый 15.04.2010, 15:22
Tahion вне форума Посмотреть профиль Отправить личное сообщение для Tahion Найти все сообщения от Tahion
  № 2  
Ответить с цитированием
Tahion

Регистрация: Apr 2010
Сообщений: 57
Почитайте блог Волгоградец

Старый 15.04.2010, 18:32
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 3  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Ну там все по АС3. меня 2й интересует. Ниче не нашел

Старый 16.04.2010, 14:11
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 4  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Может как то так:
Код AS1/AS2:
import mx.transitions.Tween;
import mx.transitions.easing.*;
for (var i = 0; i < 5; i++) {
	for (var j = 0; j < 5; j++) {
		var p = _root.attachMovie("clip", "clip" + i + j, _root.getNextHighestDepth());
		p._x = 40 + j * 40;
		p._y = 40 + i * 40;
		p.startX = p._x;
		p.startY = p._y;
		p.go = false;
		p.onMouseMove = function() {
			this.dis = Math.sqrt(Math.pow(_xmouse - this.startX, 2) + Math.pow(_ymouse - this.startY, 2));
			if (this.dis < 50 && this.go == false) {
				this.go = true;
				this.tx.stop();
				this.ty.stop();
				this.rot.stop();
				this.tx = new Tween(this, "_x", Elastic.easeOut, this._x, this.startX + random(100) - 50, 50);
				this.ty = new Tween(this, "_y", Elastic.easeOut, this._y, this.startY + random(100) - 50, 50);
				this.rot = new Tween(this, "_rotation", Elastic.easeOut, this._rotation, random(360), 50);
 
			}
			if (this.dis > 50) {
				this.go = false;
				this.tx.stop();
				this.ty.stop();
				this.rot.stop();
				this.tx = new Tween(this, "_x", Regular.easeOut, this._x, this.startX, 10);
				this.ty = new Tween(this, "_y", Regular.easeOut, this._y, this.startY, 10);
				this.rot = new Tween(this, "_rotation", Regular.easeOut, this._rotation, 0, 10);
 
			}
		};
 
	}}
Вложения
Тип файла: swf tests.swf (3.6 Кб, 87 просмотров)


Последний раз редактировалось samana; 16.04.2010 в 17:32.
Старый 16.04.2010, 15:43
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 5  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
То что надо спасибо))) Вот если залить сцену огромную такими мувиками, как думаешь тормазнет. или такая тема ничего сташного не сделает?

Старый 16.04.2010, 17:28
samana вне форума Посмотреть профиль Отправить личное сообщение для samana Найти все сообщения от samana
  № 6  
Ответить с цитированием
samana
 
Аватар для samana

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
Думаю тормознёт ещё как!!! В примере всего 5/5, а когда пробовал 10/10 тормозило уже отлично. (

Старый 16.04.2010, 17:53
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 7  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Это фигово((( придется видимо отказаться от такого бекграунда

Старый 16.04.2010, 18:21
Hauts вне форума Посмотреть профиль Отправить личное сообщение для Hauts Посетить домашнюю страницу Hauts Найти все сообщения от Hauts
  № 8  
Ответить с цитированием
Hauts
 
Аватар для Hauts

блогер
Регистрация: Feb 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 2,113
Записей в блоге: 1
Отправить сообщение для Hauts с помощью ICQ Отправить сообщение для Hauts с помощью Skype™
Можно оптимизировать, отказываться еще рано.

Если записать все клипы в массив, то можно будет сначала определать те, на которые действует курсор, а потом уже их анимировать, не затрагивая другие. Ну и не создавать одну и ту же функцию на onMouseMove:
Код AS1/AS2:
p.onMouseMove = onMouseMoveHandler;
...
function onMouseMoveHandler(){
	this.dis = ...
}
__________________
hauts.ru

Старый 16.04.2010, 18:26
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 9  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Поробуем. о результатх буду сообщать. интересно что получится. ведь тема для БГ очень интересная

Старый 17.04.2010, 00:07
Tahion вне форума Посмотреть профиль Отправить личное сообщение для Tahion Найти все сообщения от Tahion
  № 10  
Ответить с цитированием
Tahion

Регистрация: Apr 2010
Сообщений: 57
И еще октазатся от математических функций хотябы от Pow если он часто используется) и от твинеров

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

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

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


 


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


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