Flash編程入門:物體的自由運動解析

來源:互聯網
上載者:User
編程

  很多學習Flash的朋友都想掌握Flash編程,來加強自己的Flash設計能力。只是大多的朋友覺得Flash很難,很難學會。今天,筆者就藉助一個簡單的Flash編程執行個體來給大家講解如何學好Flash編程。

  首先大家不要緊張,這個例子設計很簡單,程式也不是很難。在程式中,筆者已經加了注釋。在文章最後,筆者將給大家講解一些代碼使用方法。好了,下面我們就來製作吧。

  效果預覽:

  源檔案下載:點擊這裡下載(3K, zip壓縮檔)

  1.按快速鍵Ctrl+F8開啟“建立新元件”面板,製作一個名為“主角”的影片剪輯元件。如圖1所示。

圖1

  2.按快速鍵Ctrl+L開啟“庫”面板,把“主角”元件拖入情境中。如圖2所示。

圖2

  3.點選“主角”元件,按快速鍵F9開啟“動作“面板,輸入如下代碼。如圖3所示。

圖3

// 物體自由運動代碼
// 影片被載入後執行代碼
onClipEvent (load) {
    cNum = 10;
    s = 3;
}

// 影片載入後不斷地執行該代碼
onClipEvent (enterFrame) {
    my_x = _x;
    my_y = _y;
    my_theta = _rotation;
    delta_dir = random(2);
    if (delta_dir == 0) {
        delta_dir = -1;
    }
    delta = cNum*delta_dir;
    my_theta = my_theta+delta;
    my_theta_rad = (my_theta*Math.PI)/180;
    new_x = my_x+(s*Math.cos(my_theta_rad));
    new_y = my_y+(s*Math.sin(my_theta_rad));
    _rotation = my_theta;
    if ((new_x>0) && (new_x<300)) {
        _x = new_x;
    } else {
        my_theta = 180-my_theta;
    }
    if ((new_y>0) && (new_y<300)) {
        _y = new_y;
    } else {
        my_theta = -my_theta;
    }
    _rotation = my_theta;
}

  好了,測試效果,大家可以發現“主角”在情境中自由地無規則地運動。其實,在該執行個體中,主要就是使用了FlashAS的控制語句、影片屬性和Math對象。

  onClipEvent(movieEvent)是影片控制控制語句,movieEvent被稱作“事件”的觸發器。當事件發生時,執行該事件後面花括弧中的語句。Load是當影片剪輯一旦被載入,即執行該動作。EnterFrame將不斷執行幀的動作。在執行個體中,變數“cNum”的作用是控制元件抖動幅度。變數“s”則控制了元件的移動幅度。

  在Flash動畫設計中,影片剪輯屬性是經常要被使用到的。在該例中,物體之所以能夠移動,是因為我們改變了其_x,_y,_width,_height四個影片剪輯屬性了。_x屬性,_y屬性的作用是設定影片的X,Y軸座標值。另外,影片的_width屬性,_height屬性的作用是設定影片的寬度和高度。

  代碼中的_rotation屬性可以改變影片的角度值,使影片發生旋轉。random()方法可以返回一個隨機的數字。一般,在不規則運動的效果中,都要用的這個方法。Math.cos()、Math.sin()是一個數學對象的方法,用來計算並返回以弧度為單位指定的角度的餘弦值、正弦值。

  執行個體中,我們先用變數“my_x”和“my_y”來紀錄物體的座標值。變數“delta_dir”的數值在0到2之間隨機變化,這樣才能使物體發生不規則的運動。從最後的語句“_rotation = my_theta”的功能即可得知該變數的作用。

  好了,執行個體筆者就剖析到這裡。如果你想使自己的Flash設計能力得到質的飛躍的話,在提高圖形設計功力的同時,請努力提高Flash編程能力,二者缺一不可。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。