Привет всем! Сейчас я расскажу как сделать чтобы в вашем приборе стрелки двигались и показывали значения. Для этого нам понадобится:
1. Графический редактор. Я использовал GIMP, он функциональнее paint'а и может быть заменой фотошопу, к тому же на он русском. Если хотите попробовать вот сайт http://www.progimp.ru/ 2. Терпение! :)
Ну, начнем.
Сначала надо сделать текстуру для шкалы. В нашем случае это круг с делениями. Есть несколько способов, например найти готовую текстуру в интернете, или сделать в самом Algodoo круг и шкалу на нем, сделать скриншот и дальше работать с ним.
Открываем в редакторе файл скриншота и обрезаем по сторонам круга. Чтобы все было хорошо, следует сделать изображение квадратным и отцентровать. Чтобы центр круга совпал с центром изображения
Теперь давайте вернемся а Algodoo, там создадим переменные scene.my.var типа float и сделаем для нее регулятор (читаем эту статью).
Далее, создаем функцию
scene.my.txTransform := (T, a, s) => {[math.cos(a)*s, math.sin(a)*s, T(2), - math.sin(a)*s, math.cos(a)*s, T(5), T(6), T(7), T(8)]}
Делаем круг, выбираем ему в качестве текстуры наше изображение.
В строке texturematrix пишем
{scene.my.txTransform([0.03937008, 0.0, 0.5, 0.0, 0.03937008, 0.5, 0.0, 0.0, 1.0], scene.my.var, scale)}
Вместо scale вставляем какое-нибудь число и подбираем его так чтобы размер текстуры совпал с размером круга. Осталось сделать неподвижную стрелку и готово! Или как чаще встречается, сделать неподвижный круг со шкалой и вращать текстуру стрелки.
Можете прописать scene.my.txTransform не от var а к примеру var*0.2. Таким образом можно настроить прибор так чтобы он показывал нужное значение. Пример
Источник: http://algophun.3dn.ru |