我试过在VS中运行调试器.我看到错误列表,但我找不到本地选项卡来告诉我代码中发生了什么.有人请告诉我如何启用标签?
我是一个 Kivy 新手,尽管已经阅读了几本书、相当多的 Kivy 文档,并查看了大量示例,但我在弄清楚如何构建我的程序时仍然遇到了很大的困难。我正在尝试让文件选择器对话框正常工作。
我想从一个带有单个按钮的简单 BoxLayout 界面开始。按下此按钮后,我想显示文件选择器对话框。我从其中一本书中获取了很多这样的代码。我的问题是如何调用 LoadDialog 小部件/类。我知道我的按钮不应该引用 root.show_load_list() 但我不确定应该如何引用它。如果能在正确的方向上推动我,我会非常感激。
# File name: main.py
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.properties import ObjectProperty
from kivy.lang import Builder
class LoadDialog(FloatLayout):
load = ObjectProperty(None)
cancel = ObjectProperty(None)
def show_load_list(self):
content = LoadDialog(load=self.load_list, cancel=self.dismiss_popup)
self._popup = Popup(title="Load a file list", content=content, size_hint=(1, 1))
self._popup.open()
def load_list(self, path, filename):
pass
def dismiss_popup(self):
self._popup.dismiss()
class LoadDialogApp(App):
pass
if __name__ == '__main__':
LoadDialogApp().run()
Run Code Online (Sandbox Code Playgroud)
我的 kv 文件定义为
# File name: loaddialog.kv
BoxLayout: …Run Code Online (Sandbox Code Playgroud) 我正在使用一个我不完全理解但运行良好的保存系统。它保存了可序列化的代码,但我开始使用 ScriptableObjects 作为保存库存的一种方式,它坏了,我现在不知道如何修复它。
这是我正在使用的代码:
[CreateAssetMenu(fileName = "Attack")]
public class PlayerAttckCard : ScriptableObject
{
public string AtackName,bookName;
public bool multiTarget;
public float Bacepower;
public GameObject miniGame;
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用,[System.Serializable]
但出现此错误:
SerializationException:在程序集 UnityEngine.CoreModule 中输入 UnityEngine.ScriptableObject,版本=0.0.0.0,Culture=neutral,PublicKeyToken=null 未标记为可序列化。
我需要改变我保存游戏的方式还是有办法解决这个问题?