2012-09-14 49 views
1

我在Blender的編輯器中爲Blender遊戲引擎創建了一些腳本。 我使用的炸藥插件顯示混合文件(詳細信息的插件hereBlender遊戲引擎數據持久性和導入

因爲我已經瞭解到,一旦破裂器插件顯示的.blend文件網上一個無法讀取或寫入文件,我已經尋找另一種解決方案來保存一些數據 我一直在Blender Game Engine中填充globalDict。

這樣(除非我在這裏丟失一些東西......疲倦和所有)允許數據持久化,因爲數據是從腳本內部手動加載的。我這樣做是因爲腳本似乎從混合文件的一個開口持續到Burster。

所以,在我的問題:

  1. 有沒有更好的方法使用上述設置(攪拌機 - >炸藥)做數據持久化?

  2. 如果不是(或者即使如此),我想知道Blender在哪裏存儲您在Blender中創建,編輯和保存的Python腳本。

任何意見或幫助將非常感激。

回答

1

您可以在遊戲對象中設置屬性。

import bge 

    def main(): 
     cont = bge.logic.getCurrentController() 
     own = cont.owner 
     x = 2 
     own["x"] == x 

    main() 

現在訪問它。

import bge 

    def main(): 
     scene = GameLogic.getCurrentScene() 
     cont = bge.logic.getCurrentController() 
     own = cont.owner 

     obj = scene.objects["obj"] 

     x = obj["x"] 
    main() 

攪拌機將其文件存儲在.blend文件中。我不知道如何在沒有攪拌器的情況下訪問它們。

1

這一切都取決於你想要獲得什麼樣的「持久性」。

如果您希望在遊戲期間保留數據,則必須使用logic.globalDict,因爲這是跨場景持續存在的唯一結構。

0

通過設計,Burster插件不能將持久數據保存到用戶的計算機。在我向他們展示了一些非常嚴重的安全問題之後,Burster的作者做了這個必要的限制(並且還關閉了自動遊戲啓動)。

你可以閱讀一下BURSTER,不能在這裏做的全部細節: http://geta3d.com/index.php?option=com_content&view=article&id=20&Itemid=23

支持餅乾(這將允許保存遊戲狀態到瀏覽器)是一個計劃的功能,但我不知道爆發的發展仍在繼續。