Flash项目知识点汇总(AS2部分)

Gaia项目中用到的方法,不属于Gaia本身的放这。

1 gaia里的tweenMax

要注意:滤镜要先激活,再调用
1)阴影,通常用在导航的icon,简单的按钮。

//先导入类:
import com.greensock.TweenMax;
import com.greensock.plugins.DropShadowFilterPlugin;
import com.greensock.plugins.TweenPlugin;
//再激活:
TweenPlugin.activate([DropShadowFilterPlugin]);
//才能使用:
TweenMax.to(mc, .2, {dropShadowFilter:{alpha:0,angle:60, blurX:5, blurY:5, color:0x000000, distance:6, strength:0}} ); 
2)跳帧,通常整站首页会有一个很酷的进度条,一般手工做100帧动画。如果直接goto跳到某一帧显得很突兀,用frame缓动效果很好。下面代码,用在Preloader.as的onProcess函数中:
//先导入类:
import com.greensock.TweenMax;
import com.greensock.plugins.FramePlugin;
import com.greensock.plugins.TweenPlugin;
//再激活:
TweenPlugin.activate([FramePlugin]);
//才能使用:
TweenMax.to(this["mc"].mc,0.3,{frame:Math.floor(event.perc*100)}) 

2 bjc组件下拉列表

不喜欢官方组件,因为官方通常很庞大。as2我选用bjc组件。其comboBox组件有一个问题,没法自定义按钮和文本框样式。好在它有按钮和文本框的引用。用for(i in myComboBox)遍历其属性,可以找到__background__btnDown,和__btnUp。将其设为透明,盖在一张ComboBox图片上,就能如期使用了。

//先导入类
import com.bjc.controls.ComboBox;
var myDP:Array = ["NB", "S", "M", "L", "XL", "XXL"];//设置数据源
myComboBox.dataProvider = myDP;
myComboBox.numRows = myDP.length;//设置长度
myComboBox.highlightColor = Main.COLOR_GORDEN;//设置RollOver时的高亮颜色
myComboBox.selectedColor = Main.COLOR_GORDEN;//设置选择时的高亮颜色
myComboBox.changeHandler = function(){//点击事件
	trace(myComboBox.selectedItem);
}
//要用到私有方法,把UI设为不可见
myComboBox["__background"]._alpha = 0;//背景不可见
myComboBox["__btnDown"]._alpha = 0;//按钮(Press时)不可见
myComboBox["__btnUp"]._alpha = 0;//按钮(平常)不可见 

3 getURL

因为GaiaAS2最好用ExternalInterface嘛,但是每次写一大串很烦,所以用老套路,类方法吧。还是getURL这个名字亲切。

import flash.external.ExternalInterface;
class wj2.util.uBtn 
{	
	public function uBtn() 
	{		
	}
	static public function getURL(url:String,window:String) 
	{
		if(ExternalInterface.available){
			ExternalInterface.call("window.open",url,window);
		}
	}
}

4 代码写在哪好

#include

最方便的还是include ,等于是在时间轴上写脚本了。好处就是不用把精力花在结构上,只注重代码本身,方便快捷易修改。在Gaia整站中用的较多,最好用在非活动页面,即纯展示页面,比如滚动条,获奖列表,产品展示等等。写作:

#include “product-1.as”
AS3要去掉前面的#。

AS2文档类

AS3区别于AS2有一个重要区别就是文档类,其实AS2也可以用文档类.。好处是比较规矩,类-属性-方法井井有条。可能换一个人改也看的懂(但目前还没有遇到这么完美的情况)。在Gaia整站中用的不算多,只是在代码变多,结构变复杂时,会自觉的把include 改成文档类:
import ProductPage; 
this.__proto__ = ProductPage.prototype; 
ProductPage['apply'](this, null);

直接写在Gaia的Page上

通常就是活动流程页面这样写了。因为活动会和事件拦截,导航控制这些Gaia特有的东西搀和在一起。把活动代码写在Page中,比较好找。

3种写法各有各的好处,用得对了,能够节省精力和提高效率。

5 表单验证的作法

表单验证,比较人性化的做法,是在每个文本框后加一个iconMC,共2帧,分别2张图片:勾代表无误,叉代码填写有误。

用自定义弹框做有几个缺点:

1从程序员的角度看,自定义弹窗是件很麻烦的事,牵扯到事件调用-设置深度-屏蔽舞台-事件回调-等等。

2从设计师的角度看,提示文字是动态文本,文本必须是宋体,很突兀。如果是嵌入字体,是不是小题大作呢?如果是用跳帧做,提示文字的情况又太多。

3从用户的角度看,你得看懂写的是什么,再来找不对的地方改,不如icon直观。


验证手机

if(!new RegExp("^(13[0-9]|15[0|1|3|6|7|8|9]|18[0|5|6|7|8|9])\\d{8}{1}quot;).test(TFmobile.text)){...}

6 去掉表单控件的黄色矩形框

全局:   stage.stageFocusRect = false;

AS3 mc.focusRect=false;

7 测试级别

在工具类:

	static public function JSalert(str:String,level:Number) {
		
		if (Main.getMy().alertJS == "no") { return; }		
		
		if (level == undefined) {
			return;
		}		
		
		if(ExternalInterface.available){
			ExternalInterface.call("alert",str);
		}
	}



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值