对齐到网格与锁定到网格
- 二月 28th, 2012
- 进行评论
在各类布局编辑器里,常需要像FLASH CS中对齐网络类的功能~
实现方式很多..今天分享一种..并不是最优的方式..
不过比较好懂..高手继续无视..
源码于FLASH中点击右键查看~
设置标签 ‘FLASH’
在各类布局编辑器里,常需要像FLASH CS中对齐网络类的功能~
实现方式很多..今天分享一种..并不是最优的方式..
不过比较好懂..高手继续无视..
源码于FLASH中点击右键查看~
用过flex的童鞋应该都用过或了解过rsl…
它可以在我们电脑硬盘里缓存经验证的swz共享库文件…
当你的项目使用到相应的库时..就不需要重新下载..
并且不怕受浏览器清除缓存影响..因为fp会将它们存在硬盘上..
现在我们在cs5中也可以应用rsl技术…
cs5中新增了fl.rsl包..
我们可以使用它进行swf库(未经验证~)或swz库(经验证)的加载…
下面的例子中..我们尝试加载flex 3.5 sdk中的framework_3.5.0.12683.swz..
并调用mx.formatters::DateFormatter进行对日期的格式化操作..
当打开flash后你可能会看到加载进度..
或者什么都看不到就已经提示加载成功(因为你可能曾经加载过framework_3.5.0.12683.swz,而且fp已经帮你缓存于硬盘当中…)
注:正常浏览需要fp10.1~只因fl.rsl包需要fp10.1支持(在flash上点击右键可查看你的fp版本)
刚刚重装了fp9..依然可以正常访问..验证中..
这里有几点需要说明一下…
1.当你只加载swf的库时,直接使用RSLInfo即可..代码如下
//这里的this为文档类,不传留空亦可~
var rsl:RSLPreloader = new RSLPreloader(this);
var info:RSLInfo = new RSLInfo();
//这里的第二个参数可设置一个跨域文件路径~下方的加载SWZ的代码同理
info.addEntry("framework_3.5.0.12683.swf");
rsl.addRSLInfo(info);
rsl.start();
2.当你需要加载SWZ的库时..需要使用SWZInfo.并且需要注意的时..SWZInfo的构造函数中..需在提供你请求加载的SWZ的”摘要(digest)”
该digest将验证你下载的SWZ文件是否正确~~
而digest是一个 SHA-256 哈希字符串值..
如果你使用flex的话可以直接使用SHA256.computeDigest(bytes)获取…
另外提醒一下..
这里的bytes并不是framework_3.5.0.12683.swz的bytes~而是framework_3.5.0.12683.swf的bytes~
这里很重要喔~~(ps:试了很久才试出来~汗一个~帮助没写清楚)..
那么详细代码如下
var rsl:RSLPreloader = new RSLPreloader(this);
//3c82b2a2455b252b8595fd0113249aa19d7e8bdd516b2f6ea43244aa6d543d58
//为framework_3.5.0.12683.swf的SHA-256值~
var info:SWZInfo = new SWZInfo("3c82b2a2455b252b8595fd0113249aa19d7e8bdd516b2f6ea43244aa6d543d58");
info.addEntry("framework_3.5.0.12683.swz");
rsl.addRSLInfo(info);
rsl.start();
3.当我们加载SWZ时…fp会优先用摘要(digest)从你的电脑硬盘里查找有没有相应的swz文件..
如果你确保swz文件存在…你甚至可以这么写..
var rsl:RSLPreloader = new RSLPreloader(this);
var info:SWZInfo = new SWZInfo("3c82b2a2455b252b8595fd0113249aa19d7e8bdd516b2f6ea43244aa6d543d58");
info.addEntry("");
rsl.addRSLInfo(info);
rsl.start();
FP将一样返回加载成功…
下面是上边的flash的完整代码…
直接往CS5里贴即可…
import fl.rsl.*;
import fl.rsl.RSLPreloader;
import fl.events.*;
import flash.utils.getDefinitionByName;
import flash.text.TextField;
import flash.display.SimpleButton;
import flash.events.MouseEvent;
//code by l4cd.net
var button:SimpleButton;
button.enabled = false;
button.alpha = 0.5;
button.addEventListener(MouseEvent.CLICK,_test);
function _test(e:MouseEvent):void
{
if(!button.enabled)return;
var DateFormatter:Class = getDefinitionByName("mx.formatters::DateFormatter") as Class;
var format:Object = new DateFormatter();
format.formatString = "YYYY年MM月DD日 HH/NN/SS";
var txt:String = 'Class: mx.formatters::DateFormatter';
txt += '\nFormatString: YYYY年MM月DD日 HH/NN/SS';
txt += "\nOutput: "+format.format(new Date());
txt += "\nby: l4cd.net";
output.text = txt;
}
var output:TextField;
output.background = true;
output.backgroundColor = 0xeeeeee;
var rsl:RSLPreloader = new RSLPreloader(this);
var info:SWZInfo = new SWZInfo("3c82b2a2455b252b8595fd0113249aa19d7e8bdd516b2f6ea43244aa6d543d58");
//这里的地址改成相应的地址~~
info.addEntry("http://www.l4cd.net/rsl/framework_3.5.0.12683.swz","http://www.l4cd.net/crossdomain.xml");
rsl.addRSLInfo(info);
rsl.addEventListener(RSLEvent.RSL_LOAD_COMPLETE,_rslComplete);
rsl.addEventListener(RSLEvent.RSL_PROGRESS,_rslProgress);
rsl.addEventListener(RSLErrorEvent.RSL_LOAD_FAILED,_rslFailed);
rsl.start();
function _rslProgress(e:RSLEvent):void
{
var txt:String = "Framework_3.5.0.12683.swz loading...";
txt += '\n .rslsLoaded = ' + e.rslsLoaded;
txt += '\n .rslsFailed = ' + e.rslsFailed;
txt += '\n .rslsTotal = ' + e.rslsTotal;
txt += '\n .bytesLoaded = ' + e.bytesLoaded;
txt += '\n .bytesTotal = ' + e.bytesTotal;
output.text = txt;
}
function _rslComplete(e:RSLEvent):void
{
button.enabled = true;
button.alpha = 1;
output.text = "framework_3.5.0.12683.swz loaded!\n点下面的按钮进行测试!";
}
function _rslFailed(e:RSLErrorEvent):void
{
output.text = "Framework_3.5.0.12683.swz\n"+e;
}

