Actionscript 3 闪存外部文件不';我不能在我的Symfony项目中工作

Actionscript 3 闪存外部文件不';我不能在我的Symfony项目中工作,actionscript-3,flash,symfony,Actionscript 3,Flash,Symfony,我正在用Symfony制作我的公文包,在公文包中添加一个flash项目时遇到了问题 我的flash项目使用外部文件,所以我在swf旁边放了一个包含thos文件的文件夹。如果我双击我的swf,它会正确打开项目,一切正常,但当我在页面中添加项目时,它不会加载externla文件。以下是我的web目录的结构: 网 --捆 --公开的 --projets(法语的意思是项目) --闪光 科技男孩 techBoyMediaExternes(这是外部媒体文件) 下面是我用来集成它的代码: <object

我正在用Symfony制作我的公文包,在公文包中添加一个flash项目时遇到了问题

我的flash项目使用外部文件,所以我在swf旁边放了一个包含thos文件的文件夹。如果我双击我的swf,它会正确打开项目,一切正常,但当我在页面中添加项目时,它不会加载externla文件。以下是我的web目录的结构:

网 --捆 --公开的 --projets(法语的意思是项目) --闪光 科技男孩 techBoyMediaExternes(这是外部媒体文件)

下面是我用来集成它的代码:

<object width="{{ projet.largeur }}" height="{{ projet.hauteur }}"
    classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
    codebase="http://fpdownload.macromedia.com/
    pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0">
    <param name="{{ projet.nom }}" value="{{ asset("bundles/public/projets/flash/"~ projet.fichier) }}">
    <embed src="{{ asset("bundles/public/projets/flash/"~ projet.fichier) }}" width="{{ projet.largeur }}" height="{{ projet.hauteur }}">
    </embed>
    </object>
对于图片,我使用自定义类:

package classes.medias{

    import flash.net.URLRequest;
    import flash.display.Loader;
    import flash.events.Event;
    import flash.display.Bitmap;
    import flash.display.BitmapData;

    public class Image extends Bitmap {

        /*Cette classe permet de récupérer les données BitmapData d'une image chargée dans un Loader
        L'avantage est qu'un objet d'affichage de type Bitmap est moins lourd en mémoire
        qu'un objet Loader*/

        //Constantes de la classe pour quand on dispatch des événements
        public static const IMAGE_CHARGEE:String = "imageChargee";

        //Fonction constructive de la classe
        public function Image(pLien:String) {

            //Lien de l'image externe
            var lien:URLRequest=new URLRequest(pLien);

            //On télécharge l'image
            var loader=new Loader();
            loader.load(lien);
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE,recupererDatas);

        }

        //Quand l'image externe est chargée, on récupère ses données BitmapData
        private function recupererDatas(pEvt:Event):void {

            //Récupérer l'image chargée dans le Loader
            var imageChargee:Bitmap = pEvt.target.content as Bitmap;

            //Récupérer les données bitmap de l'image chargée
            this.bitmapData = imageChargee.bitmapData;

            //On dispatch l'événement pour dire que l'image est chargée
            this.dispatchEvent(new Event(Image.IMAGE_CHARGEE));

        }

    }//Fermeture de public class Personnage extends Bitmap

}//Fermeture du package

最好的选择是将flash var(参数)传递给flash电影,同时将其嵌入html。通过这种方式,您可以告诉Flash哪个是要加载剪辑的正确路径(甚至可以说哪个是绝对根/当前Flash文件夹)。然后从这个特定域加载swf

如何访问flash应用程序中的文件?如果您在embed中使用“bundles/public/projets/flash/”,那么您也应该为外部文件使用此路径。您也可以使用loaderInfo.loaderURL属性,其中包含加载的swf路径。听起来很棒,但您能给出一个代码示例,如html和actionScript吗?您好,很抱歉响应太晚。你找到答案了吗?还是还需要帮助?是的,我找到了。在代码的开头,我放置了:Application.lienExterne=LoaderInfo(this.root.LoaderInfo).parameters.lien.toString();这将在我的html中使用名为“lien”的变量,我使用的put如下所示:Application.lienExterne+“techboymediasternes/images/splash.png”我的html如下所示:
package classes.medias{

    import flash.net.URLRequest;
    import flash.display.Loader;
    import flash.events.Event;
    import flash.display.Bitmap;
    import flash.display.BitmapData;

    public class Image extends Bitmap {

        /*Cette classe permet de récupérer les données BitmapData d'une image chargée dans un Loader
        L'avantage est qu'un objet d'affichage de type Bitmap est moins lourd en mémoire
        qu'un objet Loader*/

        //Constantes de la classe pour quand on dispatch des événements
        public static const IMAGE_CHARGEE:String = "imageChargee";

        //Fonction constructive de la classe
        public function Image(pLien:String) {

            //Lien de l'image externe
            var lien:URLRequest=new URLRequest(pLien);

            //On télécharge l'image
            var loader=new Loader();
            loader.load(lien);
            loader.contentLoaderInfo.addEventListener(Event.COMPLETE,recupererDatas);

        }

        //Quand l'image externe est chargée, on récupère ses données BitmapData
        private function recupererDatas(pEvt:Event):void {

            //Récupérer l'image chargée dans le Loader
            var imageChargee:Bitmap = pEvt.target.content as Bitmap;

            //Récupérer les données bitmap de l'image chargée
            this.bitmapData = imageChargee.bitmapData;

            //On dispatch l'événement pour dire que l'image est chargée
            this.dispatchEvent(new Event(Image.IMAGE_CHARGEE));

        }

    }//Fermeture de public class Personnage extends Bitmap

}//Fermeture du package