菜鸟教程小白 发表于 2022-12-13 11:58:06

ios - 在 SKSpriteNode 中调用自定义方法不起作用


                                            <p><p>我有一个自定义的 SKSpriteNode 对象,并想在其中调用自定义方法“设置默认值”。 </p>

<pre><code>#import &lt;SpriteKit/SpriteKit.h&gt;

@interface Platform : SKSpriteNode

- (instancetype)initWithDynamicPlatform;
- (void)setDefaults;

@end
</code></pre>

<p>在.m文件中</p>

<pre><code>#import &#34;Platform.h&#34;

@implementation Platform

- (instancetype)initWithImageNamed:(NSString *)name {
if (self == ) {
    NSLog(@&#34;Initiated Platform&#34;);
}
return self;
}

- (instancetype)initWithDynamicPlatform {

if (self == ) {
    NSLog(@&#34;Initiated Platform&#34;);
}

;

return self;
}

- (void)setDefaults {

/**
* Set the name
*/

self.name = @&#34;Platform&#34;;

/**
* Set the effect of gravity on the platform
*/

self.physicsBody.affectedByGravity = NO;
self.physicsBody.dynamic = NO;


}

@end
</code></pre>

<p>问题是我无法从 SKScene 文件访问自定义方法。</p>

<pre><code>- (void)loadDynamicPlatform {

SKSpriteNode *spritePlatform = [ initWithDynamicPlatform];   

;

;
;

}
</code></pre>

<p>我收到错误消息</p>

<blockquote>
<p>&#34;/Users/****/Desktop/Apps/****/****/GameScene.m:142:21:
No visible @interface for &#39;SKSpriteNode&#39; declares the selector
&#39;setDefaults&#39;&#34;</p>
</blockquote>

<p>知道为什么我无法访问它。我确定我设置正确。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您必须声明一个“平台”变量或将“SKSpriteNode”转换为“平台”:</p>

<pre><code>Platform *spritePlatform = [ initWithDynamicPlatform];   

;
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 在 SKSpriteNode 中调用自定义方法不起作用,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/33599245/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/33599245/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 在 SKSpriteNode 中调用自定义方法不起作用