![]() |
Можно ли.....
........двигать рыбку по траектории чтоб она прижималась к этой самой траэктории тобишь смотрела всегда носом по этой самой траэктории! Да, можно! :))))))))
А можно ли сделать эту траэкторию случайной? Или это нужно продумывать ее движения и задавать ограничения? |
Конечно, можно.
Задаёшь случайный угол поворота (небольшой), поворачиваешь рыбу на этот угол, и сдвигаешь в соответствующем направлении (координаты считаешь через тангенс). А ещё лучше - сделать случайным не угол поворота, а угловую скорость - плавнее будет. |
Useless это так если не важна конечная точка рыбки.
А если надо чтобы она из точки А в точку В, это сложнее. |
Вот именно! Можно конечно всегда двигать ее вперед на поворотах замедлять и поворачивать программно! Но вот она должна крутиться в прямоугольном экранчике! Например то отдалялась то приближалась к центральной точке! Можно конечно сделать на основе вертикальных и горизонтальных ограничений! типа заплыла за край так пусть двигается в квадрату! А в квадратике пусть уже включается "свободное плвавание"! Просто может это можно сделать кврасивее чем умножать на дохрена разных коэфициэнтов!
|
Ох, блин...
Предупреждать же надо. Тогда - наоборот. Пусть она по рандому колбасится вокруг центральной точки, а крутить её - исходя из линейной скорости Код:
angle = Math.atan2( vy, vx ); |
Погодь!vx - линейная скорость по иксу а vy - по игреку?
но насколько я понял ее колбасить нужно плавненько, тобишь програмно сглаживать повороты! кстати это лучше всего делать на разнице приращений икса и игрека? типа делить оставшееся расстояние на 2 например! |
а поискать
или вот попереводи :) fs = [[], [], [], [], [], [[]], [[]], [], _root, "onEnterFrame", 0, 5, undefined, "clear", undefined, "unshift", "pop", "length", Math, "sin", "cos", "sqrt", "lineStyle", "moveTo", "lineTo"]; for (fs[12]=fs[10]; fs[12]<fs[11]; fs[12]++) { fs[5][fs[12]]=new Array(24); fs[6][fs[12]]=new Array(24); } fs[8][fs[9]] = function() { fs[8][fs[13]](); for (fs[12]=fs[10]; fs[12]<fs[11]; fs[12]++) { if ((fs[1][fs[12]]++) == fs[2][fs[12]]) { fs[2][fs[12]]=random(6)+6; fs[3][fs[12]]=random(9)+3; fs[4][fs[12]]=random(3)-1; fs[1][fs[12]] = fs[10]; } fs[5][fs[12]][fs[15]](fs[5][fs[12]][1]+4*fs[18][fs[20]]((fs[7][fs[12]]+=fs[4][fs[12]]*fs[3][fs[12]]) *0.0174532925199433)); fs[6][fs[12]][fs[15]](fs[6][fs[12]][1]+4*fs[18][fs[19]](fs[7][fs[12]]*0.0174532925199433)); if (200<fs[18][fs[21]]((fs[5][fs[12]][1])*(fs[5][fs[12]][1])+(fs[6][fs[12]][1])*(fs[6][fs[12]][1]))) { fs[5][fs[12]][1]=fs[6][fs[12]][1] = fs[10]; } if (fs[5][fs[12]][fs[16]]() != fs[6][fs[12]][fs[16]]()+1000) fs[14] = fs[10]; do { fs[8][fs[22]]((50-fs[14]*2)/5,0xddff99,(120-fs[14]*4)); fs[8][fs[23]]((fs[5][fs[12]][fs[14]]+200),(fs[6][fs[12]][fs[14]]+200)); fs[8][fs[24]]((fs[5][fs[12]][fs[14]]+200.25),(fs[6][fs[12]][fs[14]]+200.25)); } while (fs[5][fs[12]][fs[17]] > fs[14]++); } } |
Ух ты ж блять! :eek: :eek: :eek: :eek: :eek: :confused: :confused: :confused: :confused:
Ладно поразбираюсь! Только что-то он жутко тормозит! был вроде код! Причем по-моему твой, где сперматозоиды в банке гонались! :))))) |
О да, код еще тот!
Както разбираться не очень хочеться. :) :) |
да как поизвращался а Расчленитель догнал.
тебе надо это rad = Math.PI/180 это зависит от реализации заполняется массив координат а там как ума хватит //==определяешь границы if(в пределах границы){f++}else{z=1;}; //ограничивать проще всего кубом или цилиндром //вычисляешь следующие координаты if (f>=c) { c = random(6)+1; da = random(12)+3; z = random(3)-1; f = 0; } angle += z*da; xcoord += 3*Math.cos(angle*rad); zcoord += 3*Math.sin(angle*rad); //============== //==добавляешь камеру смотрящую в 0 0 0 так вычислений //==меньше или по настроению; //==ycoord можно сделать переменным, можно константой //==по барабану. Screenx = FOCAL_DISTANCE * xcoord / zcoord; Screeny = FOCAL_DISTANCE * ycoord / zcoord; и все еш шоколад |
в пределах границы Это му устанавливаем границу по какой переменной или координате?
|
ну да
либо min_x,max_x,min_y,max_y,min_z,max_z; либо расстояние от некоего центра еще надо бы добавить условие на удаление-приближение к границам. можно поколдовать со знаком в этом else{z=1;};выражении возьми какой нибудь один маленьки мувик и поэкспериментируй с ним. это проще чем кажется на первый взгляд |
Скажи а зачем тут нужен z?
И еще одно с помощью этого я получу кривую постоянно меняющуюся + угол наклона рыбки я ведь правильно вижу? |
Вообще-то достаточно просто запрограммировать стремление к некой точке, выставляем постоянную скорость объекта, и чем дальше он от этой точки притяжения, тем больше вероятность, что следующее изменение траектории будет в сторону этой точки. В самой точки изменение траектории полностью случайно, на расстоянии некого радиуса - однозначный поворот в сторону этой точки.
|
И что есть FOCAL_DISTANSE? Растояние от центра мувика?
|
z это знак для приращения.
да постоянно меняющуюся. DeliMiter а кто говорит что сложно, только про полностью случайно, это ты так, не подумав загнул. |
делимитер, но тогда будет явно видно что она стремится к этой точке? или ты предлагаешь что мы должны называть одну точку, а потом, по достижении ее, назначаем другую, в другом конце ограничивающего прямоугольника? если этого не делать то у нас орбита получится а рыбы по орбите не плавают! :))))))
|
Ага, это я подумал что это координата Z!Я понял! Токльо еще скажи что такое этот Distance
|
"фокусное расстояние" расстояние от камеры до экрана обычно в диапазоне от 80 до 200
|
Вложений: 1
Типа вот.
|
Только что заметил ту старую шутку с массивами :)))))))))))))) Гы :)) Это ж сколько лет назад было :)))))
|
Вложений: 1
По-моему я намудрил что-то с ограничениями! :((((
Дайте мне в голову! |
Делимитер, у тебя коначно прикольно, но так рыбки не двигаются ваще! Хотя я поработаю еще над ним! если на поворотах менять скорость и периодически меня центровую точку, то может получиться вполне реалистично!
|
Я это ради точки притяжения сделал. Моторику сделаешь сам ;)
|
Скажи мне такую штуку, чего он дергается как муравей? Может там угол поворота криво считается или это я криво думаю? :))))))
|
Там же в каждом кадре в общем случае поворот рандомно от -10 до +10 градусов. Можешь задавать условие - на N кадров вперед поворачивать только направо или только налево. Можешь уменьшить рандом до +-3. Возможно все.
|
Еще надо учесть, что рыбки не плавают вниз головой.
|
Для этого случая это не важно!
|
А я дурак думал, что это вид сверху... :(
|
http://www.a-counter.com.ua/banner/m...mall_fish.html
Вот такая вот рыбка будет плавать! :))))) Делимитер твоя штука очень пригодится т.к. за это маленькой будет плавать другая большая! И функцию твоей кнопки будет исполнять маленькая! Только у меня что-то не получается сделать плавное движение! Точнее получается но почему-то радиус сдишком большой получается! Рыбка по тааааааакой дуге заходит что просто пропадает за экран! |
Рогопилыч, я вот всё забывал прокомментировать :)) Топик: "Можно ли...". А во НУЖНО ЛИ? :)))
|
НУЖНО, НУЖНО! теперь осталось только научить ее плавать нормально и все!
|
Вложений: 1
А ежель вот эдак:
|
Вложений: 1
вот мои старые штуки (я их ещё на флэш 5 том делал...)
на пятом они рабочие... на МХ - незнаю ... сначало свф'ы посмотрите... а потом уже флу.... я их не смотрел уже более 3х месецев.. так что могут быть глюки и ошибки.... ЗЫ: точнее это не штуки а черви... но суть была: случайное движение 3де без три де с простым кодом... :rolleyes: посмотрите.... :) |
Яркие у тебя червячки!
Юзлес, ты совсем не Юзлесс! Рыбка то-что надо! Даже изменять не надо! Я тут поспрашивал а мне говоря:"Ты не изращайся"! Тут надо попроще! Сенкс! Если можно - воспользуюсь! |
Вложений: 1
Развёл ты меня. Решил пару часиков отдохнуть от трудов своих скорбных. Вот только глюки выцеплять некогда
|
Вау, это ярко! Вот с этим я пожалуй поразбираюсь! Супер!
|
У тебя тут уже, похоже, на пару аквариумов рыбок хватит :)
И корм есть ;) Цитата:
|
Юзлесс, как в твоем исходнике поменять область движения рыбки! Или лучше через интервал двигать ТАРГЕТ?
|
| Часовой пояс GMT +4, время: 19:26. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.