とりあえずブログ

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

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

今日は体調が今ひとつ。
漢方薬局で買った漢方薬と、一緒に買ったお茶を飲んでゆっくりしていたら、夜中からましになりました^^;
お茶はオリジナルブレンドらしく、毎月変わるそうです。
今月のは、ルイボスティー、シナモン、ローズのミックス。
体が温まりました^^

f:id:onetoonewao:20151217054805j:plain


<今日やったこと & 本読み>

今日は両者を兼ねて、SpriteKitを少し触ってみました。
参考にした本はこちら。

www.shuwasystem.co.jp

とりあえず1からスタート、おみくじアプリから作ってみました。
本を読みながら、コードを写経...
ところどころ「?」となりながらも
「ふふ...読める、読めるぞ」(▼∀▼)ノ
と進んでいたところ、1つはまったのが下記。

    override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
        
        for touch: AnyObject in touches{
            
            let location = touch.locationInNode(self)
            let touchNode = self.nodesAtPoint(location)
            print(touchNode)
            if touchNode == btnSprite{
                
                let omikuji = ["大吉","中吉","吉","凶"]
                let r = Int(arc4random_uniform(4))
                myLabel.text = omikuji[r]
                
            }
        }
    }

let touchNode = self.nodesAtPoint(location)で、タッチした座標に在るものを変数touchNodeに取り出しているのですが、タッチには反応するけど、ラベルの字が変わらない。。(?_?)

いつも見てもよく分からないけど、Referenceを見て...
Returns an array of all descendants that intersect a point

ん??
array??

そういえば、ログも[]がついてる!
[ name:'(null)' texture:[ 'button.png' (400 x 100)] position:{320, 189.33332824707031} scale:{1.00, 1.00} size:{400, 100} anchor:{0.5, 0.5} rotation:0.00]

再度よく見ると...
!(o_o)

nodeAtPoint
と書かなくてはならないところを
nodesAtPoint
と書いてしまっていました。

配列で返すということは、例えば次々落ちてくるnodeの群れをタッチした時、とかそんな時に使うのでしょうか?(想像)
今はまだ謎。。

sを取って再度動かすと...

f:id:onetoonewao:20151217084104p:plain

無事、再現されました(^ ^)/

明日は、次のもぐらたたきゲームを作ってみたいと思います。