万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

  • ・資産運用おすすめ
    10万円は1000円くらい利益
    資産運用ブログ アセマネ
    • ・寄付お願いします
      YENTEN:YYzNPzdsZWqr5THWAdMrKDj7GT8ietDc2W
      BitZenny:ZfpUbVya8MWQkjjGJMjA7P9pPkqaLnwPWH
      c0ban:8KG95GXdEquNpPW8xJAJf7nn5kbimQ5wj1
      Skycoin:KMqcn7x8REwwzMHPi9fV9fbNwdofYAWKRo

    ゲーム開発者のためのAI入門

    今更ながらこれを勉強中

    サンプルはhttp://examples.oreilly.com/9780596005559/

    deltaRow=abs(deltaRow*2); 
    

    P15あたりの2倍する理由が不明。"2"という数字自体に意味があるのか?

    currentStep = 0;
    

    ここリセット

    currentStep++;
    

    例2-6にインクメントされてる。

    fractionってなにかよく分からない。さらに2倍もしてるし・・・。
    nextColとnextRowなどはP14で毎回colやrowが代入されているのに意味あるのかどうか。
    k開始の名前は、グローバル定数らしい。kMaxPathLengthはサンプルでは30であった。
    おそらく道筋の入れるみたい。図2-5では縦x横が15x15であったので、真っすぐ進み横に進んだ時が最大だから??

    調べたら中国語サイト・・
    http://blog.csdn.net/lvxiuzhi1/article/details/2559053

    P16によると、”この関数が実際に経路を描画するのではない”とあり”別の関数”で行うらしい。
    なんか中途半端・・

    タップも取得できるマウスイベント Unity

    if (Input.GetMouseButtonUp(0)) {
        
    }
    

    マウスの左ボタンを離した瞬間の処理なのだが、タップも認識してくれるようだ。


    ex2Dでのアニメーション作成自分メモ Unity

    1.Atlasのスプライトを作成
    「Atlas(名前任意)」フォルダを生成
     ↓
    そのフォルダ内で、Createメニューから「ex2D Atlas Info」を選択。
     ↓
    縦x横を決定して作成。
    ※枚数分がきちんと入る大きさにすること!
     ↓
    インスペクタでEditボタンを押下する。
     ↓
    枚数分をそろえる
    ※2枚とも大きさがぎりぎりのテクスチャであれば、paddingを0にしないとBuildが失敗する。
    ※Applyボタンでは自動に詰めるので自分で調整する必要がある。

    "Build"ボタンを押下


    2.アニメーション(exSpriteAnimationClip)を作成
    「SpriteAnimatioClips(名前任意)」フォルダを生成
     ↓
    そのフォルダ内で、Createメニューから「Sprite Animation」を選択して作成。
     ↓
    「Custom Sise」と「TrimTexture」と「Auto Resize」はまずチェックをオフにしておく
     ※重くなります
     ↓
    インスペクタでEditボタンを押下する。
     ↓
    「フレーム数」が書いている枠内で画像をドラッグする。
    ※1で作成結果のものではなく、1の作成元のスプライトです
     ↓
    いろいろ調整して、Build(command+Sも可)
     ↓
    すると勝手に1で作成されたAtlasのスプライトが完成される。


    3.実際に使うGameObject作成
    Hierarchy内で「Create->ex2D->Sprite AnimationObject」で生成
     ↓
    「Ex Sprite Animation」項目の「Default Animation」上で2で作成したexSpriteAnimationClipを選択する。

    ex2Dのすごいところ Unity

    rx2DはMainカメラへ自動で合わせてくれるので、文字の大きさ・位置調整に便利。安いし。※Mainカメラが移動しても大丈夫でした。

    OnGUIにあったような文字のズレがややこしい・・・がそれを解消してくれる(EzGUIでもできるかもしれないが、200ドルなのにあまり使いこなしてない。)
    私は「Logo」のプレハブをProject上でcommand+Dにてコピーしてから,Hierarchyに配置して使ってます。
    「Logo」プレハブにデフォルトでスクリプトが添付されておりそれでカメラを設定してくれています。


    ex2Dで動的に「Ex Sprite Font」のテキストを変更したい in JS Unity

    v1.1.1がデフォルトにTextにあるが、動的にJavaScript(ex2D公式ドキュメントの説明はC#)で文字を変更させたい。

    ↑デフォでは「v1.1.1」と書いてる


    ↑インスペクタのTextに文字列が格納されている


    JavaScript

    var titleVer = GameObject.Find("title_version");
    titleVer.GetComponent(exSpriteFont).text = "hoge"; 
    

    ↑「exSpriteFont」がコンポーネント名のようなので、このようにJavaScriptで記載する。
    今回はTextの文字を「hoge」にします。



    ↑こうなりました。「v1.1.1」から「hoge」に文字が変わります。

    GameObject titleVer = GameObject.Find("title_version");
    titleVer.GetComponent<exSpriteFont>().text = "hoge";
    

    C#用のコードも一応載せる。

    カメラのシェイク C# Unity

    カメラをシェイクするのにこんな感じで行いたい。
    InvokeRepeating("呼ぶメソッド名", 待ち時間, 繰り返し間隔秒);

    InvokeRepeating("CameraShake", 10, 0.05F);
    

    ↑呼び出し元
    http://unity3d.com/support/documentation/ScriptReference/MonoBehaviour.InvokeRepeating.html
    これで、10秒後にシェイク開始されます


    void CameraShake() {
    	Vector3 eulerAngles = new Vector3( Random.Range( 0, 5 ), Random.Range( 0, 5 ), 0 );
    	Camera.main.transform.localEulerAngles = eulerAngles;
    }
    

    ↑呼び出し先のメソッド(実際にカメラを0〜5の幅で揺らす)


    CancelInvoke("CameraShake");
    

    止めるにはこのCancelInvokeメソッドを使います。