Nano Hash - криптовалюты, майнинг, программирование

As3 вращение спрайта X и вращение Y

У меня есть небольшая проблема с вращением X и вращением Y.

Круто, если я просто сделаю roationX и rotaionY ниже

_eventParent.rotationY =_differentX; 
_eventParent.rotationX =_differentY;

Однако, как только я назначу движение мыши для _eventParent. roationX и roationY изменяются в перспективе во время движения мыши. поэтому вместо этого элемент остается того же размера. это увеличение и уменьшение размера перспективно. есть идеи, почему он это делает? есть ли возможность остановить это поведение?

Спасибо

Пожалуйста, найдите изображение ниже.

введите здесь описание изображения


  • Опубликуйте больше кода и, возможно, swf, показывающий проблему. 22.02.2013
  • @JonatanHedborg спасибо, Джонатан, я загрузил изображение ситуации. 23.02.2013

Ответы:


1

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

Вы можете исправить это, обновив точку схода, чтобы она всегда находилась в тех же координатах, что и ваша фигура. Поскольку форма всегда будет находиться в точке схода, перспектива не должна меняться.

Для этого создайте перспективную проекцию для вашей формы:

_eventParent.transform.perspectiveProjection = new PerspectiveProjection();

PerspectiveProjection находится в пакете flash.geom, поэтому не забудьте его импортировать.

Затем всякий раз, когда вы обновляете положение своей фигуры, обновляйте ее точку схода:

_eventParent.transform.perspectiveProjection.projectionCenter = 
    new Point(_eventParent.x, _eventParent.y);

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

23.02.2013
  • Вау, это звучит как отличное решение, я проверю в следующий понедельник и поставлю вам галочку, если оно правильное. :) В любом случае большое спасибо!! 23.02.2013
  • Привет bwroga, _eventParent.transform.perspectiveProjection = new PerspectiveProjection(); произойдет после mouseDown? 25.02.2013
  • @ bluebill1049 bluebill1049 Я бы установил его, когда вы создаете _eventParent и тогда же устанавливаете projectCenter в первый раз. Таким образом, не будет никаких странных скачков в перспективе. 25.02.2013

  • 2

    Поправьте меня, если я неправильно понял ваш вопрос. Ваш вопрос заключается в том, что если вы применяете вращение к объекту movieClip, то почему размер изменяется?

    Для упрощения давайте не будем применять вращение по обеим осям X и Y. Возьмем прямоугольный мувиклип и onMouseMove сделаем ++myMovieClip.rotationX;

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

    То же самое относится к вращению вокруг оси Y.

    22.02.2013
  • Привет, Абхинав, вращение X и вращение Y отлично работают. мой вопрос после того, как вы примените вращениеX и вращениеY спрайта или мувиклипа. Попробуйте начать со спрайта или мувиклипа. вы увидите, что элемент искажается, когда вы двигаете мышью, вместо того, чтобы оставаться на одном и том же вращенииX и вращенииY. 23.02.2013
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..