flash学习笔记(四)--事件机制和用户界面学习

原创 2012年03月27日 10:40:58

第九章 事件处理和基本的交互控制

1.        基本事件处理:

事件源eventSource、事件名eventName、响应eventResponse

Function eventResponse(eventObject:EventType):void{

 //这里是为响应事件的步骤

}

eventSource.assEventListener(Event_name,eventResponse);

对于eventObject,对象变量

2.        currentTarget和target属性:

currentTarget:代表当前正在操作对象àevt.currentTarget.name

target:当对象重合时,可能触发其子对象,所以会有误差,尽量使用currentTarget

3.        addEventListener参数详解:

addEventListener(eventName,functionName,true/false,int,true/false);

 动作,函数名,动作捕抓流活动状态,优先级,不需要时是否在内存清掉

注意:捕获阶段捕获后就没有目标阶段,想要目标阶段必须第三个函数设置为false

      到达目标阶段后必须冒泡

4.        可以用的基本交互事件:

Click/doubleClick/focusIn/focusOut/keyDown/keyFocusChage/mouseMove/MouuseOut/mouseOver/mouseUp/mouseWheel/rollout/rollOcer/tabChildrenChange/tabEnabledChage/tabIndexChang

5.        相应键盘事件:

1>    functionkeyhandler(evt:KeyboardEvent):void{

 evt.charCode:按下键的字符代码

 evt.keyCode:按下键的数字代码

 evt.keyLocation:区分左shift和右shift;标准键盘和数字键盘

 evt.altKey:是否按下

 evt.ctrlKey:是否按下

 evt.shiftKey:是否按下

}

this.stage.addEventListener(KeyboardEvent.KEY_DOWN,keyhandler);

2>    if(evt.keyCode== Keyboard.RIGHT)

evt.currentTarget.x  = evt.currentTarget.x + 10;

Stage.focus = myMovieClip;

注意查看:Keyboard类的常数

3>    fullScreen事件

若要启用全屏模式,请将allowFullScreen参数添加到包含SWF文件的HTML页中的object和embed标签,同时将allowFullScreen设置为"true",如下例所示:

<paramname="allowFullScreen"value="true"/>

给swf增加一个全屏按钮:fullBt
代码如下:

fullBt.addEventListener(MouseEvent.CLICK,fullscreenshow);

functionfullscreenshow(evt:MouseEvent):void{
switch(stage.displayState){
case"normal":
stage.displayState="fullScreen";
break;
case"fullScreen":
default:
stage.displayState="normal";
break;
}}

4>    组合键:evt.shiftKey&&evt.keyCode==79

Stage.stageFocusRect = false;?
指定对象在具有焦点时是否显示加亮的边框。

5>    Mouse.hide()/Mouse.show();

6.        自定义Flash Player右键菜单:

1>    首先实例化ContextMenuItem:用来保存每个项目

Var myContextMenuItem:ContextMenuItem= new ContextMenuItem(caption,分割线,enabled,visible);

2>    实例化ContextMenu:用来保存右键菜单:

Var myContextMenu:ContextMenu =new ContextMenu();

3>    将项目放到右键菜单中:

myContextMenu.hideBuiltInItems();

myContextMenu.customItems.push(myContextMenuItem);

4>    将菜单赋给对象:

This.contextMenu = myContextmenu;

5>    添加监听:

MyContextMenuItem.addEventLIstener(ContextMenuEvent.menuItemSelect,处理事件);

第十章 设计用户界面和使用组件

1.      使用TextField动态设置文本框失败!----第二天成功

scroll_txt.txt.scrollV -= 1;

当textfield转化为MC后,调用应注意子对象!

2.      使用TextFormat动态设置文本格式:

Var myTextFormat:TextFormat = newTextFormat();

myTextFormat.bold = true;

myTextField.setTextFormat(myTextFormat);

3.      使用HTML标签动态设置文本格式:

My_txt.htmlText = “<b>显示出粗体</b>”;

4.      使用样式表动态设置文本格式:

1>css和html正常编写

2>加载并应用css:

Var cssReq:URLRequest =new URLRequest(“myCSS.css”);

Var cssLoader:URLLoader= new URLLoader();

FunctiononCSSFileLoader(evt:Event):void{

 VarmyStyleSheet:StyleSheet = new StyleSheet();

  myStyleSheet.parseCss(cssLoader.data);

  main_txt.stylesheet = myStyleSheet;

}

