PDA

Просмотр полной версии : РикошеТ


Bipe®
16.09.2002, 00:34
Здараствуйте!
Меня тут давно не было надеюсь не соскучались?
----
Вот так вопрос!
---
Хочу сделать так
Есть объект Drag&Drop
Как сделать так что бы когда ты сделал действие Drop тоесть отпустил его чтобы он как бы летел в пространстве (по инерции)(ну типа тормозной путь)
---
Есть 4 стенки(верхняя,правая,левая,нижняя)
Когда я бросаю обьект об эту стенку я хочу что бы был рикошет(шарик ударяется об стенку и меняет траекторию полёта)
-----
И предпоследний вопрос!
Когда я кидаю объект об стенку с определённый скоростью(ну тоесть если я мышку двинул слабо то и объект полетит слабо)
А как сделать так что бы (если я мышку двинул сильно то объект(ну например стеклянный шарик) при ударе об стенку разобьёться)
Как так сделать?
--
И как сделать эффект матрицы(Matrix)((перед тем как шарик будет разбиваться я хочу применить эффект матрицы + увеличение)((тоесть когда толклнул шарик сильно и в тот момент когда он будет разбиваться нужен эффект Matrix и максимальное приблежение))Подскажите как так сделать а то я чё то ни как не вьеду!
------------
Спасибо за ваши ответы какими бы они не были!
P.S. С прдложениями на мыло Biper@land.ru!
==
P.P.S.Простите за орфографию!

TTS
16.09.2002, 02:05
:D Время вспоминать геометрию!

Первый вопрос, по-моему, несложный:

mc.onPress=function(){
mc.startDrag();
mc.onEnterFrame=function(){
mc.oldx=mc._x;
mc.oldy=mc._y;
}
mc.onRelease=function(){
mc.stopDrag();
mc.dx=mc._x-mc.oldx;
mc.dy=mc._y-mc.oldy;
mc.onEnterFrame=function(){
mc._x+=mc.dx;
mc._y+=mc.dy;
}
}
mc.onReleaseOutside=mc.onRelease;
}

Второй - чистая геометрия. Долго ковыряться. Хорошо, если стенки прямые...
Третий - множишь объект и маскируешь мувы так, чтобы каждый из них отображал свой кусочек основного. А дальше - разброс в разные стороны. Только сегодня исходник на флэшер отправил, скоро должен появиться. Там, правда, текст разлетается, но прицип тот же. В текстовом разделе.
Не понял, что такое эффект матрицы

Fisher
16.09.2002, 18:50
Ваши деньги - наша работа. Делаю в течении часа. Мыло в подписи.

Bipe®
16.09.2002, 22:14
Ну типо эффект матрицы
Это когда мувик останавливаеться и камера в режиме 3D крутиться на 180градусов!
--------
Э вопросик ты мне этот код написал для того что бы шарик просто об стенки бился?
----------
А как сделать так что бы он (если сильно толкнёшь не БИЛСЯ ((тоесть не отскакивал)) а РАЗБИВАЛСЯ!)
Как так сделать подскажите!-
--
А эффект матрицы к этому мувику некчиму это я просто так спросил(на будующее)!
----
Да и если сможите Вложите фаил хочу посмотреть как это делаеться в живую!
А кто сможет сделать так что бы шарик бился да ещё и вложить тому полный RESPECT
TTS я на тебя рассчитываю(ну тобишь верю)
-
До встречи!'
Спасибо TTS за предложенный вариант я обязательно рассматрю его !
---
Српасибо за ваши ответы какими бы они не были!
--------------------------------------------------------
С предложениями о соотрудничестве попрошу писать сюда (Biper@land.ru)

TTS
17.09.2002, 07:36
Вот. Всё! Надоело исходники писать! Некогда! :mad:

Fisher
17.09.2002, 11:20
2 TTS
Здорово! Только зря ты этому козлопету исходник положил. Терпеть не могу вопросов типа сделайте мне все а я погляжу. Он ведь даже не попытался сам напрячься. Хочет готовенького пусть башляет.

TTS
17.09.2002, 14:36
Ну если пытаться разобраться в скрипте, напрячься всё равно придётся. К тому же он не оптимизирован, лишние переменные там.. Переделывал наскоряк с текстового эффекта, так что некоторые переменные и действия работают не так как надо, например, шар вместо того, чтобы разлететься, схлопывается (и то, как-то крестиком). Нет времени всё до ума довести.
Но в исходники кинул. А текстовый ещё раньше. Только что-то тянут они с вывешиванием...

Fisher
17.09.2002, 15:01
С исходниками тут полный бардак :) И главно дело никто не говорит кто этим делом заправляет - у кого поинтересоваться можно :) Я привязал слать.

