CAnimationController 類_第1頁
CAnimationController 類_第2頁
CAnimationController 類_第3頁
CAnimationController 類_第4頁
CAnimationController 類_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、實現(xiàn)動畫控制器,它為創(chuàng)建和管理動畫提供了中央接口。class CAnimationController : public CObject;成員:公共構(gòu)造函數(shù)名稱說明CAnimationController:CAnimationController構(gòu)造動畫控制器。CAnimationController( void);CAnimationController:CAnimationController該析構(gòu)函數(shù)。 當(dāng)動畫控制器對象被銷毀時調(diào)用。virtual CAnimationController( void);公共方法名稱說明CAnimationController:AddAnima

2、tionObject將動畫對象添加到屬于該動畫控制器的組。CAnimationGroup* AddAnimationObject( CAnimationBaseObject* pObject);CAnimationController:AddKeyframeToGroup將關(guān)鍵幀添加到組。BOOL AddKeyframeToGroup( UINT32 nGroupID, CBaseKeyFrame* pKeyframe);CAnimationController:AnimateGroup準(zhǔn)備用來運行動畫的組,并可有選擇地對其進(jìn)行安排。BOOL AnimateGroup( UINT32 nGro

3、upID, BOOL bScheduleNow = TRUE);CAnimationController:CleanUpGroup已重載。 由框架調(diào)用以在動畫已計劃好時清理組。void CleanUpGroup( UINT32 nGroupID);void CleanUpGroup( CAnimationGroup* pGroup);CAnimationController:CreateKeyframe已重載。 創(chuàng)建取決于轉(zhuǎn)換并將其添加到指定組的關(guān)鍵幀。CKeyFrame* CreateKeyframe( UINT32 nGroupID, CBaseTransition*

4、pTransition);CKeyFrame* CreateKeyframe( UINT32 nGroupID, CBaseKeyFrame* pKeyframe, UI_ANIMATION_SECONDS offset = 0.0);CAnimationController:EnableAnimationManagerEvent設(shè)置或釋放在動畫管理器的狀態(tài)更改時調(diào)用的處理程序。virtual BOOL EnableAnimationManagerEvent( BOOL bEnable = TRUE);CAnimationController:EnableAnimationTimerEvent

5、Handler設(shè)置或釋放計時事件處理程序和定時更新處理程序。virtual BOOL EnableAnimationTimerEventHandler( BOOL bEnable = TRUE, UI_ANIMATION_IDLE_BEHAVIOR idleBehavior = UI_ANIMATION_IDLE_BEHAVIOR_DISABLE);CAnimationController:EnablePriorityComparisonHandler設(shè)置或釋放要調(diào)用的優(yōu)先級比較處理程序,以確定計劃的情節(jié)提要是否可以取消、結(jié)束、剪裁或壓縮。virtual BOOL EnablePriority

6、ComparisonHandler( DWORD dwHandlerType);CAnimationController:EnableStoryboardEventHandler設(shè)置或釋放情節(jié)提要狀態(tài)以及更新事件的處理程序。virtual BOOL EnableStoryboardEventHandler( UINT32 nGroupID, BOOL bEnable = TRUE);CAnimationController:FindAnimationGroup已重載。 依據(jù)其情節(jié)提要查找動畫組。CAnimationGroup* FindAnimationGroup( UINT32 n

7、GroupID);CAnimationGroup* FindAnimationGroup( IUIAnimationStoryboard* pStoryboard);CAnimationController:FindAnimationObject查找包含指定的動畫變量的動畫對象。BOOL FindAnimationObject( IUIAnimationVariable* pVariable, CAnimationBaseObject* ppObject, CAnimationGroup* ppGroup);CAnimationController:GetKeyframeStoryboardS

8、tart返回標(biāo)志情節(jié)提要的開頭的關(guān)鍵幀。static CBaseKeyFrame* GetKeyframeStoryboardStart();CAnimationController:GetUIAnimationManager提供對封裝 IUIAnimationManager 對象的訪問權(quán)。IUIAnimationManager* GetUIAnimationManager();CAnimationController:GetUIAnimationTimer提供對封裝 IUIAnimationTimer 對象的訪問權(quán)。IUIAnimationTimer* GetUIAnimationTimer

9、();CAnimationController:GetUITransitionFactory指向 IUIAnimationTransitionFactory 接口的,或者如果創(chuàng)建轉(zhuǎn)換庫失敗則為 NULL 的指針。IUIAnimationTransitionFactory* GetUITransitionFactory();CAnimationController:GetUITransitionLibrary提供對封裝 IUIAnimationTransitionLibrary 對象的訪問權(quán)。IUIAnimationTransitionLibrary* GetUITransitionLibrar

