Pour ce jeu que je suis en train de créer, je veux que le "Personnage" des Sprites se déplace vers la gauche ou vers la droite en inclinant l'appareil vers la gauche ou vers la droite. Je l'ai examiné et changé le code, mais il semble que cela ne fonctionne pas. Lorsque je l'exécute, le "Caractère" ne se déplace que dans une direction et continue de monter ou de descendre. Je voudrais simplement que le "Caractère" se déplace uniquement vers la gauche ou la droite, pas vers le haut ou vers le bas.Comment déplacer un sprite juste à gauche ou à droite à l'aide de CoreMotion?
Vous avez de l'aide?
Voici un aperçu du fichier GameScene.swift:
import SpriteKit
import CoreMotion
class GameScene: SKScene {
let motionManager = CMMotionManager()
var Ground = SKSpriteNode()
var Character = SKSpriteNode()
override func didMoveToView(view: SKView) {
/* Setup your scene here */
Character = SKSpriteNode(imageNamed: "NinjaGhost")
Character.physicsBody = SKPhysicsBody(circleOfRadius: Character.size.height)
Character.size = CGSize(width: 200, height: 200)
Character.physicsBody?.allowsRotation = false
Character.zPosition = 2
Character.position = CGPoint(x: self.frame.width/2, y: self.frame.height/2)
self.addChild(Character)
Ground = SKSpriteNode(imageNamed: "Dirt Background")
Ground.size = CGSize(width: 1920, height: 1080)
Ground.zPosition = 1
Ground.position = CGPoint(x: self.frame.width/2, y: self.frame.height/2)
self.addChild(Ground)
motionManager.startAccelerometerUpdates()
motionManager.accelerometerUpdateInterval = 0.1
motionManager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue()) {
(data, error) in
self.physicsWorld.gravity = CGVectorMake(CGFloat((data?.acceleration.x)!) * 1, 0)
}
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
/* Called when a touch begins */
}
override func update(currentTime: CFTimeInterval) {
/* Called before each frame is rendered */
}
}
il semble toujours que mon personnage tombe en panne, y a-t-il un moyen d'arrêter la chute du personnage tout en le faisant bouger à gauche ou à droite? Et pour être sûr, oui le jeu est en paysage. – AS2345
pour empêcher votre personnage de tomber, vous devez désactiver la gravité, qui est activée par défaut. Character.physicsBody? .affectedByGravity = false – crashoverride777
J'ai donc ajouté cette ligne de code, mais à part de tomber, elle reste juste en place. Des pensées? – AS2345