Для этого собираем конструкцию как на фото. Заводим переменные 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 |