しろログ

日々巡り会ったものの感想・レビュー

Month: 10月 2015

Cocos2d-JS ドラッグでスプライトオブジェクトを移動

1本指ならまだしも、マルチタッチで移動って処理めんどいし、うまくいかん・・と思ってたら、簡単すぎる解答がオフィシャルであった。

cc.eventManager.addListener({
    event: cc.EventListener.TOUCH_ALL_AT_ONCE,
    onTouchesMoved: function (touches, event) {
        var touch = touches[0];
        var delta = touch.getDelta();

        var node = event.getCurrentTarget().getChildByTag(TAG_TILE_MAP);
        var diff = cc.pAdd(delta, node.getPosition());
        node.setPosition(diff);
    }
}, this);

A faster way to add listener to cc.eventManager

短くするならこうかな

    onTouchesMoved: function (touches, event) {
        var node = event.getCurrentTarget().getChildByTag(TAG_TILE_MAP);
        node.setPosition(cc.pAdd(touches[0].getDelta(), node.getPosition()));
    }

WiMAX2+からNURO光へ乗り換えた結果

GMOとくとくBBのWiMAX2+からNURO光へ乗り換えて3ヶ月ほど経ちました。

とにかく安いってだけで、2年ほど、とくとくBB使ってたのですが、どうも不安定度が増してきたように感じました。
調子の良い日は下り20Mbpsほど出ますが、基本的に1Mbpsを下回る日が多い感じ。

で、仕事で数百MBのプロジェクトファイルをアップロードしたり、開発用のSDKをダウンロードしたりする時などに、かなりストレスが溜まるようになってきたので、カッとなってとくとくBBを解約し、思い切って有線に乗り換えることに。

ちなみに解約がめんどいことで有名(?)な、とくとくBBですが、当然ながら指示された通り手続きすれば、特に問題なく解約できました。
たしかに解約届をサイトで探して、プリントアウトして、記入して、封筒入れて、郵送・・なのでめんどいっちゃめんどいですね。
使ってたSIMも返さないとお金とられるので、これも封筒に入れて別途返却しました。

解約可能月ではなかったので、もちろん普通に解約金も取られたわけですが、これはどのプロバイダでも似たようなものでしょう。
また、NUROのキャンペーンで現金3万円キャッシュバックがあり、これでお釣りが来るので、ほとんど気にしません。

ちなみにNUROは数多の代理店が、PS4がもらえるーとか、キャッシュバックがーとか、キャンペーン展開していますが、基本的にはSo-netに直接申し込むのが良いと思います。
(自分が申し込んだ時には)So-netも代理店系とさほど遜色のないキャンペーンやってますし、間に1枚挟まっていいことってさほど無い気がしますしw

で、webから申し込みして、2〜3日で受け付け完了資料が郵送されて来ました。そこには開通までの目安日数として、
申し込みから工事日設定の電話まで10日、
そこから1回目の工事まで10日、
さらにそこから2回目の工事まで10日、
などと書かれてました。

2回目の工事ってなんやねん、と思ったけど、1回目は屋内でNURO光の機器設置、2回目は屋外でNTTの回線工事、です。
フレッツとかはNTTだから機器と回線同時にできるんかな、と思いつつ。

ともかく計30日の長丁場・・しかも実際には工事日設定の電話まで2週間以上かかりました。

ただ、そこからは数日で工事日を設定でき、2回目の工事もその翌日に設定できたので、最終的には申し込み→開通まで20日前後という感じでしょうか。

で、無事開通。
早速iPadの測定アプリで測定してみます。

WiMAX2とnuro光の比較

ヒャッホー。
7/9までがWiMAX2+です。8/1からNURO光。
実力は一目瞭然。実測でコレなら文句はありません!

有線LANでの測定もしてみます。

nuro光実測値

ファーーーー

完全にストレスフリー!

mac OSだろうが、Xcodeだろうが、android SDKだろうが、怖いものなし!

という結果になりました。

Google Play Game ServicesのLeaderboardsをリセットする方法

出、出た〜!自分のテストデータを残したまま、うっかり公開奴〜ww
でもまあ、簡単にリセットボタンとかでクリアできるだろうとか思って奴〜wwww

・・・

