动画教程之Flash游戏开辟教程:第六节-Flash actionscript
与位图图形相比,矢量图形需要的内存和存储空间小很多,因为它们是以数学公式而不是大型数据集来表示的。位图图形之所以更大,是因为图像中的每个像素都需要一组单独的数据来表示。请先浏览:Flash游戏开辟教程:第五节
典范接宝游戏中人物类的CLASS解说
起首请下载源文件:CLASS.rar
下载好,翻开一看,以下:
[*]一个FLA主文件:
[*]run_game.fla
[*]三个目次:
[*]player
[*]items
[*]game
我把.as类文件分门别类的寄存,如许看上往明晰,更主要的是他人看了会以为我很专业。
[*]目次player里有:
[*]Player_1.as
[*]Player_2.as
[*]目次items里有:
[*]Jin.as
[*]Bao1.as
[*]Bao2.as
[*]目次game里有:
[*]Game_control.as
[*]Score_view.as
[*]Time_control.as
.as详细意义看文件名就应当能晓得,这里要说的是,一样平常默许的划定规矩,放CLASS目次用小写字母定名,.as的类文件名的首字母用年夜写
这节具体讲下人物类的CLASS,起首是Player_1.as,人物小李的类
起首往源文件里点进人物1的MC,看下布局。
由两帧构成,一是“stand”,二是“run”
人物下面有一层有个圆形的MC,我把它定名为hit,靠这个mc来做碰撞检测。
金币内里也有这个名叫hit的MC,我判别人物和金币是否是相碰是用这个语句的:金币MC.hit.hitTest(人物MC.hit)
传统碰撞检测都这么做。
又入手下手扯话题了,即刻拉返来
如今拿出Player_1.as的代码
classplayer.Player_1extendsMovieClip{
privatevarhit:MovieClip;//人物MC里呈现的器材都要声明,hit这个MC也不破例
publicvarspeed:Number;//这个是人物挪动的速率
//机关函数
functionPlayer_1(){
init();//初始化的人物打包在init()里了
}
//隐式设置-猎取法
publicfunctionset_speed(sss:Number):Void{
speed=sss;
}//可供外界用MC._speed=X修正speed的数值
publicfunctionget_speed():Number{
return(speed);
}//可供外界读取speed的数值
//私-私有办法
//---初始化办法---
privatefunctioninit(){
_y=310;
_x=300;//人物离开舞台后的初始地位
speed=6;//挪动速率
onEnterFrame=Move;//人物离开舞台后就入手下手onEnterFrame,内容见Move这个function
}
//---人物挪动---
privatefunctionMove(){
if(Key.isDown(37)){
_xscale=-100;
_x-=speed;
this.gotoAndStop("run");
}elseif(Key.isDown(39)){
_xscale=100;
_x+=speed;
this.gotoAndStop("run");
}else{
this.gotoAndStop("stand");
}
//以上是摆布键的界说,应当看得懂吧?
if(Key.isDown(38)){
speed=12;
}else{
speed=6;
}
//以上是上键的界说,按着后速率就更加咯
range();//局限界说,内容见上面
}
//---限制挪动局限---
privatefunctionrange(){
if(_x>540){
_x=540;
}
if(_x<10){
_x=10;
}//不让人物出界
}
}
这个CLASS文件就是如许。依照前几节我说的布局,鸟鸟们对比这看下。能不克不及看懂。这里要说的是,第一行的player.Player_1,个中后面的player暗示路径“.”就相称于"",player.Player_1就相称于playerPlayer_1,联系关系到MC的时分也要这么写的。
小李的CLASS写完了
然后写叫人的CLASS
记得前几节我说的“承继”这个观点么?
快往翻出来看看。
叫人和小李就是上键妙技分歧,以是承继过去后,注释把按键把持重写一次就好了,别的就全承继小李的类了
代码以下
classplayer.Player_2extendsplayer.Player_1{
//承继了player.Player_1类,以是只必要把二者间独一分歧的Move函数重写次就能够啦~固然机关函数仍是要的
functionPlayer_2(){
init();
}
//人物2的Move函数
privatefunctionMove(){
if(Key.isDown(37)){
_xscale=-100;
_x-=speed;
if(_currentframe!=3){
gotoAndStop("run");
}//这句本人体味下,不加的话,按上键后叫人就一向一直的在腾跃了
}elseif(Key.isDown(39)){
_xscale=100;
_x+=speed;
if(_currentframe!=3){
gotoAndStop("run");
}
}else{
if(_currentframe!=3){
gotoAndStop("stand");
}
}
//
if(Key.isDown(38)){
gotoAndStop("jump");
}
range();
}
}
好了,人物类就写完了。
消化下。前面的宝贝类迥然不同,下一节再写。
这个播放器非常小,只需花一点点时间下载,对于在体验网页上的多媒体效果是个很好的开始。 动画广告相对于传统广告而言,它的优势在于不受时间、地点等条件限制,可以通过动画的形式将那些复杂又抽象的广告内容更加简单化、生动形象化。 各类广告形式,相信大部分网民基本都关注过,而毋庸置疑,一个画面精美,生动活泼的互动Flash动画广告,比其他广告形式更加吸引你我的眼球。这就是Flash动画的优势。 FLASH在网站建设中广泛的应用,但是FLASH也有自身的缺陷,尤其考虑到网络营销的综合效果时,FLASH 格式的广告并非最好的选择,有时甚至会降低广告效果。 对插件的批评之一是他们一般出现在称为Box的网页的一个预定的区域。虽然在某种情况下表现不错,但Box经常以罪魁祸首的面目出现。 在网络营销中所提供的利益。如果我们仔细看看国内外的专业网站,很少看到应用FLASH格式的广告,如网络上的知名网站。相信它们并不缺乏FLASH图片的制作力量。 常见的富媒体广告形式有横幅广告(BANNER,旗帜广告)按钮广告(BUTTON)弹出窗口广告(pop-up ads,弹窗)浮动广告(floting ads,飘浮广告,floaters)插播式广告(Interstitial)全屏广告(full screen) 流技术让用户在下载的同时看到动画(与全部下载后再观看相反)。但是这也不是什么新技术 - Web一出现就有这种技术了。 FLASH在网站建设过程中既然有这么多的问题,那为什么我们还继续使用FLASH,不可否认FLASH的问题的确存在,但也不可忽视FLASH在网站建设中。
页:
[1]