AS3 CookBook学习整理(一)

1. 我要改变swf的尺寸和颜色

在flex builder 3里,默认会生成一个全屏、背景色为#869CA7、帧数为24/秒的swf文件,要修改这些参数,只需要在类文件中定义 [SWF(width="800", height="600", backgroundColor="#ffffff", frameRate="31")]

 hxw
{flash.display.Sprite;[SWF(width=, height=, backgroundColor=, frameRate=)]ExampleApplicationSprite{ExampleApplication(){}}
}

2. 我要重复执行某段代码

在enterFrame事件中添加监听器和关联处理方法

 hxw
{flash.display.Sprite;flash.events.Event;Sample1009Sprite{Sample1009(){graphics.lineStyle(3,0xFF0000,1);addEventListener(Event.ENTER_FRAME,onEnterFrame);}onEnterFrame(event:Event):{graphics.lineTo(Math.random()*400,Math.random()*400);}}
}

3. 如何响应鼠标事件

为MouseEvent系列事件添加监听器和关联处理方法

 hxw
{flash.display.Sprite;flash.events.MouseEvent;[SWF(width=, height=, backgroundColor=, frameRate=)]Sample1010Sprite{_sprite:Sprite;Sample1010(){_sprite = Sprite();_sprite.graphics.beginFill(0x27496E);_sprite.graphics.drawRect(5,5,400,400);_sprite.graphics.endFill();_sprite.addEventListener(MouseEvent.MOUSE_DOWN,OnMouseDown);_sprite.addEventListener(MouseEvent.MOUSE_UP,OnMouseUp);.addChild(_sprite);}OnMouseDown(event:MouseEvent):{_sprite.graphics.lineStyle(1,0xFFFF00,1);_sprite.graphics.moveTo(mouseX,mouseY);_sprite.addEventListener(MouseEvent.MOUSE_MOVE,OnMouseMove);}OnMouseUp(event:MouseEvent):{_sprite.removeEventListener(MouseEvent.MOUSE_MOVE,OnMouseMove);}OnMouseMove(event:MouseEvent):{   _sprite.graphics.lineTo(mouseX,mouseY);}}
}

4. 如何响应键盘事件

为KeyboardEvent事件添加监听器和关联处理方法

 {flash.display.Sprite;flash.events.KeyboardEvent;Sample1030Sprite{Sample1030(){stage.addEventListener(KeyboardEvent.KEY_DOWN,OnKeyDown);}OnKeyDown(event:KeyboardEvent):{(event.charCode);}}
}

5. 如何实现定时器(Timer)

初始化一个Timer类,使用addEventListener来设置一个函数处理这个事件,然后使用timer的start( )方法启动或stop( )停止它。

 {flash.display.Sprite;flash.events.TimerEvent;flash.utils.Timer;Sample1101Sprite{_rect:Sprite;_circle:Sprite;Sample1101(){_rect = Sprite();_circle = Sprite();_rect.graphics.beginFill(0xFFFF00);_rect.graphics.drawRect(0,0,100,100);_rect.graphics.endFill();_rect.x = 50;_rect.y = 100;.addChild(_rect);_circle.graphics.beginFill(0x80C56E);_circle.graphics.drawCircle(0,0,50);_circle.graphics.endFill();_circle.x = 100;_circle.y = 200;.addChild(_circle);_timer:Timer = Timer(50);_timer.addEventListener(TimerEvent.TIMER,OnTimerTick);_timer.addEventListener(TimerEvent.TIMER,OnTimerTick2);_timer.start();}OnTimerTick(event:TimerEvent):{_rect.x += 20;}OnTimerTick2(event:TimerEvent):{_circle.y += 30;}}
}

6. 获得客户端的操作系统版本

ActionScript 3.0中,flash.system.Capabilities.os 属性返回操作系统名称和版本字符串。值可能包括Windows XP, Windows 2000, Windows NT, Windows 98/Me, Windows 95, 和Windows CE. 在苹果机上,字符串包括版本号,比如Mac OS 9.2.1 或Mac OS X 10.4.4

 {flash.display.Sprite;flash.system.Capabilities;Sample1101Sprite{Sample1101(){os:String = flash.system.Capabilities.os.substr(0,3);if (os == ) {}else if (os == ) {}else {}}}
}

7. 获得客户端的播放器类型

使用flash.system.Capabilities.playerType属性。它可能是PlugIn, ActiveX,StandAlone和External。

播放器的类型有:

浏览器插件形式存在于Mozilla 或Firefox

ActiveX 控件形式存在于Internet Explorer

独立播放器

外部播放器,它与Flash IDE进行交互

 {flash.display.Sprite;flash.system.Capabilities;Sample1101Sprite{Sample1101(){(flash.system.Capabilities.playerType == ){}else (flash.system.Capabilities.playerType == ){}else{}}}
}

8. 获得客户端的语言与输入法