10、y();CAnimationController:IsAnimationInProgress指示是否至少一個組在播放動畫。virtual BOOL IsAnimationInProgress();CAnimationController:IsValid指示動畫控制器是否有效。BOOL IsValid() const;CAnimationController:OnAnimationIntegerValueChanged由框架在動畫變量的整數(shù)值更改后調(diào)用。virtual void OnAnimationIntegerValueChanged( CAnimationGroup* pGroup, CA

11、nimationBaseObject* pObject, IUIAnimationVariable* variable, INT32 newValue, INT32 prevValue);CAnimationController:OnAnimationManagerStatusChanged由框架調(diào)用以響應(yīng)來自動畫管理器的 StatusChanged 事件。virtual void OnAnimationManagerStatusChanged( UI_ANIMATION_MANAGER_STATUS newStatus, UI_ANIMATION_MANAGER_STATUS previou

12、sStatus);CAnimationController:OnAnimationTimerPostUpdate由框架在動畫更新完成后調(diào)用。virtual void OnAnimationTimerPostUpdate();CAnimationController:OnAnimationTimerPreUpdate由框架在動畫更新開始之前調(diào)用。virtual void OnAnimationTimerPreUpdate();CAnimationController:OnAnimationTimerRenderingTooSlow當(dāng)動畫的呈現(xiàn)幀速率低于最小的理想幀速率時,由框架調(diào)用。virtua

13、l void OnAnimationTimerRenderingTooSlow( UINT32 fps);CAnimationController:OnAnimationValueChanged由框架在動畫變量的值更改后調(diào)用。virtual void OnAnimationValueChanged( CAnimationGroup* pGroup, CAnimationBaseObject* pObject, IUIAnimationVariable* variable, DOUBLE newValue, DOUBLE prevValue);CAnimationController:OnBef

14、oreAnimationStart由框架在該動畫安排好之前調(diào)用。virtual void OnBeforeAnimationStart( CAnimationGroup* pGroup);CAnimationController:OnHasPriorityCancel由框架調(diào)用此方法來解決安排沖突。virtual BOOL OnHasPriorityCancel( CAnimationGroup* pGroupScheduled, CAnimationGroup* pGroupNew, UI_ANIMATION_PRIORITY_EFFECT priorityEffect);CAnimatio

15、nController:OnHasPriorityCompress由框架調(diào)用此方法來解決安排沖突。virtual BOOL OnHasPriorityCompress( CAnimationGroup* pGroupScheduled, CAnimationGroup* pGroupNew, UI_ANIMATION_PRIORITY_EFFECT priorityEffect);CAnimationController:OnHasPriorityConclude由框架調(diào)用此方法來解決安排沖突。virtual BOOL OnHasPriorityConclude( CAnimationGrou

16、p* pGroupScheduled, CAnimationGroup* pGroupNew, UI_ANIMATION_PRIORITY_EFFECT priorityEffect);CAnimationController:OnHasPriorityTrim由框架調(diào)用此方法來解決安排沖突。virtual BOOL OnHasPriorityTrim( CAnimationGroup* pGroupScheduled, CAnimationGroup* pGroupNew, UI_ANIMATION_PRIORITY_EFFECT priorityEffect);CAnimationCont

17、roller:OnStoryboardStatusChanged由框架在情節(jié)提要狀態(tài)更改后調(diào)用。virtual void OnStoryboardStatusChanged( CAnimationGroup* pGroup, UI_ANIMATION_STORYBOARD_STATUS newStatus, UI_ANIMATION_STORYBOARD_STATUS previousStatus);CAnimationController:OnStoryboardUpdated由框架在情節(jié)提要更新后調(diào)用。virtual void OnStoryboardUpdated( CAnimation

18、Group* pGroup);CAnimationController:RemoveAllAnimationGroups從動畫控制器中刪除所有動畫組。void RemoveAllAnimationGroups();CAnimationController:RemoveAnimationGroup從動畫控制器中刪除具有指定 ID 的動畫組。void RemoveAnimationGroup( UINT32 nGroupID);CAnimationController:RemoveAnimationObject從動畫控制器中刪除動畫對象。void RemoveAnimationObject( CA

19、nimationBaseObject* pObject, BOOL bNoDelete = FALSE);CAnimationController:RemoveTransitions從屬于指定的組的動畫對象中刪除轉(zhuǎn)換。void RemoveTransitions( UINT32 nGroupID);CAnimationController:ScheduleGroup安排動畫。BOOL ScheduleGroup( UINT32 nGroupID, UI_ANIMATION_SECONDS time = 0.0);CAnimationController:SetRelatedWnd建立動畫控制器

20、和窗口之間的關(guān)系。void SetRelatedWnd( CWnd* pWnd);CAnimationController:UpdateAnimationManager指引動畫管理器更新所有動畫變量的值。virtual void UpdateAnimationManager();受保護(hù)的方法名稱說明CAnimationController:CleanUpGroup已重載。 清除該組的幫助器。void CleanUpGroup( UINT32 nGroupID);void CleanUpGroup( CAnimationGroup* pGroup);CAnimationControll

21、er:OnAfterSchedule由框架在指定組的動畫剛剛安排好時調(diào)用。virtual void OnAfterSchedule( CAnimationGroup* pGroup);受保護(hù)的數(shù)據(jù)成員名稱說明CAnimationController:g_KeyframeStoryboardStart表示情節(jié)提要的開頭的關(guān)鍵幀。static CBaseKeyFrame g_KeyframeStoryboardStart;CAnimationController:m_bIsValid指定動畫控制器是否有效。 如果當(dāng)前操作系統(tǒng)不支持 Windows 動畫 API,則該成員會設(shè)置為 FALSE。BOOL m_bIsValid;CAnimationController:m_lstAnimationGroups屬于此動畫控制器的動畫組列表。C

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論