cssLoader.addEventListener(Event.COMPLETE,onCssFileLoader);

cssLoader.load(cssReq);

3>将html文档作为XML加载,并赋给文本框:

 Var myDoc:XMLDocument= new XMLDocument ();

  myDoc.ignorewhite = true;

  myDoc.parseXML(xmlLoader.data);

  main_txt.htmlText = myDoc.toString;

5.      动态创建和使用文本框:WordWrap:文本是否自动换行;type:是否是动态文本

Var myTextField:TextField = newTextField();

6.      消除嵌入字体的锯齿:TextRender

7.      使用UIScrollBar创建滚动文本框:不能再元件上,在textField

8.      改变组件外观:

1>创作阶段改变

2>运行时:component.setStyle()/getStyle()

3>单个组件实例:instanceName.setStyle(“propertyname”,”value”);

4>单个组件所有实例:StyleManager.setComponentStyle(Button,”textFormat”,tf);

 

FLASH 模拟程序学习笔记(1)

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和...
  • lifang2005
  • lifang2005
  • 2016年03月22日 16:39
  • 646

理解Flash中的事件机制

上次测试中当我们点击“发送”按钮时,flex就会与后台中定义的Java方法交互并将结果返回给flex并呈现在前台页面,其实这靠的就是事件。事件贯穿在Flex中的所有过程中,如果没有事件,那么就谈不上什...
  • zc529739024
  • zc529739024
  • 2012年10月07日 15:10
  • 937

ie事件机制和火狐事件机制

事件机制 事件冒泡:事件从当前元素对象触发,然后向上层元素搜索相同对象事件并触发(直搜到document节点)。IE事件默认都只这种类型的事件。 事件捕获:从document节点开始搜索事件,然后...
  • sinat_32067081
  • sinat_32067081
  • 2017年03月28日 10:27
  • 1518

学习笔记之Flash(基础)

一、基本概念 帧:就是一个画面,一张图片。 帧频:每秒播放的帧的数目。电影为24帧,电视为25帧/32帧,falsh动画为24-36帧。 动画:相关的画面按照一定的速度连续播放所产生的视觉效果。...
  • Cmainlove
  • Cmainlove
  • 2014年12月23日 09:39
  • 560

Unity3D基础篇----Shader学习笔记(4)

这一篇,我们来继续学习Shader中纹理的添加以及实现纹理中凹凸的映射。
  • qq_30501909
  • qq_30501909
  • 2017年06月28日 21:56
  • 265

Oracle学习笔记(四)——上机练习一

1、define命令可以用于定义哪种变量 a、number b、char c、varchar2 d、date 【b】 Host变量主要作用是起到一个替代变量的作用,是主机环境可以和...
  • shangqing1123
  • shangqing1123
  • 2016年04月06日 20:55
  • 609

Nodejs学习笔记(四)

Nodejs用async来处理异步问题: 今天在写mysql数据库操作的时候,发现当我要查询多条sql语句的时候 前一条的语句在后一条语句执行完的时候还没有完成,这个导致很多语句的返回值都是unde...
  • zgq398749824
  • zgq398749824
  • 2016年05月31日 13:54
  • 126

Shader学习笔记4

前两篇写的大多是表面着色器(SurfaceShader),有官方的,网上的,自己写的。自己看着都乱,当做仓库用吧。。。 然后就研究到了顶点和片段着色器,发现很自由,功能很多,但是不能处理光照。还有屏...
  • zzw8866755
  • zzw8866755
  • 2016年09月29日 20:02
  • 158

Oracle学习笔记(4)------------简单查询

学习Oracle感觉有点吃力,于是到网上找了一些学习线路,来有规律的学习,效率能高一些,分享给大家 Concepts                        |                 ...
  • u011225629
  • u011225629
  • 2015年05月26日 12:37
  • 1187

TensorFlow入门(四)——MNIST入门

Softmax回归介绍 softmax回归(softmax regression)分两步:第一步为了得到一张给定图片属于某个特定数字类的证据(evidence),我们对图片像素值进行加权求和。如果这...
  • PinkRiverside
  • PinkRiverside
  • 2017年06月11日 14:08
  • 318
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:flash学习笔记(四)--事件机制和用户界面学习
举报原因:
原因补充:

(最多只允许输入30个字)