加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 06:56:48 所属栏目:百科 来源:网络整理
导读:Gaia项目中用到的方法,不属于Gaia本身的放这。 1?gaia里的tweenMax 要注意: 滤镜要先激活,再调用 1)阴影,通常用在导航的icon,简单的按钮。 //先导入类:import com.greensock.TweenMax;import com.greensock.plugins.DropShadowFilterPlugin;import com

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);
		}
	}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读