![]() |
|
||||||||||
|
|||||
|
Здравствуйте
Подскажите пожалуйста как мне реализовать отражение по Х Для поворота использую следующий код (повороты строго на +-90 градусов использую) rotAngle=event.messageObj.message*Math.PI/180; trace("rotAngle "+rotAngle); transformMatrix.tx -= registrationPoint.x; transformMatrix.ty -= registrationPoint.y; transformMatrix.rotate(rotAngle); transformMatrix.tx += registrationPoint.x; transformMatrix.ty += registrationPoint.y; BITMAP.transform.matrix=transformMatrix; Подскажите как сделать |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
.scale(-1, 1) не помогает?
__________________
Reality.getBounds(this); |
|
|||||
|
к сожалению не помогает, картинка смещается влево при первом флипе (но отражается, конечно), и смещается на свое место при втором флипе (тоже отразившись)
Добавлено через 6 минут Но этот механизм неправильно работает если повернуть сначала картинку на 90 градусов, к примеру, без поворота работает правильно |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Так Вы за логикой преобразований то следите, Флэш же не телепат - он делает точно то, что Вы говорите, а не то, что Вы думаете. Повернуть и отразить это совсем не то же самое, что отразить и повернуть. И конечно, отразить относительно Top-Left не то же самое, что отразить относительно центра. Координаты придется корректировать, а как Вы хотели?)))
Добавлено через 24 минуты Иногда помогает просто разместить изображение в объекте так, чтобы точка трансформации была в его центре. Это сразу делает большинство преобразований близкими к человеческой интуиции. А вообще суть в том, что иногда текущее действие надо "вставлять" ДО предыдущих. Это реализовано, в частности, в Matrix3D, где преобразование можно добавить как в начало, так и в конец "списка".
__________________
Reality.getBounds(this); |
|
|||||
|
ясно, спасибо
|
![]() |
![]() |
Часовой пояс GMT +4, время: 23:28. |
|
|
« Предыдущая тема | Следующая тема » |
|
|