7
votes

Créer un jeu sans utiliser Sprantikit

J'ai une idée de jeu à l'esprit qui ne nécessite aucune des fonctionnalités Sprantikit comme (physique, collisions ou actions), c'est un simple jeu de stratégie quelque chose comme (Plague Inc ou Démocratie) de vous connaissez bien ces jeux. . J'ai donc pu comprendre que je pouvais me rendre facile pour moi et simplement créer la manière habituelle avec le luxe d'utiliser la visiteurs de scénario et des objets au lieu de faire tout cela dans le code. Mais il y a une caractéristique Sprantikit qui serait très essentiel pour mon jeu (ou tout match d'une matière) qui ne construise pas dans les projets Xcode normaux qui est la méthode "mise à jour", vous savez pour suivre la trace du score et d'autres valeurs , alors j'ai mis en œuvre quelque chose de près et fonctionne bien:

 override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.

    var finish = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "check", userInfo: nil, repeats: true)
}

func check() {

    if score == 10 {

        println("Win!")
    }
}


1 commentaires

spéculatif ... Construisez votre jeu (ou mieux: un prototype) et voir si cela devient un problème. Ce n'est probablement pas.


3 Réponses :


2
votes

Avec votre code actuel, vous appelez la fonction check () chaque seconde. Toute cette fonction est comparable à un entier. C'est l'une des choses les plus fondamentales qu'un ordinateur peut faire: la CPU dans un périphérique IOS est capable d'exécuter de nombreux milliers de telles comparaisons dans beaucoup moins de temps qu'une seconde. Donc, vous n'avez aucune raison de vous inquiéter du tout.

Maintenant, comme votre création de votre jeu, vous pouvez vous retrouver et ajouter des éléments à cette méthode, auquel cas la performance pourrait devenir un problème. La meilleure chose à faire est que l'un des commentaires ci-dessus suggère, construisez simplement votre jeu et voyez si cela devient un problème. Il est toujours bon de penser à la performance, mais en même temps, il peut être mauvais d'optimiser lorsque vous n'avez pas besoin de.


1 commentaires

Merci de votre aide.



5
votes

J'ai créé des jeux avec et sans spritekit, et ce que tu fais est parfaitement bien.

Vous voudrez peut-être envisager de vérifier le score où vous mettez à jour le score. Si le score est mis à jour dans plusieurs endroits, appelez une fonction qui met à jour le score puis la vérifie immédiatement. Ensuite, vous pouvez éviter la boucle toutes ensemble. De plus, si le score est mis à jour plusieurs fois avant que la boucle fonctionne, il peut ignorer le cas où score == 10.


1 commentaires

Merci de votre aide.



0
votes

Sortez simplement de votre description, il vous faudra bien de le faire dans l'UIKIT. Spritekit est fabriqué pour Jeux de haute performance nécessitant plus de puissance informatique que votre simple jeu de cartes. Le type de jeux dont vous parlez est pas haute performance du tout. La majeure partie de la puissance de traitement viendrait du nombre de crunching dans votre simulation, mais c'est vraiment à ce sujet.

Si vous avez besoin de quelque chose comme la mise à jour des scores, vous pouvez simplement utiliser un simple distset ou quelque chose comme ça. Vous pouvez également essayer d'utiliser une minuterie, mais je pense qu'utiliser un simple distset serait la solution simple car elle modifie automatiquement lorsque vous obtenez et définir une variable. Si j'ajoute une à une variable, Xcode met automatiquement à jour le score pour moi avec Darket. Je ne connais pas tous les détails de votre jeu, alors essayez-le d'abord à Uikit (prend moins de temps). Si c'est lent, allez à Spritkit.

Je vais relier les documents à la disques pour vous. Si vous êtes le type de lecteur de documents, essayez le piratage. Les deux sont de bonnes options:

"WILLET est appelé juste avant que la valeur ne soit stockée. La caravie est appelée immédiatement après la conservation de la nouvelle valeur. "

Si vous souhaitez lire plus, cliquez sur le lien ...

https://developer.apple.com /Library/content/documentation/swift/conceptual/swift_programming_language/properties.html


0 commentaires