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…

Nginx laraval-admin 页面小图标不显示 问题处理

laraval-admin 页面小图标不显示 类似问题 nginx下加载eot|otf|ttf|woff|svg等404 错误问题 浏览器console控制台报错 GET http://admin.xxx.com/vendor/laravel-admin/google-fonts/fonts/Source-Sans-Pro.woff2 net::ERR_ABORTED 404 (Not Found)CSS 样式引用字体 font-face …

Ajax完整资料加代码

什么是Ajax&#xff1f;答&#xff1a;Ajax是一种无需加载整个网页&#xff0c;就能够更新部分网页&#xff0c;与后台交互的技术。Ajax的优点&#xff1f;答&#xff1a;能够在不更新整个页面的前提下&#xff0c;维护数据。这使得Web程序可以更快速的回应用户的动作&#xff…

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

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

Axios 如何缓存请求数据?

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

Reflection in .net

最近在看设计模式的一些东西&#xff0c;在讲到builder模式中使用到了c#的反射机制&#xff0c;从网上找了写资料&#xff0c;整理如下&#xff1a; 在C#中&#xff0c;我们要使用反射&#xff0c;首先要搞清楚以下命名空间中几个类的关系: System.Reflection命名空间(1) App…

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

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

MySQL 隐式转换 字符串和整型说明

MySQL 隐式转换 字段类型定义 CREATE TABLE user (id int(10) NOT NULL AUTO_INCREMENT COMMENT 编号,/* ...... */name varchar(10) NOT NULL DEFAULT COMMENT 姓名,/* ...... */PRIMARY KEY (id),KEY idx_name (name,nickname),/* ...... */ ) ENGINEInnoDB DEFAULT CHARSE…

安装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…

TikTok真题第1天 | 666.路径和IV、 207.课程表、210.课程表||

666.路径和IV 题目链接&#xff1a;666.路径和IV 解法&#xff1a; 参考这篇题解&#xff1a;【LeetCode - 666】路径和 IV_力扣666路径总和4-CSDN博客 关键点在于&#xff1a; &#xff08;1&#xff09;使用map来存node&#xff1a;key 为整数的前两位&#xff0c;value…

导出Excel

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

CentOS系统更换yum源(repomd.xml not found解决方案)

CentOS系统更换yum源 问题 当初瞎鼓捣服务器&#xff0c;更换yum源为aliyun的&#xff0c;奈何阿里的源最近全部打不开&#xff0c;导致yum安装不了&#xff0c;一直报错&#xff1a; http://mirrors.aliyun.com/centos/6/os/x86_64/repodata/repomd.xml: [Errno 14] PYCURL E…