![]() |
меняет ли координаты рисунка в клипе - его отражение?
есть movie clip по координатам 0;0;
в него была добавлена Bitmap и дальше я двигаю два таких клипа задачка стоит отследить их "столковение" все прекрастно проиходит. Но лишь до тех пор пока к одному из клипов не применяется отражение через scaleX=-1 - после этого в той же самой процедуре отслеживания столковения это самое "столкновение" фиксируется когда уже визуально рисунки налезли друг на друга. вывод один: реальные координаты картинки перестали быть 0;0 что то та случилось при отражени. но что именно? подскажите пожалуйста. |
Цитата:
|
ну а почему тогда изменилось поведение? яничего кроме отражения не делал то есть я провел прямой эсперимент: задал координаты х одного клипа там, где оканчивается х другого+ его ширина. - налезли!
|
Нужен код. Клипа, рисунка в нем, проверки столкновений.
|
а есть какой нибудь способ увидеть "фактические размеры" movie clip - то есть он же по факту безразмерный(прозрачный) вот загрузил я в него картинку еще что то. кто его знает какой он. можно как то получить то визуально. может фон закрасить или как то так???
|
Есть getBounds(). По-моему проблемы от непонимания того, что графика клипа может находиться относительно нуля клипа где угодно. И при отражении она отражается как раз относительно нуля (который где угодно может быть).
|
я когда добавлял картинку в клип - укзал координаты картинки - ноль ноль.
Добавлено через 2 минуты эта функция у меня выдала такие координаты у отраженного movieclip x=-103.25, y=-57.25, w=196, h=202.25 но почему минус то? |
Потому что getBounds() не чувствителен к скейлам и такому прочему. Он не знает, что флаг на самом деле по прежнему имеет точку привязки на флагштоке, просто ветер подул в другую сторону. Он просто говорит, что теперь координаты обрамляющего флаг прямоугольника сместились, ширина осталась.
|
я сейчас возьму и визуально привяжу к координате к - какой нибудь элемент. а потом посмотрю - будет ли он по одному краю с картинкой.
Добавлено через 2 минуты так вот!!! когда картинка отразилась она ИЗМЕНИЛА ТАКИ СВОЕ ПОЛОЖЕНИЕ В КЛИПЕ НА СВОЮ ШИРИНУ!!! а вы пишите - нет. но все равно - спасибо) |
А у меня не изменила )
Код AS3:
|
Видимо, товарищ делает отражение самой картинки, а не клипа, ее содержащего.
|
не а. я отражал клип!
Добавлено через 51 секунду ладно. сейчас буду разбиратся. напишу что получится |
Цитата:
Код AS3:
Код AS3:
|
Я не спорю, просто хотелось разобраться, что же менял все же автор, а то показания были протеворечивые :)
|
нувот. нашел причину непонятную!!!
почему до отражения - нулевой координатой внутри movieclip считается левая точка - а после отражения- правая??? |
Да всё понятно.
0.0 - точка применения трансвормации. Когда вы сделали scaleX=-1 вы как будто перевернули страницу, сначала у вас порешок от этой страницы был слева а потом стал справа. |
и самое офигеть - после отражения раньше координата икс у САМОГО movie clip(ну отображается же он в кадре по координатам) считалась слева направо а теперь координата Х - ЭТО ПРАВАЯ ТОЧКА(((
ну что ж такое! зачем они это понаделали. нельзя было отразить содержимое просто да и оставить все как есть. зачем координаты - с ними чехарду устраивать( |
Да вы не отражаете. Вы делаете отрицательный скейл. При скейле внутри всё как работало так и работает, а потом просто отражается. Возьмите тетрадь и поставьте зеркало и смотрите на него, и попробуйте писать и двигать карандаш. Вы увидите именно это.
|
ясно.
|
| Часовой пояс GMT +4, время: 15:10. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.