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