使用脚本对象的Resources.load

时间:2019-04-04 21:36:30

标签: c# unity3d resources

我在Unity中有一个可脚本编写的对象,其中包含很多数据(整数和字符串)

我想将数据保存在该可编写脚本的文件中:

https://imgur.com/a/SQqTCZC

我尝试过:

import sys
from PyQt5 import QtWidgets, QtGui, QtCore

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setObjectName("pushButton")
        self.pushButton.setText("Open new window")

class Ui_SecondWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.pushButton = QtWidgets.QPushButton(self.centralwidget)
        self.pushButton.setObjectName("pushButton")
        self.pushButton.setText("Close new window")

class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.setupUi(self)
        self.pushButton.clicked.connect(self.open)

    @QtCore.pyqtSlot()
    def open(self):
        self.window = SecondWindow()
        self.window.show()

class SecondWindow(QtWidgets.QMainWindow, Ui_SecondWindow):
    def __init__(self, parent=None):
        super(SecondWindow, self).__init__(parent)
        self.setupUi(self)
        self.pushButton.clicked.connect(self.close)

if __name__ == "__main__": 
    app = QtWidgets.QApplication(sys.argv)
    w = MainWindow()
    w.show()
    sys.exit(app.exec_())

将“ saveP”保留为“ null”

1 个答案:

答案 0 :(得分:1)

Resources.Load仅在资产位于名为“资源”的文件夹下的某个位置(并且您可以有多个“资源”文件夹)时起作用。

如果要加载字符串"ScriptablesObjects/GameSaves/Princess",则文件系统上的路径必须为"Assets/Resources/ScriptablesObjects/GameSaves/Princess"

以下是链接文档中的相关详细信息:

  

将存储在路径中的资产加载到名为Resources的文件夹中。

     

如果可以找到,则返回路径处的资产,否则返回null。   仅返回类型T的对象。路径相对于任何   项目的Assets文件夹中名为Resources的文件夹。更多   不能使用一个“资源”文件夹。例如,一个项目可能有   资源文件夹称为资产/资源和资产/枪支/资源。   不需要包含资产和资源的字符串名称。对于   示例在以下位置加载GameObject   Assets / Guns / Resources / Shotgun.prefab不使用文件夹名称。   另外,如果存在Assets / Resources / Guns / Missiles / PlasmaGun.prefab,   将使用Prefabs / Missiles / PlasmaGun加载。如果您有多个   您不能重复使用资源名称的资源文件夹。

     

“资源”文件夹的另一个示例。在参考资料中有两个   文件,fancyA和fancyB。资源还具有Resources2文件夹。这个   文件夹包含两个文件,fancyA2和fancyB2。最后,资源2   有一个名为Resources3的文件夹,其中有一个也称为fancyB的文件。   (这意味着Resources3中的文件与Resources中的文件具有相同的名称。)   资源中的文件可以加载为fancyA和fancyB而不需要   用于文件夹层次结构资产/资源。另外,   可以加载Resources2。加载这些需要文件夹目录   因此,示例负载为Resources2 / fancyB2。最后,从   Resources3将是Resources2 / Resources3 / fancyB。

     

注意:必须省略扩展名。注意:中的所有资产名称和路径   Unity使用正斜杠,使用反斜杠的路径将不起作用。