+ -
当前位置:首页 → 问答吧 → 常用技巧简述汇总

常用技巧简述汇总

时间:2008-07-09

来源:互联网

为了避免很多问题的重复解答,也方便大家今后寻找自己需要的答案,故开设这个帖。

其中会包含大家的宝贵评论以及生平所讲,也会有我的见解在里头。希望大家支持。

另外对于本帖有意见都可以跟帖提出,我也希望听听大家的看法。



B布局
如何避免矢量图模糊
复制内容到剪贴板
代码:
规则图形使用整数的坐标和宽度,并不要使用中心坐标。
F反射
根据类名得到相应的实例 , 模拟as2的attachMovie
复制内容到剪贴板
代码:
protected function attachMc(className : String):Sprite
{
     var mc: Class = getDefinitionByName(className) as Class;
     return new mc() as Sprite;;
}
H后臺
防止后臺數據被緩存
复制内容到剪贴板
代码:
在訪問的頁面后加上隨機參數
urlloader.load ( new URLRequest ( "http://localhost/service.php?random"+Math.random() ) );
防止讀取中文頁面出現亂碼
复制内容到剪贴板
代码:
使用URLStream 并使用readMultiByte 讀取數據
J剪辑控制

任何位置的跨场景影片控制:
复制内容到剪贴板
代码:
MovieClip ( root ).gotoAndPlay ( 帧书 , "场景" );
点评:在主影片从MovieClip集成的情况下,root为MainTimeline类型,其实也是一个MovieClip
K扩展

安装AIR for Flash CS3 扩展
复制内容到剪贴板
代码:
官方声明air extension b2只能支持英文版本
S鼠标交互

ReleaseOutSide的实现方式
复制内容到剪贴板
代码:
方法1
对目标mc做如下处理
mc.addEventListener ( MouseEvent.MOUSE_DOWN , 添加stage的监听 );
并对stage.addEventListener ( MouseEvent.MOUSE_UP , 移除stage监听 );
mc.addEventListener ( MouseEvent.MOUSE_UP   , 移除stage的监听 );
方法2
创建临时层用于遮挡鼠标事件,并侦听这个临时层的MouseEvent.MOUSE_UP事件用于适时的移除临时层。
同时侦听stage的Event.RESIZE事件用于重绘临时层的大小。
S时间处理

秒转为时分秒格式
复制内容到剪贴板
代码:
function secToTime ( secs:int ):String {
    var h:int = Math.floor ( secs / 3600);
    var m:int = Math.floor ( ( secs - h * 3600 ) / 60 );
    var s:int = secs - h * 3600 - m * 60;
    return h + " : " + m + " : " + s;
}
S数学
获得指定范围随机数
复制内容到剪贴板
代码:
function random ( range:Number ):Number {
    return Math.random() * range;
}
S沙箱策略

跨域加载图片
复制内容到剪贴板
代码:
var pic_loader_context = new LoaderContext(true);
pic_loader.load(pic_urlr,pic_loader_context);
多运行时共享库需要注意的问题
复制内容到剪贴板
代码:
多个swf库被载入。那么取出元素所需要的applicationDomain也就是各个swf所在的loaderInfo.applicationDomain
这样的情况,在调用applicationDomain.getDefinition获取类标识之前,先确定好applicationDomain是否是所
需的那一个每个swf的applicationDomain默认都是不同的。所以可以存储这些swf以备使用。
W文本