というわけで、主に自分のテストデータを残したまま、うっかり公開してしまったうえ、そう簡単に消せないと分かった時の対処法です・・。

なんかリセットボタンポチー、でできるのかと思いきや、これが意外に面倒でした。
ググっても中途半端な情報しかない。ので、一応まとめておくことに。

いろいろ方法があるかもですが、今回の結論としては、GoogleのOAuth 2.0 Playgroundで、リセットAPIを直に叩くことになります。

ざっくりした流れは
1.Google Developers ConsoleでPlayground用のOAuth2.0クライアントを作成
2.Google Play Developer Consoleの「ゲームサービス」から、そのクライアントとリンク
3.OAuth 2.0 Playgroundで、そのクライアントのClient IDとClient secretを用いてAPIを実行
です。

各ステップの詳細と、注意点は以下の通り。

■1.Playground用のOAuth2.0クライアントを作成
REST API事始め的なのが具体的な方法はこちらに書いてあります(Google Fitでの説明ですが、他のサービスでも同様かと思います)
必要なところ抜粋し意訳しますと、

1. Google Developers Consoleへ行きます
2. (リセットしたいLeaderboardsなどのある)プロジェクトを選びます
3. 左のサイドバーにある「APIと認証」の「認証情報」を開きます
4. 「認証情報を追加」をクリックし、「OAuth 2.0クライアントID」を選びます
5. アプリケーションの種類は「ウェブアプリケーション」です(Playgroundがwebサービスなので・・)
6. 承認済みの JavaScript 生成元には https://developers.google.com
承認済みのリダイレクト URIには https://developers.google.com/oauthplayground
をそれぞれ入力して「作成」を押してください

以上で、PlaygroundでAPIを叩くクライアントの、クライアントIDとクライアントシークレットが手に入りました。
(後で使うのでコピっておいてください)

■2.クライアントとゲームサービスをリンク
リンクすることで、そのクライアントがゲームサービスのデータにアクセスできるようになるようです。

まず、Google Play Developer Consoleに行き、左のサイドバーにある「ゲームサービス」からリセットしたいLeaderboardsなどのあるゲームサービスを選択し、さらにメニューにある「リンク済みアプリ」を選びます。

すでにAndroidなどアプリとのリンクはあるかと思いますが、そこでさらに「別のアプリをリンク」をクリックし「ウェブ」を選択します。
起動URLには https://developers.google.com/oauthplayground と入力し「保存して次へ」をクリックします。

すると「API コンソールでいくつかのアプリが承認されていることが判明しました。そのいずれかを追加しますか?」と表示されるので
「アプリを表示して選択」をクリックします。

すると、先ほど作ったクライアントが選択できるようになっているので、選択します。

これでリンクが完了です。

■3.APIを叩く
OAuth 2.0 Playgroundに行きます。

右のほうにあるギアアイコンをクリックし「Use your own OAuth credentials」をチェックします。

すると、「OAuth Client ID」と「OAuth Client secret」を入力できるようになるので、1で作成したクライアントのIDとシークレットを入力し、「close」を押します。

その後、左のところ、Step1で「Google Play Game Services Management API v1management」の「https://www.googleapis.com/auth/games」を選択し、そのまま「Authorize APIs」をクリックします。

Googleのアカウント選択(orログイン)画面になるので、自分のテストで使ったアカウントを選択しログインします。
認証を求められるので、許可します。

Playgroundに戻って少しすると、Step2が開くので、そのまま「Exchange authorization code for tokens」をクリックします。

また少しすると、Step3が開くので、いよいよリセット用APIを叩きます。
HTTP Methodは「POST」、Request URIは https://www.googleapis.com/games/v1management/scores/reset と入力し「Send the request」をクリックすると、めでたくスコアがリセットされるはずです。

特定のLeaderboardsのだけを消したりしたい時は、
https://www.googleapis.com/games/v1management/leaderboards/リーダーボードのID/scores/reset
などが使えます。

その他、全ユーザーのを消すなどのAPI詳細はAPI Referenceでも確認できます。

以上です。

# ってか、こんな方法あるんなら、Google PlayのDeveloper Consoleにリセットボタン置けばいいだけじゃん!

© 2017 しろログ

Theme by Anders NorenUp ↑