flashdevelop的快捷键
flashdevelop的快捷键1、将鼠标点到变量上面后,同时按ctrl+shift+1(左键盘),可以自动添加变量或者函数。 2、复制一行代码。CTRL+D; ctrl+shift+k 颜色代码拾取器 ctrl+shift+b 注释年选代码段代码 ctrl+shift+f 代码收起 ctrl+shift+a 代码全部收起 ctrl+shift+e 代码全部展开 ctrl+shift+n 复制代码到一个新文件 ctrl+shift+i 生成了uid F3 查找 = ctrl+f F4 跳转到指定方法或类或变量被定义的地方 shift+f4 跳回到之前所有的地方选中代码段后–右键– Save As Snippet 保存为模板 ctrl+\ 移到下个大写或标点或空格后 ctrl+] 移动下个空行后
——————————————————————————-
1.文件夹搜索是Ctrl+I
2.注释// Ctrl+Q
3. /*…*/ Ctrl+Shift+Q
4. 代码提示 Ctrl+Alt+space
5. 复制一行 Ctrl+D
6. 交换行 Ctrl+T
7. ctrl+shift+1 自动完成代码,这个功能是FD代码提示最有用一个,他可以用来自动生成GET、SET,自动申明变量、方法,自动导入类(还有些以后补)
8. ctrl+b 范例代码 for、if等代码段的模板,只要按下这个键就可生成
9. ctrl+shift+k 颜色代码拾取器
10. ctrl+shift+f 代码收起
11. ctrl+shift+a 代码全部收起
12. ctrl+shift+e 代码全部展开
13. ctrl+shift+n 复制代码到一个新文件
flash实现拖拽时遇到的问题
我们实现拖拽功能,一般是通过监听拖拽对象的mouseDown事件来开始拖动,然后监听拖拽对象的mouseUp事件来停止拖动。 有经验的人会发现,如果我们快速的拖动物体到舞台以外地方时,会监听不到拖拽对象的mouseUp事件,所以如果你仅仅监听拖拽 对象的mouseUp事件的话,必然会出现快速移动下拖拽会异常的现象。我们先做一个例子来测试下: 1.在Flash IDE中新建一个元件(随便画个框就可以),将其放在舞台上,命名为aa; 2.选择第一帧,按F9弹出脚本编辑面板,在面板中输入以下代码: aa.addEventListener(MouseEvent.MOUSE_DOWN,startDragHandler); aa.addEventListener(MouseEvent.MOUSE_UP,stopDragHandler); stage.addEventListener(MouseEvent.MOUSE_UP,stopDragHandler); function startDragHandler(e:MouseEvent):void { aa.startDrag(); } function stopDragHandler(e:MouseEvent):void { trace(“target:”+e.target.name+”; currentTarget:”+e.currentTarget.name); trace(“aa:”+aa.x+”,”+aa.y); if((aa.x+aa.width)>stage.stageWidth) { aa.x=stage.stageWidth-aa.width; } if((aa.y+aa.height)>stage.stageHeight) { aa.y=stage.stageHeight-aa.height; } if(aa.x<0) { aa.x=0; } if(aa.y<0) { aa.y=0; } aa.stopDrag(); } 3.测试,Ctrl+Enter编译成swf,然后测试各种结果 (1)正常情况,在场景范围内拖动,只要在没有超出场景范围时放下鼠标,我们会发现输出以下结果 target:aa; currentTarget:aa aa:196,200 target:aa; currentTarget:null aa:196,200 从以上我们可以发现,我们分别执行了两次mouseUp的监听事件的处理函数,其实这个是因为拖拽对象aa和舞台场景stage都监听了 mouseUp事件,所以触发了两次运行。 (2)非正常情况下,在场景范围内快速拖动,当鼠标释放是在超出场景范围的区域时,我们可以看到以下执行结果: target:null; currentTarget:null aa:488,663 从结果中我们可以发现,当超出场景范围时,拖拽对象aa是监听不到鼠标释放mouseUp的事件的,所以才会出现我们在平常做拖拽的时候所遇到的那个奇怪的bug——无法触发对象的mouseUp事件,看到这里大家应该能够想到解决这个bug的方法了,那就是在监听拖拽对象的mouseUp事件外还需要监听stage的mouseUp事件,来辅助解决这个问题。 当然这是我想到的一种解决方法,如果你们有更好的解决方法,一定要告诉我哦^_^!
Flash键控大全
[cc lang="actionscript"] package { public class KeyControlCode { public static var KEY_BACKSPACE:uint=8; public static var KEY_TAB:uint=9; public static var KEY_ENTER:uint=13; public static var KEY_SHIFT:uint=16; public static var KEY_CONTROL:uint=17; public static var KEY_PAUSE:uint=19; public static var KEY_CAPSLOCK:uint=20; public static var KEY_ESC:uint=27; public static var KEY_SPACEBAR:uint=32; public static var KEY_PAGEUP:uint=33; public static var KEY_PAGEDOWN:uint=34; public static var [...]
IE6+gzip+flash+(no-cache) == nightmare
继上次祈福活动之后,公益活动再次出现在IE6用flash取后台数据,gzip压一下,然后response头里cache control设了no-cache肯定flash里显示不成功,抓包也没问题,返回的数据都是正确的,到了flash里就异常。而且很诡异的是不是所有的IE6都出问题。 解决的办法也很诡异有两种思路: 1.去gzip压缩,nginx里面可以配置对某一特定浏览器版本禁用gzip压缩。 2.设置 Cache-control: max-age=1或更小的值,反正不能用 Cache-control:no-cache,加个response头 Expires: 1970.1.1。 具体原因还要继续研究,可以肯定的是服务器能正常处理,但是在IE6下flash无法接受到服务器返回的信息。
将编译AS3区分Debug版本和Release版本(转)
原文链接:http://www.xiaos8.com/article.asp?id=556 首先我们区分AS3的编译版本,目的是让同样的code,如果使用debug编译,则会含有很多测试代码方便调试;如果使用release编译,则不会将调试代码编译进去。 用过Visual Studio(以下简称VS)的程序员都知道,VS在编译时有个debug和release的选项,而flash builder(以下简称fb)在编译时,虽然可以选择不同路径编译,但无法像VS那样真正的区分编译版本。 下面我依然要说,fb的确没办法像VS那样真正的去区分版本进行编译,但fb可以条件编译! 什么是条件编译 一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件下才进行编译,即对一部分内容指定编译条件,这就是“条件编译”。 接下来看看,我们怎么样使用条件编译来完成区分编译Debug版本和Release版本: 1、首先来看一段代码: [cc lang="actionscript"] package { import flash.display.Sprite; public class TestBuild extends Sprite { CONFIG::debug public function TestBuild() { graphics.beginFill(0xff0000,1); graphics.drawRect(0,0,100,100); } CONFIG::release public function TestBuild() { graphics.beginFill(0x0000ff,1); graphics.drawRect(0,0,100,100); } } } [/cc] 2、TestBuild有两个构造函数,不同的是一个构造函数上有CONFIG::debug,一个有CONFIG::release; 通过理解,如果是debug编译画出来的是红色的正方形,而release编译是蓝色正方形。 3、然后我们使用mxmlc命令行对这段代码进行debug编译 mxmlc src/TestBuild.as -define=CONFIG::debug,true -define=CONFIG::release,false -output bin-release/TestBuild.swf 4、得到一个swf文件,打开一看是红色正方形,的确是debug版本编译 点击播放/隐藏媒体 uploads/201004/19_115454_testbuild.swf 5、然后改一下编译参数,进行release编译 mxmlc [...]
Flash性能监视器(翻译)
原文链接:http://www.insideria.com/2009/05/flash-performance-monitoring.html Flex Builder 3内置的性能监视器是很强大的,但是有时候你会需要直接检测网络上的性能情况。如果你仍然在开发并且同时需要调试,什么东西可以作为你的性能监视器呢?我长期都使用一种FPS监视器(不是在Flex Builder’s profiler中的)来作为我私人的Flash程序开发工具。最近我正在寻找一种能够通过显示FPS和内存来帮助我监视我已经开发好的程序的运行状态的东西。这时我找到了 Mr Doob开源的Hi-ReS! 里面的侦测类Stats。 Hi-ReS! Stats displays: FPS-Frames per second, and allows you to increment your application’s FPS by +1 (after each click) to test increasing performance at runtime.每秒帧数,允许(在每次单击后)对自己程序的FPS进行自增,以用来测试运行中增加的性能。 MS -The milliseconds needed to render a frame. 渲染一帧所需要的毫秒速。 MEM – The amount of memory being used.所用的的总内存。 MAX – The maximum [...]


