2015年3月17日火曜日

【swift】spritekitでボタンタップ処理

protocolとdelegateを使って実装できます

・Sprite


import SpriteKit

protocol MyBtnDelegate: class {
    func exec()
}

class MyBtn: SKSpriteNode {
    var delegate: MyBtnDelegate? = nil
    
     override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
          self.delegate?. exec()
    }
}
・Scene

import SpriteKit

class PlayScene: SKScene,MyBtnDelegate {

    let btn : MyBtn = MyBtn(imagenamed:"MyBtn")

    override func didMoveToView(view: SKView) {
        btn.delegate = self
    }

    func exec(){
        //todo
    }
}

2015年3月7日土曜日

【PHP】setcookieで保存できない時の対処法

setcookieを実行してもクッキーが保存されない場合に疑うべき点などをまとめてみました

 1、第3引数の有効期限が短すぎる 

よくありがちなのが「30」とかって指定している場合。
30日のつもりでいたらとんでもない、これだと一瞬で有効期限がきれてしまいます。
 PHPのsetcookie()はUnix タイムスタンプでtime()+3600(1時間)のように設定します。 

2、第4引数のdomainが違う 

本番環境ではdomainに「~~.com」のように指定するのが普通ですが、
開発環境をローカルで構築している場合このdomainに保存しても意味ないですね。
開発環境用のconfigなどを設定して切り分けできるようにしておきましょう。 

3、第5引数のsecureの設定が違う 

これも本番環境ではHTTPSで通信しているが、開発環境はHTTPというようなケースですね。
同じく切り分けできるようにしておきましょう 

普段クライアント側javascript中心のプログラマーででPHPは初心者な人だとクッキーでハマることが多いみたいなので気をつけましょう。