Внимание! Просьба войти или зарегистрироваться на нашем сайте, для того что бы открыть большинство статей, учебник, убрать рекламный банер и т.д.

Посмотреть все советы
Приветствую Вас Гость
Лучший русский фан сайт Алгоду
Главная » Статьи » Algodoo » Скриптинг

Как сделать регулятор переменной

Для этого собираем конструкцию как на фото.

Заводим переменные

scene.my.var:=0.0 ; scene.my.pos:=[0,0]

Теперь у одного из лазеров в строке onLaserHit пишем 

 (e)=>{scene.my.pos=e.pos}

А у другого

 (e)=>{scene.my.var=((e.pos(0)-scene.my.pos(0))^2+(e.pos(1)-scene.my.pos(1))^2)^0.5}

Это формула расстояния между точками, если вдумаетесь - узнаете теорему Пифагора.

У пружины поставьте

 Сила 32000

 Затухание 1.0

Теперь можете сделать экран или в любом из этих прямоугольников в строке text пропишите var.

Если не знаете - то вот: {""+scene.my.var}

Настройте цвет и размер текста как вам угодно и запустите симулятор, подергайте свободный прямоугольник. 

Var будет изменятся но пружина будет возвращать назад.

Поэтому в строке length пружины пишите

 {scene.my.var+x}

X это сумма расстояний отмеченных черным, у меня это 3.

Теперь пружина меняет длину вместе с тем как вы меняете var.

Но при таком раскладе длина пружины будет немного увеличиватся, поэтому пишем не

 {scene.my.var+3}

а 

 {scene.my.var+7-x}

где X это значение var в том момент когда сделали длину пружины равной 7.

Цифра семь относительна, для вашей сцены она может буть другая.

Пример: http://www.algodoo.com/algobox/details.php?id=40466

Have phun.:)

 



Источник: http://algophun.3dn.ru
Категория: Скриптинг | Добавил: Nait (18.04.2010) | Автор: Nait E W
Просмотров: 3183 | Теги: растояние, Регулятор | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]