最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Flash AS3教程:疑難雜癥匯總

互聯(lián)網(wǎng)   發(fā)布時(shí)間:2008-10-06 01:25:15   作者:佚名   我要評(píng)論
前面學(xué)習(xí)了Flash AS3教程:ImageLoader類,但是有時(shí)我們?cè)谧鲰?xiàng)目時(shí)可能會(huì)遇到這樣或那樣的問題,這篇里給大家專門提供些解決辦法。 在做項(xiàng)目的時(shí)候,總會(huì)碰到很多,奇奇怪怪的問題,看了這篇文章相信會(huì)有些幫助,雖然不是很全面,但只要是我碰到過的問題,就分享給大家!
前面學(xué)習(xí)了Flash AS3教程:ImageLoader類,但是有時(shí)我們?cè)谧鲰?xiàng)目時(shí)可能會(huì)遇到這樣或那樣的問題,這篇里給大家專門提供些解決辦法。
在做項(xiàng)目的時(shí)候,總會(huì)碰到很多,奇奇怪怪的問題,看了這篇文章相信會(huì)有些幫助,雖然不是很全面,但只要是我碰到過的問題,就分享給大家!但是也怕有些想不起了。。盡力額、、

==================== 氣 死 你 的 分 割 線 ====================

1、數(shù)組的排序問題:Array.sort()方法
大家都經(jīng)常用排序,一般都是字符串排序什么的,都不會(huì)發(fā)現(xiàn)什么的,現(xiàn)在來看一個(gè)有趣的現(xiàn)象

CODE:
var a:Array = [7,3,32,64,96,13,42];
a.sort();
trace(a);
//輸出:13,3,32,42,64,7,96
奇怪了,為什么排序出來的東西是個(gè)這樣的。。
分析為什么:仔細(xì)看一下,會(huì)發(fā)現(xiàn)每個(gè)數(shù)字的第一個(gè)數(shù)字,的確是按排序放好的:1,3,3,4,6,7,9
為什么會(huì)這樣呢?仔細(xì)來看看Array的官方文檔

QUOTE:

默認(rèn)情況下,Array。sort() 按以下方式進(jìn)行排序:
1、排序區(qū)分大小寫(Z 優(yōu)先于 a)。
2、按升序排序(a 優(yōu)先于 b)。
3、修改該數(shù)組以反映排序順序;在排序后的數(shù)組中不按任何特定順序連續(xù)放置具有相同排序字段的多個(gè)元素。
4、元素?zé)o論屬于何種數(shù)據(jù)類型,都作為字符串進(jìn)行排序,所以 100 在 99 之前,這是因?yàn)?"1" 的字符串值小于 "9" 的字符串值。
不難發(fā)現(xiàn),第4條說明了,默認(rèn)是以字符串進(jìn)行排序,而不是以字符串排序,難怪會(huì)出現(xiàn)這樣的結(jié)果額
那么應(yīng)該如何排序才會(huì)出現(xiàn)我們要的答案呢?

CODE:
var a:Array = [7,3,32,64,96,13,42];
a.sort(Array.NUMERIC);
trace(a);
//輸出:3,7,13,32,42,64,96
加的這個(gè)參數(shù)是什么東西額。。仔細(xì)看看幫助文檔吧。。
然后Array提供了幾個(gè)常量分別是:

QUOTE:

CASEINSENSITIVE : uint = 1 [static] 指定 Array 類排序方法為不區(qū)分大小寫的排序。
DESCENDING : uint = 2 [static] 指定 Array 類排序方法為降序排序。
NUMERIC : uint = 16 [static] 指定 Array 類排序方法為數(shù)值(而不是字符串)排序。
RETURNINDEXEDARRAY : uint = 8 [static] 指定排序返回的數(shù)組包含數(shù)組索引。
UNIQUESORT : uint = 4 [static] 指定 Array 類排序方法的唯一排序要求。
==================== 氣 死 你 的 分 割 線 ====================

2、Loader.load加載圖片,顯示不出來
這個(gè)問題可以一筆帶過額。。很多人都碰到過,其實(shí)是因?yàn)槟銢]有加checkPolicyFile
如果確定圖片跨域了,那么加載圖片的時(shí)候,應(yīng)該這樣寫

CODE:
var loader:Loader = new Loader;
var request:URLRequest= new URLRequest(url);
var lc:LoaderContext = new LoaderContext(true);
loader.load(request, lc):
加的這個(gè)new LoaderContext(true),可以去參考官方幫助文檔
這個(gè)構(gòu)造函數(shù)可以傳三個(gè)參數(shù)
第一參數(shù):指定是否去加載跨域文件
第二參數(shù):指定要使用的應(yīng)用程序域
第三參數(shù):指定要使用的安全沙箱

==================== 氣 死 你 的 分 割 線 ====================