在文本缩小的时候字不会消失的办法
复制内容到剪贴板
代码:
使用BitmapData,以new BitmapData ( width , height , true , 0x00FFFFFF )方式构造,
然后draw方法绘制出文字,可保持文本背景透明的同时,达到完美缩放效果。
我建议打开Bitmap的smoothing属性。
獲得文本的光標位置 核心方法
复制内容到剪贴板
代码:
public function getPosition ( txt:TextField ):Point {
    var currentIndex:int = txt.caretIndex;
    var rect:Rectangle = txt.getCharBoundaries(currentIndex);
    if ( rect==null ) return null;
    else return new Point (rect.x,rect.y);
            
}
如何擴展TextArea
复制内容到剪贴板
代码:
TextArea有protected屬性textField
可在繼承之后使用,并在內部擴展行為。
其他
Flex結合FlashCS3項目中需要注意的問題
复制内容到剪贴板
代码:
一些組件只能在FLASH中編譯,而定義在Flex中找不到。解決辦法
在Flex不要使用只有FLASH能識別的類定義。
可以考慮向上轉型 并使用對象["屬性"]的方式賦值
可以避免類定義在Flex中存在時的編譯錯誤。
复制内容到剪贴板
代码:
降低程序耦合度
單元,或者稱之為模塊之間,使用事件關聯,
組合關系不宜嵌套過深。可以避免編譯進來許多用不到的類使編譯時間成倍增長,
并會彈出不是錯誤的編譯時錯誤。這句話大概得在項目中理解了。
使用拖曳,并带有多元素联动的注意问题
复制内容到剪贴板
代码:
不要在这样的情况下使用startDrag再根据拖动元素坐标计算的方法。而使用stage一级的MouseEvent.MOUSE_MOVE
否则无法保证联动元素之间因赋值顺序发生的错位。
AS2 过度 AS3 专题
关于Fla中的As3代码书写注意事项
复制内容到剪贴板
代码:
使用舞台实例,需确保在当前帧可访问,这个加入一个if判断就能够做到。
复制内容到剪贴板
代码:
时间轴上的 play (); stop (); gotoAndPlay () 等,没有任何改变,和以前一样的用
访问主场景使用 MovieClip ( root )
复制内容到剪贴板
代码:
结合文档类使用,出现对于stage一级引用,推荐使用推迟初始化时间,采用
在构造函数中侦听Event.ADDED_TO_STAGE
并开始执行初始化内容
复制内容到剪贴板
代码:
当文档类中需要使用舞台变量,同样加上if判断来保险
复制内容到剪贴板
代码:
Linkage的元件链接中的Class,可以忽略其实际类存在的警告,当作一个标识名使用。
复制内容到剪贴板
代码:
fla的类都是Runtime binding
复制内容到剪贴板
代码:
判断影片或者效果播放在哪可以在帧上分派事件出来
复制内容到剪贴板
代码:
纯透明度变化的动画效果。可以少使用时间轴制作,而使用类似TweenLite一类的缓冲工具制作。可减少出现null exception的几率
复制内容到剪贴板
代码:
需要使用到文档类的时候。可以多把效果的代码写在fla中而把业务逻辑写在文档类中。
复制内容到剪贴板
代码:
gotoAndPlay 一类属于异步操作,不要认为执行了gotoAndPlay之后那一帧上的实例就马上可以访问到并使用。
复制内容到剪贴板
代码:
Linkage类中的基本类型,如需扩展,推荐从Sprite中扩展
复制内容到剪贴板
代码:
不要在从Sprite型得到继承的位置使用帧上代码,例如Sprite型文档类,或者Sprite型的Linkage的帧上如果加入代码就会
提示addFrameScript错误,因为这个是属于Sprite子类MovieClip的隐藏方法。
复制内容到剪贴板
代码:
as2以及as3 的swf通讯可以使用LocalConnection非常好用,记得在LocalConnection别忘记用try catch
基于SharedObject的通讯也是可以考虑使用的。
复制内容到剪贴板
代码:
Event.RESIZE时间并不是任何显示对象都可用,推荐只对stage使用此事件侦听并做统一的大小重设调度
复制内容到剪贴板
代码:
对于元件大小因为不可见元素的计算导致并非实际所见大小可以考虑使用linkage继承并覆盖其get width     get height 属性选择器
复制内容到剪贴板
代码:
元件的on ( rollover ) {} 或者 instance.onRollOver = function () {}
可以使用
instance.addEventListener ( MouseEvent.ROLL_OVER , rolloverHandler );
function rollHandler ( event:Event ):void {}
来替代
DEMO源代码

