Flash as2 0hitTest的判定區域

時間 2023-04-16 13:54:03

1樓:早年不知曲中味

中,hittest語句只有兩種情況:

1、一個點和一個圖形mc的碰撞檢測,比如滑鼠和某一形狀的mc碰撞,這個可以相當精確的按照形狀的實際輪廓去檢測碰撞。

2、一個形狀mc和另一個形狀mc,這個就只能按照兩個形狀mc的輪廓所在的矩形範圍去檢測,就是很不精確了。

總結陳詞:改為碰到有畫素的地方或者有什麼其他語句?沒有其它語句。

2樓:匿名使用者

在物體的邊緣放上無數的小碰撞物。

小碰撞物放到陣列中,不斷hittest物體是否碰撞到任意一個碰撞物 碰到即碰到。

或者更復雜的就使用 bitmapdata算畫素碰撞吧,比較複雜 自己吧。

flash as2固定loadmovie

flash as2 是什麼?和flash是什麼關係

3樓:匿名使用者

flash as2 是flash原始檔裡效果動畫的一種指令碼語言格式,有as1,as2,as3.暫時用的最多的是as2 。

4樓:網雨霏霏

as的全稱是actionscript

直譯為動作指令碼。

屬於程式語言(flash獨有的)

flash從剛開始出道時就伴有as(as是flash的一部分,真是可以說是flash的靈魂!)

as總最早的as1版本 發展到了現在的最新版as3

flash as2 如何定義一個常量

5樓:匿名使用者

flash as2 不支援常量,所以沒有單獨的定義常量的方法。

在as2裡,如果使用到常量,只能同變數一樣定義,只是在程式中不改變其值而已。不能像其他程式語言一樣,定義常量後不允許更改。

as2 flash定時

6樓:匿名使用者

嗯,看了看,邏輯比較清楚。

首先做一個前期工作,把幀頻改為1幀/秒,那麼2分鐘就是120幀。後做一個play_btn按鈕,當按下就開始倒計時。還有結束時輸出得分的文字框outtxt; 另外最好是10個名稱改為從0開始,這個習慣比較好,當做一些複雜的程式時,會發現從0開始更方便,把按鈕全部改為影片剪輯,這樣就可以給每個按鈕下面加代號變數,且可以使用onenterframe方法。

下面寫**:

timeout = 120; /超時時間play_ =function ()delete ; 刪除不再用的事件}totalnum = 10; /按鈕總數for (var i=0;i0 ?

0 : 輸出得分。

}timeout2 = 10; /點選後懸停倒計時 = function ()function ()到此全部結束,剛剛才發現,你的懸賞分。

真要學些東西,就要能捨得。積分易得,但知識無價。 哦,對了,不要把我的**直接複製,這樣有時會出問題,單詞我確信都沒錯,主要是符號,回頭你再問我這裡提示出錯,那裡提示出錯,我檢查起來會很麻煩,所以,最好能都手寫進去。

如果還出現問題,我很樂意幫你查。

7樓:手機使用者

語言這東西,是要硬著頭皮來學的,看不懂硬看,照著硬做,做多了就慢慢慢慢會了,正好我還收藏了藍色經典論壇裡面的好書推薦的地址,呵呵,你自己去看就ok了,從學期比較好,有基礎可以再攻。

flash as2**

8樓:匿名使用者

_y+=5是等於this._y+=5,即onenterframe**應用的物件,如,將onenterframe放到主時間軸上,那麼this就是指舞臺,放到一個mc時裡面,那麼,this就是mc,所以,_y+=5並不是複製出來的元件在移,而是包著這些元件的大物件在移(如果**在主時間軸上,那就是舞臺在移),之所有感覺複製出來的元件有移動效果,那是因為包裝的大物件移動造成的「假」效果。

_root["ball"+i]._y+=5;不發生移動,由於i是個變化變數,隨著複製的次數增加而增大,故在第二執行onenterframe函式時,_root["ball"+i]._y並不是指前一個元件,所以無法對前一個元件進行移動,只會對當前複製出來的元件移動_y+5。

深入**講解:

第一次執行onenterframe

i=0duplicatemovieclip("ball", ball"+i, i);/複製得到的元件名為ball0

_root["ball"+i]._y+=5;//元件ball0下移5畫素,注意,由於ball0是ball複製出來的,所以屬性與ball是一致的,即ball0是在ball的位置基礎上下移5畫素。

_root["ball"+i]._x = random(300);/元件ball0隨機了_x位置,是個隨機位置,不影響講解邏輯。

i++;此時i就變成1了。

第二執行onenterframe

//此時i=1

duplicatemovieclip("ball", ball"+i, i);/複製得到的元件名為ball1

_root["ball"+i]._y+=5;//元件ball1下移5畫素,此地方沒有進行ball0的移動,故ball0保持在5畫素。

_root["ball"+i]._x = random(300);/元件ball1隨機了_x位置,是個隨機位置,不影響講解邏輯。

i++;此時i就變成2了。

以此類推,每一次onenterframe都沒有對前一個元件進行移動,所以複製出來的元件不會移動。

解決方法:給每一個複製出來的元件新增一個獨立的「移動器」(onenterframe)

i=0;onenterframe = function()

function ballmove()}

9樓:他是上善若水

缺少變數,5是一個實數。並且ball本身在原來位置。

你可以寫成:

_root["ball"+i]._y +=i*5;

而用 _y +=5;就動 那是因為_root(this)(當前測試的影片)本體移動了,而不是_root["ball"+i]移動了。

你也可以將ball例項名稱改成:ball0 **如此:

= function()}簡單地說就是幀事件問題,duplicatemovieclip()這個語句在onenterframe 中一直在複製i個影片剪輯,由於深度也是i 所以其它一些被複制的沒有深度,就看不見或不存在。而新複製的影片剪輯的深度代替了此前製出的剪輯深度,在他們的_y加5個畫素時立即消失了。

而這句,this["ball"+(i-1)].x = random(300);也在不斷中隨機中,他並沒有隨機出現在一個確定的位置。

如果是做下雪效果或接元寶遊戲,這是不可能實現的。如果是單純的一個剪輯組下落效果,如下**完美表現:

for (i=0; i<10; i++)

= function()}

10樓:匿名使用者

_root["ball"+i]._y+=5;只執行一次。

_y +=5會不斷執行。

關於flash as2 0的問題

1.如果影片剪輯是用as獲取的,則為註冊點的xy為準,如果是現場設定,則以內容的左上角 圓形是以它圍成的長方形為準 圓的計算我就不知道了。2.是自定義函式。只不過是只在發生對應的事件時才執行的。3.它們寫的方式 位置不一樣,但作用一樣。onclipevent load 必須寫在影片剪輯上,二onlo...

ZNHNO3N20ZN NO3 2H20有何配平良策方法詳細

利用化合價升降守恆,zn化合價升高2價 n元素化合價從 5降為 1,下降4價,升降要守恆的話,應該是2zn 1hno3 被還原的 在觀察n2o中有兩個 1價的n原子,因此再擴大兩倍,所以關係式為4zn 2hno3 被還原的 4zn no3 2 8hno3 成鹽的 所以配平hno3的係數為10,根據氫...

微控制器程式設計題 查詢內部ram的20h 50h單元中個位出現

做而論道 org 0000h mov r0,20h mov r1,0 loop mov a,r0 取來一個位元組mov b,10 div ab 除以10xch a,b 取來個位cjne a,06h,next 不等於6則轉移inc r1 等於6則加一next inc r0 cjne r0,51h,lo...