亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Flash游戲制作:敵人窮追不舍(鼠標感應)的追逐動畫教程

  發(fā)布時間:2015-01-16 15:36:11   作者:佚名   我要評論
這篇教程是向腳本之家的朋友介紹利用Flash制作敵人窮追不舍的追逐動畫游戲方法,教程很不錯,教程主要運用了三角函數(shù),很值得學習,推薦到腳本之家,喜歡的朋友可以跟著教程一起來學習吧

這篇教程主要是向腳本之家的朋友介紹利用Flash制作敵人窮追不舍的追逐動畫游戲方法,教程不是很難,只是將sin,cos函數(shù)的應用罷了。。。。會應用的話。。。會發(fā)現(xiàn)很都游戲的制作都離不開三角函數(shù)。。。。如果實在不知道三角函數(shù)是什么。。。。自己上網(wǎng)查去。。。

下面我們先來看看效果圖吧:
 


還有的就是在一定的范圍內(nèi)追逐目標。。。。
其實是計算出兩點距離d后加一點判斷。。。然后再執(zhí)行移動。。。詳細參考源文件。。。

效果:




。。。講玩。。。。打機去^_^

 圖1

Rt△ABC,∠C=90度。。。∠A所對的邊叫a..∠B的對邊叫b...這不用再由初中知識說起吧- -~
sin∠1=a:c=a/c(對邊比斜邊)
cos∠1=b:c=b/c(鄰邊比斜邊)
至于asin就是求sin的反值。。。sin是求邊的比。。。那么asin就是用比來反求角的值
即asin(a:c)=∠1..
acos就是反求cos的值。。。詳細不想說。。。
還有要用到的是鉤股定理。。。
既a*a+b*b=c*c
如下圖:

 

 圖2

d就可以通過(m.x-m.y)的平方加上(m.y-s.y)的平方的和再開方來求出
然后用asin(abs(m.y-s.y):d)求出∠1...既s1的值...
繼續(xù)往下看:

 圖3

s1已知....(感覺在做數(shù)學題- -~)
i就是在1單位時間內(nèi)移動的距離。。。。因為sin∠1=a:c
假設ss=sin(s1)
所以sin(s1)=a:c=a:i=ss,a=ss*i。
假設cos(s1)=b:c=b:1=cc,c=cc*i。

還有要注意的一個問題。。。。就是要計算出移動后的點的坐標。。。。
。。參照圖2
(s.x,s.y)
要去追(m.x,m.y)那個紅點。。。再參照圖3,當紅點在藍點的右上方時————即(m.x>=s.x && m.y>=s.y)
藍點移動到的點的坐標就是。。。。(s.x+cc*i,s.y+ss*i)
在右下方(m.x>=s.x && m.y<=s.y)
移動后的點(s.x+cc*i,s.y-ss*i)
在左下方時(m.x<=s.x,m.y<=s.y)
移動后的點(s.x-cc*i,s.y-ss*i)
在左上方時(m.x<=s.x && m.y>=s.y)
移動后點坐標(s.x-cc*i,s.y+ss*i)

源程序:

復制代碼
代碼如下:
stage.addEventListener(MouseEvent.MOUSE_MOVE,moves);
var i:int=int(q.text);
var mou:Sprite=new Sprite();//用來得到鼠標的坐標
var s1:Number=0;//角
var d:Number=0;//兩點的距離
addChild(mou);
function moves(e:MouseEvent){
m.x=mou.mouseX;
m.y=mou.mouseY;
}
stage.addEventListener(Event.ENTER_FRAME,mm);
function mm(e:Event){
d=Math.sqrt(pf(abs(s.x-m.x))+pf(abs(s.y-m.y)));
s1=Math.asin(abs(s.y-m.y)/d);
if(d>=i){
if(m.x>=s.x && m.y>=s.y){
s.y+=Math.sin(s1)*i;
s.x+=Math.cos(s1)*i;
}else if(m.x<=s.x && m.y<=s.y){
s.y-=Math.sin(s1)*i;
s.x-=Math.cos(s1)*i;
}else if(m.x<=s.x && m.y>=s.y){
s.x-=Math.cos(s1)*i;
s.y+=Math.sin(s1)*i;
}else if(m.x>=s.x && m.y<=s.y){
s.x+=Math.cos(s1)*i;
s.y-=Math.sin(s1)*i;
}
}else{
s.x=m.x;
s.y=m.y;
}
}
function abs(n:Number){
return(Math.abs(n));
}//計算絕對值
function pf(n:Number){
return n*n;
}//計算平方
//以下是設定速度的按鈕
b1.addEventListener(MouseEvent.CLICK,se);
function se(e:Event){
i=int(q.text);
}
詳盡可以看源文件。。。。。請用Flash CS4打開。。。。

效果:


還有的就是在一定的范圍內(nèi)追逐目標。。。。
其實是計算出兩點距離d后加一點判斷。。。然后再執(zhí)行移動。。。詳細參考源文件。。。

效果:




教程結束,以上就是flash敵人窮追不舍(鼠標感應)的追逐動畫教程,希望能對大家有所幫助!

相關文章

最新評論