Flash 外部文件在我的 Symfony 项目中不起作用

Flash external file doesn't work in my Symfony project

我正在处理我使用 Symfony 制作的作品集,但在将我的 Flash 项目之一添加到我的作品集时遇到问题。

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

网络 - 捆绑 --public --projets(法语是项目的意思) - 闪光 Tech_Boy.swf 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>

我这样访问我的文件:

this._ambianceSon = new Sound();
this._ambianceSon.load(new URLRequest("techBoyMediasExternes/son/Musique_Ambiance.mp3"));

对于图片,我使用自定义 class:

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!