Articles of sprite kit

¿Cómo hacer girar un nodo Sprite cuando un usuario toca la pantalla? Swift 3

El resultado que estoy buscando lograr : tengo un nodo que es más o less una rueda de bicicleta con radios. Cuando el usuario graba la pantalla, me gustaría que la rueda no solo rebote, sino que también gire con cada toque. Lo que tengo ahora : el nodo actualmente rebota cuando el usuario toca […]

Cambiar el tamaño de SKSpriteNode con sus hijos

Estoy intentando ejecutar una secuencia de SKActions en un SKSpriteNode que tiene un hijo, todas las acciones se realizan en las 2 forms juntas, excepto: [SKAction resizeToWidth:<#(CGFloat)#> height:<#(CGFloat)#> duration:<#(NSTimeInterval)#>] Aquí está mi código: -(void)CreateCards{ for (int i=0; i<3; i++) { SKSpriteNode *sprite=[SKSpriteNode spriteNodeWithImageNamed:@"default_circle.png"]; SKSpriteNode *shape=[SKSpriteNode spriteNodeWithImageNamed:[self GetRandomImage]]; [sprite addChild:shape]; sprite.position=CGPointMake(-43, 345); sprite.size=CGSizeMake(43, 43); shape.size=CGSizeMake(43, 43); […]

¿Cómo get el nombre de la image de SKSpriteNode?

Me gustaría get el nombre de la image que utilizo en SKSpriteNode. Así es como creo un nodo: SKSpriteNode *button = [SKSpriteNode spriteNodeWithImageNamed:@"img.png"]; Al tocar la pantalla, me gustaría get en NSLog el nombre de esta image. UITouch *touch = [touches anyObject]; CGPoint loc = [touch locationInNode:self]; SKSpriteNode *node = (SKSpriteNode *)[self nodeAtPoint:loc]; Al tocar […]

Modificar la velocidad de una SKAction en ejecución.

Tengo este código: @implementation MyScene { SKAction *delayAction; } Inside a method: delayAction = [SKAction waitForDuration:3.0]; [self runAction:[SKAction repeatActionForever: [SKAction sequence: @[delayAction, [SKAction …]]]]] withKey:@"myKey"]; Entonces quiero disminuir la duración del time extra. (Este método se llama a la actualización 🙂 Entonces probé: – (void)updateVelocity { NSLog(@"duration:%f",delayAction.duration); delayAction.duration = delayAction.duration – 0.001; } Y me […]

SpriteKit: detecta la superposition de nodos completa

Tengo dos SKShapeNodes, uno con SKPhysicsBody basado en el borde, basado en un volumen, y quiero detectar su intersección sin colisión. Esto funciona bien, con los methods de contacto SKPhysicsContactDelegate recibidos como uno pasa por encima de otro, pero mi problema es que didEndContact recibe una llamada cuando los bordes ya no se cruzan, incluso […]

¿Cómo mezclo UIKit y SpriteKit?

Estoy haciendo un juego en Swift. He usado tanto UIKit como SpriteKit, pero nunca en la misma aplicación. Me preguntaba cómo aprovechar el poder de los dos (van a ser muchos menus). Si supieras un tutorial que podría usar, o podría decirme, estaría muy agradecido. También me gustaría saber si hay un acceso directo para […]

Detectando si SKAction se ha ejecutado, Swift

Quiero cambiar el valor de una variable después de ejecutar una acción y no durante su ejecución. Este es mi código: override func touchesEnded(touches: Set<NSObject>, withEvent event: UIEvent) { if gameNotStarted { if firePosition.x != 320 || firePosition.y > 280 { fire.runAction(fireButtonReturn) iapButton.runAction(iapButtonReturn) aboutButton.runAction(abtButtonReturn) if fire.hasActions() == false { println("has no actions") firePosition.x = 320 […]

Cómo hacer un movimiento de camera en spriteKit

He creado un SKSpriteNode para una camera con un cuerpo físico de 0.0, para evitar colisiones indeseadas y un nodo mundial: -(void)createSceneContents { SKNode *world = [SKNode node]; world.name = @"world"; self.anchorPoint = CGPointMake(0.1, 0); SKSpriteNode *camera = [SKSpriteNode spriteNodeWithColor:[UIColor networkingColor] size:CGSizeMake(300, 300)]; camera.physicsBody = [SKPhysicsBody bodyWithRectangleOfSize:CGSizeMake(0, 0)]; camera.physicsBody.affectedByGravity = NO; camera.physicsBody.usesPreciseCollisionDetection = NO; camera.physicsBody.categoryBitMask […]

¿Construyendo un juego de tablero de ajedrez en Sprite Kit usando Swift?

En Sprite Kit usando Swift, estoy tratando de build un tablero de ajedrez (en realidad, una tabla de ajedrez / cuadrícula de baldosas). Entonces, en general, ¿cómo debo crear un tablero cuadriculado? He hecho muchas investigaciones y he estudiado algunos ejemplos del concepto de alto nivel de tableros tipo ajedrez a través de matrices multidimensionales, […]

Inicializando SKAudioNode usando fileNamed devuelve nil

Esta es la primera vez que uso SKAudioNode. Primero declaré una propiedad en la parte superior de mi class GameScene : var backgroundMusic: SKAudioNode! Ahora agregué un método de ayuda: func playBackgroundMusic(name: String) { if backgroundMusic != nil { backgroundMusic.removeFromParent() } backgroundMusic = SKAudioNode(fileNamed: name) backgroundMusic.autoplayLooped = true addChild(backgroundMusic) } Ahora llamé a este método […]