應用程序常用圖標匯總
复制内容到剪贴板
代码:
http://www.famfamfam.com/archive/silk-icon-set-released/
鍵盤控制[臨時的enterframe判斷]源代碼
复制内容到剪贴板
代码:
Keyboard.fla (57.5 KB)
Keyboard.fla (57.5 KB)
下载次数: 278
2008-8-1 18:28
窗體改變尺寸的穩定實現
复制内容到剪贴板
代码:
Pane.swf (6.26 KB)
Pane.swf (6.26 KB)
下载次数: 564
2008-8-14 18:54
复制内容到剪贴板
代码:
可拉伸的面板.rar (29.11 KB)
可拉伸的面板.rar (29.11 KB)
下载次数: 331
2008-8-14 18:54
Cinema 4D中的菜单
复制内容到剪贴板
代码:
TUQ}K9Z_[0KH@7%FU3~X8FE.jpg (14.23 KB)
2008-8-20 09:36

ApplicationModules.swf (277.58 KB)
ApplicationModules.swf (277.58 KB)
下载次数: 648
2008-8-20 09:36

ApplicationModules.rar (300.13 KB)
ApplicationModules.rar (300.13 KB)
下载次数: 375
2008-8-20 09:36
送mp3播放器界面
配合Adobe界面所使用的设计
复制内容到剪贴板
代码:
}6T876_2YSX2L44VYP7EKI2.jpg (37.24 KB)
2008-8-20 09:55