3、flash嵌入代碼
經(jīng)常出問題,比如打開窗口會(huì)被阻止,flash游戲做方向鍵的,屏幕會(huì)跟著動(dòng)等類似問題
我也經(jīng)常碰到這樣的問題,花時(shí)間研究了一下
注意第一個(gè),嵌入代碼中有一個(gè)使flash透明的參數(shù),不要把它設(shè)置成透明,那么很多問題都可以解決,不信的話,大家可以試試,還有很多不常用的屬性,有些可以阻止flash某些方法的使用,很煩人的,特別是某些博客,公開平臺(tái)等,傳flash之后,他在嵌入代碼中會(huì)加一些這樣的屬性,那么flash有很多事情都不能做
另外還有一個(gè)就是,如果是從flash中彈出新窗口,設(shè)置成不透明也會(huì)被阻止,但是在當(dāng)前窗口打開,就不會(huì)
這是我在做項(xiàng)目的時(shí)候,碰到的問題,以及我的解決方法,如果有高人有更好的辦法,一定要告訴我額。。。

==================== 氣 死 你 的 分 割 線 ====================

4、mask遮罩層
mask這個(gè)屬性相信很多人看過幫助文檔之后,不會(huì)仔細(xì)去看,特別是熟悉AS2的setMask的人
當(dāng)然包括我自己也放過這樣的錯(cuò)誤,因此在此提起,希望各位新手在學(xué)習(xí)的時(shí)候,把幫助文檔看清楚

QUOTE:

mask 屬性
mask:DisplayObject[read-write]
語言版本 :ActionScript 3.0
Player 版本 :Flash Player 9
調(diào)用顯示對(duì)象被指定的 mask 對(duì)象遮罩。 要確保當(dāng)舞臺(tái)縮放時(shí)蒙版仍然有效,mask 顯示對(duì)象必須處于顯示列表的活動(dòng)部分。 但不繪制 mask 對(duì)象本身。 將 mask 設(shè)置為 null 可刪除蒙版。
要能夠縮放遮罩對(duì)象,它必須在顯示列表中。 要能夠拖動(dòng)蒙版 Sprite 對(duì)象(通過調(diào)用其 startDrag() 方法),它必須在顯示列表中。 要為基于 sprite 正在調(diào)度的 mouseDown 事件調(diào)用 startDrag() 方法,請(qǐng)將 sprite 的 buttonMode 屬性設(shè)置為 true。
根據(jù)幫助文檔的說法,如果要縮放遮罩層,就必須把遮罩層放在相應(yīng)的顯示列表中,也就是addChild(mask)
比如:我現(xiàn)在使用的是
stage.scaleMode = StageScaleMode.SHOW_ALL;
如果說你的遮罩層沒有addChild那么,在縮放窗口的時(shí)候,mask是不會(huì)改變寬高;反之加入了顯示列表,就會(huì)跟著窗口一起縮放
mask的拖拽和點(diǎn)擊等事件也是如此!
綜上所述:設(shè)置遮罩層最佳做法是放到顯示列表,當(dāng)然不排除有特別作用的

另外,你把mask的屬性清空,本來被做為遮罩層的,就可以看的到了,否則是看不到遮罩層的

==================== 氣 死 你 的 分 割 線 ====================

5、莫名其妙的mc
你使用Loader加載進(jìn)來的mc,如果里面是動(dòng)畫,或者帶有聲音
你加載進(jìn)來,就算你不addChild,他也在播放的,而且有時(shí)候你控制他stop,還控制不了。。
解決方案是:加stop(),做動(dòng)畫素材的時(shí)候,盡量把關(guān)鍵動(dòng)畫都做在主場(chǎng)景幀上,那么程序中就可以控制動(dòng)畫了
置于聲音,還真是個(gè)頭疼的東西,當(dāng)然使用mc的同樣管理方案也是可以的,但是我建議,把聲音做到庫中
然后使用ClassLoader把聲音拿下來,然后用程序控制聲音。

==================== 氣 死 你 的 分 割 線 ====================

6、幽靈般的容器
一個(gè)容器,當(dāng)被addChild后,你就可以直觀的看得到他,但是你又removeChild,很多人都認(rèn)為這樣,容器就不存在了,實(shí)則不然,他還存在
比如你做一個(gè)飛機(jī)游戲,飛機(jī)爆炸后,你就會(huì)removeChild它,但是這樣做是不夠的,他依然還存在那個(gè)位置,而且x,y值是依然不變的
如果飛機(jī)上還寫了碰撞檢測(cè),如果這時(shí)候有子彈飛過來,依然會(huì)算碰撞成功,還有很多類似的例子
個(gè)人建議:兩個(gè)辦法,簡(jiǎn)單的游戲嘛,可以設(shè)個(gè)全局邏輯值,當(dāng)確定不需要在碰撞檢測(cè),把這個(gè)值變成false,每次檢測(cè)碰撞,也檢查一下這個(gè)值,就行了
第二個(gè)辦法是復(fù)雜一點(diǎn)的,擴(kuò)展容器類,偵聽他的removedFromStage,removed事件和addedToStage,added事件,如果加入了,則容器中某個(gè)值等于true,反之是false
這個(gè)屬性就可以叫返回是否被加入顯示對(duì)象
當(dāng)然還有其他的辦法,比如檢查容器的contains方法,可以檢查出當(dāng)前容器中是否含有容器,如果removeChild,那么你檢查結(jié)果就是不存在

