HTTPリクエストの送っている内容を確認するコマンド
nc -l 6666で6666ポートに来たリクエストを確認できる。
curl -v -X POST -H 'Content-Type: text/plain' 'http://0.0.0.0:6666/example'を投げて確認してみた結果。
POST /example HTTP/1.1 User-Agent: curl/7.30.0 Host: 0.0.0.0:6666 Accept: */* Content-Type: text/plain
Phonegap ios実機デバッグ時にconsole.log()が使えない
使えるはずなのにな〜と思っていたら、プラグインを入れれば良いだけでした。
cordova plugin add org.apache.cordova.console
SublimetextのBeautifyRubyでrbやerb保存時にエラー
Sublimetext2のRubyパッケージであるBeautifyRubyをインストールしました。
が、rbファイルを保存する時に下記のようなエラーがポップアップ…
Error: invalid output. Check your ruby interpreter settings
色々調べてみたところ、Sublime text 2 -> Preferences -> Package Setting -> BeautifyRuby -> Settings Defaultで表示される設定ファイルに下記を記入したら動きました。
"ruby": "~/.rvm/bin/rvm-auto-ruby",
これは私がrvm使ってるからこう書いているのですが、個別にインストールしている場合はrubyコマンドのパスを書けば大丈夫ぽい。
さて、これで解決!と思っていたらerbファイル保存時にも同じ問題が起こりました。
どうやらこちらは、htmlbeautifierというgemをインストールしたらおさまりました。
参考にしたURLはこちら。
https://github.com/CraigWilliams/BeautifyRuby/issues/30
Unityで音を再生する
オブジェクトに対してマウス押下時再生するコード
using UnityEngine; using System.Collections; public class HogeScript : MonoBehaviour { private AudioSource a1; void OnMouseDown () { // sampleというパスはAssets配下のResourcesというフォルダからの相対パス AudioClip audio = Resources.Load("sample",typeof(AudioClip)) as AudioClip; a1 = gameObject.AddComponent<AudioSource> (); a1.clip = audio; a1.Play(); } }
JavascriptかC#か?
海外向けの書籍にはjavascriptで書かれているものも多いですが、個人的にはC#じゃないかと思います。
理由は、Unityのjavascriptはjavascriptではなく、javascriptにかなり似た独自の言語だからです。
また、その言語仕様について断片的なまとめは存在するものの、包括的なドキュメントも無いので結構厄介です。
例えば下記のコード
var hoge1 = obj.prop; var hoge2 = obj["prop"];通常のjavascriptだとhoge1もhoge2も同じになるのですが、C#のjsだとhoge2の書き方が許可されておらず、エラーになります。 その他にもダックタイピングが使えないとかthisの使い方がおかしいとか、諸々特殊なところが多いです。下記のサイトたちによくまとまっています。
- UnityScript versus JavaScript - Unify Community Wiki
- UnityScript と JavaScript の違い | Lonely Mobiler
- http://tanku.hatenablog.jp/entry/20120606/1338999149
こんな謎の言語仕様を勉強するよりC#で素直に書いた方が、自動補完も効くしむしろ早いと思いました。
cocos2d-xでiPhone5実機テストの際にリンクエラーでコケる
cocos2d-xのサンプルプロジェクト(cocosDragonJSとか)をiOSの実機で動かそうとしたところ、cocos2dライブラリがことごとくリンクエラーになってしまい起動できない事態になりました。
よくよく見ると、対象プロジェクトとその中に入っているcocos2dx.xcodeprojプロジェクトのBuild Settingが異なっていたようでした。
Xcode5のProject NavigatorでプロジェクトRootを選択し、Build SettingのArchitectureを見るとcocos2dライブラリとサンプルプロジェクトの設定が異なっていたので、サンプルプロジェクトの方に合わせました。下記にサンプルプロジェクト側の設定を載せます。
私の時は、cocos2d側のBuild SettingでArchitectures、Build Active Atchitecture Only、Valid Architecturesの項目が異なっていたのでそこを修正しました。これで再度Buildしたらめでたく動きました。
第2世代iPadでテストしてた時は何の問題も無かったのですが…