Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 用模式填充Flex应用程序背景?_Flash_Actionscript 3_Flex3 - Fatal编程技术网

Flash 用模式填充Flex应用程序背景?

Flash 用模式填充Flex应用程序背景?,flash,actionscript-3,flex3,Flash,Actionscript 3,Flex3,我们试图通过在整个背景中重复图像模式,用图像模式填充Flex3应用程序的背景 图案是一个非常小的“项目符号”背景 Flex应用程序似乎只是拉伸图像模式,尽管我们在CSS中指定了以下内容: package view.skin { import flash.display.Bitmap; import mx.skins.ProgrammaticSkin; public class RepeatingImageSkin extends ProgrammaticSkin

我们试图通过在整个背景中重复图像模式,用图像模式填充Flex3应用程序的背景

图案是一个非常小的“项目符号”背景

Flex应用程序似乎只是拉伸图像模式,尽管我们在CSS中指定了以下内容:

package view.skin
{
    import flash.display.Bitmap;
    import mx.skins.ProgrammaticSkin;

    public class RepeatingImageSkin extends ProgrammaticSkin
    {
        override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
        {
            var cls:Object = getStyle("backgroundImage");
            var bmp:Bitmap = new cls();
            graphics.clear();
            graphics.beginBitmapFill(bmp.bitmapData);
            graphics.drawRect(0, 0, unscaledWidth, unscaledHeight);
        }
    }
}
应用 { 背景渐变色:#ffffff,#ffffff; 颜色:#000000; 背景图像:嵌入(source=“../assets/images/gray_bullet_background.png”); 背景重复:重复; 背景位置:中心; 背景融合:倍增;

有人知道我们可能会错过什么吗

非常感谢


FortPointUIGuy

Flex不支持后台重复,因此,要执行此操作,您需要一个自定义皮肤,如以下所示:

package view.skin
{
    import flash.display.Bitmap;
    import mx.skins.ProgrammaticSkin;

    public class RepeatingImageSkin extends ProgrammaticSkin
    {
        override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
        {
            var cls:Object = getStyle("backgroundImage");
            var bmp:Bitmap = new cls();
            graphics.clear();
            graphics.beginBitmapFill(bmp.bitmapData);
            graphics.drawRect(0, 0, unscaledWidth, unscaledHeight);
        }
    }
}
然后,对于您的应用程序样式,您可以:

Application {
    background-image: Embed(source="../assets/images/gray_bullet_background.png");
    border-skin: ClassReference("view.skin.RepeatingImageSkin");
}

Flex不支持背景重复,因此,要执行此操作,您需要一个自定义皮肤,如以下所示:

package view.skin
{
    import flash.display.Bitmap;
    import mx.skins.ProgrammaticSkin;

    public class RepeatingImageSkin extends ProgrammaticSkin
    {
        override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
        {
            var cls:Object = getStyle("backgroundImage");
            var bmp:Bitmap = new cls();
            graphics.clear();
            graphics.beginBitmapFill(bmp.bitmapData);
            graphics.drawRect(0, 0, unscaledWidth, unscaledHeight);
        }
    }
}
然后,对于您的应用程序样式,您可以:

Application {
    background-image: Embed(source="../assets/images/gray_bullet_background.png");
    border-skin: ClassReference("view.skin.RepeatingImageSkin");
}

试过s|WindowedApplication但不工作,仅供参考。但我没有试过应用程序。试过s|WindowedApplication但不工作,仅供参考。但我没有试过应用程序。