Player.fla (162.5 KB)
Player.fla (162.5 KB)
下载次数: 560
2008-8-20 09:55
干净的mp3播放器一个
复制内容到剪贴板
代码:
55J]HW1U`Q~7SSIFDVA6SVT.jpg (8.92 KB)
2008-10-9 11:44

sample.rar (279.33 KB)
sample.rar (279.33 KB)
下载次数: 627
2008-10-9 11:44
[ 本帖最后由 enc0717 于 2008-10-9 11:44 编辑 ]

作者: enc0717   发布时间: 2008-07-09

大家有好的心得,愿意分享的话,
非常欢迎在回复中留言,我代表大家向您表示衷心的感谢。


同时也希望大家一起完善,发现问题可以提出来,大家一起讨论。

[ 本帖最后由 enc0717 于 2008-7-9 17:22 编辑 ]

作者: enc0717   发布时间: 2008-07-09

好像还是过于简单,

作者: viqqw   发布时间: 2008-07-13

对,太详细了,查找起来不甚方便。
如果不能简述的问题。不会归到这里,这个贴概念性问题居多。

作者: enc0717   发布时间: 2008-07-14

这样好,可以避免很多人为一些不必要的问题而开个贴.

作者: HBrO   发布时间: 2008-07-22

复制内容到剪贴板
代码:
        /* 根据类名得到相应的实例 , 模拟as2的attachMovie*/
        protected function attachMc(className : String):Sprite
        {
            var mc: Class = getDefinitionByName(className) as Class;
            return new mc() as Sprite;;
        }

作者: xxwei   发布时间: 2008-07-28

已加

作者: enc0717   发布时间: 2008-07-30

获取指定范围内的随机数
var min = 5;
var max = 30;
addEventListener(Event.ENTER_FRAME, frame);
function frame($e:Event):void {
       var a = int(Math.random() * (max - min) + min);
       trace(a);
}

作者: lkele   发布时间: 2008-08-06

收录了,真是有不少好东西

作者: vexyu   发布时间: 2008-08-07

很好很强大~~

作者: linchenrr   发布时间: 2008-08-14

搜藏了。很不错。目前我正在由AS2.0向AS3.0过渡。想这么详细的基础文章很受用!谢谢!

作者: ibio   发布时间: 2008-08-20

楼主好创意!顶一下

作者: lanxuehai   发布时间: 2008-08-20

轩辰,我咋就看不懂例..

作者: 136644986   发布时间: 2008-08-20

http://www.kirupa.com/forum/showthread.php?t=249149
http://www.kirupa.com/forum/showthread.php?t=223798
这里太多的技巧和教程了~我也懒得一个个粘了,想看的自己进去看吧~

作者: feixing1   发布时间: 2008-08-21

为什么非得从“AS2.0向AS3.0过渡"呢?我是新手,请问不能直接学习FLASH CS3吗?

作者: dlchy   发布时间: 2008-08-29

没有详细的了吗?

作者: muyuyu   发布时间: 2008-10-20

为了节俭篇幅,一切从简。

作者: enc0717   发布时间: 2008-10-27

很好..谢谢楼主了...学习中

作者: 4417811984   发布时间: 2008-11-21

很好..谢谢楼主了...学习

作者: dqgwm   发布时间: 2008-12-07

谢谢 了  

作者: liubin203   发布时间: 2009-02-03

不错啊 收藏了

作者: peidaping   发布时间: 2009-03-03

好帖

作者: arthur721   发布时间: 2009-03-03

ApplicationModules.swf这个我下下来用cs看的,为啥看不到内容,难道不能用cs4打开看,

作者: bobl   发布时间: 2009-03-04

。。。不是很明白。
bin-debug里的swf直接运行就得,干嘛用Flashcs4开?

是Flex工程文件。

作者: enc0717   发布时间: 2009-03-04

这样可以省去很多功夫。

作者: sifang   发布时间: 2009-03-10

我是新手,直接学 AS3 还是 从 AS2  学起?

作者: bohr   发布时间: 2009-03-12

直接as3吧。免得学完AS2再痛苦一会。历史学科以后再补上。
不过别忘记就行了。

作者: enc0717   发布时间: 2009-03-13

好贴 收藏了

作者: piggygo   发布时间: 2009-04-01

有收获

作者: Jackic   发布时间: 2009-04-07

恩,不错不错!学习了

作者: bingdianfangsha   发布时间: 2009-04-14

多认识了..谢谢.

作者: Study2008   发布时间: 2009-04-15

恩~~非常适合I~顶

作者: kinglvfen   发布时间: 2009-05-12

收藏(*^__^*) 嘻嘻……

作者: lanbinmylove   发布时间: 2009-05-22

很适合于初学者!

作者: zzxstr   发布时间: 2009-05-22

顶顶,学习了。收藏。

作者: 7233097   发布时间: 2009-07-29

谢谢LZ

作者: flashswf   发布时间: 2009-08-04

哇,太美了!!FLASH真的不错

作者: yuzfeng   发布时间: 2009-08-12

感谢楼主的分享!!!

作者: jillcyw   发布时间: 2009-08-27

虽然不多,但很值得学习,好贴!

作者: wuyar   发布时间: 2009-09-16

不错很好谢谢

作者: 013strife   发布时间: 2009-09-21

学习,学习.

作者: guipeihong   发布时间: 2009-10-28

很不错,省总结了。很实用

作者: tuku0801   发布时间: 2009-11-03

谢谢

作者: geome   发布时间: 2009-11-27

那个可拉伸的面板起了大用了
谢谢啊

作者: xiaoya200600   发布时间: 2009-12-17

不错,收藏起来

作者: 103298965   发布时间: 2010-01-11

xiexie

作者: book8   发布时间: 2010-01-14

谢谢热心共享!!!!!!!!!!!!!!!!!!!!!!!!!!!!!111

作者: tanActionScript   发布时间: 2010-01-16

作者: Finnan   发布时间: 2010-02-02

楼主想法很不错!赞一个~~~

作者: abxiechengjun   发布时间: 2010-02-23

我是新手,如果程序有注解就好了!!!

作者: asd333777999   发布时间: 2010-03-11

感谢楼主归纳,方便学习

作者: 98xp   发布时间: 2010-03-20

这个帖子不错....
感谢收集,数学:获得指定范围随机数 这个是我想要的

作者: iCrush   发布时间: 2010-04-26

收藏

作者: cjyyj   发布时间: 2010-05-01

不错  支持了  嘿嘿好东西啊 1!!!

作者: kess   发布时间: 2010-06-18

好东东,

作者: tfhaitao   发布时间: 2010-06-26

作者: stacke   发布时间: 2010-07-26

音乐软件的模式是很好的, 我个人觉的字的大小不怎么搭配, 字稍微大些应该更好吧,  后面的字怎么是模糊不清的呢?

作者: stacke   发布时间: 2010-07-26

概述到位,谢谢!!!:D

作者: xinrencainiao   发布时间: 2010-08-22

不错的,做个记号

作者: shirne   发布时间: 2010-08-30

学习了啊

作者: furuier   发布时间: 2010-09-01

热门下载

更多