왜 슬라이드가 발생했는지 판단하려고합니다. 나는 2 개의 노드를 만들었고 그 중 하나는 SKAction을 사용하여 움직이고 있습니다. 그러나 그들 중 하나가 위에있을 때 노드 아래에 움직이지 않습니다.SpriteKit SKSpriteNode slide
그것은 설명하기 조금 어려운, 그래서이 비디오 만든 : 귀하의 답변에 대한 https://www.youtube.com/watch?v=F4OuTBVd5sM&feature=youtube_gdata_player
감사합니다! 코드의
부품 :
CGPoint positionPoint = [valuePoint CGPointValue];
SKSpriteNode *slab = [SKSpriteNode spriteNodeWithTexture:plitaTexture];
slab.name = @"plita";
slab.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:plitaTexture.size];
slab.position = positionPoint;
slab.physicsBody.dynamic = NO;
CGFloat duration = 3.0;
CGFloat firstDuration = duration/(self.size.width/slab.position.x);
SKAction *moveLeftFirstTime = [SKAction moveTo:CGPointMake(0.0 + plitaTexture.size.width/2, positionPoint.y) duration:firstDuration];
SKAction *moveLeft = [SKAction moveTo:CGPointMake(0.0 + plitaTexture.size.width/2, positionPoint.y) duration:5];
SKAction *moveRight = [SKAction moveTo:CGPointMake(self.size.width - plitaTexture.size.width/2, positionPoint.y) duration:5];
SKAction *movingRightLeft = [SKAction sequence:@[moveRight, moveLeft]];
SKAction *moving = [SKAction sequence:@[moveLeftFirstTime,[SKAction repeatActionForever:movingRightLeft]]];
[slab runAction:moving];
[self addChild:slab];
토끼 초기화 코드 :
-(instancetype)init {
if (self = [super initWithImageNamed:@"eating-rabbit1"]) {
self.physicsBody = [SKPhysicsBody bodyWithTexture:self.texture size:self.texture.size];
self.physicsBody.allowsRotation = NO;
self.physicsBody.dynamic = YES;
self.physicsBody.friction = 1;
}
return self;
}
! 고마워요! – Stillfinder