1、SWF:flash默认的动画文件,包含丰富的视频、声音、图形和动画
2、GIF:GIF(Graphics Interchange Format)图像互换格式文件,支持256色的图片文件,支持图片动画。
3、HTML:网页格式文件。
4、JPG:图片文件,以 24 位颜色存储单个位图。JPEG 是与平台无关的格式,支持最高级别的压缩,不过,这种压缩是有损耗的。渐近式 JPEG 文件支持交错。
5、PNG:图片文件,使用从LZ77派生的无损数据压缩算法,一般应用于JAVA程序、网页或S60程序中,原因是它压缩比高,生成文件体积小,支持透明。
6、EXE:自动播放的flash程序
7、APP:手机应用端。
8、MOV:QuickTime影片格式,它是Apple公司开发的一种音频、视频文件格式,用于存储常用数字媒体类型。
因flash版本的不同导出的格式也有所不同,但大同小异。
给你说下大体过程吧,首先要做自己定义鼠标,就是让鼠标换个形状(最起码看起来像个q的准星吧...),然后把鼠标系统鼠标隐藏(Mouse.hide()),让自己定义鼠标的影片剪辑开始拖动(startDrag()),准星就这么搞定了。之后就是做被射击物的影片剪辑(包括运动动画、被击中动画、退场动画)
下面介绍一下这三块动画:
运动动画-即被射击物正常移动时的动画:需要循环播放,即如果是1-20帧为运动动画,则20帧上写代码gotoAndPlay(1)
被击中动画:只播放一次,播放结束的帧上用stop()停止。如被打死则转到退场动画,没被打死则继续播放运动动画,判断死亡方法后边介绍(因为你说要有击倒跟爆头,所以要将被击中动画跟退场动画分开,要是打上就死,那就可以将被击中动画跟退场动画连接在一起了)
退场动画:当然是被打死之后播放的效果。
动画做好之后就开始最关键的代码编写,被射击物出现主要参照下雨效果的雨点做法,主要应用setInterval()+duplicateMovieClip()。复制影片剪辑同时加上onEnterFrame、onRelease事件,并定义一下影片剪辑中的变量做为生命值(如复制出来的影片剪辑为mc1,则定义mc1.health=100),onRelease事件中让生命值变量减一定数量(如mc1.health -= 50),并且让mc1播放被击中动画(gotoAndPlay())。在onEnterFrame事件中判断当前帧数(_currentframe),如果播放到被击中动画结束帧数则判断生命值变量是是否为0,为0则转为播放退场动画开始的帧数(gotoAndPlay()),不为0则继续播放运动动画。若当前帧数为运动动画结束帧数,则删除此影片剪辑(removeMovieClip())退出场景。
大体上是这个样子,说起来容易做起来难,加上慢慢修饰,不是一般地耗功夫。自己慢慢研究...
百度来的,希望能帮到你as3.0-------------数字连连看的实现
这里用到2个文件,.fla和.ActionScripte。这两个文件一定要放在同一个文件夹下
第一:创建一个名为LMC的ActionScripte文件,代码如下:
package
{
import flash.display.MovieClip
import flash.text.TextField
import flash.display.Sprite
import flash.events.MouseEvent
public class LMC extends MovieClip
{
public function LMC(str:String):void
{
init(str)
}
private function init(str:String):void
{
txt.mouseEnabled = false
txt.selectable = false
txt.text = str
this.addEventListener(MouseEvent.MOUSE_OUT,out)
this.addEventListener(MouseEvent.MOUSE_OVER,over)
}
private function out(evt:MouseEvent):void
{
}
private function over(evt:MouseEvent):void
{
}
}
}
第二:创建一个.fla文件(文件名我这里是lianliankan,随个人习惯),在舞台创建2个文本其中动态文本的实例名为“num”,
第三,新建元件名为LMC的影片剪辑,里面创建三个图层,背景第四帧只要改一下颜色为蓝色就行了,至于代码层都为 stop()
第四,打开库,右击LMC----->链接----->链接属性的类名改为:LMC,其他不变----->确定
第五,回到舞台,创建一个代码图层,如图:
第六,代码如下:
import LMC//导入LMC类
var num_i:uint = 0
var lmc:LMC//缓存用的
var arr:Array=new Array()
var c:Array=new Array()
var left:uint = 0
var top:uint = 0
for (var i:uint=0i<102i++)
{
var a:LMC = new LMC(String(Math.floor(Math.random() * 50)))
if (left+a.width>550)
{
left = 0
top += a.height
}
a.x = left
a.y = top
left += a.width
addChild(a)
arr.push(a)
a.addEventListener(MouseEvent.MOUSE_DOWN,dian)
a.addEventListener(MouseEvent.MOUSE_OVER,over)
a.addEventListener(MouseEvent.MOUSE_OUT,out)
}
function out(evt:MouseEvent):void
{
evt.currentTarget.txt.textColor = 0x0000ff
}
function over(evt:MouseEvent):void
{
evt.currentTarget.txt.textColor = 0xff0000
}
function dian(evt:MouseEvent):void
{
evt.currentTarget.gotoAndPlay(2)
if ((evt.currentTarget as LMC)==lmc)
{
return
}
if (lmc==null)
{
lmc = evt.currentTarget as LMC
}
else
{
if (lmc.txt.text == evt.currentTarget.txt.text)
{
num_i += 2
num.text = String(num_i)
removeChild(lmc)
removeChild((evt.currentTarget as LMC))
lmc = null
}
else
{
evt.currentTarget.gotoAndPlay(1)
lmc.gotoAndPlay(1)
lmc = null
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)