vb.net蝴蝶飞舞动画 flashcs6蝴蝶飞动画制作

如何用flash制作蝴蝶飞舞.步骤具体步骤:
1、用逐帧动画制作舞动翅膀的蝴蝶,作为一个独立的影片 。
2、导入背景层,背景层可以是静态的花丛 , 也可以是动态的,摇动着的花丛 。
【vb.net蝴蝶飞舞动画 flashcs6蝴蝶飞动画制作】3、将蝴蝶舞动翅膀的影片放在背景层的上方
4、制作引导动画,让蝴蝶沿着设计的轨迹飞舞 。
5、给你制作了一个源文件 , 供你参照 。
6、源文件用flash cs6制作,只有flash cs6才能打开 。
flash怎么制作蝴蝶飞舞动画1、先插入一个新电影剪辑 , 用7帧做出蝴蝶煽动翅膀的的动画 。第7怎插入普通帧 。
2、回到场景1,从库里把蝴蝶的电影剪辑拖到场景在第150帧插入关键帧 。
3、新建一个引导层,画出蝴蝶飞舞的路径,在第150帧插入普通帧 。
4、先知图层1的第一帧,用任意变形工具把蝴蝶拖到引导线的始端,并注意让注册点落在一道线上,旋转蝴蝶让它的头部在引导线前进的方向 。
在1——150帧之间创建补间动画,并在属性面板勾选“调整到路径” 。
测试,完成 。
如何利用Flash制作蝴蝶飞舞的动画 我们经常会使用Flash制作各种动物飞舞vb.net蝴蝶飞舞动画的动画vb.net蝴蝶飞舞动画,那么如何制作蝴蝶飞舞动画呢?下面我给大家分享一下 。
工具/材料
Flash
01
首先右键点击Flash顶部的文件菜单,选择导入下面的导入到舞台选项,如下图所示
02
接下来在弹出的界面中选择要导入的背景图片 , 如下图所示
03
等到背景图片导入进来以后我们通过对齐工具将背景图充满整个舞台,如下图所示
04
然后我们将准备好的蝴蝶图片拖到舞台中,注意蝴蝶图片需要是背景透明的 , 如下图所示
05
接下来选中蝴蝶的左翅膀,将其转换为影片剪辑元件,如下图所示
06
然后在第10帧的地方插入关键帧 , 如下图所示
07
接着在第10帧的地方选择变形工具,将蝴蝶左翅膀的形状改变,如下图所示
08
接下来将第一帧的效果复制到第20帧处,如下图所示
09
然后我们在第一帧到第15帧,第15帧到第20帧分别创建传统补间,如下图所示
10
接下来新建一个引导层,如下图所示,并利用画笔工具画一条引导线,如下图所示
11
然后在引导层的第一帧拖到引导线的开始处 , 如下图所示
12
接着在引导层的100帧处插入关键帧,并将蝴蝶拖到引导线的末尾,如下图所示
13
接下来调整蝴蝶图层的传统补间属性,勾选调整到路径复选框,如下图所示
14
最后运行Flash,我们就可以看到蝴蝶随着引导线的方向进行飞舞vb.net蝴蝶飞舞动画了,如下图所示
动画蝴蝶如何制作蝴蝶飞舞的效果是许多Flash电影中经常应用到的一个效果vb.net蝴蝶飞舞动画,而在本例中仅仅用到了一只沿路径运动的蝴蝶就达到了一个比较好的效果 。这个实例是在场景中通过鼠标的移动来实现蝴蝶飞舞vb.net蝴蝶飞舞动画,其中蝴蝶飞舞的路径、大小和数量并不是确定的,而是我们通过ActionScript来进行控制的 。
第1步 , 启动Flash
8.0,新建一个文件 。右击舞台的空白处,选择快捷菜单中的“文档属性”,设置尺寸大小为vb.net蝴蝶飞舞动画:500PX、250PX,背景颜色为“黑色”,确定“确定”按钮,
第2步,按“Ctrl F8”键 , 新建一个新元件,名称为“蝴蝶”,“行为”选择“图形”,如图2所示
单击“确定”按钮,进入蝴蝶编辑区 。我们可以绘制一个蝴蝶 , 如果认为在绘制上认为比较烦琐,就找一个现成的处理后的蝴蝶 。如图3所示 。
第3步,按“Ctrl F8”键再创建一个新元件,名称为“butterfly” , 行为选择“电影剪辑” , 如图4所示,
单击“确定”按钮,进入其编辑区 。单击“窗口”→“库”,弹出库对话框,将我们制作的“蝴蝶”元件拖到“butterfly”编辑区 , 单击第7帧、13帧、19帧处按F6键分别插入三个关键帧 , 选中工具箱中的“任意变形工具”将第7帧、13帧、19帧的蝴蝶依次变榨,如图5所示 。
再别分右击第7帧、13帧、19帧选择快捷菜单中的“创建补间动画”,最后的时间轴如图6所示 。
第4步,按“Ctrl F8”键再创建一个新元件”,名称为“fly”,行为选择“电影剪辑”,如图7所示
单击“确定”按钮,进入其编辑区 。我们从库中刚才制的“butterfly”元件拖到舞台上 , 在此层的第35帧处按F6键插入一个关键帧 。单击时间轴下面的“运动引导层”按钮,新建一个图层 。单击此层的第1?。≡窆ぞ呦渲械摹扒Ρ省惫ぞ撸惶跚?nbsp;, 颜色任意,也就是蝴蝶运动的路径,如图8所示 。
第5步,单击“图层1”的第1?。≈小癰utterfly”元件 , 将它的注册点移与曲线的一端点重合 , 然后单击窗口下面的“属性”对话框,将“颜色”选择“Alpha”,将其值设为20%,如图9所示 。
再单击第35帧将“butterfly”注册点与曲线的另一端重合 , 按同样的方法,弹出“属性”对话框,将“颜色”选择“Alpha”,将其值设为30% 。然后右击第1帧,弹出快捷菜单 , 选择“创建补间动画” 。
第6步,在图层2的第8帧、15帧、25帧分别单击右键,弹出快捷菜单,选择“转换为关键帧”,再分别选中这几帧上的“butterfly”元件,按后单击工具箱中的“任意变形工具”将其稍微旋转一点角度和改变一下大小 , 如图10所示 。单击“场景1”返回主场景 。
第7步,将刚才做的“fly”元件从库中拖到舞台上,用鼠标选中它,单击窗口下方的“属性”对话框,将它的实例名称为“fly”,如图11所示 。在第3帧处 , 按F5键插入一帧 。单击第1?。?单击窗口下方的“动作-帧”对话框,加入以下语句vb.net蝴蝶飞舞动画:
startDrag("fly",true);
第8步,单击时间轴下方的“插入图层”按钮,新建一图层 。在这个层上的第1帧、第2帧、第3帧分别按F6键插入三个关键帧 , 在每个关键帧上分别加入以下动作语句vb.net蝴蝶飞舞动画:
用VB设计一个蝴蝶飞动的程序因为这里只能上传一张图片 , 所以写了一个单张图片的 。装载系列图片的我也写了,只是窗体初始化会很麻烦 。以下代码是实现单张图片的随意飞舞程序,能做到:
1、碰到窗体边缘时,图片会自动改变飞舞的方向(题意中要求的“返回”,只能是在一条线上来回移动,本程序实现蝴蝶出发位置随意,能在窗体内四处飞舞),而且头部也会跟着改变方向
2、窗体改变大小时,蝴蝶不会消失不见,会立即在新的窗体内继续飞舞
'建一个Picture1控件,在它的属性对话框内设置Appearance=0 AutoRedraw=True AutoSize=True BorderStyle=0,然后在它的Picture中加载蝴蝶图片
'再建一个Picture2控件,在它的属性对话框内设置Appearance=0 AutoRedraw=False AutoSize=False BorderStyle=0,其他默认属性都不得改变
'Form的BackColor设为与蝴蝶图片的背景色一致,本程序中,即H80000009
'再加一个Timer1控件
Private Const Pi = 3.1415926535
Private Declare Function SetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long
Private Declare Function GetPixel Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long
Dim x0!, y0!, x1!, x2!, y1!, y2!, foot!, zt% 'x0和y0是图片框长高,(x1,y1)-(x2,y2)是窗体坐标系,foot是蝴蝶移动步长,zt是蝴蝶飞舞的线路标记
Dim k! 'k或1/k是飞行轨迹的斜率
Dim flag As Boolean 'flag判断是顺时针还是逆时针飞舞
Private Sub bmp_rotate(pic1 As PictureBox, pic2 As PictureBox, ByVal theta As Single) '自定义角度旋转图片
Dim c1x As Integer, c1y As Integer
Dim c2x As Integer, c2y As Integer
Dim a As Single
Dim p1x As Integer, p1y As Integer
Dim p2x As Integer, p2y As Integer
Dim n As Integer, r As Integer
c1x = pic1.ScaleWidth / 2
c1y = pic1.ScaleHeight / 2
c2x = pic2.ScaleWidth / 2
c2y = pic2.ScaleHeight / 2
If c2xc2y Then n = c2y Else n = c2x
n = n - 1
pic1hDC = pic1.hdc
pic2hDC = pic2.hdc
For p2x = 0 To n
For p2y = 0 To n
If p2x = 0 Then a = Pi / 2 Else a = Atn(p2y / p2x)
r = Sqr(1 * p2x * p2x1 * p2y * p2y)
p1x = r * Cos(atheta)
p1y = r * Sin(atheta)
c0 = GetPixel(pic1hDC, c1xp1x, c1yp1y)
c1 = GetPixel(pic1hDC, c1x - p1x, c1y - p1y)
c2 = GetPixel(pic1hDC, c1xp1y, c1y - p1x)
c3 = GetPixel(pic1hDC, c1x - p1y, c1yp1x)
If c0-1 Then xret = SetPixel(pic2hDC, c2xp2x, c2yp2y, c0)
If c1-1 Then xret = SetPixel(pic2hDC, c2x - p2x, c2y - p2y, c1)
If c2-1 Then xret = SetPixel(pic2hDC, c2xp2y, c2y - p2x, c2)
If c3-1 Then xret = SetPixel(pic2hDC, c2x - p2y, c2yp2x, c3)
Next
t% = DoEvents()
Next
End Sub
Private Sub Place(ByVal picnum As Integer, ByVal x As Single, ByVal y As Single) '控制两个图片框的位置
If picnum = 1 Then
Picture1.Left = x
Picture1.Top = y
Else
Picture2.Left = x
Picture2.Top = y
End If
End Sub
Private Sub Direct(ByVal angle As Integer) '按指定角度旋转图片,angle是角度
angle = angle Mod 360
hudu = (Pi * angle * 1#) / (180 * 1#) '弧度
bmp_rotate Picture1, Picture2, hudu
End Sub
Private Sub Form_Activate()
x1 = 0!
x2 = 10000!
y1 = 0!
y2 = 10000!
Me.Scale (x1, y1)-(x2, y2)
Randomize
Picture1.ScaleMode = 3
Picture2.ScaleMode = 3
x0 = Picture1.Width
Picture2.Width = x0
y0 = Picture1.Height
Picture2.Height = y0
Picture1.Visible = True
Picture2.Visible = False
x = Int(1000(x2 - x1 - x0 - 1000) * Rnd) '蝴蝶出发处的横坐标
y = Int(1000(y2 - y1 - y0 - 1000) * Rnd) '蝴蝶出发处的纵坐标
k = y / x 'k为撞向水平边框或离开竖直边框的斜率,1/k则为撞向竖直边框或离开水平边框的斜率
Place 1, -x2, y2 - y0 '将图片框的复制源移出窗体的可见范围,但Visible属性又必须是True,否则复制图片会失败
Place 2, x, y '初始化蝴蝶的出发位置
Timer1.Enabled = True
Timer1.Interval = 100 '定义移动周期
zt = 0
End Sub
Private Sub Form_Click()
Timer1.Enabled = Not Timer1.Enabled
End Sub
Private Sub Form_Resize() '窗体改变大小时 , 坐标系需要重新定义
x1 = 0!
x2 = 10000!
y1 = 0!
y2 = 10000!
Me.Scale (x1, y1)-(x2, y2)
Cls
x0 = Picture1.Width
Picture2.Width = x0
y0 = Picture1.Height
Picture2.Height = y0
'如果蝴蝶在窗体外,则立即召回
If Picture2.Leftx1 Then Place 2, x1, Picture2.Top
If Picture2.Topy1 Then Place 2, Picture2.Left, y1
If Picture2.Leftx2 - x1 - x0 Then Place 2, x2 - x1 - x0, Picture2.Top
If Picture2.Topy2 - y1 - y0 Then Place 2, Picture2.Left, y2 - y1 - y0
End Sub
Private Sub Form_Unload(Cancel As Integer)
End
End Sub
'zt=0,1,2,3时,分别表示顺时针向右上(简称顺右上)或逆左下,顺右下或逆左上,顺左下或逆右上,顺左上或逆右下
Private Sub Timer1_Timer()
foot = 100
x = Picture2.Left: y = Picture2.Top
Select Case True
Case (flag = True And zt = 0) Or (flag = False And zt = 2)
Place 2, xfoot, y - k * foot
'Line (x, y)-(xfoot, y - k * foot)
Direct 360
If Picture2.Leftx2 - x1 - x0 - foot Then zt = 1: flag = False '撞到垂直边框 , 将逆左上
If Picture2.Topfoot Then zt = 1: flag = True '撞到水平边框,将顺右下
Case (flag = True And zt = 1) Or (flag = False And zt = 3)
Place 2, xfoot, yfoot / k
'Line (x, y)-(xfoot, yfoot / k)
Direct 270
If Picture2.Leftx2 - x1 - x0 - foot Then zt = 2: flag = True '撞到垂直边框,将顺左下
If Picture2.Topy2 - y1 - y0 - foot Then zt = 2: flag = False '撞到水平边框,将逆右上
Case (flag = True And zt = 2) Or (flag = False And zt = 0)
Place 2, x - foot, yk * foot
'Line (x, y)-(x - foot, yk * foot)
Direct 180
If Picture2.Leftfoot Then zt = 3: flag = False '撞到垂直边框,将逆右下
If Picture2.Topy2 - y1 - y0 - foot Then zt = 3: flag = True '撞到水平边框,将顺左上
Case (flag = True And zt = 3) Or (flag = False And zt = 1)
Place 2, x - foot, y - foot / k
'Line (x, y)-(x - foot, y - foot / k)
Direct 90
If Picture2.Leftfoot Then zt = 0: flag = True '撞到垂直边框,将顺右上
If Picture2.Topfoot Then zt = 0: flag = False '撞到水平边框,将逆左下
End Select
Picture2.Visible = True
End Sub
求助 在视频中如何加上蝴蝶飞舞 雪花飘落等的动态效果,怎么制作?有动态视频素材就好了,建立一个合成,你将蝴蝶的背景弄成透明,雪花最好用AE自带的插件,那样你就不用再将雪花背景弄成透明的了 。蝴蝶的背景弄成透明的你可以在效果与设置中那个英文的插件 。
vb.net蝴蝶飞舞动画的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于flashcs6蝴蝶飞动画制作、vb.net蝴蝶飞舞动画的信息别忘了在本站进行查找喔 。

    推荐阅读