使用flash.system.Capabilities.language 属性和flash.system.IME 类

 {flash.display.Sprite;flash.system.IME;Sample1101Sprite{Sample1101(){lang:String = flash.system.Capabilities.language.substr(0, 2);> supportedLanguages:Array = [, , ];useLang:String = ;for (i:int = 0; i < supportedLanguages.length; i++){if (supportedLanguages[i] == lang){useLang = lang;break;}}movieURL:String =  + useLang + ;}}
}

9. 获得客户端的分辨率

screenResolutionX 和screenResolutionY 属性返回桌面的显示分辨率:

trace(flash.system.Capabilities.screenResolutionX); // 1024

trace(flash.system.Capabilities.screenResolutionY); // 768

 {flash.display.Sprite;flash.external.ExternalInterface;flash.system.Capabilities;Sample1101Sprite{Sample1101(){screenX:int = flash.system.Capabilities.screenResolutionX;screenY:int = flash.system.Capabilities.screenResolutionY;winW:int = 200;winH:int = 200;winX:int = (screenX / 2) - (winW / 2);winY:int = (screenY / 2) - (winH / 2);jsCode:String =  ++ winW ++ winH +  ++ winX +  + winY + ;ExternalInterface.call(jsCode);}}
}

10. 缩放影片

设置stage.scaleMode,scaleMode属性值并不影响右键菜单里功能,不过你可以禁用菜单里的缩放功能。

stage.scaleMode的值来自flash.display.StageScaleMode类的枚举,有EXACT_FIT, NO_BORDER,NO_SCALE, 和SHOW_ALL

假设原影片如下:

1. SHOW_ALL

这种模式会成比例缩小与放大。如果播放器与影片的比例不一致,则会出现空白边框。以SHOW_ALL模式缩小后的效果如下:

2. EXACT_FIT

这种模式会不成比例缩小与放大。以EXACT_FIT模式缩小后的效果如下:

3. NO_BORDER

这种模式会成比例缩小与放大。如果播放器和影片比例不一致,则会裁剪影片。以NO_BORDER模式缩小后的效果如下:

4. NO_SCALE

这种模式不进行缩放,保持原有比例。使用该模式不要忘了设置对齐方式。

转载于:https://www.cnblogs.com/CoderWayne/archive/2010/07/15/1778031.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/276002.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序研发问题梳理:翻页:下拉:缓存:canvas:富文本:分享

微信小程序研发问题梳理 最近鼓捣小程序的时候&#xff0c;着实遇到了一些问题&#xff0c;尽管有些再翻看文档几遍&#xff0c;就能找到答案&#xff0c;但还是要发挥下烂笔头的功效&#xff0c;顺便梳理下。 问题列表 登录流程小程序标签页地址无法跳转问题页面翻页内容加…

Nginx重启方式

2019独角兽企业重金招聘Python工程师标准>>> 重启方式有三种&#xff1a; 1.简单型&#xff0c;先关闭进程&#xff0c;修改你的配置后&#xff0c;重启进程。 2.重新加载配置文件&#xff0c;不重启进程&#xff0c;不会停止处理请求 3.平滑更新nginx二进制&#x…

axure如何页面滑动时广告位上移_新手APP运营如何做广告位投放

运营是什么&#xff1f;这种问题在各种论坛、贴吧、百度知道、问答百科类中都会出现。上面也有各种大神各式各样的回答&#xff0c;从不同角度向我们阐述了什么是运营。用 户运营、内容运营、社区运营、活动运营、市场运营、等等&#xff0c;各种各样的文章对它们有非常多的分类…

常见的8个前端防御性编程方案

大家好&#xff0c;我是若川。欢迎加我微信 ruochuan12&#xff0c;长期交流学习。今天分享几个常见的前端防御性编程方案。点击下方卡片关注我&#xff0c;或者查看源码等系列文章。学习源码整体架构系列、年度总结、JS基础系列关于前端防御性编程我们大多数情况可能遇到过&am…

比特平面分层_平面设计中的分层

比特平面分层One of the first windows to pop up automatically, when I first started using Adobe Photoshop back in 2013, was the Layers one. Albeit I was dabbling around with it for making memes, it was one of the first things I played around with.2013年&…

微软中国推校园先锋计划,保障学生低价获取正版软件

2010年7月13日&#xff0c;人人网 Lucky 7 率先向同学们宣布了"微软校园先锋计划"上线的消息&#xff0c;该计划现在接受学生预购正版 Windows 7 专业版和 Office 2010 专业版&#xff0c;正式销售的日期为7月19日。该计划的官网是&#xff1a;http://ms.shop.edu.cn…

did双重差分法_Stata中双重差分操流程及代码

01简介现代计量经济学和统计学的发展为我们的研究提供了可行的工具。倍差法来源于计量经济学的综列数据模型&#xff0c;是政策分析和工程评估中广为使用的一种计量经济方法。主要是应用于在混合截面数据集中&#xff0c;评价某一事件或政策的影响程度。该方法的基本思路是将调…

Axios 如何缓存请求数据?

大家好&#xff0c;我是若川。欢迎加我微信 ruochuan12&#xff0c;长期交流学习。今天推荐这篇Axios缓存请求数据的文章&#xff0c;相信是常见的业务场景&#xff0c;感兴趣的读者可以看看 umi-request&#xff0c;支持缓存功能。另外我之前也写过 axios源码文章&#xff0c;…

