とりあえずブログ

プログラミングとiPhoneアプリの作り方を勉強中です。

今日やったこと(H27.12.21)

まだ、アプリ道場の余韻が消えませんw
夕方になり、若干頭が冷えてきましたが、午前中はテンションが高くて落ち着きませんでした。

しみじみ思うのは、出会いは財産だなということです。
勉強を始めてから、たくさんの先生・先輩・友達にお世話になってきました。
もしアプリを作りたいと思わなければ、ずっと出会わなかったかもしれない人。
そう考えると、とても不思議です。
アプリを出せたことももちろん嬉しいけれど、皆さんに出会えたことも何にも代え難い幸せです。
皆さんと交わしてきた会話の多くは、私にとってとても深いものであることが多いのです。
普段考えていても、日々の生活の中では口に出すことはあまりないことを、どんどん話している。。。
なんて贅沢で濃密な時間なんだろうと思います。
今回も、そんな時間がいっぱい詰まった2日間でした。
皆様に、心から感謝いたします。

あ、それと、今回話の流れの中で出てきた本を今朝ポチりました(^o^)

www.amazon.co.jp

www.amazon.co.jp

楽しみです^^


<今日やったこと>

昨日思いついたアイディアを、早速作ってみることにしました。
条件は以下の通りです。

・制限時間30分
・画像はSketchで作る(オレンジ色の星は、すでに作ってあるのでそれをひな形として赤、青の星を作る)
普段は画像は、Illustratorで作っていますが、今回の講座でSketchの使い方を教えていただいたので、こちらを使ってみようと思いました。

今回は、単純なものを30分で作りきることを目指しました。
そのため、作るものもできるだけシンプルに

・画面の真ん中に星を置く
・くるくる回転し続ける
・タッチするごとに、色がオレンジ→赤→青の順に変わる

というものを作ることにしました。
タイマーをかけて開始!

所々忘れていて、アセアセしながら作成。
何とかできました^^;

コードは以下の通りです。

import SpriteKit

class GameScene: SKScene {
    
    var star = SKSpriteNode(imageNamed: "star-orange.png")
    var count:Int = 0
    
    override func didMoveToView(view: SKView) {
        
        self.backgroundColor = UIColor.whiteColor()

        star.position = CGPoint(x: self.size.width/2, y: self.size.height/2)
        self.addChild(star)
        
        let action1 = SKAction.rotateByAngle(CGFloat(M_PI), duration: 1.0)
        let action2 = SKAction.repeatActionForever(action1)
        star.runAction(action2)
        
    }
    
    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
        
        for touch in touches{
            
            count++
        
            let location = touch.locationInNode(self)

            if star .containsPoint(location){
                
                star.removeFromParent()
                
                switch count {
                
                case 1:
                    
                    star = SKSpriteNode(imageNamed: "star-red.png")
                    star.position = CGPoint(x: self.size.width/2, y: self.size.height/2)
                    self.addChild(star)
                    
                case 2:
                    
                    star = SKSpriteNode(imageNamed: "star-blue.png")
                    star.position = CGPoint(x: self.size.width/2, y: self.size.height/2)
                    self.addChild(star)
                    
                case 3:
                    
                    star = SKSpriteNode(imageNamed: "star-orange.png")
                    star.position = CGPoint(x: self.size.width/2, y: self.size.height/2)
                    self.addChild(star)
                    
                    count = 0
                    
                default :
                    break
                }
                
                let action1 = SKAction.rotateByAngle(CGFloat(M_PI), duration: 1.0)
                let action2 = SKAction.repeatActionForever(action1)
                star.runAction(action2)
            }
        }
    }
   
    override func update(currentTime: CFTimeInterval) {
        /* Called before each frame is rendered */
    }
}

回転の中心座標がちょっとずれているのは、画像が正方形になっていないからだと思われます、
明日直してみます。

とりあえず今日はここまでにしますm(__)m