仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1113|回复: 9
打印 上一主题 下一主题

[学习教程] 来一发ActionScript3.0中类间传值成绩办理-Flash actionscript

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-15 20:50:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
“fla”是Flash的原始档,只能用对应版本或更高版本的Flash打开编辑。
poluoluo中心提醒:做的器材必要本人封装一个HttpService的操纵类,传进url和提交的参数,前往ArrayCollection。参照Flexsample中的photoView(图片扫瞄器)的Http操纵写了个类,却发明它没法在类与类之间传值。
做的器材必要本人封装一个HttpService的操纵类,传进url和提交的参数,前往ArrayCollection。参照Flexsample中的photoView(图片扫瞄器)的Http操纵写了个类,却发明它没法在类与类之间传值。
一入手下手我的代码是如许的:

packageGZ0tu.Ucity.Model
{
importflash.events.*
importmx.collections.ArrayCollection;
importmx.collections.IViewCursor;
importmx.rpc.events.ResultEvent;
importmx.rpc.http.HTTPService;
importmx.utils.ArrayUtil;
publicclassResultService
{

privatevarservice:HTTPService;

publicvarResult:ArrayCollection;

publicfunctionResultService(url:String,obj:Object)
{
service=newHTTPService();
service.url=url+"?"+Math.random();
service.method=Constants.REQUEST_METHOD;
if(obj.action==Constants.READ)
{
service.addEventListener(ResultEvent.RESULT,resultHandler);
}
service.send(obj);
}

privatefunctionresultHandler(event:ResultEvent):void
{
Result=event.result.resp.catagory;
}

}
}我却非常忧郁地发明,在白色Result=event.result.resp.catagory我能够trace出Result的值,可是在别的类援用Result的时分它倒是null。这个成绩已是第二次呈现了,前次是让雨用一个奇妙的办法给办理了,此次得老厚道实办理它。
屡次trace今后,把成绩定位在了数值的感化域中。难道,Result失掉的是一个援用,而不是一个值?查阅flex匡助,event.result前往的是一个ArrayCollection,水到渠成赋值给Result不是很舒坦吗...成绩就在这里了..这个Result失掉的是对event.result.resp.catagory的援用。分开了resultHandler这个函数,event.result.resp.catagory也不复存在,Result所指向的工具酿成了空(null),因而trace出来的器材也只会是null了。
既然分明了是援用的成绩,随着要做的事变就很好办理了。我们要给Result赋值。ArrayCollection有一个addItem的办法,我只需使用它,就可以把Result充分了,它也不会再是null了。Result能够在别的类挪用了。
修正后的代码以下:

packageGZ0tu.Ucity.Model
{
importflash.events.*
importmx.collections.ArrayCollection;
importmx.collections.IViewCursor;
importmx.rpc.events.ResultEvent;
importmx.rpc.http.HTTPService;
importmx.utils.ArrayUtil;
publicclassResultService
{

privatevarservice:HTTPService;

publicvarResult:ArrayCollection=newArrayCollection();

publicfunctionResultService(url:String,obj:Object)
{
service=newHTTPService();
service.url=url+"?"+Math.random();
service.method=Constants.REQUEST_METHOD;
if(obj.action==Constants.READ)
{
service.addEventListener(ResultEvent.RESULT,resultHandler);
}
service.send(obj);
}

privatefunctionresultHandler(event:ResultEvent):void
{

varresult:ArrayCollection=event.result.resp.categories.categoryisArrayCollection
?event.result.resp.categories.categoryasArrayCollection
:newArrayCollection(ArrayUtil.toArray(event.result.resp.categories.category));
vartemp:ArrayCollection=newArrayCollection();
varcursor:IViewCursor=result.createCursor();
while(!cursor.afterLast)
{

Result.addItem(cursor.current);
cursor.moveNext();
}

}

}
}可是如许,人人请看蓝色那段的代码..必需初期实例化了Result才干给它赋值,这是个相称伤害的做法,严峻影响了类的可扩大性。同时我也不晓得应当要怎样写这个类才干让它更好地事情。假如我要处置相称多分歧的e4x数据,用switch是相对不明智的。到时分大概用工场形式来计划...大概间接写N个处置Http数据的类,写成static办法....发心得的同时,哀求指教,我应当怎样计划这个HttpResult类?
本来所谓的类间传值不克不及只是由于我所哀求的数据为空罢了……并且我竟然没无意识到这个成绩……由于事先Trace的时分是A类能够取得数据而B类不克不及取得的。FlashSeer的版主很耐烦地回覆了我的成绩。办理举措就是,利用监听器。
AS3中一个严重的修改就是完美了事务模子。统统异步的数据操纵经由过程事务来举行其实是太好不外了。同时,AS3中的Object是一个很好的数据载体,得当利用的话能够简化相称多的操纵。
明天(两天内三次重构)把一些关头的操纵代码等等写了出来,离成功又行进了一步~猫粮加油..大概会在10月中旬再重构一次项目标代码..到时分代码的质量又会再有一个进步吧。

Flash又被称之为闪客,是由macromedia公司推出的交互式矢量图和Web动画的标准,由Adobe公司收购。
蒙在股里 该用户已被删除
沙发
发表于 2015-1-17 14:36:39 | 只看该作者
它包含了下列常见的形式之一或者几种的组合:流媒体、声音、Flash、以及Java、Javascript、DHTML等程序设计语言。 
小妖女 该用户已被删除
板凳
发表于 2015-1-26 14:52:36 | 只看该作者
关于位图和矢量图形的区别,可参看Flash教程。
飘灵儿 该用户已被删除
地板
发表于 2015-2-4 20:58:33 | 只看该作者
flash 有这么多的优势,那么它的优缺点和设计方面的关系是什么?
乐观 该用户已被删除
5#
发表于 2015-2-10 11:19:00 | 只看该作者
FLASH动画的视觉观赏效果好,容易给民众留下深刻的印象,是动画行业从业者和动画创意设计制作机构的主要业务之一。
冷月葬花魂 该用户已被删除
6#
发表于 2015-3-1 13:10:23 | 只看该作者
作为奖赏,你可以使用关键祯动画支持和tweening- 两个最主要的节省时间的方式。本质上,关键祯是动画中显著事件发生的位置。
山那边是海 该用户已被删除
7#
发表于 2015-3-10 20:07:01 | 只看该作者
在网络营销中所提供的利益。如果我们仔细看看国内外的专业网站,很少看到应用FLASH格式的广告,如网络上的知名网站。相信它们并不缺乏FLASH图片的制作力量。
谁可相欹 该用户已被删除
8#
发表于 2015-3-17 11:09:41 | 只看该作者
没有安装FLASH插件的前提下,无法正常显示广告效果。根据调查显示,有3%的互联网用户没有安装shockwave Flash。虽然比例不大,但不能因为这样一个简单的原因而拒绝这些用户。
只想知道 该用户已被删除
9#
发表于 2015-3-17 11:09:44 | 只看该作者
只要用心 只要努力 在加上你无限的创意和想象。FLASH无敌了
飘飘悠悠 该用户已被删除
10#
发表于 2015-3-24 10:03:43 | 只看该作者
alpha通道,图像的一部分可以变成透明,透明度可以从完全不透明到完全不可见。Alpha通道支持没有副作用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 20:16

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表