http://my.oschina.net/Boder/blog/933
//主应用loadFp.mxml
<!--l version="1.0" encoding="utf-8-->
<!--[CDATA[
import com.magReader.FlashPaperLoader;
//flashpaper加载器
private var magReader:FlashPaperLoader;
private function initType():void
{
var urlStr:String = "Fpl.swf?url=template.swf";
magReader = new FlashPaperLoader();
magReader.source = urlStr;
magReader.visible = false;
magContainer.addChild(magReader);
//loadingBar.visible = true;
magReader.addEventListener(FlashPaperLoader.FLASH_PAPER_LOADED,fpLoaded);
}
//flashpaper已经加载完成
private function fpLoaded(evt:Event):void
{
//trace("magContainer width = " + magContainer.width + " magContainer height = " + magContainer.height);
magReader.setSize(magContainer.width,magContainer.height);
magReader.visible = true;
//loadingBar.visible = false;
//去掉进度条
//magContainer.removeChild(loadingBar);
//删除事件侦听
magReader.removeEventListener(FlashPaperLoader.FLASH_PAPER_LOADED,fpLoaded);
}
/**
*
* 改变容器显示大小
* */
public function changSize():void
{
if(magReader != null)
{
magReader.setSize(magContainer.width,magContainer.height);
}
}
]]-->
//flash cs3代码,生成所需要的fpl.swf
import flash.display.Stage;
Stage.align = "LT";
//Stage.scaleMode = "showAll";
var url = "template.swf";
var fp;
//localConnection通讯接口
var caller:LocalConnection = new LocalConnection();
var sender:LocalConnection = new LocalConnection();
caller.connect("_flashpaperloader");
caller.allowDomain("*");
sender.allowDomain("*");
Security.allowDomain("*");
//设置页面
//caller.setPage = function(n:Number)
//{
//fp.setCurrentPage(n);
//}
//设置大小
caller.setPaperSize = function(w:Number,h:Number)
{
trace("fpLoader width=" + w + " height =" + h) ;
fp.setSize(w,h);
}
//设置缩放
//caller.setCurrentZoom = function(zoom:Object)
//{
//fp.setCurrentZoom(zoom);
//sendCurrentZoom();
//}
//设置下一页
//caller.nextPage = function()
//{
//var p:Number = fp.getCurrentPage();
//if(p + 1 <= fp.getNumberOfPages())
//fp.setCurrentPage(p + 1);
//}
//设置上一页
//caller.prePage = function()
//{
//var p:Number = fp.getCurrentPage();
//if(p - 1 > 0)
//fp.setCurrentPage(p - 1);
//}
//卸载
caller.unload = function()
{
caller.close();
caller = null;
sender = null;
fp.destroy();
fp = null;
unloadAndStop();
paper.unloadMovie();
paper = null;
}
// function: loadFlashPaper
// ------------------------
// Load FlashPaper document, size it,
// Parameters:
// path_s: Path of SWF to load
// dest_mc: Movie clip to hold the imported SWF
// width_i: New size of the dest MC
// height_i: New size of the dest MC
// loaded_o: (optional) Object to be notified that loading is complete
function loadFlashPaper(path_s, dest_mc, loaded_o) {
var intervalID = 0;
var loadFunc = function(){
trace("加载开始.");
dest_mc._visible = false;
fp = dest_mc.getIFlashPaper();
if (!fp) {
return;
} else if (!fp.setSize(0,0)){
trace("没有设置窗口大小");
return;
} else {
trace("flashPaper加载成功了");
clearInterval(intervalID);
//var pages_i = fp.getNumberOfPages();
//paper.toolbar_mc.brandClip_mc.swapDepths(1000);
//paper.toolbar_mc.brandClip_mc.removeMovieClip();
//ctrlHolder_mc.swapDepths(_root.control_mc);
dest_mc._visible = true; // Now show the document
//_root.control_mc._visible = true; // Now show the controller
loaded_o.onLoaded(fp);
}
}
intervalID = setInterval(loadFunc, 100);
dest_mc.loadMovie(path_s);
}
// function: onLoaded()
// ------------------------
// Called once loading is complete
// Parameters:
// fp: FlashPaper interface (returned by getIFlashPaper())
function onLoaded() {
// We can now call the FlashPaper API functions.
// Remove the standard user interface features:
//fp.showUIElement("PrevNext", false);
fp.showUIElement("Print", false);
//fp.showUIElement("Find", false);
//fp.showUIElement("Tool", false);
//fp.showUIElement("Pop", false);
//fp.showUIElement("Zoom", false);
//fp.showUIElement("Page", false);
//fp.showUIElement("Overflow", false);
//fp.enableScrolling(false);
// Some additional API features (here commented out):
fp.setCurrentZoom(100);
//sendCurrentZoom();
sender.send("_flexloader","fpLoaded");
}
// Hide the navigation controller until after the document is loaded:
//_root.control_mc._visible = false;
// Create movie clip to hold the document:
var paper = this.createEmptyMovieClip("paper",100);
// Create movie clip to exchange the depth with the navigation controller clip:
//var ctrlHolder_mc = this.createEmptyMovieClip("ctrlHolder",200);
// Position the document clip on the stage:
paper._x = 0;
paper._y = 0;
// Load the FlashPaper document:
loadFlashPaper(url, paper, this);
posted on 2010-04-06 14:02
SIMONE 阅读(921)
评论(0) 编辑 收藏 所属分类:
JAVA 、
flash