Почему этот ActionScript Flip вызывает размытие на моем сайте? - PullRequest
2 голосов
/ 22 января 2010

Я использую флип-механизм для навигации по моему сайту ( флип-файл & demo ). Проблема в том, что после того, как он перевернул содержимое, оно отображалось хорошо, как я хочу, но есть некоторое смещение от перевернутых (правых) частей в сплошной левой части (видно, когда вы смотрите внимательно). Также правая часть теперь немного размыта (что является тревожной частью моей проблемы). Это все вызвано переворотом (я думаю, что вращение Y вызывает проблему).

Когда я нажимаю кнопку, я делаю следующее:

flip=new Flip(currentPage,nextPage,richting);
content.addChild(flip);
currentPage=nextPage;
nextPage = new MovieClip();

Ответы [ 2 ]

3 голосов
/ 22 января 2010

есть исправление, рассмотрим следующее:

// store original matrix
var origMatrix:Matrix = box.transform.matrix;
// set initial position
box.rotationY = -180;
// start animation
TweenLite.to(box, 1, {rotationY:0, onComplete:cleanBlur})
// execute after animation complete
function cleanBlur():void {
    box.transform.matrix = origMatrix;
}

возможно, вы сможете найти лучшие результаты, используя другую 3d-библиотеку.

РЕДАКТИРОВАТЬ: извините объект "box", я тестировал во флэш, но box будет любой из ваших страниц, чтобы перевернуть. Просто примените ту же логику.

0 голосов
/ 26 августа 2010

Matteo на Flash & Math предлагает отличное решение для этого. Он обнаружил, что когда вы помещаете объект в собственное трехмерное пространство, он расширяет объект на один пиксель как по ширине, так и по высоте. Этому можно противостоять, уменьшая ваш объект назад и затем устанавливая его z в 0, который увеличит его. Теперь объект готов к игре без размытия.

http://www.flashandmath.com/flashcs4/blursol/index.html

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

...