Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Флейм (http://www.flasher.ru/forum/forumdisplay.php?f=7)
-   -   Можно ли..... (http://www.flasher.ru/forum/showthread.php?t=45162)

ЛОWАДКА 21.05.2003 13:06

Можно ли.....
 
........двигать рыбку по траектории чтоб она прижималась к этой самой траэктории тобишь смотрела всегда носом по этой самой траэктории! Да, можно! :))))))))

А можно ли сделать эту траэкторию случайной? Или это нужно продумывать ее движения и задавать ограничения?

Useless 21.05.2003 15:51

Конечно, можно.

Задаёшь случайный угол поворота (небольшой), поворачиваешь рыбу на этот угол, и сдвигаешь в соответствующем направлении (координаты считаешь через тангенс).

А ещё лучше - сделать случайным не угол поворота, а угловую скорость - плавнее будет.

Ales 21.05.2003 16:02

Useless это так если не важна конечная точка рыбки.
А если надо чтобы она из точки А в точку В, это сложнее.

ЛОWАДКА 21.05.2003 16:19

Вот именно! Можно конечно всегда двигать ее вперед на поворотах замедлять и поворачивать программно! Но вот она должна крутиться в прямоугольном экранчике! Например то отдалялась то приближалась к центральной точке! Можно конечно сделать на основе вертикальных и горизонтальных ограничений! типа заплыла за край так пусть двигается в квадрату! А в квадратике пусть уже включается "свободное плвавание"! Просто может это можно сделать кврасивее чем умножать на дохрена разных коэфициэнтов!

Useless 21.05.2003 16:26

Ох, блин...
Предупреждать же надо.

Тогда - наоборот. Пусть она по рандому колбасится вокруг центральной точки, а крутить её - исходя из линейной скорости
Код:

angle = Math.atan2( vy, vx );

ЛОWАДКА 21.05.2003 16:33

Погодь!vx - линейная скорость по иксу а vy - по игреку?
но насколько я понял ее колбасить нужно плавненько, тобишь програмно сглаживать повороты! кстати это лучше всего делать на разнице приращений икса и игрека? типа делить оставшееся расстояние на 2 например!

greyshaman 21.05.2003 23:58

а поискать
или вот попереводи :)
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]++);
}
}

ЛОWАДКА 22.05.2003 01:12

Ух ты ж блять! :eek: :eek: :eek: :eek: :eek: :confused: :confused: :confused: :confused:

Ладно поразбираюсь! Только что-то он жутко тормозит! был вроде код! Причем по-моему твой, где сперматозоиды в банке гонались! :)))))

Ales 22.05.2003 01:53

О да, код еще тот!
Както разбираться не очень хочеться. :) :)

greyshaman 22.05.2003 02:13

да как поизвращался а Расчленитель догнал.

тебе надо это

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;

и все еш шоколад

ЛОWАДКА 22.05.2003 12:40

в пределах границы Это му устанавливаем границу по какой переменной или координате?

greyshaman 22.05.2003 13:21

ну да
либо min_x,max_x,min_y,max_y,min_z,max_z;
либо расстояние от некоего центра

еще надо бы добавить условие на удаление-приближение к границам.

можно поколдовать со знаком
в этом else{z=1;};выражении

возьми какой нибудь один маленьки мувик и поэкспериментируй с ним.
это проще чем кажется на первый взгляд

ЛОWАДКА 22.05.2003 13:33

Скажи а зачем тут нужен z?

И еще одно с помощью этого я получу кривую постоянно меняющуюся + угол наклона рыбки я ведь правильно вижу?

DeliMIter 22.05.2003 13:33

Вообще-то достаточно просто запрограммировать стремление к некой точке, выставляем постоянную скорость объекта, и чем дальше он от этой точки притяжения, тем больше вероятность, что следующее изменение траектории будет в сторону этой точки. В самой точки изменение траектории полностью случайно, на расстоянии некого радиуса - однозначный поворот в сторону этой точки.

ЛОWАДКА 22.05.2003 13:37

И что есть FOCAL_DISTANSE? Растояние от центра мувика?

greyshaman 22.05.2003 13:38

z это знак для приращения.
да постоянно меняющуюся.

DeliMiter а кто говорит что сложно, только про полностью случайно, это ты так, не подумав загнул.

ЛОWАДКА 22.05.2003 13:39

