今日やったこと(H27.12.23)
今日、もう1冊の本も届きました。
SpriteKitの本は少ないらしく、貴重な1冊。
結構本格的なゲームを作っていくようです。
少しでも情報は欲しいので、こちらも読んでいきたいです。
<アプリ制作>
SpriteKitに慣れるために、全く同じものを再度作ってみることにしました。
スラスラ書けるまで繰り返し書いていこうと思います。
が...
昨日のコードに手を加えようとしたところ、??な現象が(?_?)
カウントアップに伴い画像が変わるようにしようとしたのですが、さてどう書いたものか。
SKTextureを使うのかなとやってみたのですが...
import SpriteKit class GameScene: SKScene { var star = SKSpriteNode(imageNamed: "") var count = 0 override func didMoveToView(view: SKView) { //背景色を設定 self.backgroundColor = UIColor.blackColor() //星のオブジェクトを作成 star.texture = SKTexture(imageNamed: "star1.png") star.position = CGPoint(x:self.size.width/2, y:self.size.height/2) self.addChild(star) //星を回転させる let action1 = SKAction.rotateByAngle(CGFloat(M_PI * 2), duration: 3.0) let action2 = SKAction.repeatActionForever(action1) star.runAction(action2) } //タッチで呼ばれる override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { for touch in touches { //タッチされた座標を取得 let location = touch.locationInNode(self) //タッチされた座標が、星のviewと重なったら if star.containsPoint(location){ //カウントアップ count++ star.removeFromParent() //カウント数と連動して画像を切り替える star.texture = SKTexture(imageNamed: "star\(count%3 + 1).png") self.addChild(star) } } }
画像だけを差し替えていくわけではなさそうで、一旦starをremoveFromParentしてまたaddChildしないと、エラーになります。
一応動いたものの、よく分からない。。。
もう少し調べてみます。