==================== 氣 死 你 的 分 割 線 ====================

oh。。先寫這么多,肯定不是很完全。。一下子我也沒辦法把我在項(xiàng)目中碰到的任何問題搬出來。。想起來,我在繼續(xù)寫。。

相關(guān)文章

  • flash cs6鼠標(biāo)跟隨效果實(shí)現(xiàn)代碼分享

    flash cs6想要實(shí)現(xiàn)鼠標(biāo)跟隨效果?該怎么制作呢?今天我們就來看看使用as2.0實(shí)現(xiàn)鼠標(biāo)跟隨效果的教程,需要的朋友可以參考下
    2019-05-19
  • Flash cs6怎么使用代碼輸入中英文文本?

    Flash cs6怎么使用代碼輸入中英文文本?Flash cs6中可以使用文字工具直接輸入文本,也可以使用代碼來輸入文本,該怎么使用代碼輸入文本呢?請(qǐng)看下文詳細(xì)的教程,需要的朋友
    2018-03-11
  • flash as3.0怎么定義抽象類和抽象?

    flash as3.0抽象類怎么定義? as3.0中有很多抽象類,該怎么定義抽象類和抽象方法呢?下面我們就來看看簡(jiǎn)單的例子,需要的朋友可以參考下http://www.fzitv.net/softs/408402.
    2018-02-28
  • flash cs6中怎么使用ActionScript3.0?

    flash cs6中怎么使用ActionScript3.0?flash cs6中想要使用ActionScript3.0功能,該怎么使用呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下
    2018-01-25
  • Flash中怎么實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊決定圖像位置?

    本教程給大家分享一個(gè)Flash小教程,教大家在Flash CS6中怎么實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊決定圖像位置?方法很簡(jiǎn)單,感興趣的朋友歡迎前來一起分享學(xué)習(xí)
    2018-01-12
  • Flash中如何用代碼將圖片放在自己想要的舞臺(tái)位置?

    本教程教腳本之家的ActionScript教程學(xué)習(xí)者在Flash中如何用代碼將圖片放在自己想要的舞臺(tái)位置,教程講解的詳細(xì),感興趣的朋友歡迎前來分享學(xué)習(xí)
    2017-11-20
  • 在Flash CS6中使用with函數(shù)繪制背景圖教程

    本教程教腳本之家的ActionScript教程學(xué)習(xí)者如何在Flash CS6中使用with函數(shù)繪制背景圖?教程一步步講解的挺詳細(xì),方法也不難,非常適合Flash新手入門學(xué)習(xí)
    2017-11-18
  • Flash怎么設(shè)置元件坐標(biāo)?flash使用代碼設(shè)置元件的坐標(biāo)的教程

    Flash怎么設(shè)置元件坐標(biāo)?flash中導(dǎo)如的元件需要添加坐標(biāo),該怎么定位元件坐標(biāo)呢?下面我們就來看看flash使用代碼設(shè)置元件的坐標(biāo)的教程,需要的朋友可以參考下
    2017-10-11
  • Flash怎么制作來回?fù)u擺的花朵的動(dòng)畫?

    Flash怎么制作來回?fù)u擺的花朵的動(dòng)畫?Flash中想要給花朵制作一段搖擺的動(dòng)畫效果,該怎么制作呢?下面我們就來看看詳細(xì)的教程,很簡(jiǎn)單,需要的朋友可以參考下
    2017-05-23
  • Flash怎么制作流動(dòng)七彩色的文字?

    Flash怎么制作流動(dòng)七彩色的文字?想要讓文字動(dòng)起來,該怎么使用flash給文字制作一個(gè)流動(dòng)七彩色的動(dòng)畫呢?下面我們就來看看詳細(xì)的教程,需要的朋友可以參考下
    2017-04-23

最新評(píng)論

厦门市| 柘荣县| 邯郸市| 余庆县| 开原市| 呼图壁县| 万安县| 辽阳县| 色达县| 新源县| 盖州市| 樟树市| 南汇区| 普宁市| 塔城市| 华宁县| 志丹县| 仲巴县| 密云县| 甘谷县| 安达市| 隆德县| 固原市| 华蓥市| 界首市| 延庆县| 灵山县| 安远县| 阿克陶县| 宁波市| 房山区| 东方市| 四会市| 鄂托克前旗| 子长县| 七台河市| 商南县| 沂南县| 金华市| 开阳县| 衡南县|