AS3 iOS прокрутка с помощью мувиклипа

Я столкнулся с этой проблемой, что Flash вернет мне 1046: Тип не был найден или не был константой времени компиляции: mouseY

Я пытаюсь прокрутить фрагмент ролика в отдельном классе, который я поместил в контейнер, который до сих пор не работал!

Помощь будет оценена!

PS Я следовал этому уроку http://forums.adobe.com/thread/892372

Мой свиток Класс:

package  {
import flash.events.MouseEvent;
import flash.display.MovieClip;
import flash.events.Event;
import flash.geom.Point;
import flash.ui.Mouse;

public class Scrolling {

    private var Touchscroll:Point = new Point;
    private var completeTween:Boolean;
    private var finalMouseY:int;
    private var mc:MovieClip = IconSpawn.container;
    private var currentY:mouseY = new mouseY;

    public function Scrolling() {
        // constructor code
        mc.addEventListener(MouseEvent.MOUSE_DOWN,onDown1)

    }

    public function onDown1(evt:MouseEvent):void
    {
        completeTween = false;
        //stage.addEventListener(MouseEvent.MOUSE_UP,onUp1);

        MovieClip(evt.currentTarget).addEventListener(Event.ENTER_FRAME,tweenF);
    }

    public function tweenF(e:Event):void
    {
        //var mc:MovieClip = MovieClip(evt.currentTarget);

        if(completeTween)
        {
            mc.y = .5*(mc.y + Math.min(800,finalMouseY));

            if(Math.abs(mc.y - Math.min(800, finalMouseY)) <1)
            {
                e.currentTarget.removeEventListener(Event.ENTER_FRAME,tweenF);
            }

        }
        else
        {
            mc.y = .5*(mc.y + Math.min(800, mouseY));
        }

    }
    public function onUp1(evt:MouseEvent):void
    {
        completeTween = true;
        finalMouseY = currentY;
        stage.removeEventListener(MouseEvent.MOUSE_UP,onUP1);
    }

}

}

Отредактированный код:

package  {
import flash.events.MouseEvent;
import flash.display.MovieClip;
import flash.events.Event;
import flash.geom.Point;
import flash.ui.Mouse;

public class Scrolling {

private var Touchscroll:Point = new Point;
private var completeTween:Boolean;
private var startMouseY:int;
private var finalMouseY:int;
private var mc:MovieClip = IconSpawn.container;
//private var CurrentY = mouseY

public function Scrolling() {
    // constructor code
    mc.addEventListener(MouseEvent.MOUSE_DOWN,onDown1)

}

public function onDown1(evt:MouseEvent):void
{
    startMouseY = mouseY;
    completeTween = false;
    stage.addEventListener(MouseEvent.MOUSE_UP,onUp1);

    MovieClip(evt.currentTarget).addEventListener(Event.ENTER_FRAME,tweenF);
}

public function tweenF(e:Event):void
{
    //var mc:MovieClip = MovieClip(evt.currentTarget);

    if(completeTween)
    {
        mc.y = .5*(mc.y + Math.min(800,finalMouseY));

        if(Math.abs(mc.y - Math.min(800, finalMouseY)) <1)
        {
            e.currentTarget.removeEventListener(Event.ENTER_FRAME,tweenF);
        }

    }
    else
    {
        mc.y = .5*(mc.y + Math.min(800, mouseY - startMouseY));
    }

}
public function onUp1(evt:MouseEvent):void
{
    completeTween = true;
    finalMouseY = mouseY - startMouseY;
    stage.removeEventListener(MouseEvent.MOUSE_UP,onUP1);
}

}
}

1 ответ

В вашей строке 15: private var currentY:mouseY = new mouseY; вы взяли открытое свойство Display Object и попытались превратить его в класс. Не делай этого!!

Просто объявите CurrentY как переменную экземпляра. В вашем конструкторе или позже установите CurrentY = mouseY,

Другие вопросы по тегам