![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2012
Адрес: Татарстан
Сообщений: 118
|
Добрый день, пожалуйста подскажите замучился с TweenMax постоянно вылетает ошибка
ReferenceError: Error #1065: Variable TweenMax is not defined. at com.gamebook.grid::Manager/enterHandler() вот код package com.gamebook.grid { import flash.display.Sprite; import flash.events.* import flash.geom.Rectangle; import com.greensock.*; import com.greensock.easing.*; public class Manager extends Sprite { //Запоминаем высоту маски и контента //Присваиваем высоту контента! private var CONTENT_HEIGHT:Number = 947; private var MASK_HEIGHT:Number = 250; //Смотрим предвидящую y-координату для контента что бы аниммировать private var oldY:Number; private var bounds:Rectangle; //Определение производиться ли передвижение контента private var scrolling:Boolean = false; private var myContent:Sprite; private var myMask:Sprite; private var scrollMC:Sprite; public function Manager() : void { addEventListener(MouseEvent.CLICK, moiuseClck); //Слушаем, когда пользователь отпускает кнопку мыши Main.stage.addEventListener(MouseEvent.MOUSE_UP, stopScroll); //Добавим ENTER_FRAME чтобы анимировать скроллирование addEventListener(Event.ENTER_FRAME, enterHandler); myContent = new myConten(); myMask = new myMas(); addChild(myContent); myMask.x = 19.90; myMask.y = 19.05; addChild(myMask); scrollMC = new scrollMCC(); scrollMC.x = 647,55; scrollMC.y = 16,6; addChild(scrollMC); init(); } private function moiuseClck(event:MouseEvent):void { } private function init():void { //Перемещение контента в левый верхней угол маски myContent.x = myMask.x; myContent.y = myMask.y; oldY = myContent.y; //ставим маску для контента myContent.mask = myMask; //Создадим ограничитель для scrollMC, в его роли будет прямоугольник. //Тут мы делаем что бы можно было перетаскивать скролл только вдоль линии. bounds = new Rectangle(scrollMC.x,scrollMC.y,0,250); //Слушаем, когда пользователь нажимает мышь на scrollMC scrollMC.addEventListener(MouseEvent.MOUSE_DOWN, startScroll); } //Эта функция вызывается, когда пользователь перетаскивает scrollMC private function startScroll(e:Event):void { //Установим scrolling равным true scrolling = true; //Начинаем перетаскивать scrollMC scrollMC.startDrag(false,bounds); } //Эта функция вызывается, когда пользователь заканчивает перетаскивание scrollMC private function stopScroll(e:Event):void { //Установим scrolling равным false scrolling = false; //Остановим перетаскивание scrollMC.stopDrag(); } //Эта функция выполняется в каждом фрейме private function enterHandler(e:Event):void { //Проверяем, происходит ли скроллирование if (scrolling == true) { //Вычисляем расстояние scrollMC от верха var distance:Number = Math.round(scrollMC.y - bounds.y); //Вычисляем процентное содержание расстояния по отношению к высоте линии. //Итак, когда scrollMC наверху, percentage равно 0 , // а когда внизу - percentage равно 1. var percentage:Number = distance / MASK_HEIGHT; //Сохраним старую y - координату oldY = myContent.y; //Вычисляем новую y -координату (targetY) для контента. //Мы вычитаем высоту маски из высоты контента. //Таким образом, контент должен двигаться вверх, когда мы прокручиваем вниз. //Удалите вычитание, чтобы убедиться лично! var targetY:Number = -((CONTENT_HEIGHT - MASK_HEIGHT) * percentage) + myMask.y; //Мы хотим анимировать скроллирование только если старый y отличается от нового y. //В нашем мувике мы анимируем прокрутку, если разница больше чем 5 пикселов. if (Math.abs(oldY - targetY) > 5) { //Твин контента на новую позицию. //Вызываем функцию tweenFinished() когда твин завершится. TweenMax.to(myContent, 0.3, {y: targetY, blurFilter:{blurX:22, blurY:22}, onComplete: tweenFinished}); } } } //Эта функция вызывается, когда твин завершается private function tweenFinished():void { //твин для возврата контента к нормальному состоянию (= удалим blur) TweenMax.to(myContent, 0.3, {blurFilter:{blurX:0, blurY:0}}); } } } |
|
|||||
|
Регистрация: Jun 2012
Адрес: Татарстан
Сообщений: 118
|
там где вызывается TweenMax я вижу метод to
|
|
|||||
|
Добрый день!
Возможно проблема в том, что вы используете несколько swc-либ. И они содержат в себе TweenMax. После переноса (смены директории нахождения либы) некоторые из этих swc содержат неправильный путь к TweenMax. Попробуйте пересобрать все swc. Когда-то тоже похожее что-то было, и после обновления все заработало. |
|
|||||
|
Регистрация: Jun 2012
Адрес: Татарстан
Сообщений: 118
|
нет это единственное место где вызываю
вот так во так упростил код, и все равно ошибка package com.gamebook.grid { import flash.display.Sprite; import flash.events.* import flash.geom.Rectangle; import greensock.*; import greensock.easing.*; public class Manager extends Sprite { public function Manager() : void { TweenMax.to(myContent, 0.3, {y: targetY, blurFilter:{blurX:22, blurY:22}, onComplete: tweenFinished}); } } } |
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Вы в какой программе пишите и используете классы или swc?
|
|
|||||
|
Регистрация: Jun 2012
Адрес: Татарстан
Сообщений: 118
|
класс в котором вызываю называется Manager
сам Manager создаю в Main класс который является главным. swf не использую пишу в flash id cs4 |
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Тогда для создайте новый проект и подключите библиотеку TweenMax и прямо в Main попробуйте применить её к любому объекту ( квадратику какому-нибудь ).
|
|
|||||
|
Регистрация: Jun 2012
Адрес: Татарстан
Сообщений: 118
|
если запускать из главного класса то все работает
Добавлено через 1 минуту Всем спасибо я починил! |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:48. |
|
|
« Предыдущая тема | Следующая тема » |
|
|