您的位置:首页 > 其它

flash、flex 项目开发学习时的笔记

2010-04-21 16:56 691 查看
之前开发一个sns游戏时作的笔记,后来那个游戏项目最终流产了。----------------------------------------------------------------------------------------由ApplicationFacade来启动整个项目使用:ApplicationFacade.getInstance()functionstartup(app:Object):void在什么情况用?Model层:负责操作数据模型。使用方法:(facade.retrieveProxy(ListTopicProxy.NAME)asListTopicProxy).getAllTopic();直接使用就行了,不用又去关联VView层:界面层(添加事件监听器,发送或接收Notification,直接改变示图组件的状态)Controller层:业务层????(Command)这一部分关联到M和V (收到通知才执行)(FlexRgame这个游戏中,这层好像是没有什么用的,单纯是起到注册 V 的作用)("注册Command"呢?就是使"通知"跟command对应起来)UI是一个元件。------------------------------------------容器Panel与VBox的区别?
borderAlpha:
透明度(http://blog.minidx.com/2008/03/13/572.html)
如何使用Embed嵌入资源
1、
titleIcon="@Embed(source='image/bulletCheck.png')"
2、
[Embed(source="assets/logo.png")]
[Bindable]
publicvarLogo:Class;
3、
upSkin:Embed(source=”skin.swf”,symbol=”Button_upSkin”);
http://www.flashas.net/bbs/read-htm-tid-1433.html)
如何外挂CSS
<mx:Stylesource="css/standandcss.css"/>
styleName="mainbtn1"
<mx:Canvas/>
可以像层一样重叠?
对象坐标和舞台(全局)坐标(
globalToLocal
)
4、
父子窗口之间是怎样传值的?
5、
HBox—类,包mx.containersHBox容器在单个水平行中布置其子容器。
mx.containers
包中具有容器类,想找什么容器应该在这里找。

6、Flex的定位和布局

7、了解Flex的容器&http://www.pin5i.com/showtopic-19685.html

8、DisplayObject 类是可放在显示列表中的所有对象的基类。

9、Application.application.removechild(abc); Tw.removeChild(btn);Tw.visible=false;

10、
horizontalAlign
、TileList 
11、ProgressBar控件为随时间而变的任务进度提供了形象化的表示。
12、
imageContainer.setStyle("horizontalAlign","center");imageContainer.setStyle("verticalAlign","middle");
13、
要实现一定的效果的包,在这里 -》 
mx.effects使用动态效果(ParallelandSequence)
14、HBox---水平VBox----垂直
15、
将对象类型的数据保存到数组里,要用到Array.push(Object)
varDevices:Array=[];Devices.push(TmpObj);foreach(varitem:ObjectinTmpObj){if(item.hasOwnProperty("deviceId")){Devices.push(item);}}16、 比较理解一下PopObj=PopUpManager.createPopUp((facade.retrieveMediator(ApplicationMediator.NAME)asApplicationMediator).Component,PersonInfo_Detail,false)asPersonInfo_Detail;newPersonInfo_DetailMediator();//facade.registerMediator(newPersonInfo_DetailMediator(PopObj));//PopUpManager.centerPopUp(PopObj);this.sendNotification(EventString.PersonInfoDetailComplete,PERSONINFO);没有注释那些代码是会出错的。因为还没有注册Mediator,所以不会发送通知。
17、
Flex
中的正则和我平时在
JS
VBS
看到的正则是不一样的。重点
g
varResult:Array=str.match(/\w*/ig);while(Result!=null){Result=myPattern.exec(str);}
18、
addEventListener实现传递多个参数:
varsayHello:String="欢迎光临www.FlashJ.cn"btn1.addEventListener(MouseEvent.CLICK,   function(e:MouseEvent){      clickHandlerWithArg(e,sayHello)   });functionclickHandlerWithArg(e:MouseEvent,arg:String):void{varout:String=e.target+"发出事件(有参数):"+arg;trace(out);}19、理解一下:publicfunctionListItem_Click(evt:ListEvent):void{vardata:Array=(popubwin.DeviceList.dataProviderasArrayCollection).list.toArray();vardeviceid:Object=data[popubwin.DeviceList.selectedIndex]["id"];AppMediator.httpService.GetDeviceInfo(int(deviceid),AppMediator.userProxy.grade);}这里要注意toArray与asArray的区别,在这里用asArray得不到想要的结果。
20
、现在终于有点搞清楚为什么一些载入图片的文件一放到其它的机器或网格上就显示不了的问题。“将SWFLoader或Image用于SVG文件时,只能在已使用Embed语句将SVG嵌入到您的应用程序中时才能加载该文件;不能在运行时通过网络加载SVG。”
21
、loader和swfloader都可以用来加载 图片和Swf ,但我觉得还是有一点区别的。它们都有一个安全域的问题。loader现在我们在项目中有用来加载swf里面的元件,而swfloader暂时没有用到进行这方面内容。
22
、从今天开始学习flashcs4虽说学了那么长时间的flex但对flash还是很不了解的。和以前的flashmx比较cs3有了一些新的特性,比如 动画编辑器、缓动。(17)
学会了怎样用CS4来调试flash动画。(18)
今天遇到这样一个问题,“无法在类路径中找到该文档类的定义因此将在导出时…”解决方法也很简单,只需自己手动建一个脚本文件即可。(19)

23
flexhttpserviceRemoteobject 两者是有很大不同的。

24、16个常见显示对象类的继承关系图  lInteractiveObject类和非InteractiveObject类区别可不可以接受人机交互事件25、getDefinitionByName(name:String):Object返回name参数指定的类的类对象引用。影片剪辑.addFramescrīpt(帧数1索引值,函数1,----)在flashcs4有两种动态添加元件的方法addChild、getDefinitionByName在殿堂之路看到一节内容,“让不同的库元件继承自共同的类”26、用swfloader来获取swf里的元件。  varsl:SWFLoader=newSWFLoader();sl.source="filename.swf";sl.addEventListener(Event.INIT,function():void{varsl:SWFLoader=SWFLoader(evt.target);varelement:MovieClip=MovieClip(sl.content["element"]);sl.source=element;});21、历遍数组的方法如下:foreach(varitem:Objectinobj){  if(!item.hasOwnProperty("fid")){   continue;  }FriArr.push(item);   }22、在flex中如何设置焦点popubWin.cmbType.setFocus();23.flex读xmlimportflash.events.Event;importflash.net.URLLoader;importflash.net.URLRequest;varxmlLoader:URLLoader=newURLLoader();xmlLoader.load(newURLRequest("libs/classXml.xml"));if(xmlLoader.hasEventListener(Event.COMPLETE))xmlLoader.removeEventListener(Event.COMPLETE,onXMLCompeleted)xmlLoader.addEventListener(Event.COMPLETE,onXMLCompeleted);privatefunctiononXMLCompeleted(evt:Event):void{varxml:XML=newXML(evt.currentTarget.data);varimgSrc:String=xml.classes.(@name==mmID).@lib;}读取后又如何去解析xml请参看这篇文章/article/5535892.html这篇文章里面有部分内容是错的,正解的解析方法如下varxml:XML=newXML(evt.currentTarget.data);varnode:XMLList=xml.AdornmentTypes.AdornmentType;for(vari:int=0;i<node.length();i++){varnodexml:XML=node[i];vartpeName:String=nodexml.@name;}24.TabNavigator选项更改触发事件。Component.UserTabNav.addEventListener(IndexChangedEvent.CHANGE,indexChangeHandler);25.创建关联数组关联数组就是object我想应该是我理解错了publicvarTradeType:ArrayCollection=newArrayCollection([{label:"全 部",data:null},{label:"装饰品",data:"A"},{label:"工艺品",data:"B"},{label:"",data:"C"},{label:"",data:"D"}]);26.TabNavigator里面的选项只要选择了,以后就不用再请求了!27.平时用FLASH写元件,一般都是右击选择属性对AS程序文件进行绑定.今天在一英文书籍上找到另外一种方法.方法如下,直接用程序进行绑定.[Embed(source='http://www.cnblogs.com/http://www.cnblogs.com/assets/assets.swf',symbol='AvatarCustomizationScreen')]publicclassAvatarCustomizationScreenextendsMovieClip{今天没有什么任务大部分时间都是在学习googlereader,磨刀不误X柴工!28.理解dispatchEvent(notClickEvent);的作用其实自定义的事件都是由原基本的事件来达到的.panel组件的示范代码closeButton.addEventListener(MouseEvent.CLICK,closeButton_clickHandler);privatefunctioncloseButton_clickHandler(event:MouseEvent):void{dispatchEvent(newCloseEvent(CloseEvent.CLOSE));}事件机制在动画制作过程中有很重要的位置.用这个方法可以将一些操作在外部实现。29.当要在界面页面携带一些数据可通过如下的方式<mx:Buttonlabel="升级"data="{data}"click="outerDocument.UpgradeEvent(event)"/>30.新建一个object对象,初始化赋值不能用null。否则写不入数据!31.
NumericStepperEvent.CHANGE
事件赋值引起的死循环!
32.人物行走研究将地图分成40* 40块!
33.
昨天试了一下用Post的方式来提交,没有成功,今天参考了其它文章,终于可以了。
delService=newHTTPService();delService.method=mx.messaging.messages.HTTPRequestMessage.POST_METHOD;  delService.resultFormat=HTTPService.RESULT_FORMAT_TEXT;delService.url=confing.Domain+confing.PhotoDelUrl;delService.addEventListener(ResultEvent.RESULT,onDelResult);delService.addEventListener(FaultEvent.FAULT,onDelFault);delService.send(newURLVariables("fileName="+data+"&ran="+Math.random()));  add.addEventListener(MouseEvent.CLICK,upload);
分析Super:
Main.as
项目主文件。加载地图和人物数据,添加事件监控:键盘按钮监控、到达关数监控、游戏结束监控。
Hero.as
人物类。主要是监控键盘操作,处理键盘事件。
有三种检测:空中检测、下落检测和碰撞检测。
functionspring()----
玛丽踩到蘑菇怪时弹起的处理函数。

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: