![第10章動畫與多媒體_第1頁](http://file4.renrendoc.com/view/f4f082fc2d3100998481d13fc2bb8bac/f4f082fc2d3100998481d13fc2bb8bac1.gif)
![第10章動畫與多媒體_第2頁](http://file4.renrendoc.com/view/f4f082fc2d3100998481d13fc2bb8bac/f4f082fc2d3100998481d13fc2bb8bac2.gif)
![第10章動畫與多媒體_第3頁](http://file4.renrendoc.com/view/f4f082fc2d3100998481d13fc2bb8bac/f4f082fc2d3100998481d13fc2bb8bac3.gif)
![第10章動畫與多媒體_第4頁](http://file4.renrendoc.com/view/f4f082fc2d3100998481d13fc2bb8bac/f4f082fc2d3100998481d13fc2bb8bac4.gif)
![第10章動畫與多媒體_第5頁](http://file4.renrendoc.com/view/f4f082fc2d3100998481d13fc2bb8bac/f4f082fc2d3100998481d13fc2bb8bac5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
教育部普通高等教育十二五國家級規(guī)劃教材
《C#程序設(shè)計(jì)及應(yīng)用教程》第3版
(包括簡化版:《C#程序設(shè)計(jì)教程》第3版)
第10章動畫與多媒體2Ch10動畫與多媒體10.1WPF動畫基礎(chǔ)10.2基本動畫10.3關(guān)鍵幀動畫10.4路徑動畫10.5用代碼實(shí)現(xiàn)變換10.6對繪圖結(jié)果進(jìn)行效果處理10.7音頻和視頻的播放310.1WPF動畫基礎(chǔ)在WPF應(yīng)用程序中,所有可見對象都可以實(shí)現(xiàn)動畫功能,具體的實(shí)現(xiàn)可以分為兩大類動畫技術(shù)。410.1WPF動畫基礎(chǔ)除了逐幀動畫以外,本地動畫、時(shí)鐘動畫以及演示圖板動畫都是基于Timeline類來實(shí)現(xiàn)的。Timeline類是定義計(jì)時(shí)行為的抽象基類。該抽象類提供了控制動畫播放的屬性,從該類繼承的各種動畫類都可以使用這些屬性。Duration屬性RepeatBehavior屬性AutoReverse屬性BeginTime屬性FillBehavior屬性控制時(shí)間線速度的屬性(SpeedRatio、AccelerationRatio、DecelerationRatio屬性)5利用Duration屬性控制動畫例10-1
(a)初始效果(b)動畫播放期間的效果6利用RepeatBehavior屬性控制動畫例10-2
7利用AutoReverse屬性控制動畫例10-3
8利用SpeedRatio、AccelerationRatio、DecelerationRatio屬性控制動畫例10-4
不同速度控制的運(yùn)行效果910.2基本動畫基本動畫類型用本地動畫實(shí)現(xiàn)基本動畫用Storyboard實(shí)現(xiàn)基本動畫用時(shí)鐘動畫實(shí)現(xiàn)基本動畫101.基本動畫類型WPF提供的基本動畫可控制多種類型,這些動畫的命名約定為<類型>Animation可用的<類型>有:Byte、Int16、Int32、Int64、Single、Double、Decimal、Color、Point、Size、Thickness、Rect、Vector、Vector3D、Quaternion、Rotation3D。在這些動畫類型中,常用有DoubleAnimation、ColorAnimation和PointAnimation。11From/To/By動畫的基本用法(假定基值為120)格
式舉
例說
明From起始值
To結(jié)束值From50To200從起始值50逐漸變化到結(jié)束值200From起始值
By偏移量From50By150從起始值50逐漸變化到200(即50+150)From起始值From50從起始值50逐漸變化到基值120To結(jié)束值To150從基值120逐漸變化到結(jié)束值150By偏移量By50從基值120逐漸變化到170(即120+50)
122.用本地動畫實(shí)現(xiàn)基本動畫本地動畫是指直接對對象的屬性值進(jìn)行處理的動畫,這種動畫受計(jì)時(shí)系統(tǒng)支持,但不能對動畫進(jìn)行暫停等交互操作。本地動畫只能用C#代碼來實(shí)現(xiàn),無法用XAML來描述。13用本地動畫實(shí)現(xiàn)基本動畫示例10-5
用本地動畫實(shí)現(xiàn)基本動畫運(yùn)行效果143.用Storyboard實(shí)現(xiàn)基本動畫基本動畫、關(guān)鍵幀動畫、路徑動畫都可以使用Storyboard來實(shí)現(xiàn)。用Storyboard實(shí)現(xiàn)動畫時(shí),既可以用C#代碼來編寫,也可以用XAML來描述。15用Storyboard實(shí)現(xiàn)基本動畫示例例10-6、10-7運(yùn)行效果164.用時(shí)鐘動畫實(shí)現(xiàn)基本動畫時(shí)鐘動畫適用于處理大量類型相同而且需要交互的場合。例10-8運(yùn)行效果1710.3關(guān)鍵幀動畫關(guān)鍵幀動畫類型利用BlendforVS2012制作關(guān)鍵幀動畫在關(guān)鍵幀動畫中插入樣條動畫在關(guān)鍵幀動畫中插入緩動函數(shù)1.關(guān)鍵幀動畫類型關(guān)鍵幀動畫類型是內(nèi)插關(guān)鍵幀的容器。關(guān)鍵幀動畫類型的命名約定為<類型>AnimationUsingKeyFrames在每個(gè)關(guān)鍵幀動畫類型的開始標(biāo)記和結(jié)束標(biāo)記之間,都可以使用多種內(nèi)插關(guān)鍵幀類型,每個(gè)內(nèi)插關(guān)鍵幀都由關(guān)鍵時(shí)間和關(guān)鍵值組成。18關(guān)鍵幀動畫可控制的屬性類型以及可用的內(nèi)插方法WPF可控制的屬性類型Silverlight可控制的屬性類型可用的內(nèi)插方法Boolean、Matrix、String、ObjectObject離散Byte、Color、Decimal、Double、Int16、Int32、Int64、Point、Rect、Quaternion、VectorRotation3D、Single、Size、Thickness、Vector3DColor、Double、Point離散、線性、樣條192.利用BlendforVS2012制作關(guān)鍵幀動畫在Window7下制作關(guān)鍵幀動畫或者路徑動畫時(shí),或者制作應(yīng)用程序原型時(shí),一般借助Blend+SketchFlowforVS2012來實(shí)現(xiàn),這樣能極大地提高項(xiàng)目開發(fā)的效率。20BlendforVS2012的設(shè)計(jì)界面21使用BlendforVS2012制作關(guān)鍵幀動畫的操作要點(diǎn)創(chuàng)建演示圖板后才能利用時(shí)間線添加關(guān)鍵幀。先選擇要對其進(jìn)行動畫的對象,然后拖動時(shí)間線到某個(gè)關(guān)鍵時(shí)間,再修改該關(guān)鍵時(shí)間的目標(biāo)屬性值。在事件觸發(fā)器中指定事件。223.在關(guān)鍵幀動畫中插入樣條動畫樣條動畫使用三次貝塞爾曲線來實(shí)現(xiàn),每條曲線段都由4個(gè)點(diǎn)來定義:起點(diǎn)、終點(diǎn)和中間的兩個(gè)控制點(diǎn)。23樣條動畫示例例10-10244.在關(guān)鍵幀動畫中插入緩動函數(shù)在內(nèi)插關(guān)鍵幀中,還可以將特殊的數(shù)學(xué)公式f(t)應(yīng)用于動畫,即隨著時(shí)間t的變化,將函數(shù)f(t)的值自動插入到某個(gè)屬性值中,從而實(shí)現(xiàn)各種特殊的動畫效果。這些實(shí)現(xiàn)特殊效果的數(shù)學(xué)公式稱為緩動函數(shù)。25常用的緩動函數(shù)名稱說明BackEase在某一動畫開始沿指示的路徑進(jìn)行動畫處理前稍稍收回該動畫的移動。其效果類似跳遠(yuǎn)時(shí)先后退幾步再起跑BounceEase創(chuàng)建具有彈跳效果的動畫。一般使用EaseOut模擬落地的反彈效果。Bounces屬性獲取或設(shè)置彈跳次數(shù),Bounciness屬性獲取或設(shè)置下一次反彈的幅度。該值越小表示彈性越好,值越大表示彈性越差CircleEase使用循環(huán)函數(shù)加速和減速的動畫ElasticEase類似于彈簧在停止前來回振蕩的動畫ExponentialEase使用指數(shù)公式加速和減速的動畫PowerEase使用公式
f(t)=tp(其中,p等于Power屬性)加速和減速的動畫SineEase使用正弦公式加速和減速的動畫26緩動函數(shù)動畫示例例10-11272810.4路徑動畫使用PathGeometry繪制路徑路徑動畫類型利用BlendforVS2012制作路徑動畫1.使用PathGeometry繪制路徑例10-12路徑標(biāo)記語法示例292.路徑動畫類型WPF提供的路徑動畫類型有:PointAnimationUsingPathDoubleAnimationUsingPathMatrixAnimationUsingPath30路徑動畫類型示例例10-13PointAnimationUsingPath示例31路徑動畫類型示例例10-14DoubleAnimationUsingPath示例32路徑動畫類型示例例10-15MatrixAnimationUsingPath示例333.利用BlendforVS2012制作路徑動畫在實(shí)際的項(xiàng)目開發(fā)中,一般借助BlendforVS2012讓其自動生成實(shí)現(xiàn)路徑動畫的代碼。在BlendforVS2012中,開發(fā)人員只需要通過鼠標(biāo)拖動和簡單操作,即可以讓其自動生成對應(yīng)的路徑動畫。34利用BlendforVS2012制作路徑動畫步驟第1步:在Blend中繪制形狀和路徑第2步:在Blend中將形狀和文本轉(zhuǎn)換為路徑第3步:在Blend中合并和剪切路徑35利用BlendforVS2012制作路徑動畫示例例10-16在Blend中用鉛筆繪制一條螺旋狀路徑,然后讓小球沿著該路徑移動。363710.5用代碼實(shí)現(xiàn)變換二維變換基本概念對變換進(jìn)行動畫處理1.二維變換基本概念用戶通過改變變換矩陣的值,可以旋轉(zhuǎn)、按比例縮放、扭曲和平移對象。用戶也可以通過WPF提供的許多用起來更容易的變換類,可直接對元素進(jìn)行變換操作。38WPF的基本變換類型類
型變換屬性brushTransform,RelativeTransformContainerVisualTransformDrawingGroupTransformFrameworkElementRenderTransform,LayoutTransformGeometryTransformTextEffectTransformUIElementRenderTransform392.對變換進(jìn)行動畫處理可以通過WPF控件的Effect屬性對各種變換(平移、旋轉(zhuǎn)、縮放、扭曲等)進(jìn)行動畫處理。40對變換進(jìn)行動畫處理示例例10-19對變換進(jìn)行動畫處理示例414210.6對繪圖結(jié)果進(jìn)行效果處理模糊效果(BlurEffect)陰影效果(DropShadowEffect)文本效果(TextEffect)1.模糊效果(BlurEffect)利用繼承自Effect的BlurEffect類,可以使目標(biāo)紋理具有模糊效果(模擬通過離焦透鏡查看對象的情形)。例10-2043用BlurEffect實(shí)現(xiàn)模糊效果2.陰影效果(DropShadowEffect)利用繼承自Effect的DropShadowEffect類,可以在目標(biāo)紋理對象的周圍創(chuàng)建投影效果,比如柔和陰影、噪音、強(qiáng)烈投影以及外部發(fā)光效果等。例10-2144用DropShadowEffect實(shí)現(xiàn)陰影效果3.文本效果(TextEffect)對于模糊效果和陰影效果來說,Effect用于將所有字符作為一個(gè)整體進(jìn)行處理,而利用TextEffect,則可以對文本中的每個(gè)字符進(jìn)行效果和變換處理。例10-2245用DropShadowEffect實(shí)現(xiàn)旋轉(zhuǎn)效果4610.7音頻和視頻的播放語音音頻和視頻(MediaElement)SoundPlayerAction類1.語音Microsoft.NET框架在System.Speech.Synthesis.SpeechSynthesizer類中提供了對已安裝的語音合成引擎功能的訪問,在需要通過文字發(fā)音的項(xiàng)目需求中非常有用。47語音基本用法示例例10-23語音用法示例482.音頻和視頻(MediaElement)在WPF中,播放音頻或視頻最簡單的方法就是用MediaElement控件來實(shí)現(xiàn),該對象可播放多種類型的音頻文件和視頻文件,而且還能控制媒體的播放、暫停、停止以及音量和播放速度等。若要在WPF中使用音頻或視頻,必須在計(jì)算機(jī)上安裝WindowsMediaPlayer10或更高版本。下面的XAML描述了
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《麥肯錫KPI資料》課件
- 18《古詩三首》第一課時(shí)(說課稿)-2024-2025學(xué)年統(tǒng)編版語文六年級上冊
- 《游山西村陸游》課件
- 《簡單的邏輯學(xué)》課件
- 《專利權(quán)的保護(hù)》課件
- 2025年春季學(xué)期三年級語文下冊教學(xué)計(jì)劃及教學(xué)進(jìn)度表
- 加盟連鎖店合同范本
- 代銷經(jīng)營合同范本
- 上海咨詢合同范本
- 充電服務(wù)合作合同范本
- 《大學(xué)計(jì)算機(jī)基礎(chǔ)》第2章計(jì)算機(jī)系統(tǒng)組成
- 2024年廣東省初中學(xué)業(yè)水平考試中考英語試卷(真題+答案解析)
- 人教版PEP英語單詞表三年級到六年級
- 職業(yè)培訓(xùn)師三級操作技能鑒定卷庫及答案
- 新疆烏魯木齊市2024年中考英語模擬試題(含答案)
- 實(shí)驗(yàn)室監(jiān)督人員培訓(xùn)
- 教案設(shè)計(jì)常見問題及解決措施
- (正式版)JBT 14932-2024 機(jī)械式停車設(shè)備 停放客車通-用技術(shù)規(guī)范
- (正式版)JBT 14682-2024 多關(guān)節(jié)機(jī)器人用伺服電動機(jī)技術(shù)規(guī)范
- 2024年職業(yè)衛(wèi)生技術(shù)人員評價(jià)方向考試題庫附答案
- 紅樓夢詩詞全集
評論
0/150
提交評論