我正在处理我使用Symfony制作的投资组合,并且在我的投资组合中添加我的一个Flash项目时遇到了问题。
我的flash项目使用外部文件,因此我将一个带有thos文件的文件夹放在我的swf旁边。如果我双击我的swf,它会正确打开项目并且一切正常,但是当我在页面中添加项目时,它不会加载externla文件。这是我的网络目录的结构:
幅 - 捆绑 - 上市 --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"));
对于图片,我使用自定义类:
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
答案 0 :(得分:0)
您最好的选择是将flash var(参数)传递给flash影片,同时将其嵌入到html中。这样你就可以告诉Flash哪个是加载剪辑的正确路径(甚至可以说是哪个是绝对的root / current flash文件夹)。然后加载来自此特定域的swf!