делимитер, но тогда будет явно видно что она стремится к этой точке? или ты предлагаешь что мы должны называть одну точку, а потом, по достижении ее, назначаем другую, в другом конце ограничивающего прямоугольника? если этого не делать то у нас орбита получится а рыбы по орбите не плавают! :))))))

ЛОWАДКА 22.05.2003 13:42

Ага, это я подумал что это координата Z!Я понял! Токльо еще скажи что такое этот Distance

greyshaman 22.05.2003 13:47

"фокусное расстояние" расстояние от камеры до экрана обычно в диапазоне от 80 до 200

DeliMIter 22.05.2003 14:00

Вложений: 1
Типа вот.

DeliMIter 22.05.2003 14:02

Только что заметил ту старую шутку с массивами :)))))))))))))) Гы :)) Это ж сколько лет назад было :)))))

ЛОWАДКА 22.05.2003 14:16

Вложений: 1
По-моему я намудрил что-то с ограничениями! :((((
Дайте мне в голову!

ЛОWАДКА 22.05.2003 14:17

Делимитер, у тебя коначно прикольно, но так рыбки не двигаются ваще! Хотя я поработаю еще над ним! если на поворотах менять скорость и периодически меня центровую точку, то может получиться вполне реалистично!

DeliMIter 22.05.2003 14:27

Я это ради точки притяжения сделал. Моторику сделаешь сам ;)

ЛОWАДКА 22.05.2003 14:47

Скажи мне такую штуку, чего он дергается как муравей? Может там угол поворота криво считается или это я криво думаю? :))))))

DeliMIter 22.05.2003 14:55

Там же в каждом кадре в общем случае поворот рандомно от -10 до +10 градусов. Можешь задавать условие - на N кадров вперед поворачивать только направо или только налево. Можешь уменьшить рандом до +-3. Возможно все.

Sanya 22.05.2003 16:12

Еще надо учесть, что рыбки не плавают вниз головой.

ЛОWАДКА 22.05.2003 16:36

Для этого случая это не важно!

DeliMIter 22.05.2003 17:20

А я дурак думал, что это вид сверху... :(

ЛОWАДКА 22.05.2003 17:35

http://www.a-counter.com.ua/banner/m...mall_fish.html
Вот такая вот рыбка будет плавать! :)))))

Делимитер твоя штука очень пригодится т.к. за это маленькой будет плавать другая большая! И функцию твоей кнопки будет исполнять маленькая! Только у меня что-то не получается сделать плавное движение! Точнее получается но почему-то радиус сдишком большой получается! Рыбка по тааааааакой дуге заходит что просто пропадает за экран!

DeliMIter 22.05.2003 18:04

Рогопилыч, я вот всё забывал прокомментировать :)) Топик: "Можно ли...". А во НУЖНО ЛИ? :)))

ЛОWАДКА 22.05.2003 18:11

НУЖНО, НУЖНО! теперь осталось только научить ее плавать нормально и все!

Useless 22.05.2003 18:43

Вложений: 1
А ежель вот эдак:

Techmaker 22.05.2003 18:46

Вложений: 1
вот мои старые штуки (я их ещё на флэш 5 том делал...)
на пятом они рабочие... на МХ - незнаю ... сначало свф'ы посмотрите... а потом уже флу....
я их не смотрел уже более 3х месецев.. так что могут быть глюки и ошибки....
ЗЫ: точнее это не штуки а черви... но суть была: случайное движение 3де без три де с простым кодом...
:rolleyes:
посмотрите.... :)

ЛОWАДКА 22.05.2003 19:28

Яркие у тебя червячки!


Юзлес, ты совсем не Юзлесс! Рыбка то-что надо! Даже изменять не надо! Я тут поспрашивал а мне говоря:"Ты не изращайся"! Тут надо попроще! Сенкс! Если можно - воспользуюсь!

greyshaman 23.05.2003 00:02

Вложений: 1
Развёл ты меня. Решил пару часиков отдохнуть от трудов своих скорбных. Вот только глюки выцеплять некогда

ЛОWАДКА 23.05.2003 00:43

Вау, это ярко! Вот с этим я пожалуй поразбираюсь! Супер!

Useless 23.05.2003 12:36

У тебя тут уже, похоже, на пару аквариумов рыбок хватит :)

И корм есть ;)
Цитата:

Оригинал написал(а) ЛОWАДКА

Если можно - воспользуюсь!
Не вопрос.

ЛOWАДКА 28.05.2003 15:29

Юзлесс, как в твоем исходнике поменять область движения рыбки! Или лучше через интервал двигать ТАРГЕТ?


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

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