Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   TweenMax не работает (http://www.flasher.ru/forum/showthread.php?t=207567)

razerw 23.04.2014 12:52

TweenMax не работает
 
Добрый день, пожалуйста подскажите замучился с TweenMax постоянно вылетает ошибка
ReferenceError: Error #1065: Variable TweenMax is not defined.
at com.gamebook.grid::Manager/enterHandler()

вот код

Код AS3:

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}});
                }
 
    }
}


caseyryan 23.04.2014 13:04

Скорее всего или библиотека не подключена, или лежит в неправильной директории

razerw 23.04.2014 13:06

там где вызывается TweenMax я вижу метод to

alexandrratush 23.04.2014 13:21

Добрый день!
Возможно проблема в том, что вы используете несколько swc-либ. И они содержат в себе TweenMax.
После переноса (смены директории нахождения либы) некоторые из этих swc содержат неправильный путь к TweenMax.
Попробуйте пересобрать все swc. Когда-то тоже похожее что-то было, и после обновления все заработало.

razerw 23.04.2014 13:56

нет это единственное место где вызываю
вот так во так упростил код, и все равно ошибка

Код AS3:

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});
        }
 
 
 
    }
}


Akopalipsis 23.04.2014 14:06

Вы в какой программе пишите и используете классы или swc?

razerw 23.04.2014 14:12

класс в котором вызываю называется Manager
сам Manager создаю в Main класс который является главным. swf не использую пишу в flash id cs4

Akopalipsis 23.04.2014 14:25

Тогда для создайте новый проект и подключите библиотеку TweenMax и прямо в Main попробуйте применить её к любому объекту ( квадратику какому-нибудь ).

razerw 23.04.2014 14:37

если запускать из главного класса то все работает

Добавлено через 1 минуту
Всем спасибо я починил!

ZackMercury 23.04.2014 14:39

А разве путь к библиотеке greensock не com.greensock?

razerw 23.04.2014 15:26

да но есть но, эти папки должны лежать вместе с фла файлом а у меня лежали рядом с классами)))))


Часовой пояс GMT +4, время: 01:48.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.