高手帮帮忙
帮帮忙把这个flash的xml文件去了 直接加载外部图片
// <vars>
var photoHolder = new Array();
var skalerTempo = 3;
var thumbStr = 30;
var stageHeight = Stage.height;
var stageWidth = Stage.width;
var fotoSkygge:DropShadowFilter = new DropShadowFilter(0, 45, 0x333333, 0.8, 10, 10, 2, 3);
var glow:GlowFilter = new GlowFilter(0x333333,100,150,150,1.5,3,true,true);
var bakgrunnPattern:BitmapData = BitmapData.loadBitmap("bakgrunn");
// </vars>
////////////////////////////////
////////////////////////////////
// <init>
_root.createEmptyMovieClip("bakgrunsHolder",_root.getNextHighestDepth());
_root.createEmptyMovieClip("sideGlow", _root.getNextHighestDepth());
// </init>
////////////////////////////////
////////////////////////////////
// <generer fotovariabler>
flickrTAGS = (flickrTAGS) ? flickrTAGS:"";
xmlURL = (xmlURL) ? xmlURL:"photos.xml";
xmlURL = (flickrID) ? "http://api.flickr.com/services/feeds/photos_public.gne?id="+flickrID+"&tags="+flickrTAGS+"&tagmode=any&format=rss_200":xmlURL;
////
// Flickr feed
////
var loadet_xml:XML = new XML();
loadet_xml.ignoreWhite = true;
loadet_xml.onLoad = function (success){
var loop = (flickrID) ? loadet_xml.firstChild.firstChild.childNodes:loadet_xml.firstChild.childNodes;
var num = 0;
if (flickrID) {
for (var i = 0;i < loop.length;i++) {
if (loop[i].nodeName == "item") {
var loop2 = loop[i].childNodes;
photoHolder[num] = new Array();
for (var i2 = 0;i2 < loop2.length;i2++) {
if (loop2[i2].nodeName == "media:content") {
photoHolder[num].url = loop2[i2].attributes.url;
}
else if (loop2[i2].nodeName == "title") {
photoHolder[num].desc = loop2[i2].firstChild;
}
}
num++;
}
}
}
else {
for (i=0;i < loop.length;i++) {
photoHolder[i] = loop[i].attributes;
}
}
delete loadet_xml;
byggBilder();
}
loadet_xml.load(xmlURL);
// </generer fotovariabler>
////////////////////////////////
xml文件为
<?xml version="1.0" encoding="utf-8"?>
<photos>
<!-- Plase your photos here -->
<photo desc="Picture is from stock.xchng" url="images/1.jpg" />
<photo desc="Picture is from stock.xchng" url="images/2.jpg" />
<photo desc="Picture is from stock.xchng" url="images/3.jpg" />
<photo desc="Picture is from stock.xchng" url="images/4.jpg" />
</photos>
[解决办法]
我做的一个点击按钮加载本地目录一张图片到指定区域时用到的代码,你看下对你有没有帮助,那个后面的注解,我翻的很烂,你将就着看把。
package
{
import flash.display.SimpleButton;
import flash.display.Bitmap;
import flash.display.Loader;
import flash.display.MovieClip;
import flash.net.FileFilter;
import flash.net.FileReference;
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.events.MouseEvent;
import flash.events.Event;
//导包
public class goto extends MovieClip//公共类goto属于MovieClip(影片剪辑)
{
private static const _MAX_WIDTH: Number = 790;//常数_MAX_WIDTH=790
private static const _MAX_HEIGHT: Number = 560;//常数_MAX_HEIGHT=560
private var _fileRef: FileReference;//定义变量_fileRef是打开外部连接的类型
private var _fileFilter: FileFilter;//定义变量_fileFilter是过滤器
private var _loader: Loader;//定义变量_loader是加载外部文件类型
private var _bitmap: Bitmap;//定义变量_bitmap是位图形
private var _browseBtn: SimpleButton;//定义_browseBtn是按钮类型
private var _staticTxt: TextField;//定义变量_staticTxt是文本输入框型
private var _browseTxt: TextField;//定义变量_browseTxt是文本输入框型
public function goto ( )//声明goto作用
{
this.addEventListener(MouseEvent.CLICK,onClick); //鼠标点击执行onClick
_init ( ) ;//执行
}
private function onClick(event:MouseEvent):void{ //声明onClick作用是一个鼠标点击事件,并且没有返回值
trace("circle clicked"); //输出
}
private function _init ( ) : void//声明 _init ( ),并且没有返回值
{
_staticTxt = new TextField ( ) ;//_staticTxt等于新的文本框
_staticTxt.name = "test_static_text";//_staticTxt名字是test_static_text
_staticTxt.type = TextFieldType.DYNAMIC;//指定用户无法编辑的动态文本字段
_staticTxt.x = 10;//_staticTxt的x轴坐标=10
_staticTxt.y = 10;//_staticTxt的y轴坐标=10
_staticTxt.height = 21;//_staticTxt的高度=21
_staticTxt.text = "Select an image:";//文本字段中当前文本的字符串(浏览一张图片)
addChild ( _staticTxt ) ;//加载_staticTxt
_browseTxt = new TextField ( ) ;//_browseTxt等于新的文本框
_browseTxt.name = "test_text_input";//_browseTxt的名字是test_text_input
_browseTxt.type = TextFieldType.INPUT;//指定用户可以编辑的输入文本字段
_browseTxt.x = _staticTxt.x + _staticTxt.width + 4;//_browseTxt的x轴=_staticTxt的x轴+_staticTxt的宽度+4
_browseTxt.y = 10;//_browseTxt的y轴=10
_browseTxt.height = 21;//_browseTxt的高度=21
_browseTxt.width = 200;//_browseTxt的宽度=200
_browseTxt.border = true;//_browseTxt有边框
_browseTxt.background = true;//指定文本字段是否具有背景填充
addChild ( _browseTxt ) ;//加载_browseTxt
_browseBtn = new SimpleButton ( ) ;//_browseBtn等于新的动态按钮
//_browseBtn.label = "Browse";//Label 组件将显示一行或多行纯文本或 HTML 格式的文本,这些文本的对齐和大小格式可进行设置。 Label 组件没有边框并且无法获得焦点。
_browseBtn.name = "browse";//_browseBtn的名字是browse
_browseBtn.x = _browseTxt.x + _browseTxt.width + 4;//_browseBtn的x轴=_browseTxt的x轴+_browseTxt的宽度+4
_browseBtn.y = 10;//_browseBtn的y轴=10
_browseBtn.height = 21;//_browseBtn的高度=21
_browseBtn.width = 200;//_browseBtn的宽度=200
_browseBtn.useHandCursor = true;//在鼠标滑过时_browseBtn显示手型
this.addEventListener ( MouseEvent.CLICK, _handleMouseEvent ) ;//鼠标点击时执行_handleMouseEvent
addChild ( _browseBtn ) ;//加载_browseBtn
_fileFilter = new FileFilter ( "Image", "*.jpg;*.gif;*.png;" ) ;//过滤器过滤,只可以选择,后缀为*.jpg;*.gif;*.png的图
}
private function _handleMouseEvent ( evt : MouseEvent ) : void//声明_handleMouseEvent的作用是鼠标事件,并且没有返回值
{
trace(evt.target.name);//输出
_fileRef = new FileReference ( ) ;//_fileRef等于一个新的打开外部的连接
_fileRef.browse ( [_fileFilter] ) ;//显示一个文件浏览对话框,让用户选择要上载的文件(有过滤器)
_fileRef.addEventListener ( Event.SELECT, _onImageSelect ) ;//_fileRef执行事件当用户从文件浏览对话框选择要上载或下载的文件时调度。
trace ( "Browse" ) ;//输出
}
private function _onImageSelect ( evt : Event ) : void//声明_onImageSelect是事件,并且没有返回值
{
_fileRef.load ( ) ;//_fileRef开始加载用户选择的本地文件
_fileRef.addEventListener ( Event.COMPLETE, _onDataLoaded ) ;//当下载操作完成或上载操作生成 HTTP 状态代码 200 时调度
_browseTxt.text = String ( evt.target.name ) ;//_browseTxt文本=强制转换为字符串的evt.target.name
}
private function _onDataLoaded ( evt : Event ) : void//声明_onDataLoaded是一个事件,并且没有返回值
{
var tempFileRef : FileReference = FileReference ( evt.target ) ;//接收 HTTP 状态代码的网络对象........
_loader = new Loader ( ) ;//_loader等于新的加载Loader 类可用于加载 SWF 文件或图像(JPG、PNG 或 GIF)文件。 使用 load() 方法来启动加载。 被加载的显示对象将作为 Loader 对象的子级添加。
_loader.contentLoaderInfo.addEventListener ( Event.COMPLETE, _onImageLoaded ) ;//contentLoaderInfo-[只读 (read-only)] 返回与正在加载的对象相对应的 LoaderInfo 对象。
//LoaderInfo- 类可提供有关已加载的 SWF 文件或图像文件(JPEG、GIF 或 PNG)的信息。 LoaderInfo 对象可用于任何显示对象。 提供的信息包括加载进度、加载程序的 URL 和加载内容、媒体的字节总数以及媒体的标示的高度和宽度。
_loader.loadBytes ( tempFileRef.data ) ;//loadBytes- 从 ByteArray 对象中所存储的二进制数据中加载。
}
private function _onImageLoaded ( evt : Event ) : void//声明 _onImageLoaded是事件,并且没有返回值
{
_bitmap = Bitmap ( evt.target.content ) ;//_bitmap=强制转换为位图的evt.target.content
_bitmap.smoothing = true;//smoothing控制在缩放时是否对位图进行平滑处理。
_bitmap.x = 5;//_bitmap的x轴=5
_bitmap.y = _browseTxt.y + _browseTxt.height + 5;//_bitmap的y轴=_browseTxt的y轴+_browseTxt的高度+5
addChild ( _bitmap ) ;//加载_bitmap
//Resize the image if needed
if ( _bitmap.width > _MAX_WIDTH
[解决办法]
_bitmap.height > _MAX_HEIGHT ) {//如果(_bitmap的宽度大于_MAX_WIDTH或者 _bitmap的高度大于_MAX_HEIGHT)
_resizeBitmap ( _bitmap ) ;//_resizeBitmap的参数是_bitmap
}
}
private function _resizeBitmap( target : Bitmap ) : void//声明_resizeBitmap 目标对象是位图,并且没有返回值target-目标对象
{
if ( target.height > target.width ) {//如果(位图高度大于位图宽度)
target.width = _MAX_WIDTH;//位图宽度=_MAX_WIDTH
target.scaleY = target.scaleX;//为图的y轴比例=位图的x轴比例
} else if ( target.width >= target.height ) {//否则如果位图的宽度大于等于为图的高度
target.height = _MAX_HEIGHT;//位图高度=_MAX_HEIGHT
target.scaleX = target.scaleY;//位图x轴比例=位图y轴比例
}
}
}
}