Bipe®
17.09.2002, 18:56
Слышь Fisher
Ты выбирай выражение так на всякий случай ето тебе на будующее!
Ето я такой добрый а вот попадёться какойнить шандорик
и ножечком по горлу в переулке ,а спрашиваеться за что!
А за то что не думал своей каменной головой когда слова подбирал!

Bipe®
17.09.2002, 18:59
Спасибо TTS!
Но есть ещё вопросик!
Как сделать так чтобы когда ты нажимаешь на пробел обьект прыгал тоесть вот объект вот ещё один объект нажимаю на пробел и первый объект отрываеться от земли и перелетает второй объект!
Как так сделать!
--------------------------------
Спасибо за ваши ответы какими бы они не были!

Bipe®
17.09.2002, 19:00
Пред идущий вопрос
ни как не связан с TTS
Тоесть я не прошу его что бы он на него отвечал!
Потомучто у него мало времени!
Я людей уважаю и понимаю их положение!
Так что я обращаюсь с просьбой ко всем ответить на мой вопрос!

Fisher
17.09.2002, 19:28
Это у тебя голова каменная :D Ты хоть ченибудь сам сделай.

Bipe®
18.09.2002, 00:32
Ты не волнуйся за меня придёт время и сделаю!
Наверное тебя сильно задело что TTS такой хороший человек а не такая бука как ты!
Он всё сказал обьяснил даже исходник дал а ты бред какой то несёшь! :mad:

Bipe®
18.09.2002, 00:37
Ты то когда был новичком тоже всё сам делал?
Только я вижу что на твоём счётчике 799 вопросов/ответов!
Но мне кажеться что у тебя было больше ВОПРОСОВ чем ответов!
Ты не брал чужие исходники и ты не хотел ломать свою голову?
Да и вправду зачем!?
Есть же Flasher ты идёшь на него лезешь в форум и задаёшь вопросы другим,а я что не имею такой возможности?
Только самое главное отличие тебя от меня я в отличие от некоторых голову"ломаю"
Так что ты тут не бычься ,а сиди и дуй в "дырочку"

TTS
18.09.2002, 03:53
Я так понимаю, что всё происходит в поле силы тяжести?...
Пусть координаты прыгающего объекта (x1,y1), координаты покоящегося (x2,y2). Скорость будем обозначать Vx, Vy, - горизонтальная и вертикальная составляющие, t - время, g - ускорение свободного падения.
"Перелететь" объект2, значит: во время движения, когда летящий объект имеет координату x=x2, координата y должна быть больше y2+высота объекта2 (обозначим h, это для одинаковых объектов, для разных нужно считать расстояния от центра до края объектов и складывать). Вариантов начальных скоростей, при которых объект1 перепрыгнет объект2 - бесконечное множество. Будем считать по минимуму, т.е. h - максимальная высота прыжка. Чтобы её достичь, нужно иметь соотв. начальную вертикальную скорость. А эта скорость в отсутствие "трения" равна скорости при падении обратно на "пол". Так что можно посчитать обратную задачу: объект с начальной скоростью=0 падает с высоты h. Вспоминаем школу: путь пройденный за время t объекта с постоянным ускорением g равен g*t^2/2 (=h). Отсюда находим время: t=sqrt(2*h/g). Скорость равна Vy=gt. Дальше: за это время t объект1 должен пролететь по горизонтали расстояние x2-x1. По горизонтали нет ускорения, объект движется с постоянной скоростью, т.е. x2-x1=Vx*t. Отсюда горизонтальная скорость Vx=(x2-x1)/t.
Клипы называешь mc1 и mc2. ЭТО пихаешь в Clip Actions mc1. В корне прописываешь g (например, g=-.5 - отрицательное!!) и всё. По пробелу скачет. Только вверх ногами. Угадай, почему.


onClipEvent(keyDown){
if(Key.getCode()==32){
t=Math.sqrt(2*(_root.mc2._y+_root.mc2._height-_y)/-_root.g);
Vy=-_root.g*t;
Vx=(_root.mc2._x-_x)/t;
y0=_y;
onEnterFrame=function(){
_x+=Vx;_y+=Vy;Vy+=_root.g;
if(_y<y0){ _y=y0*2-_y; Vy=-Vy;}
}
}
}


Второй объект должен быть не выше первого, иначе под корнем отрицательное число... Это всё, конечно, просто, но вот если есть "трение", то тут интегралы вспоминать надо...

Fisher
18.09.2002, 14:06
Мой основной принцип в подписи. :)

Bipe®
18.09.2002, 16:33
Fisher сказал
Мой основной принцип в подписи.

Bipe® сказал то же самое

---------------------------------------------------------
Отдельное Спасибо TTS за то что так хорошо растолковал

Bipe®
19.09.2002, 00:49
Люди а не подсажите S/N к Flash'у MX

Bipe®
22.09.2002, 22:40
Чё это вы все замолкли то??

John Connor
23.09.2002, 00:02
Предупреждение! читать правила!!!