山西万荣盛装迎新春 首届群众文化艺术节启幕

山西万荣盛装迎新春&#xff0c;首届群众文化艺术节启幕。 李继旺 摄 山西万荣盛装迎新春&#xff0c;首届群众文化艺术节启幕。 李继旺 摄 中新网太原1月29日电 (任丽娜)璀璨闪耀的宝鼎广场花灯展、激情活力的群众文体赛事、精彩纷呈的红火热闹、精品年货展销、李家大院游园会…

安装vs2017出现闪退现象_Adobe Reader 闪退

在我们的日常办公、学习中经常会涉及到 PDF 文件&#xff0c;免不了需要处理 PDF 文件如&#xff1a;PDF转Word、PDF合并、导出成图片、PDF解密、PDF转PPT、PDF加水印、PDF签名等等。PDF是与平台无关的文件格式&#xff0c;无论在哪种打印机上都可保证精确的颜色和准确的打印效…

从Vue.js源码中我学到的几个实用函数

大家好&#xff0c;我是若川。欢迎加我微信 ruochuan12&#xff0c;长期交流学习。今天推荐Vuejs源码中几个实用的方法。如果想看Vuejs源码&#xff0c;不知道如何下手&#xff0c;一般推荐配置Sourcemap&#xff0c;针对单个问题调试来看&#xff0c;如何调试Vuejs源码&#x…

real类型_如何使用REAL方法对您的Web内容进行现实检查

real类型Web内容审核模板 (Web content audit template) I recently completed a website audit project for a nonprofit organization through CatchAFire.org. As part of the website audit, I audited every key page’s content, looking for areas of opportunity.我最近…

青海行--(7月26日)翻越祁连山

嘉峪关是最值得一写的&#xff0c;虽然也是著名的旅游城嘉峪关景点是国家&#xff21;&#xff21;&#xff21;&#xff21;&#xff21;级景区&#xff0c;但与敦煌完全不一样&#xff0c;没有人山人海的游客&#xff0c;门票也不贵&#xff0c;才&#xff11;&#xff10;&a…

导出Excel

2019独角兽企业重金招聘Python工程师标准>>> 思路: 1, 引入Excel类库; 2, 创建一个模板; 3, 将数据填充进去; 4, 生成文件; 下面是一个简单的示例 $phpExcelObj new PHPExcel(); $titleMap self::TITLE_MAP; //设置表头 $i 0; foreach ($titleMap as $key > $…

在类中用class时数据是共有还是私有_jvm学习笔记之class文件的加载、初始化

编写的java文件在要真正运行时&#xff0c;会首先被编译成 “.class"结尾的二进制文件&#xff0c;然后被虚拟机加载。那么在虚拟机中一个class文件要成为java实例&#xff0c;需要经历好几个步骤&#xff1a;1、装载&#xff1a;装载阶段由三个基本动作完成&#xff0c;要…

所有前端都要看的2D游戏化互动入门基础知识

背景现在越来越多的公司和APP开始使用游戏化的方式去做产品了&#xff0c;所谓游戏化&#xff0c;是指在非游戏环境中将游戏的思维和游戏的机制进行整合运用&#xff0c;以引导用户互动和使用的方法。支付宝里面的蚂蚁庄园、蚂蚁森林&#xff0c;通过游戏和公益的结合实现用户的…

江苏一动物园现“旋转活马” 园方:创意来自马术训练

中新网南通1月31日电 (记者唐娟)“旋转马设备采用同时容纳六匹马的遛马器组装而成&#xff0c;对马匹没有任何伤害&#xff0c;初衷是希望给小朋友一种全新体验&#xff0c;这才有了这个创意项目。”1月31日&#xff0c;针对活马版“旋转木马”引发的热议&#xff0c;江苏南通森…

加快信息化建设对地方发展的_加快设计师职业发展的9种方法

加快信息化建设对地方发展的重点 (Top highlight)Over the past few months, I have had an increase in conversations with design students from various institutions, as well as early, to senior-level designers, researchers, & product managers from various co…

epoll监听文件_介绍一下 Android Handler 中的 epoll 机制?

介绍一下 Android Handler 中的 epoll 机制&#xff1f;目录&#xff1a;IO 多路复用select、poll、epoll 对比epoll APIepoll 使用示例Handler 中的 epoll 源码分析IO 多路复用IO 多路复用是一种同步 IO 模型&#xff0c;实现一个线程可以监视多个文件句柄。一旦某个文件句柄就…

前端工程师的一大神器——puppeteer

大家好&#xff0c;我是若川。欢迎加我微信 ruochuan12&#xff0c;长期交流学习。今天推荐神器puppeteer&#xff0c;我猜有挺多人不知道。文章不长&#xff0c;看完有空也可以试玩。我18年也写过一篇puppeteer爬取生成pdf的文章&#xff0c;时间真快。前端使用puppeteer 爬虫…