Мы используем файлы cookie, чтобы упростить навигацию на этом сайте. Если вы даете свое согласие на использование файлов cookie и обработку ваших персональных данных, нажмите «Принимаю».

Масштабирование объектов

Домой Форумы Пазлы Масштабирование объектов

Просмотр 8 сообщений - с 1 по 8 (из 8 всего)
  • Автор
    Сообщения
  • #14233
    Mike666
    Customer

    Здравствуйте, подскажите, пожалуйста, конструкцию пазлов, при которой при клике на одном объекте менялся размер (или масштаб в %) другого объекта.

    #14235
    sungreen
    Участник

    пример
    … в примере клик на синий шарик уменьшает на 10% размер куба, клин на красный увеличивает …

    #14237
    Mike666
    Customer

    большое спасибо за помощь, как я понимаю работает только через %, а возможность прописывать размеры в мм есть?

    #14238
    sungreen
    Участник

    … в пазлах задается масштаб, соответственно чтобы задать в мм, нужно мм перевести в масштаб …
    … например, нужно увеличить размер заготовки 120 мм на 20 мм (то есть до 140 мм), тогда s = (120 + 20)/120 …
    … каким образом будет задаваться на сколько мм нужно увеличить? …

    #14239
    Mike666
    Customer

    спасибо за информацию

    #14247
    sungreen
    Участник

    вот пример с абсолютным приращением: пример2

    логика такая:
    Пример

    #14248
    Mike666
    Customer

    ого как расписали, буду разбираться, спасибо большое

    #14269
    sungreen
    Участник

    можно еще посмотреть код, который формируется пазлами

    addHTMLElement('div', 'alert');
    setHTMLElemAttribute('innerHTML', 'Нажмите на красный или синий шар', 'alert', false);
    setHTMLElemAttribute('style', ['position: absolute;','','background-color: #f44336;','color: white;','left: 0px;','right: 0px;','bottom: 0px;','font-family: sans-serif;','text-align: center;','',''].join(''), 'alert', false);
    
    scale = 1;
    increment = 10;
    base = 200;
    size = base;
    
    registerOnClick(["ALL_OBJECTS"], function() {
      if (_pGlob.pickedObject == "Sphere1") {
        size = size - increment;
      }
      if (_pGlob.pickedObject == "Sphere2") {
        size = size + increment;
      }
      scale = size / base;
      setHTMLElemAttribute('innerHTML', ['Размер: ',size,'  Изменение: ',increment,'  Масштаб: ',scale].join(''), 'alert', false);
      setObjTransform("Cube", "scale", scale, scale, scale, false);
    }, function() {});
Просмотр 8 сообщений - с 1 по 8 (из 8 всего)
  • Для ответа в этой теме необходимо авторизоваться.