日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

[Silverlight动画]转向行为 - 转向机车

發(fā)布時(shí)間:2025/7/14 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [Silverlight动画]转向行为 - 转向机车 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)向機(jī)車類繼承機(jī)車類并增加轉(zhuǎn)向行為。每個(gè)行為都被定義成公開函數(shù),在每幀或者一段時(shí)間間隔內(nèi)調(diào)用以實(shí)現(xiàn)對(duì)應(yīng)的轉(zhuǎn)向力。通常所有轉(zhuǎn)向力在調(diào)用之后再調(diào)用機(jī)車的update函數(shù)。

轉(zhuǎn)向函數(shù)都是這樣工作的:不管什么時(shí)候調(diào)用了一個(gè)轉(zhuǎn)向函數(shù),都會(huì)計(jì)算轉(zhuǎn)向力,這個(gè)力用來確定機(jī)車是順時(shí)針旋轉(zhuǎn)還是逆時(shí)針旋轉(zhuǎn)。比如,seek(尋找)函數(shù)會(huì) 計(jì)算出一個(gè)力,確保機(jī)車能從當(dāng)前方向直接面向目標(biāo)點(diǎn)。這或許會(huì)受到不止一個(gè)擁有轉(zhuǎn)向行為的機(jī)車的影響,起初的尋找點(diǎn),會(huì)在考慮避開或躲避后而改變。當(dāng)這些 力疊加后,update函數(shù)才被調(diào)用,最終把一切都反應(yīng)在機(jī)車上,并導(dǎo)致其速度的改變(方向和大小)。

public class SteeredVehicle:Vehicle{private double _maxForce = 1;private Vector2D _steeringForce;public SteeredVehicle(){_steeringForce = new Vector2D(0, 0); }public double maxForce{get{return _maxForce;}set{_maxForce = value;}}public override void update(){_steeringForce.truncate(_maxForce);_steeringForce = _steeringForce.divide(_mass);_velocity = _velocity.add(_steeringForce);_steeringForce = new Vector2D(0, 0);base.update();}}

立刻進(jìn)入眼簾的是_steeringForce屬性,它是一個(gè)2D向量。該屬性作為每個(gè)行為疊加后的轉(zhuǎn)向合力。同時(shí)留意此處還有一個(gè)_maxForce屬 性,因?yàn)楝F(xiàn)實(shí)中不會(huì)有什么旋轉(zhuǎn)是一瞬間完成的,所以要對(duì)旋轉(zhuǎn)力加以限制,使其在一幀里的大小不會(huì)太離譜。可以通過公maxForce賦值對(duì)maxForce的修正,會(huì)使機(jī)車旋轉(zhuǎn)更急劇,移動(dòng)更快速,走位更準(zhǔn)確,或是出現(xiàn)一個(gè)很牛x的大甩尾。
現(xiàn)在,讓我們解剖update函數(shù)。先假設(shè)有一堆轉(zhuǎn)向行為已經(jīng)被調(diào)用,那么此時(shí)的_steeringForce屬性即是一個(gè)有意義的向量。第一個(gè) truncate(截?cái)?#xff09;函數(shù)是不讓_steeringForce超過最大作用力。然后除以(divide)機(jī)車的質(zhì)量(mass)。在現(xiàn)實(shí)中,越重的物 體有著越大的動(dòng)力,旋轉(zhuǎn)的角度也越大,而較輕的物體則旋轉(zhuǎn)更快速。接著把轉(zhuǎn)向力疊加于機(jī)車的當(dāng)前速度上,再把_steeringForce設(shè)回零向量,以 便于下一輪作用力的疊加。最終調(diào)用父類已經(jīng)實(shí)現(xiàn)的update函數(shù)。

該是了解行為實(shí)現(xiàn)的時(shí)候了,從尋找(seek)行為開始。每個(gè)行為都是轉(zhuǎn)向機(jī)車類的一個(gè)公開函數(shù),某些行為會(huì)需要新的屬性和額外的函數(shù)。

總結(jié)

以上是生活随笔為你收集整理的[Silverlight动画]转向行为 - 转向机车的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。