活动报名 抢座网报名页面:
北京场:http://fdc9bj.51qiangzuo.com
广州场:http://fdc9gz.51qiangzuo.com
上海场:http://fdc9sh.51qiangzuo.com
应急报名页面(当抢座网报名出现故障,或者不能访问时使用):
http://www.wefdc.com/join.php
活动安排 主题:Flash 3D游戏元年与RIA技术变革
形式:主题讲座 专家访谈
时间:2012年3月11日 周日 下午 12 :30 — 18 :00
地点:北京,上海,广州
大会流程 1. 会议开幕致辞 + 三地大会共同召开揭牌仪式,5-10分钟(此环节三地同步)
2. 开场演讲:flash3d游戏《深渊》推介与工作流分析,分别由马鉴,段少婷,peter在三地主讲,40分钟(此环节三地同步)
3. Flash 3D游戏开发主题,html5游戏开发主题演讲,两场演讲各40分钟
4. 抽奖环节加茶闲,同时调整三地同步时间,10-20分钟
5. 访谈环节:Flash与Html5生存空间与发展方向,由主持人跟两位flash嘉宾加两位html5嘉宾共同进行,40分钟(此环节三地同步)
6. Flash 3D游戏开发主题演讲,两场演讲各40分钟
7. 抽奖环节,大会结束,5分钟
详见:http://www.wefdc.com/?p=2743