kidoOooOoooOOom

ゲーム開発やってます

2014-01-01から1ヶ月間の記事一覧

JSでコールバックを多用した関数の共通化

JS

今日は、JSの関数の共通化でちょっと時間がかかった。 下記のようなコードで、 function task のところを共通化する必要があった。 BBB.prototype.huga = function(callback){ var human; var age = 10; AAA.hoge(function task(done) { async.watarfall([ f…

git でブランチの名前を変更

ちょいちょい間違えてしまうのでこれは必須 git branch -m 新しい名前

gitでリモートのブランチをチェックアウトする

git checkout -b development origin/development

Protocol Buffers

WikiPediaによると、 Protocol Buffers(プロトコルバッファー)はインタフェース定義言語(IDL)で構造を定義する通信や永続化での利用を目的としたシリアライズフォーマットであり、Googleにより開発されている。 今日、どハマリしたので、メモ。 メッセージの…

Sublime Textで今日覚えたショートカットキー

隣のタブに移動 [command + alt + ← or →] Side Barの表示/非表示 [command + K(のあとすぐ) + B] [command + p] ファイル名を検索して開ける。「@」を最初にいれると関数検索(#headerとか)を検索できる。「:」を最初にいれると行番号で検索。 [command + F]…

Sublime Textで空白trimする設定

下記を[基本設定 ユーザ]にぶっこめばok //空白の削除 "trim_trailing_white_space_on_save": true, //タブやスペースなどの不過視文字を表示 "draw_white_space": "all",

今日のunderscore.js

JS

unionを見かけた。 union_.union(*arrays) Computes the union of the passed-in arrays: the list of unique items, in order, that are present in one or more of the arrays._.union([1, 2, 3], [101, 2, 1, 10], [2, 1]); => [1, 2, 3, 101, 10] 重複除…

mochaのbefore, beforeEach, after, afterEachの実行順番

(function () { describe('before test', function () { before(function(){ console.log('before'); }); beforeEach(function(){ console.log('beforeEach'); }); after(function () { console.log('after'); }); afterEach(function () { console.log('aft…

JSでfalsyな値

JS

昨日ミスってたので忘れないように張り付け。 JSで if(hoge) とかで評価したときに falseと判定される値は、 false undefined null 0 NaN ''

mysqlでQueryログ出す設定

よく忘れるのでメモ。 SET GLOBAL general_log = 'ON'; show variables like '%general_log%';

エラー処理について

node.js におけるエラー処理のコーディングパターン (もしくは非同期 JavaScript における例外処理) http://d.hatena.ne.jp/kazuhooku/20120420/1334891656 繰り返しますが、「全ての」コールバックの第1引数を error にすることが重要です。 了解です。

今日みかけたunderscore.js

JS

もうこれなしでは生きられないunderscore.js. 今日は filter を使っているのを見かけた。 filter_.filter(list, iterator, [context]) Alias: select Looks through each value in the list, returning an array of all the values that pass a truth test (…

moment.jsで今月末や来月末の取得

JS

今月末と来月末の時間を取得する処理を書くときに非常に助かったライブラリ。 https://github.com/kidooom/node_test/blob/master/momentTest.jsこんな感じで今日は使った。 var moment = require('moment'); // 今のunixTime console.log(moment().unix());…

underscore.js の pick

JS

みんな大好き underscore.jsで、今日はpickってのを見かけた。 http://underscorejs.org/#pick pick_.pick(object, *keys) Return a copy of the object, filtered to only have values for the whitelisted keys (or array of valid keys). _.pick({name: '…

git pull と git fetch, mergeについて

git pull はgit fecthとgit merge origin/masterをまとめて実行するコマンド git fetchはリモートリポジトリから最新情報をローカルリポジトリに持ってくるコマンド。 fetchをしても、pullのようにファイルが更新されるわけではない。 git merge origin/mast…

ドラクエモンスターズスーパーライト 状態異常辛くね?

(そろそろ画像アップするの容量的に辛くなってきたので、なんか代替案考えないと・・・) ドラクエはちょびちょび進めているが、戦闘が厳しくなってきた。 おおめだまの雄叫びが強い。エフェクトが悪いと思うのだが、2ターン以上すくんでいるように見えて…

ドラクエスーパーライトで全滅

2回目の宝の地図は残念ながらレア度C。 今日は初めて全滅した。明らかにその時点では勝てないレベルの敵が配置されていて、逃げる事もできないのでなすすべもなく全滅してプレイ10分が泡となった。 こういう、「負けを経験させることでプレイヤーに強くな…

JSのMath関数でよく使うやつ

JS

Math.ceil: 切り上げ Math.floor: 切り捨て Math.round(double): 四捨五入。引数にもっとも近いlongを返す Math.round(float): 四捨五入。引数に最も近いintを返す

clamp

clamp: 【名詞】かすがい、【他動詞】かすがいなどで締める、留める clamp(2): 【名詞】ジャガイモの山、れんがの山積み

SQLアンチパターンのラウンディングエラー(丸め誤差)

今日たまたまFLOAT型のカラムを見かけてしまったので、これはアンチパターンだったはずとハッとしながら思い出してメモっておくことにした。 FLOAT型を使うと問題なる点としては、2進数では小数点の表現に限界があるため丸められてしまい誤差が起きてしまう…

ドラクエスーパーライト

子供の面倒を見る合間にちょろちょろプレイ。AIで自動戦闘は嬉しいけれど、集中して攻撃しない点がアホ。 ガチャで直接モンスターが手に入るのではなく、あくまでも宝の地図からモンスターを見つけて仲間にしましたという見せ方になっている。既存のドラクエ…

UnityのAnimator機能チュートリアル

Unity本を見ながらMecanimのAnimator機能を触ってみた。まずはRaw Mocap Data For MechanimをAssets storeからDL。 このアセットにはサンプルのモーションがいくつか入っているので、これを導入するだけでそれっぽいアニメーションを作れることができる。 An…

npm installの小技

npm installで、gitリポジトリ上で公開されているライブラリのパスを指定しているような場合、バージョン番号ではなくブランチ名を指定したいことがある。 そういう場合は、パスの末尾に #ブランチ名 をつければそのブランチでインストールできる。 こんな感…

!!

JS

JSのソースを見ていたら、 !!hoge という記述があった。(hogeは変数) なんすかこれと思って調べたら、undefiendを避けて強制的にboolean値に変換する書き方らしい。 hogeがundefinedの場合、評価された時の値が hoge -> undefined !hoge -> true !!hoge -> f…

sinon.jsのstub()とsandbox()を用いたstub作成例

JS

プロジェクトでAAAというライブラリを用いているけれど、そのAAAのインタフェースのstubでテストをしたい場合の話。AAA-mockとかプロジェクトを作って、下記のような感じですげかえる。 var AAA-mock = function(AAA, sandbox) { this.aaa = AAA this.initDa…

testflightなる便利なもの

testflightをiPhoneに入れた。 これはテストアプリの配布をサポートするサービスで、アプリ開発者がTestFlight上にipaファイルをアップロードしたら、登録メンバーのiOS端末にそのビルド物件を配布することができる。 チーム開発するときや複数端末で確認す…

ドラゴンクエストモンスターズスーパーライト

DLしてプレイ。Cygamesが開発したとのこと。 三國志パズルと同様でUIや素材など非常にクオリティが高い。 クエストで地図を埋めていく感覚、たまに手に入る宝箱、倒した敵が起き上がり仲間になる演出など、ドラクエらしくてなかなか面白いシステムになってい…

async.waterfallで気をつけておくこと

JS学んでまだ日が浅いせいか、callbackの引数周りがよく混乱する。特に今日はasync.waterfallでcallbackの第1引数にはnull, 第2引数にidとかを設定しておいて、次の関数では第1引数でidを受け取っている感じになっていて、えええーーとなった。 第1引数が…

今日知ったasyncシリーズのやつ

・async.eachSeries eachSeries(arr, iterator, callback)The same as each only the iterator is applied to each item in the array in series. The next iterator is only called once the current one has completed processing. This means the iterato…

underscore.jsとかいう良い奴

idプロパティが1~11のオブジェクトを持った配列を作りたい場合、underscore.js使ってこんな感じに書いた。もっと良い書き方探したい。 var items = _.map(_.range(1,12), function(num){ return { id: num }; });