欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Flash AS 入門教程 圓和橢圓函數(shù)的應(yīng)用

  發(fā)布時間:2013-03-14 00:10:32   作者:佚名   我要評論
Flash AS 入門教程 圓和橢圓函數(shù)的應(yīng)用,需要的朋友可以參考下

  源文件下載

  圓和橢圓函數(shù)

  1、圓的參數(shù)方程:


復(fù)制代碼
代碼如下:

 x=r*cosX //x、y是圓上一點的坐標;r是圓半徑;
 y=r*sinX //X是圓半徑繞圓心旋轉(zhuǎn)的角度。

  2、橢圓的參數(shù)方程:


復(fù)制代碼
代碼如下:

 x=a*cosX //x、y是橢圓上一點的坐標;a、b分別是長、短軸
 y=b*sinX //X是橢圓旋轉(zhuǎn)的角度。

  圓和橢圓函數(shù)應(yīng)用舉例

  例 3.3.1 (打開3.3.1.fla文件

  場景中有一個影片剪輯,雙擊這個mc,在這個mc內(nèi),我們看到有兩個小影片剪輯(f_mc,d_mc),寫在第一幀上的腳本:

  this.f_mc._visible = this.d_mc._visible=0;
  for (k=1; k<21; k++) {
   duplicateMovieClip(this.f_mc, "f"+k, k);
   duplicateMovieClip(this.d_mc, "d"+k, k+40);
  }
  for (k=1; k<21; k++) {
   this["f"+k]._x = 130*Math.cos(18*k*Math.PI/180);//圓半徑是130,圓周上每隔18度
   this["f"+k]._y = 130*Math.sin(18*k*Math.PI/180);//放一個復(fù)制的mc
   this["d"+k]._x = 130*Math.cos(18*k*Math.PI/180);//橢圓的長軸是130,短軸是60;橢圓的
   this["d"+k]._y = 60*Math.sin(18*k*Math.PI/180); //圓周上也是每隔18度放一個復(fù)制的mc
  }

  角度18*k*Math.PI/180中Math.PI/180是把1度轉(zhuǎn)換成的弧度;k取1~20,那么18*k*Math.PI/180就是18度到360度。剛好每隔18度放置一個mc

  按Ctrl+Enter播放,我們可以看到復(fù)制的mc被放置成一個圓和橢圓。作為圓和橢圓,他們是靜止在各自的位置上。如何讓這個圓和橢圓動(旋轉(zhuǎn))起來哩?

  點擊查看動畫效果<

  我們可以這樣考慮,在幀頻事件的循環(huán)中,每循環(huán)一次(j++),使圓(或者橢圓)上的點都再旋轉(zhuǎn)18度(角度都增加18*j度),到達下一個位置,這樣圓(或者橢圓)就可以旋轉(zhuǎn)起來了。

  由于每一次旋轉(zhuǎn)都是復(fù)制的mc的位置互換,而整體的圖形沒有改變,所以,我們不容易看到圓(或者橢圓)在運動,解決的辦法是把其中的幾個mc的放大系數(shù)改變。

  例 3.3.2

  打開3.3.2.fla文件,比較它與3.3.1.fla文件的腳本的差異,運行3.3.2.fla文件,觀察效果。

  點擊查看動畫效果<

  例 3.3.2源程序:


復(fù)制代碼
代碼如下:

  j = 0;
 this.f_mc._visible = this.d_mc._visible=0;
 for (k=1; k<21; k++) {
  duplicateMovieClip(this.f_mc, "f"+k, k);
  duplicateMovieClip(this.d_mc, "d"+k, k+40);
 }
  f1._xscale = f1._yscale=f10._xscale=f10._yscale=100;//放大復(fù)制后其中幾個mc
  d5._xscale = d5._yscale=d15._xscale=d15._yscale=50;
this.onEnterFrame = function() {
  j++;
 for (k=1; k<21; k++) {
  this["f"+k]._x = 130*Math.cos(18*k*Math.PI/180+18*j*Math.PI/180);
  this["f"+k]._y = 130*Math.sin(18*k*Math.PI/180+18*j*Math.PI/180);
  this["d"+k]._x = 130*Math.cos(18*k*Math.PI/180-18*j*Math.PI/180);
  this["d"+k]._y = 50*Math.sin(18*k*Math.PI/180-18*j*Math.PI/180);
 }
 };

  角度中+18*j*Math.PI/180在幀頻事件的循環(huán)中,每循環(huán)一次影片位置的角度增加18度。-18*j*Math.PI/180與前面方向相反。

  我們使圓和橢圓都旋轉(zhuǎn)運動起來了,我們還可以不斷改變圓的半徑和橢圓的長、短軸,使圓和橢圓互相轉(zhuǎn)換,或者其它的形狀變化。有興趣的可以參見3.3.3.fla文件。

  點擊查看動畫效果<

  例 3.3.3源程序腳本:


復(fù)制代碼
代碼如下:

  j = rotat=scale=0;//設(shè)置計數(shù)變量、旋轉(zhuǎn)角度和放大系數(shù)的初始值為0;
  q = l=w=130;   //設(shè)置圓的半徑和橢圓長軸(開始時的值)
  m = 50;     //設(shè)置橢圓短軸
  this.f_mc._visible = this.d_mc._visible=0;
  for (k=1; k<21; k++) {
   duplicateMovieClip(this.f_mc, "f"+k, k);
   duplicateMovieClip(this.d_mc, "d"+k, k+40);
  }
  f1._xscale = f1._yscale=f10._xscale=f10._yscale=100;
   //使復(fù)制的mc中是4個面積變大為4倍
  d5._xscale = d5._yscale=d15._xscale=d15._yscale=50;
this.onEnterFrame = function() {
 this._rotation += rotat;//使(f_mc的)父級mc旋轉(zhuǎn);
 this._xscale -= scale; //放大或者縮?。╢_mc的)父級mc
 this._yscale -= scale;
  j++;
  for (k=1; k<21; k++) {
   this["f"+k]._x = q*Math.cos(18*k*Math.PI/180+18*j*Math.PI/180);
   this["f"+k]._y = l*Math.sin(18*k*Math.PI/180+18*j*Math.PI/180);
   this["d"+k]._x = w*Math.cos(18*k*Math.PI/180-18*j*Math.PI/180);
   this["d"+k]._y = m*Math.sin(18*k*Math.PI/180-18*j*Math.PI/180);
 }
  if ((j>40) && (j<=110)) {
   l -= 2.2; //圓的寬每次減2.2
   q -= 1;  //圓的高每次減1
   m += 1.2; //橢圓的短軸每次增加1.2
   w -= 1;  //橢圓的長軸每次減1
 }
  if ((j>110) && (j<=220)) {
   l += 2; //圓的寬每次加2
   m -= 1.5;//橢圓原來的短軸每次減1.2
   w += 0.7;//橢圓的長軸每次加0.7
 }
  if ((j>220) && (j<=260)) {
   q += 1;  //圓的高每次加1
   l -= 3.2; //圓的寬每次減3.2
   m--;   //橢圓原來的短軸每次減1
 }
  if ((j>260) && (j<=320)) {
   q += 2;  //圓的高每次加2
   m += 2.5; //橢圓原來的短軸每次加2.5
   w -= 2;  //橢圓的原來的長軸每次減2
 }
  if (j>320 && j<=450) {
  q -= 3.5;  //圓的高每次減3.5
  w += 1.5;  //橢圓的原來的長軸每次加1.5
}
  if (j>450 && j<=550) {
  q = -190;  //保持原來圓的高為190
  w = 180;  //保持原來橢圓的長軸為180
  rotat = 5; //這里給旋轉(zhuǎn)變量賦值,f_mc的父級mc開始旋轉(zhuǎn)
  scale = 1; //這里給放大系數(shù)變量賦值,f_mc的父級mc開始放大
 }
  if (j>550) {
  scale = -1; //f_mc的父級mc反方向放大
  rotat = -5;//f_mc的父級mc反方向旋轉(zhuǎn)
 }
  if (j>650) {
   j = scale=0; //給各變量重新賦初值,使動畫循環(huán)播放
   l = q=w=130;
   m = 50;
  }
 };

  作業(yè)

  A 利用例3.2.2的源程序,復(fù)制任意的21個mc,并把它們均勻的擺放在正玄函數(shù)圖象上。如下圖:

  點擊查看動畫效果<

  B 最好能使這個mc擺成下面的正弦圖形,并且能左右運動起來。

  點擊查看動畫效果<

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

最新評論