-1
나중에 볼 때 화면에 볼 오브젝트를 만들었습니다. 그러나 내가 그렇게하려고 할 때, 그것은 나에게 오류를 준다. 불행히도 나는 그것을 밖으로 만들 수 없습니다.skspritenode에서 볼 오브젝트를 만들 때 오류가 발생했습니다.
ballClass.h :
@import SpriteKit;
#import "ballClass.h"
@implementation ballClass
+ (SKSpriteNode*)ballNode {
SKSpriteNode* node = [SKSpriteNode spriteNodeWithImageNamed:@"Ball"];
return node;
}
@end
ballClass.m : 내 게임 scene.m에서
#import <Foundation/Foundation.h>
@interface ballClass : NSObject
+ (SKSpriteNode*)ballNode;
@end
내 touchesBegan 방법 : 어떤 도움을 크게 감상 할 수
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
/* Called when a touch begins */
for (UITouch *touch in touches) {
CGPoint location = [touch locationInNode:self];
SKSpriteNode *ball = [ballClass ballNode];
ball.position = location;
[self addChild:ball];
}
}
. 미리 감사드립니다.
안녕! 당신의 반응에 감사드립니다. 나는 touchesbegan 방법을 붙이기 만하면 내 게시물을 더 짧게 만들 수 있습니다. 내 원본 코드에서 이미 모든 mij 헤더와 프레임 워크를 가져 왔습니다. 그래서 기본적으로이 게시물에 작성한 코드는 실제로 내 코드와 동일합니다. 내 문제의 원인이 무엇인지 생각해 봤니? –
당신이 더 좋아 보인다면 동일하지 않습니다. 귀하의 코드에 오타가 있다고 가정합니다. 귀하의 게시물을 봐, 당신 ballClass.h 파일에서 ballClass.h 가져올 수 있습니다. 기본적으로 ballClass.h에 정의 된 내용은 ballClass.m 파일에 정의되어야하며 반대의 경우도 마찬가지입니다. 또한 touchesBegan이 정의 된 씬 파일에서 ballClass.h를 가져와야합니다. 필자의 예를 통해 좋은 결과를 얻었으므로 그대로 복사하여 붙여 넣으십시오. – Whirlwind
안녕하세요, 회오리 바람. 나는 내 게시물을 검토하고 내가 그들을 바꿔야 만한다는 것을 알아 차렸다. 그러나 제대로 실행하지 못하게하는 오류는 ballClass.h 대신 ballClass.m에 SpriteKit을 가져온 것입니다. 고마워요! 이러한 작은 실수는 있지만 큰 영향을줍니다. –