Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 精灵套件-为多个场景定义变量_Ios_Objective C_Sprite Kit - Fatal编程技术网

Ios 精灵套件-为多个场景定义变量

Ios 精灵套件-为多个场景定义变量,ios,objective-c,sprite-kit,Ios,Objective C,Sprite Kit,我有两个关于多层次场景的问题 不同级别有多个场景。所有这些场景都使用相同的位掩码类别和在其.h文件中定义的其他变量。有没有办法在单个文件中定义位掩码类别和其他变量,而不是在每个级别场景的.h文件中 在水平场景的更新方法中,我检测浮点“分数”是否高于或等于100。如果是这种情况,请将场景更改为下一级别。但是,因为更新方法会在每一帧中运行,所以它只是冻结并尝试一次又一次地更改场景。有没有办法在update方法中只运行一次if语句 1-子类化就是答案。创建一个类BaseScene,它是SKScene的

我有两个关于多层次场景的问题

  • 不同级别有多个场景。所有这些场景都使用相同的位掩码类别和在其.h文件中定义的其他变量。有没有办法在单个文件中定义位掩码类别和其他变量,而不是在每个级别场景的.h文件中

  • 在水平场景的更新方法中,我检测浮点“分数”是否高于或等于100。如果是这种情况,请将场景更改为下一级别。但是,因为更新方法会在每一帧中运行,所以它只是冻结并尝试一次又一次地更改场景。有没有办法在update方法中只运行一次if语句


  • 1-子类化就是答案。创建一个类BaseScene,它是SKScene的一个子类。这里包括所有场景的所有公共元素。这不仅包括位掩码类别,还包括场景可能具有的任何方法或其他属性。这将改善代码的长度,同时解决您的问题

    使所有关卡场景成为BaseSecene的子类

    2-在代码中创建一个名为scoreReach的Bool变量。初始化时将此变量设置为
    NO
    ,然后在
    -update
    方法中检查分数的代码中,执行以下操作:

    if (!scoreReached)
    {
        if (score >= 100)
        {
            //Do whatever is needed
            scoreReached = YES;
        }
    }
    

    1-子类化就是答案。创建一个类BaseScene,它是SKScene的一个子类。这里包括所有场景的所有公共元素。这不仅包括位掩码类别,还包括场景可能具有的任何方法或其他属性。这将改善代码的长度,同时解决您的问题

    使所有关卡场景成为BaseSecene的子类

    2-在代码中创建一个名为scoreReach的Bool变量。初始化时将此变量设置为
    NO
    ,然后在
    -update
    方法中检查分数的代码中,执行以下操作:

    if (!scoreReached)
    {
        if (score >= 100)
        {
            //Do whatever is needed
            scoreReached = YES;
        }
    }
    

    1-子类化就是答案。创建一个类BaseScene,它是SKScene的一个子类。这里包括所有场景的所有公共元素。这不仅包括位掩码类别,还包括场景可能具有的任何方法或其他属性。这将改善代码的长度,同时解决您的问题

    使所有关卡场景成为BaseSecene的子类

    2-在代码中创建一个名为scoreReach的Bool变量。初始化时将此变量设置为
    NO
    ,然后在
    -update
    方法中检查分数的代码中,执行以下操作:

    if (!scoreReached)
    {
        if (score >= 100)
        {
            //Do whatever is needed
            scoreReached = YES;
        }
    }
    

    1-子类化就是答案。创建一个类BaseScene,它是SKScene的一个子类。这里包括所有场景的所有公共元素。这不仅包括位掩码类别,还包括场景可能具有的任何方法或其他属性。这将改善代码的长度,同时解决您的问题

    使所有关卡场景成为BaseSecene的子类

    2-在代码中创建一个名为scoreReach的Bool变量。初始化时将此变量设置为
    NO
    ,然后在
    -update
    方法中检查分数的代码中,执行以下操作:

    if (!scoreReached)
    {
        if (score >= 100)
        {
            //Do whatever is needed
            scoreReached = YES;
        }
    }
    

    对于第1个)创建一个头文件(在XCODENEXFILE -> C++和C++ +>头文件)定义所有的位掩码,以及其他共享变量,包括在哪里你需要位掩码。对于第1个数字,创建一个头文件(在XCuxNeWord---C和C++-Head文件中)定义所有的位掩码和其他共享变量,包括在需要的地方,在1位上创建一个头文件(在XCODE NeXFISH中,C和C++ -Head文件)定义所有的位掩码,以及其他共享变量,包括在需要比特掩码的地方。对于第1个数字,创建一个头文件(在XCuxNeWORMST-C和C++ +-Head文件中)定义所有的位掩码,和其他共享变量,包括任何需要位掩码的地方。非常好用!非常感谢你!不过有一个小问题,我应该在哪里导入关卡场景中的BaseScene.m?因此,我可以使用BaseScene.m中的方法。如果导入了BaseScene.h,那么BaseScene.m将自动包括在内。为了能够访问BaseScene.m中的方法,您应该在BaseScene.h中声明它们!再次感谢!很好!非常感谢你!不过有一个小问题,我应该在哪里导入关卡场景中的BaseScene.m?因此,我可以使用BaseScene.m中的方法。如果导入了BaseScene.h,那么BaseScene.m将自动包括在内。为了能够访问BaseScene.m中的方法,您应该在BaseScene.h中声明它们!再次感谢!很好!非常感谢你!不过有一个小问题,我应该在哪里导入关卡场景中的BaseScene.m?因此,我可以使用BaseScene.m中的方法。如果导入了BaseScene.h,那么BaseScene.m将自动包括在内。为了能够访问BaseScene.m中的方法,您应该在BaseScene.h中声明它们!再次感谢!很好!非常感谢你!不过有一个小问题,我应该在哪里导入关卡场景中的BaseScene.m?因此,我可以使用BaseScene.m中的方法。如果导入了BaseScene.h,那么BaseScene.m将自动包括在内。为了能够访问BaseScene.m中的方法,您应该在BaseScene.h中声明它们!再次感谢!