AS3 wenn Sie die Breite und Höhe des Sprite-Container

Ok, mein Verstand ist verblüffend über dieses Problem im habend. Ich weiß, dies mag wie eine einfache Frage, und ich kann nicht verstehen, warum ich kann nicht es herauszufinden, aber nichts weniger als das kann ich nicht und ich habe gerade über aufgegeben. Hier ist das Problem:

Habe ich eine sprite-container, die angeblich zu halten eine Reihe von thumbnails, um videos. Ich bin in der Lage, füllen Sie den container mit all den videos und das ganze wirkt aber natürlich, wenn ich das hinzufügen von ein paar videos sein gehen zu überschreiten die Größe des flash-Dokument, so muss ich hinzufügen, eine UIScrollBar - (die habe ich) jetzt die Bildlaufleisten Ziel gesetzt, der container ist aber nicht erlauben Sie mir, zu Blättern und wenn im richtigen dies ist, weil die container nicht über eine Höhe festlegen. So Im Versuch, die Größe dieser container aber in der Sekunde, ich versuche, die Einstellung der Höhe oder auch Breite alle meine thumbnails ich war in der Lage, um zu sehen, verschwunden sind! Es ist, als ob die Größe wird auf 0 gesetzt, wenn seine nicht ich habe sogar versucht, um es auf eine angegebene Größe, nur um zu testen und nichts. Sowieso heres mein code, falls jemand helfen kann, ich würde es wirklich schätzen! Vielen Dank im Voraus!


import fl.controls.UIScrollBar; 

var videoList:XMLList;
var numVideos:Number;
var current_Video:Number = 0;
var video_position:Number;
var video_paused:Boolean;
var xmlPlaylist:String;

//XML File setup
var playlist_xml:XML;
var myLoader:URLLoader = new URLLoader();

//Playlist setup
var thumb_width:Number;
var thumb_height:Number;
var thumbs_x:Number;
var thumbs_y:Number;
var main_container:Sprite;
var thumbs:Sprite;
var scrollbar:UIScrollBar;

//Loader Data
this.loaderInfo.addEventListener(Event.COMPLETE, loaderComplete);
function loaderComplete(e:Event):void
{
    var myQueryStrings = this.loaderInfo.parameters;
    xmlPlaylist = myQueryStrings.pList;

    myLoader.load(new URLRequest(xmlPlaylist + "?uniq=" + new Date().getTime()));
}

myLoader.addEventListener(Event.COMPLETE, processXML);
function processXML(e:Event):void {
    playlist_xml = new XML(e.target.data);

    numVideos = playlist_xml.video.length();
    videoList = playlist_xml.video;

    thumb_width = playlist_xml.@thumb_width;
    thumb_height = playlist_xml.@thumb_height;
    thumbs_x = playlist_xml.@thumbs_x;
    thumbs_y = playlist_xml.@thumbs_y;

    current_Video = Math.round(Math.random()*(numVideos-1))+1;
    current_Video--;

    startPlayer();
}

function startPlayer()
{
    makeContainers();
    callThumbs();
    setVideo(current_Video);
}

function makeContainers():void
{
    main_container = new Sprite();
    addChild(main_container);

    thumbs = new Sprite();
    thumbs.addEventListener(MouseEvent.CLICK, playVideo);
    thumbs.addEventListener(MouseEvent.MOUSE_OVER, onOver);
    thumbs.addEventListener(MouseEvent.MOUSE_OUT, onOut);
    thumbs.x = thumbs_x;
    thumbs.y = thumbs_y;

Dies ist, wo das Problem ist: (, Wenn ich kommentieren Sie diesen code zeigt er die thumbnails)


    thumbs.width = thumb_width;
    thumbs.height = (thumb_height + 11) * 3;

    thumbs.buttonMode = true;
    main_container.addChild(thumbs);

    scrollbar = new UIScrollBar();
    scrollbar.x = thumbs_x + thumb_width + 2;
    scrollbar.y = thumbs_y;
    scrollbar.setSize(25, (thumb_height + 11) * 3);
    scrollbar.visible = true;
    scrollbar.scrollTarget = thumbs;
    main_container.addChild(scrollbar);
}

function callThumbs():void
{
    for (var i:Number = 0; i (less than) numVideos; i++) //For some reason Stack Overflow isnt allowing me to put the symbol less than so i just typed it in...
    {
        var thumb_url = videoList[i].@thumb;
        var thumb_loader = new Loader();
        thumb_loader.name = i;
        thumb_loader.load(new URLRequest(thumb_url));

        thumb_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, thumbLoaded);

        thumb_loader.y = (thumb_height + 11) * i;
    }
}

function thumbLoaded(e:Event):void
{
    var my_thumb:Loader = Loader(e.target.loader);
    thumbs.addChild(my_thumb);
}

function playVideo(e:MouseEvent):void
{
    setVideo(e.target.name);
}

function onOver (e:MouseEvent):void
{
    var my_thumb:Loader = Loader(e.target);
    my_thumb.alpha = 0.5;
}

function onOut (e:MouseEvent):void
{
    var my_thumb:Loader = Loader (e.target);
    my_thumb.alpha = 1;
}

function setVideo(current_Video)
{
    var display:String = videoList[current_Video].@title;
    var video:String = videoList[current_Video].@url;

    txt_Display.text = display;
    flvPlayer.source = video;
}

stop();
InformationsquelleAutor Lord-Link | 2011-02-27
Schreibe einen Kommentar