MAX SDK中資料塊的使用方法

2021-05-22 05:12:25 字數 851 閱讀 3022

雖然前面已經簡單說過了資料塊的使用方法,但是可能有些細節表述的不夠清楚。資料塊可以被懸掛到任意乙個從animatable類派生的物件上,並且能夠被儲存進.max檔案內,這說明我們可以用資料塊來儲存我們所需要的特殊資訊,而且保證資訊在下次開啟檔案時仍然存在並正確獲取。

其中有乙個細節需要注意,我們為資料塊分配記憶體時需要包含"max_mem.h"標頭檔案,並且最好使用max_malloc,否則可能會出現警告。分配的內存在新增如資料塊內不應被釋放,它將由系統控制在關閉檔案的時候釋放。下面用乙個例項來說明資料塊的使用方法。

int len = 512; //需要分配記憶體大小

//char p[512]; //錯誤!該內存在函式體結束後會被釋放

char* p = (char*)max_malloc(512); //分配儲存空間,注意使用max_malloc可以避免警告

//往該記憶體內寫入所需要的資料。。。。

//max_free(p); //錯誤!分配的記憶體不應該在釋放,此時由系統管理

//下面演示如何讀取資料塊

//如果想要移除該資料塊

注意,此處只是以結點物件為例,我們也可以將資料塊懸掛到其他物件上,如object物件。有了資料塊這個東西,我們儲存自定義的資料就方便多了,而且還可以儲存任意數量的資訊,相比於自定義屬性來說,有著更廣泛的用途。(畢竟自定義屬性只能儲存字串、整型、浮點型和布林型少數幾中資料)

一般認為,如果僅僅是儲存極少量的資料比如標誌量、屬性之類的資料,我們一般用自定義屬性來就可以了,沒有必要動用資料塊;但如果是記錄較多資訊,或者是一些格式化的資訊,當然用資料塊要方便的多,否則定義那麼多自定義屬性豈不是很麻煩。但要特別注意,不要想著將資料塊懸掛到場景根結點下,在儲存.max檔案時是不會儲存根結點資訊的。

Java 中 this 的使用方法

1.this是指當前物件自己。當在乙個類中要明確指出使用物件自己的的變數或函式時就應該加上this引用。如下面這個例子中 public class a public static void main string args 執行結果 s helloworld 1 this.s hello 2 thi...

Oracle中資料字典的使用方法

資料字典 data dictionary 是一種使用者可以訪問的記錄資料庫和應用程式元資料的目錄。主動資料字典是指在對資料庫或應用程式結構進行修改時,其內容可以由dbms自動更新的資料字典。被動資料字典是指修改時必須手工更新其內容的資料字典。資料庫資料字典是一組表和檢視結構。它們存放在system表...

jQuery中 live 方法的使用方法

來自 jqueryapi 100214.chm live type,data fn 概述jquery 給所有匹配的元素附加乙個事件處理函式,即使這個元素是以後再新增進來的也有效。這個方法是基本是的 bind 方法的乙個變體。使用 bind 時,選擇器匹配的元素會附加乙個事件處理函式,而以後再新增的元...