图片一直向左上方。(Actionscript 3)

时间:2014-12-18 23:35:19

标签: image actionscript-3

所以我的项目是制作两个画廊页面。我称它们为“gallery1”和“gallery2”。每个画廊页面都有5个缩略图,就像按钮一样,所以当你点击它时,它会打开一张图片。现在的问题是,它总是在左上方打开,我希望它们位于页面的中间。这是gallery1的代码。画廊2是相同的,但有不同的图片。 b1-b5是缩略图。请帮助。

var swfRequest1:URLRequest = new URLRequest("image1.swf");
    var swfRequest2:URLRequest = new URLRequest("image2.swf");
    var swfRequest3:URLRequest = new URLRequest("image3.swf");
    var swfRequest4:URLRequest = new URLRequest("image4.swf");
    var swfRequest5:URLRequest = new URLRequest("image5.swf");

    var swfLoader:Loader = new Loader();



function opengal(evt:MouseEvent):void





{   
        var pTarget:String = evt.currentTarget.name;

    if(pTarget == "b1")
    {
        swfLoader.load(swfRequest1);
        addChild(swfLoader);
    }
    else if(pTarget == "b2")
    {
        swfLoader.load(swfRequest2);
        addChild(swfLoader);
    }
    else if(pTarget == "b3")
    {
        swfLoader.load(swfRequest3);
        addChild(swfLoader);
    }
    else if (pTarget == "b4")
    {
        swfLoader.load(swfRequest4);
        addChild(swfLoader);
    }
    else if(pTarget == "b5")
    {
        swfLoader.load(swfRequest5);
        addChild(swfLoader);
    }
};


b1.addEventListener(MouseEvent.CLICK, opengal);
b2.addEventListener(MouseEvent.CLICK, opengal);
b3.addEventListener(MouseEvent.CLICK, opengal);
b4.addEventListener(MouseEvent.CLICK, opengal);
b5.addEventListener(MouseEvent.CLICK, opengal);

2 个答案:

答案 0 :(得分:0)

您必须将swfLoader放在屏幕中间。

您可以使用以下代码执行此操作:

swfLoader.x = (swfLoader.width - stage.stageWidth)/2; // and the y axis in a  similar way

当contentLoaderInfo调度Event.INIT时,可以检索所需的width和height属性。

答案 1 :(得分:0)

要在舞台中间设置加载的内容,您可以这样做:

// store files path into an array
var files:Array = ['image01.swf', 'image02.swf', 'image03.swf', 'image04.swf', 'image05.swf'];

var loader:Loader = new Loader();
    // use loader.contentLoaderInfo to listen to Event.INIT
    loader.contentLoaderInfo.addEventListener(
        Event.INIT, function(e:Event):void {
            // center our loader
            loader.x = (stage.stageWidth - loader.width)/2;
            loader.y = (stage.stageHeight - loader.height)/2;           
        })
    addChild(loader);                     

function opengal(evt:MouseEvent):void {
    // here the pTarget should be between 0 and 4 as an array index
    var pTarget:int = Number((evt.currentTarget.name).substr(-1, 1)) - 1;
    loader.load(new URLRequest(files[pTarget]));

};

...

我希望这可以帮到你。