gpt4 book ai didi

ios - 如何将方法中的 SKSpriteNode 添加到另一个类中?

转载 作者:行者123 更新时间:2023-11-28 22:17:10 25 4
gpt4 key购买 nike

我正在尝试将一个 SKSpriteNode 添加到另一个类 MainMenu 中,它是 SKScene 的子类。我创建的定义这些方法的 DumpTruckFramework 类是 SKSpriteNode 的子类(这可能是问题所在?)。以下是我使用的所有代码:

#DumpTruckFramework.h

#import <SpriteKit/SpriteKit.h>

@interface DumpTruckFramework : SKSpriteNode

-(void)createDumpTruckMainBody;

@end

#DumpTruckFramework.m

#import "DumpTruckFramework.h"

@implementation DumpTruckFramework

-(SKNode*)setupDumpTruckMainBody{

SKSpriteNode *mainBody = [SKSpriteNode spriteNodeWithImageNamed:@"Dump_Truck_Main_Body.png"];

mainBody.name = @"";
mainBody.scale = 0.5;
mainBody.position = CGPointMake(300, 400);

return mainBody;
}

-(void)createDumpTruckMainBody{

SKNode *mainBody = [self setupDumpTruckMainBody];

[self addChild:mainBody];

}

@end

以上是我在MainMenu 类中用来添加mainBody Sprite 的方法。也许问题可能是 [self addChild:mainBody]; 代码行,因为 self 是指 DumpTruckFramework 类?

#MainMenu.h

#import <SpriteKit/SpriteKit.h>

@interface MainMenu : SKScene

@end

#MainMenu.m

#import "MainMenu.h"
#import "DumpTruckFramework.h"

@implementation MainMenu

-(id)initWithSize:(CGSize)size{

if (self = [super initWithSize:size]){

//[self createMainMenuTitle];

DumpTruckFramework *dumpTruck = [[DumpTruckFramework alloc] init];

[dumpTruck createDumpTruckMainBody];

}

return self;
}

现在我认为正在发生的事情是该方法确实有效,但没有达到预期的效果。由于 MainMenu 场景是用来显示节点的,因此它被声明为“可查看场景”。

希望有人能帮我解决这个问题,干杯。

最佳答案

您没有向场景中添加 Sprite 节点。您可以将 createDumpTruckMainBody 更改为:

-(SKNode*)createDumpTruckMainBody{

SKNode *mainBody = [self setupDumpTruckMainBody];

return mainBody;

}

并在您的主菜单中将您的代码更改为:

-(id)initWithSize:(CGSize)size{

if (self = [super initWithSize:size]){

//[self createMainMenuTitle];

DumpTruckFramework *dumpTruck = [[DumpTruckFramework alloc] init];

SKNode *node = [dumpTruck createDumpTruckMainBody];

[self addChild: node];

}

return self;
}

希望这对您有所帮助。

关于ios - 如何将方法中的 SKSpriteNode 添加到另一个类中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21376345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com