load外部swf并共享变量

如果你在做flash开发,这个应该是经常碰到的事情:用a.swf加载b.swf,然后需要在b.swf中调用a.swf的方法或者变量。在as2里面实现这个很简单,root就是万能的。在a.swf中,用loadMovie的方法load b.swf到一个MovieClip后,b.swf就可以通过_root或者_parent来访问a.swf中的变量了。不过这招在AS3中已经不灵了,得换个方式。

在as3中,有这样一种方式可以实现:在a.swf中,使用Loader类来load b.swf,在load完成之后,调用b.swf中的一个方法,把a.swf的引用传入或者把相应变量传入给b.swf。一个简单的例子如下:

在a.swf的文档类或者时间轴上这么写:

// 这个是我们要访问的变量
var ab:String = '1234';
// 加载b.swf
var ldr : Loader=new Loader();
ConfigureListeners(ldr.contentLoaderInfo);

AS3位图任意形变一步一步来(3)——切割位图

对不起,让大家久等了,继续写blog。

今天我们继续研究位图的任意形变,今天的主要目的就是从外部加载一张图片,然后分割成两个三角形。当然了,分割成两个三角形是远远不够的,这一点,我们在后面会讲到。

从外部加载一张图片很简单,使用Loader类就可以轻松完成了。不过要注意的是这里是Loader类,在包flash.display下,而不是flash.net下的URLLoader类。这个类使用很简单,如下(为了简单,这就不写那些条条框框了,直接写在时间轴上了,所有的代码都在第一帧):

// 这个是我们要load的图片
var url:String = 'green.jpg';

//这个是用来保存位图数据的
var bmd:BitmapData = null;

