![]() |
Tween и scaleX, scaleY
Привет!
Корректно написано? Есть, подозрения что нет ... Код:
function mapScaleIn() |
1. Как минимум, обьявленные локальными переменными твины могут умереть до своего окончания.
2. Тип переменных желательно указывать 3. Нет завершения предыдущей функции: если одну вызвать до завершения другой, будет дергаться. А корректно или нет, зависит от неизменности значения mainScale. |
Спасибо огромное! Именно все как написал так и есть... те же проблемы(
если можно пункт 3 по подробнее. P.S. программной анимацией пользуюсь впервые ( |
В третьем пункте говорится о том, что сразу два твина работают над одним свойством одного объекта. Из-за этого получается непонятная анимация. Вы представляете то суммарное движение которое получается в результате сложения двух твинов? Я тоже не представляю :) Потому нужно предыдущий останавливать.
|
Я хорошо представляю что происходит при сложении 2х твинов) борюсь с этим не первый день)
Давайте уточним правильно ли я понял. Имеется ввиду что когда выполняется mapScaleIn, mapScaleOut не должна быть доступна? И сделать это можно если ловить конечное значение mapScaleIn (начальное mapScaleOut) с помощью условия. Верно? |
рекомендую: http://blog.greensock.com/tweenmaxas3/
|
Спасибо. здорово)
мне всетаки кажется что с моим кодом проще разобраться и быстрее чем TweenMAX) просто скажите плиз я в правильном направлении двигаюсь? ситуация очень проста, по нажатию на карту она зумится, по 2у нажатию едет обратно, мне нужно чтоб в тот момент когда она зумится нельзя было вызвать mapScaleOut + вообще не люблю пользоваться чужими фреймворками, даже если они получены легальным путем, намного приятнее когда хорошо работает то, что написал сам. |
Цитата:
|
http://www.gskinner.com/libraries/gtween/ - вот этот класс, на мой взгляд, намного удобнее и нагляднее.
|
Да, gTween и мой любимый тоже. Либо есть Tweener, в котором чуть больше фич. Вобщем на любителя.
|
за gTween спасбо! действительно неплохая и относительно простая в понимании штука, да вот только не решает она мой проблемы. Если кто нить понимает, подскажите плиз. Напоминаю.
по нажатию на карту она зумится, по 2у нажатию едет обратно, мне нужно чтоб в тот момент когда она зумится нельзя было вызвать mapScaleOut как мне это отловить? если нужно могу выложить примерный код, весь не могу, там его дико много( |
Делаем флаг zoomAvailable, при старте твинов ставим его в false, подписываемся на окончание твинов (для gTween это Event.COMPLETE), и по окончании ставим его в true. В начале mapScaleOut и mapScaleIn поставить проверку:
Код AS3:
|
Я безбожно туп, с такими знаниями как у меня противопоказано пользоваться чужим кодом (gTween), что бы пользоваться чужими классами надо дойти до состояния, когда любая задача прозрачна, вот тогда в целях экономии времени можно и gTween использовать. Я делаю вот так:
Код AS3:
P.S. я понимаю что то, что я написал полный бред, хотябы из соображений логики. |
1. Фрагмент с if и присовением false флагу нужно ставить и в начале mapScaleOut. Кроме того, if должен быть до установки значения флага, а не после
2. у Tween, в отличие от gTween, событие окончания называется TweenEvent.MOTION_FINISH 3. Когда вы присваиваете переменный новый экземпляр твина, тогда и надо подписываться на момент окончания, т е строчки с подписью на окончание надо поставить внутри функций mapScaleIn/Out после создания твинов 4. По окончании твинов они должны вызывать функцию: Код AS3:
|
Код AS3:
1046: Type was not found or was not a compile-time constant: TweenEvent. |
Код AS3:
...и Код AS3:
Код AS3:
|
Вы уверены что именно так? У меня он даже в хелпе такого не находит.
У меня прописано Код AS3:
Добавлено через 37 минут Окей) Вот Код AS3:
|
Код AS3:
|
Теперь так) Зумится) но все равно когда одна из функций выполняется, вторая вызывается паралитическими кликами и карта по прежнему скачет в конечных координатах.
|
Потрейсите zoomAvailable в начале функций, если переменная нигде больше не меняется, так не может быть, т к оно false всегда, когда Tween-ы выполняются
|
Спасибо Вам огромное! Я по ковыряюсь седня ночкой, если результатов не будет, завтра выложу сюда мини исходник. Еще раз ОГРОМНОЕ спасибо!
|
миниИсходник
Вложений: 2
Промарочился ночку( толку нет( выкладываю миниИсходник(
P.S. двумя арихивами( в 1 не влазиет( |
| Часовой пояс GMT +4, время: 20:26. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.