System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本公開實施例涉及計算機技術,尤其涉及一種數據處理方法、裝置、電子設備及存儲介質。
技術介紹
1、ecs(entity-component-system,實體-組件-系統)架構在互聯網應用和游戲開發中得到廣泛的應用。在ecs架構中,組件是構成實體對象和行為的核心要素,通過對組件復制操作,便于對組件進行快速重用,可擴展現有的組件功能,節省功能的設計與開發時間。
2、現有技術中,在復制組件時,需獲取組件的屬性數據,將組件對應的引擎對象以及組件的屬性數據存儲至剪貼板,以完成對組件的復制操作。現有技術中的不足之處至少包括:由于在復制過程中剪貼板中保存有引擎對象,易出現剪貼板中的引擎對象與實體引擎耦合,造成內存泄露或程序崩潰的問題;并且,將引擎對象和屬性數據復制到剪貼板導致剪貼板的內存占用量大,數據格式混亂,不便于維護。
技術實現思路
1、本公開提供了一種數據處理方法,以實現降低內存占用,提高系統穩定性,使剪貼板中存儲的數據格式更加精簡、干凈,便于進行維護的目的。
2、第一方面,本公開實施例提供了一種數據處理方法,包括:
3、響應于復制觸發操作,獲取待復制對象,確定與所述待復制對象對應的目標組件;
4、針對每個所述目標組件,獲取所述目標組件的組件對象和引擎對象,基于所述組件對象和所述引擎對象確定與所述目標組件對應的目標存儲數據,其中,所述目標存儲數據包括組件對象類型字段、引擎對象類型字段、組件對象序列化數據和引擎對象序列化數據;
5、
6、第二方面,本公開實施例還提供了一種數據處理裝置,包括:
7、復制操作觸發模塊,用于響應于復制觸發操作,獲取待復制對象,確定與所述待復制對象對應的目標組件;
8、存儲數據生成模塊,用于針對每個所述目標組件,獲取所述目標組件的組件對象和引擎對象,基于所述組件對象和所述引擎對象確定與所述目標組件對應的目標存儲數據,其中,所述目標存儲數據包括組件對象類型字段、引擎對象類型字段、組件對象序列化數據和引擎對象序列化數據;
9、剪貼板數據存儲模塊,用于將與所述目標組件對應的所述目標存儲數據存儲至剪貼板中。
10、第三方面,本公開實施例還提供了一種電子設備,該電子設備包括:
11、一個或多個處理器;
12、存儲裝置,用于存儲一個或多個程序,
13、當所述一個或多個程序被所述一個或多個處理器執行,使得所述一個或多個處理器實現如本公開實施例中任一所述的數據處理方法。
14、第四方面,本公開實施例還提供了一種包含計算機可執行指令的存儲介質,該計算機可執行指令在由計算機處理器執行時用于執行如本公開實施例中任一所述的數據處理方法。
15、本公開實施例,通過響應于復制觸發操作,獲取待復制對象,確定與待復制對象對應的目標組件,以通過對每個目標組件進行復制操作,完成對待復制對象的復制操作;針對每個目標組件,獲取目標組件的組件對象和引擎對象,基于組件對象和引擎對象確定與目標組件對應的目標存儲數據,使目標存儲數據可反映出組件對象和引擎對象的特征;通過將與目標組件對應的目標存儲數據存儲至剪貼板中,完成對目標組件的復制。由于目標存儲數據包括組件對象類型字段、引擎對象類型字段、組件對象序列化數據和引擎對象序列化數據,即未將引擎自身存儲在剪貼板中,解決了由于引擎耦合造成內存泄露或程序崩潰的問題,同時降低了復制操作導致的內存占用,有利于提高系統穩定性;并且,將組件對象類型字段、引擎對象類型字段、組件對象序列化數據和引擎對象序列化數據存儲至剪貼板中,使得剪貼板中存儲的數據格式更加精簡、干凈,便于進行維護。
本文檔來自技高網...【技術保護點】
1.一種數據處理方法,其特征在于,包括:
2.根據權利要求1所述的數據處理方法,其特征在于,所述基于所述組件對象和所述引擎對象確定與所述目標組件對應的目標存儲數據,包括:
3.根據權利要求1所述的數據處理方法,其特征在于,在所述將與所述目標組件對應的所述目標存儲數據存儲至剪貼板中之后,還包括:
4.根據權利要求3所述的數據處理方法,其特征在于,所述基于所述剪貼板中存儲的與所述目標組件對應的所述目標存儲數據確定與所述待復制對象對應的目標粘貼數據,包括:
5.根據權利要求4所述的數據處理方法,其特征在于,所述基于所述剪貼板中存儲的與所述目標組件對應的所述目標存儲數據在所述關聯實體中創建所述目標組件,得到與所述待復制對象對應的目標粘貼數據,包括:
6.根據權利要求4所述的數據處理方法,其特征在于,在所述基于所述剪貼板中存儲的與所述目標組件對應的所述目標存儲數據在所述關聯實體中創建所述目標組件之前,還包括:
7.根據權利要求3所述的數據處理方法,其特征在于,所述基于所述剪貼板中存儲的與所述目標組件對應的所述目標存儲數
8.根據權利要求7所述的數據處理方法,其特征在于,所述基于所述剪貼板中存儲的與所述目標組件對應的所述目標存儲數據更新所述待更新組件,得到與所述待復制對象對應的目標粘貼數據,包括:
9.根據權利要求3所述的數據處理方法,其特征在于,所述預設粘貼條件包括下述條件中的至少一項:
10.根據權利要求1所述的數據處理方法,其特征在于,所述確定與所述待復制對象對應的目標組件,包括:
11.根據權利要求10所述的數據處理方法,其特征在于,所述待復制實體包括至少一個子實體和/或至少一個組件,所述子實體包括至少一個組件;
12.根據權利要求11所述的數據處理方法,其特征在于,在所述將與所述目標組件對應的所述目標存儲數據存儲至剪貼板中之后,還包括:
13.一種數據處理裝置,其特征在于,包括:
14.一種電子設備,其特征在于,所述電子設備包括:
15.一種包含計算機可執行指令的存儲介質,其特征在于,所述計算機可執行指令在由計算機處理器執行時用于執行如權利要求1-12中任一所述的數據處理方法。
...【技術特征摘要】
1.一種數據處理方法,其特征在于,包括:
2.根據權利要求1所述的數據處理方法,其特征在于,所述基于所述組件對象和所述引擎對象確定與所述目標組件對應的目標存儲數據,包括:
3.根據權利要求1所述的數據處理方法,其特征在于,在所述將與所述目標組件對應的所述目標存儲數據存儲至剪貼板中之后,還包括:
4.根據權利要求3所述的數據處理方法,其特征在于,所述基于所述剪貼板中存儲的與所述目標組件對應的所述目標存儲數據確定與所述待復制對象對應的目標粘貼數據,包括:
5.根據權利要求4所述的數據處理方法,其特征在于,所述基于所述剪貼板中存儲的與所述目標組件對應的所述目標存儲數據在所述關聯實體中創建所述目標組件,得到與所述待復制對象對應的目標粘貼數據,包括:
6.根據權利要求4所述的數據處理方法,其特征在于,在所述基于所述剪貼板中存儲的與所述目標組件對應的所述目標存儲數據在所述關聯實體中創建所述目標組件之前,還包括:
7.根據權利要求3所述的數據處理方法,其特征在于,所述基于所述剪貼板中存儲的與所述目標組件對應的所述目標存儲數據確定與所述待復制...
【專利技術屬性】
技術研發人員:周培,陶璐,高志坤,李奎,
申請(專利權)人:北京字跳網絡技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。