1.啟動Flash mx 2004,"修改"-->>"文檔"來修改文檔的屬性,如下圖所示:
2.大家通過觀看上面的動畫可能已經(jīng)分析到了,蝴蝶都是身體不動,而只是翅膀動!所以我們關(guān)鍵是繪制蝴蝶的翅膀!在這里我們就充分利用Flash提供的繪圖工具了!當然在這里我們應(yīng)該是新建一個元件命名為蝴蝶翅膀,行為是圖形。具體效果如下:
新建元件命名為蝴蝶翅膀2,行為是圖形,效果如下:
3.蝴蝶翅膀繪制好了,下面我們來做翅膀動畫,新建一個電影元件,名稱:蝴蝶動畫,行為:電影剪輯;大家都知道蝴蝶是有兩支翅膀的(廢話!呵呵)所以在這里我們應(yīng)該建立3個圖層,最底下的圖層,繪制蝴蝶的身體,上面兩個分別放蝴蝶的兩支翅膀!效果如下:
蝴蝶身體:
第1幀,組合之后的效果:
第3幀,組合之后的效果:(使用變形工具調(diào)整)
第10幀,組合之后的效果:
第13幀,組合之后的效果:
4.同樣的方法制作第2支蝴蝶的動畫,新建一個電影元件,名稱:蝴蝶動畫2,行為:電影剪輯;當然不能和上面設(shè)置的幀相同,那樣效果會差些,效果如下:
第1幀,組合之后的效果:
第4幀,組合之后的效果:
第6幀,組合之后的效果:
第9幀,組合之后的效果:
蝴蝶動畫都制作好了!
5.下面我們開始引用剛才所制作的兩個動畫,新建一個電影元件名稱:引用,行為:電影剪輯,之后我我們建立的蝴蝶動畫從庫中拖出來;再新建一個元件名稱:引用2,行為:電影剪輯,把蝴蝶動畫2從庫中拖出來。
6.新建一個元件名稱為:輔助,行為:電影剪輯,在場景中繪制一個小的矩形。如下圖:
7.下面我們回到主場景中,開始動畫的制作,首先在圖層1中導(dǎo)入一副圖片做背景使用,然后新建一個圖層,改名為蝴蝶陰影,之后我們從庫中拖出“引用”和“引用2”,分別設(shè)置它們的alpha為10%,分別給它們命名實例名為shadow0_mc和shadow1_mc。如下圖:
8.新建一個圖層,然后把“引用”、“引用2”和輔助拖出來,注意輔助要拖兩次,放置效果如下圖:
然后分別給“引用”命名實例名為fly0_mc,“引用2”實例名為fly1_mc,輔助的實例名為:transp0、transp1。
9.新建一個圖層改名為action,然后按F9打開動作面板,輸入如下動作:
probability = 100;
scene_width = 500;
scene_height = 290;
speed = 0.03;
depth = 15;
MovieClip.prototype.smoothMove = function (speed, targetx, targety) {
this._x += speed*(targetx-this._x);
this._y += speed*(targety-this._y);
};
MovieClip.prototype.rotateTo = function (targetx, targety) {
var diffX = targetx-this._x;
var diffY = targety-this._y;
this._rotation = Math.atan2 (diffY, diffX)*180/Math.PI;
};
_root.transp0.onEnterFrame = function () {
if (random (probability) == 1) {
target0X = random (scene_width);
target0Y = random (scene_height);
}
this._visible = 0;
this.smoothMove (speed, target0X, target0Y);
};
_root.transp1.onEnterFrame = function () {
if (random (probability) == 1) {
target1X = random (scene_width);
target1Y = random (scene_height);
}
this._visible = 0;
this.smoothMove (speed, target1X, target1Y);
};
_root.fly0_mc.onEnterFrame = function () {
this.smoothMove (speed, transp0._x, _root.transp0._y);
this.rotateTo (_root.transp0._x, _root.transp0._y);
};
_root.fly1_mc.onEnterFrame = function () {
this.smoothMove (speed, transp1._x, _root.transp1._y);
this.rotateTo (_root.transp1._x, _root.transp1._y);
};
_root.shadow0_mc.onEnterFrame = function () {
this.smoothMove (speed, transp0._x, _root.transp0._y+depth);
this.rotateTo (_root.transp0._x, _root.transp0._y+depth);
};
_root.shadow1_mc.onEnterFrame = function () {
this.smoothMove (speed, transp1._x, _root.transp1._y+depth);
this.rotateTo (_root.transp1._x, _root.transp1._y+depth);
};
動畫制作完成,按Ctrl+回車鍵可以測試動畫了
聯(lián)系客服