2014-02-01から1ヶ月間の記事一覧
読んでたらダクソ2欲しくなったのでポチった。 桜玉吉のお父さん亡くなったのか・・・。悲しい。 ソウルサクリファイスデルタも興味がわいてきた。前作から1年でどう進化させてゲームをリリースまで持っていけたのか制作側にも興味ある。 龍が如くシリーズ…
いざ初めての人と仕事するときのために、基礎的なことを日々学んでおく事が大事だなぁと思った。
特殊な値nullはほんのいくつかのケースで使われるべき 変数を初期化するとき 初期化された変数と比較するとき 関数に渡す値としてオブジェクトが期待されているとき 関数の返り値としてオブジェクトが期待されているとき nullを使うべきないケース 引数が渡…
JSではASI(自動セミコロン挿入)があるため、複数行にわたるコードで演算子の前で改行をするのは危険。 例えば下記のようなコードは、改行の位置が危険 if(aaa && bbb && ccc && ddd) goto fail;ASIがcccの後に入れられるとエラーになってしまう。
今日は勉強会でUnityからWebSocketを使う発表を聞かせてもらった。C#のWebSocketライブラリにはこういうのがあるらしい WebSocketSharp (今回はこれを使用) SuperWebSocket WebSocket4Net SuperWebSocketからforkしてクライアント部分だけ切り出したもの? W…
今日じゃないけど、NodeでBufferクラスとreadUInt32LE関数使い、先日のtoString(36)で適当な文字列を作った。readUInt32LEはLittle endianを用いた関数でBig endian用のreadUInt32BEも対称して存在している。 http://nodejs.org/api/buffer.html#buffer_buf_…
16進数で使われていないアルファベットを追加したものを36進数というらしい。 http://www.wdic.org/w/SCI/36%E9%80%B2%E6%95%B0今日は、JSでtoStringするときに引数で 36 を与えて、数値を文字列に変換するときに使用した。
2〜4文字で生成されるstrに必ず左詰めで0を埋めたいケースがあったので、sliceを使って文字列の0パティング。slice(-4)で、後ろから4文字をとってくる。 var str = 'aaa' // 2~4文字の文字列が入る想定 str = ('00' + str).slice(-4);
同僚がAlfredのworkflowを作成しているらしく、それを使わせてもらえそうなのでAlfredをインストールした。 初期設定で参考にしたサイトはこちら http://gori.me/mac-app/10473CTRL + Spaceで起動して、[コマンド] + [半角スペース] + [対象] で実行できる。…
金曜と土曜は家族のために時間を使って勉強はできていないので、とりあえずファミ通を見ての感想。 パズドラZ 100万本売れてて凄い。コンシューマ版は課金要素とか無いから大丈夫 とかをちゃんと伝えるなど地道なプロモーションの結果らしい。最初興味なかっ…
今日は草の根のUnity勉強会で自分で作った糞ゲーを発表してきた。 糞ゲーをこちら。 https://dl.dropboxusercontent.com/u/6023300/Space_Shooter/Space_Shooter.html基本はUnity公式チュートリアルを使ったもので、プラスαとしてボス敵を追加している。 ボ…
iPhoneアプリで、Apple課金処理周りのCS調査をする場合、receiptの妥当性をチェックする必要がある。 itunes-receiptモジュールを使えばその辺のverify 処理が利用できる。 https://github.com/nov/itunes-receipt使い方はUsageの通り。レシートのidとproduc…
uuid.v1(), uuid.v4() で生成できる。 var uuid = require('node-uuid'); console.log(uuid.v1()); // generate RFC4122 v1 (timestamp-based) UUID. console.log(uuid.v4()); // Generate and return a RFC4122 v4 UUID.引数にbuffer, offsetを渡してそこに…
今日はサーバにsshで入ってごにょごにょする処理をsshkitを使ってスクリプト化しているものに出会ったので、それをまとめておく。 sshkitというもので、capistranoが内部で使っているDSLとのこと。https://github.com/capistrano/sshkit https://github.com/…
明日からはリアルタイムでここを更新していきたいと思っている。今日はGemfileおよびGemfile.lockが置かれたプロジェクトを使えるようにするため、Macにrvmとbundlerをインストールした。 まずはbundlerをgemでinstall gem install bundlerそしてGemfileが置…
プルリクのやり取りが増えてきたのでMarkdownを軽く練習。 引用 > これは引用です。 Code ``` var hoge = 999; ``` hタグ # #で始めるとh1 ## ##だとh2 ### ###だとh3 テーブル表記 | Left align | Right align | Center align | |:-----------|------------…
メッセージの生成処理を泥臭い方法で書いていたら、handlebars.js使ってテンプレート化をお勧めしてもらったのでありがたく対応した。こんな感じで、状況に合わせたテンプレートを用意して使用するイメージ。 var Handlebars = require('handlebars'); var m…
コミット自体を取り消しする(なかった事にする)には、git resetを使う。 git reset --soft : ワークディレクトリの内容はそのままでコミットだけを取り消す。 git reset --hard : コミット取り消した上でワークディレクトリの内容も書き換える。 今回は git …
今日は、JSの真偽値でオブジェクトの存在をチェックするのではなく、underscore.jsの _.isObject を使ってチェックした方がいいですよとアドバイスを貰った。 var hoge = {id: 100, name: 'aaa'} // 悪い例 if (hoge) { console.log(hoge.name); } // お勧め…
アホらしいけど今日ちょっとハマった件。mochaのテストケースで、 it.only('aaa') ... // 省略 it('aaa') ... // 省略とあった場合、it.onlyのテストだけ走るかと思っていたら 'aaa' のテスト2つとも走る。 たまたま同じ名前などにしてしまった場合は意図せ…
今日は完全にオフにして子育てと合間のゲームのプレイをしていた。プレイしたゲームとちょっと学んだ事をメモ。 Diablo3 クラスによってゲーム性が変わるので同じストーリーだがまた別のクラスでプレイしたくなる。基本が戦闘の連続で長いストーリーシーンや…
今日は現在のブランチのワークツリーを一時的に保存するgit stashコマンドを軽く触った。保存は git stash保存されている一覧は git stash list直近の保存を取り出して削除するのは git stash pop 参考URL http://transitive.info/article/git/command/stash/
公式チュートリアルのSpace Shooterでは隕石が飛んでくるだけの状態で終わって寂しいので、勉強がてらボス敵を追加してみた。 今日できたところまでのボスの仕様は下記の通り。 ボスにはHPがある HPがある程度へったら攻撃パターンが変わる ボスの弾を当てた…
音源の設定。 Assetsの音源を各オブジェクトにドラッグすれば基本的にはOK. 爆発エフェクトは発生と直後に音を鳴らしたいので、Play on Awakeをチェックする。 Playerの弾を発射する時の音は、Playerに音源をつけたあと Play on Awakeのチェックを外し、 Scr…
プログラムの実行を中断して、任意のタイミングで再開する方法として yieldを使う。 yieldを書ける場所としては メソッドの戻り値がIEnumerator型である StartCoroutine()にメソッド名を指定して呼び出される ことが条件である。 チュートリアルでは、最初の…
衝突や表示を何も持たないGameObjectを作成し、それをGameControllerとしてScrpitを付与した。Quaternionはunityで回転の制御に用いられているもの。 チュートリアルでは、回転していないQuaternionとして、Quaternion.identityが使われた。参考URL Quaterni…
対象のキーボード入力があったかどうかをチェックするには、Input.GetKeyDown (押した瞬間を確認。押しっぱなしでも1回入力として扱う)を使う。 例えば、'R'が入力されたかどうかの判定は下記の通り。 Input.GetKeyDown(KeyCode.R)) Input.GetKeyDown https…
GUI Textを用いてスコア表示 Viewport Space 画面の左下の座標を(0,0), 右上の座標を(1,1)としてtrasnform指定する方式 Screen Space 画面のx,y座標を絶対値で指定する方式 GameController側でスコア管理とスコアテキストの更新を行うようにスクリプトを更新…
危うくeachSeriesの使い方間違ってバグを埋め込むところだった。間違ってたときはこんなコード書いてた。これだと最初の要素で処理終わってしまっていた。 async.eachSeries(hogeList, function(hoge){ // hogehoge return done(); }, function(err) { if (e…
今日はコードレビューを受けたが、if/switchで十分なところをasync.waterfallを使っている箇所があり、async.waterfallの多用は性能的に影響が出るのでif/switchにしてね という指摘があった。 まあ自分が書いたところではないんだけど、勉強がてらリファク…