Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Хаотичная траектория (http://www.flasher.ru/forum/showthread.php?t=33806)

greyshaman 01.07.2002 11:51

Хаотичная траектория
 
Вложений: 1
Вышел из ступора ;)
В сырце все это есть но не до всех дойдёт :p
Берём мувик и прописываем в него, как сосны напели.

onClipEvent (load) {
angle=_r_start;
x=_x_start;
y=_y_start;
rad = (Math.PI/180);}

onClipEvent (enterFrame) {
//count - счетчик
//duration - длительность текущей кривизны
//dangle - приращение к углу
//z - знак приращения
count++;
if(count>=duration){
duration=random(6)+6;// c этим
dangle=random(9)+3;// и этим параметрами можно варировать
z=random(3)-1;
count=0;
}
//а это и был весь наш chaos
//вычислим где мы будем теперь
angle+=z*da;
x+=8*Math.cos(angle*rad);
y+=8*Math.sin(angle*rad);
// ---------------
// проверим спокойствие наших границ
cmp=400<Math.sqrt ( (x-400)*(x-400)+(y-400)*(y-400) )
if(cmp){x-=8*Math.cos(angle*rad);y-=8*Math.sin(angle*rad);angle+=180;}
//в данном случае это окружность радиусом 400
// с центром в 400,400
_x=x;
_y=y;
}

Собственно вот и всё

Fisher 01.07.2002 19:05

Вложений: 1
Красиво!
А можна так - самолетики на фоне. Кстати пожалуй попроще будет.
Кому интересно могу пояснить :cool:

З.Ы. Незабудьте мышкой поводить

Baltika 01.07.2002 20:26

Цитата:

Оригинал написал(а) Fisher

... Кстати пожалуй попроще будет.
..

поясни, попроще - это как ?
;)

greyshaman 02.07.2002 10:41

Рыбаки ловили рыбу, а поймали рака ... ;)
Просили алгоритм неупорядоченного движения объектов в замкнутом пространстве. А у тебя оно далеко не хаотичное. Добавление 5 строк конечно исправит ситуацию, но врятли алгоритм станет от этого тривиальнее. :D ;)

Fisher 02.07.2002 12:10

Да не обижайся :) Твой исходник оч хорош я сразу об этом и сказал. А то что здесь и кроме тебя ктото чтото умеет так с этим просто нужно смириться :D . Правда народ петрящий уже все больше во флэйме толчеться, а все потому что некоторые поиском пользоваться не умеют :)
Просили насколько я помню еще и движение по приблизительно определенной траектории - так вот это оно и есть.
Специально для Балтики - потому что я вижу больше никому не интересно :p
Сам движек объекта стар как мир и имитирует реальный объект с потенциальной и кинетической энергиями.
_x += dx;
_y += dy;
dx = dx*.98+(x-_x)/100;
dy = dy*.98+(y-_y)/100;
prevFrame ();
play ();

А уж переменные x y можно периодически менять хош рандомом хош просто из масива брать. А можно и координаты мышки отслеживать. Если коофициенты настроить и точек наснимать можно даже писание от руки имитировать

greyshaman 02.07.2002 13:33

Правда :eek: а я думал что один такой генитальный ;)

Baltika 02.07.2002 15:09

2 Fisher

и впрямь просто.. ;)

Fisher 02.07.2002 15:24

2greyshaman
Ну и раз уж ты это осознал позволь всего один совет чтобы не терзать твое Эго :) Не юзай ты эти пятерошные заморочки Клипэвэнт. Или уже переходи на МХ или используй старый добрый 3-х кадровый цикл.
1 Заметный прирост в быстродействии (в твоем случае ты я думаю просто визуально ощутишь)
2 Уменьшение объема ролика.

greyshaman 02.07.2002 15:45

осознал я ЭТО 15 лет назад
а скрипту 1 годик :p

greyshaman 03.07.2002 11:35

Вложений: 1
Цитата:

Оригинал написал(а) Fisher
1 Заметный прирост в быстродействии (в твоем случае ты я думаю просто визуально ощутишь)
2 Уменьшение объема ролика.

Не сходится. Может быть я туплю?

Fisher 03.07.2002 12:38

Извени - сча занят но обязательно покопаюсь и отвечу :)

Fisher 06.07.2002 14:09

Вложений: 1
Привет :)
Ну вот!
Правда чистого эксперемента не получилось - уж больно мудрено у тя было :). Взял почти не разбираясь только движек.
Поэтому почти 400 байт выиграша не знаю чему и приписать. Ну а о быстродействии суди сам.
Мои наблюдения таковы - при одинаковом числе сперматозоидов :D -12 (сейчас стоит 20)твой свф грузит проц на 95 процентов, а мой на 70.
Хотя опять же приписать все эти победы исключительно замене клипэвэнт язык не поворачиваеться :) Но из опыта - для пятерки трехкадровый цикл самый рулит :)

Fisher 06.07.2002 14:35

О! Кста а как тебе идея отследить еще и взаимные столкновения? :) Желающие тоже могут подключиться. :)

derhab 06.07.2002 16:21

2 Fisher Прости, вклиниваюсь, может не по теме... В МХ-е предпочтительнее(имеется ввиду загрузка процессора) зацикливать на onEnterFrame или двумя кадрами по прежнему быстрее выходит? Можно конечно самому прверить...:) Ну так я беседу поддерживаю.

derhab 06.07.2002 21:45

Замерял в МХ-е 3 варианта:
1.onClipEvent (enterFrame)
2.onEnterFrame = function()
3.двухкадровый цикл
Сделал по 10 замеров для каждого варианта, однако, практически одно и то же. О визуальных различиях вообще говорить не приходится.

Fisher 08.07.2002 10:56

Привет :)
Очень даже по теме :) Знаешь под МХ я спорить не стану - не юзаю еще (заказчики не велят :) .
А воще здесь уже много говорилось - новые идеи которые в пятерке появились в большинстве своем были просто декларированы с прицелом на МХ без нормальной реализации в плэере. Поэтому серъезно лабая на пятерке рекомендую пользоваться четвертым скриптом и подходами. Хотя и не отрицаю что они МАЗДАЙ :cool:

greyshaman 08.07.2002 12:00

Здравствуйте :)
2 Fisher В общем то код другой, по этому и не очень убедительно. Касательно мудрености придумал-посмотрел- забыл ;) , для меня это развлечение а не работа.
Столкновения будут позже, когда башка от похмелья прояснится.
Понедельник однака.

derhab 08.07.2002 14:23

2 Greyshaman Вот про понедельник это точно... Я решил проблему просто, купил кучу 20-граммовых мерзавчиков 44 градусного бальзама, для работы очень удобный вариант. Умиротворяет...


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

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