// load方法
function Load():void {
    var req:URLRequest = new URLRequest(url);
    var loader:Loader = new

变脸Firefox,假装IE

由于看到这篇文章(Vista 下 Firefox 的细节美化),于是就做了下尝试,结果继续深入,就做了件比较无聊的事情,把Firefox的外观改造得和IE就几乎一样了。你只习惯Vista下IE 7的界面吗?Firefox也可以做到!

下面这个是Firefox:

下面这个是IE 7:

在这里我多用了一个皮肤——Vista Areo(点击这里打开下载页面)。另外,那片美化Firefox的文章中提到的“Compact Menu”插件是不需要的。…

MooTools的Cookie类太“自作聪明”了

没注意到MooTools的Cookie类在写的时候自己做了一次encode,在读的时候做了一次decode,在一般的情况下,这个不会有什么问题。但是想一下特殊的情况,如果你在服务器端写Cookie的时候没有encode,那么读的时候是不是会乱掉?当然了,服务器端代码写Cookie一般还是会encode的。但是问题是这样的,如果你要写一个很长的Cookie,中间有很多内容,你先把这些内容那个encode,然后用$作为分隔符把这些项连接起来,再用服务器端代码写入到Cookie里面。好,你现在的Cookie的值可能是这样的:

// 这个cookie的内容有三项,分别为:
// Fdream——decode之后为——Fdream
// http%3A%2F%2Ffdream.net——decode之后为——http://fdream.net
// %25%25%24%24——decode之后为——%%$$
youkey=Fdream$http%3A%2F%2Ffdream.net$%25%25%24%24

AS3位图任意形变一步一步来(2)——计算变换矩阵

转载请注明出处:http://fdream.net,作者:Fdream

由于仿射变换时,平行的边依然平行,所以,我们无法对一个矩形的位图进行随意变换,比如我们无法拉伸一个角,也无法进行把它变成梯形等。在上文中,我们提到过一种思路,就是把矩形分割成两个三角形,这样变换时从表面上看来就没有什么平行边了,这样我们就可以变换其中的一个或者多个角了。注意,我这里说的是从表面上看,这一点在后面的变换中要进行一定的处理的。

这样我们只需要对三个点进行平面变换,假设我们的三个点分别为(x1, y1)、(x2, y2)、(x3, y3),要变换的位置分别为(x1′,y1′)、(x2′, y2′)、(x3′, y3’)、现在,我们要做的就是计算其变换矩阵。假设其变换矩阵为:

注意,在Flash中,其对应的变换矩阵应该是这个(平移变换的位置略有不同):

根据…

AS3位图任意形变一步一步来(1)——了解矩阵变换

转载请注明出处:http://fdream.net,作者:Fdream

在Flash/ActionScript中,只提供了仿射变换功能。仿射变换包括平移(x 和 y 重新定位)、旋转、缩放和倾斜,在进行这些形变时,平行线仍然会保持平行,因此没办法做到任意形变。

实现位图或者MC(MovieClip)的任意形变的一种方式就是把它们分割成三角行,然后对三角形进行相应的仿射变换。比较流行的PV3D(papervision3d)就是采用的这种方式。

一切从简单开始,我们先看看一个点在平面上的几个简单的基本变换。一般来说,我们都将平面上的一个点表示为一个1×2的矩阵,我们可以通过将改点乘以一个2×2的矩阵来对该点进行变换。以下是一些简单的示例:

由于平移变换不是线性的,因此不能表示为2×2的矩阵,通过与一个1×2的矩阵相加即可得到相应的平移变换位置。上图中的取镜像变换从某种意义上也可以看做是一种平移变换:

通过上面的一些基本变换方式,我们可以得到一些比较复杂的变换:…

Mootools 1.2教程(17)——手风琴插件

Mootools 1.2手风琴(Accordion)教程

原文地址:30 Days of Mootools 1.2 Tutorials – Day 17 – Accordion

请尊重个人劳动,转载请注明出处:http://fdream.net,译者:Fdream

如果你还没有准备好开始这一讲,请参考这一系列的教程,这里是《MooTools 1.2系列教程目录》

继续我们的“更多”(More)库里面的插件教程,今天我们来学习一下可能是最流行最受欢迎的插件——手风琴。创建和配置一个基本的手风琴很简单,但是你一定要认真看完全文,因为更多的高级选项可能有一些复杂。

基础知识

创建一个新的手风琴

要创建一个新的手风琴,你需要选择一些成对的元素——包含标题和内容。因此,首先,需要给每一个标题和每一个内容块分别指定一个css类名:

<h3 class="togglers">Toggle 

一起去第三届D2前端技术论坛吧

前两届都没去成,今年在上海开,近了,这次不会错过了,有想去的一起报名吧!

关于D2

D2 前端技术论坛(Designer & Developer Frontend Technology Forum),简称 D2 ,为国内前端开发者和网站设计师提供一个交流的机会,一起分享技术的乐趣,探讨行业的发展,以技术会友。它是中国所有前端开发者的节日,包括前端设计师,前端开发工程师,和所有对前端技术感兴趣的人。D2将努力营造一种轻松自由的交流氛围,没有任何商业色彩,以纯粹的技术交流为根本,共同推动国内前端技术的发展,促进国内行业标准跟国际的融合,发掘前端技术可以创造的更大价值。

D2 是由 淘宝网 发起,每届由不同公司轮流承办。

详细介绍:http://www.d2forum.org/about/

本届主题:“前沿技术和前端协作”
举办时间:2008年11月29日
举办地点:上海
举办单位:土豆网
协办单位:淘宝网、微软、Adobe、蓝色理想、ActionScript…

Mootools 1.2教程(16)——排序类和方法简介

MooTools 1.2的整理排序类Sortables

原文地址:30 Days of Mootools 1.2 Tutorials – Day 16 – Sortables and Intro to Methods

请尊重个人劳动,转载请注明出处:http://fdream.net,译者:Fdream

如果你还没有准备好开始这一讲,请参考这一系列的教程,这里是《MooTools 1.2系列教程目录》

从今天开始,我们将开始讲解“更多”(more)库里面的更多插件。Sortables是一个非常强大的插件,能够真正地扩大你的用户界面设计的选择面。Sortables类还提供了包括一个名叫“serialize”的优秀方法,通过这个方法你额可以把这些元素的id作为数组输出——对于服务器端的开发非常有用。接下来,我们看看如何创建一个新的排序项集合,还有一定要看一下最后的演示实例。

基本知识

创建一个新的Sortable对象