2015年1月22日木曜日

PS Vita 「Cardboard Cat EP」 Ver 1.10配信

PS Vita 「Cardboard Cat EP」  2回目のアップデートです。



主な更新点は

・新ステージ(のおためし版)追加
・経過時間カウンターの追加、ベストクリアタイムを記録
・チュートリアルテキストに背景を追加して見やすく
・UIまわりの表示が重かった問題修正

です。
現在、海外版に向けて新ギミックを作っていますが、それを「Extra Stage」として先行して収録しました。10分程度で終わるステージです。







(↑PS Vitaブラウザから踏む用リンク、PCからは見えません)

VitaでPS Storeを起動して、右上の「PlayStation®Mobile」ボタン→ジャンル「アクション」でたどりつけます。

PCからも見えるストア情報はこちら(直接購入はできません...)




その他、実は前バージョンに不具合があったので修正を行いました。

 Ver1.10 アップデート内容
 ・海外版に収録予定の新ギミックを“Extra Stage”として追加しました。
 ・死亡カウンターが正しく更新されていなかった不具合を修正しました。
 ・リトライ時にトゲ罠が元の位置に戻るようにしました。
 ・メニュー表示時にプチフリが発生していた現象を修正しました。
 ・チュートリアルメッセージに背景画像を追加しました。
 ・経過時間カウンターを新設しました。スコアアタックにどうぞ。

2015年1月11日日曜日

NGUIが重くてFont.CacheFontForTextが処理を食っているときはダイナミックフォント使用をやめよう

間違ってダイナミックフォントを使っている可能性があります。

NGUIを使ってメニューを開く瞬間にカクっとFPSが落ちるので、プロファイラで調べたところ。


"Font.CacheFontForText"ってのがすごい処理食ってる。
原因はUILabelでの文字表示にダイナミックフォントを使ってしまっていたから。

FontMakerで作ったフォントマップをきちんと指定してあげましょう。

"Unity"ってほうはUnity標準のダイナミックフォントを使うモード。
"NGUI"を選択しなおして、"Font"で作ったフォントマップを指定。

せっかくNGUIを使っているので、 漢字を多用する日本語テキストを表示するとき以外は避けよう。

Unity Freeユーザーの人も、GUI表示でカクつくぞ、と思ったら片っ端からNGUI Fontに指定し直すと効果あるかも。

参考: Topic: Lag on Ipad due to font.cachefontfortex

2015年1月3日土曜日

VS2013で列挙型からSwitchステートメントを作るときはコードスニペット機能を使おう。

Visual Studio Community 2013が公開されて以降、Unityでの開発はVSに移行しました。
もちろんいろいろな便利機能を使いたいからですが、その一つ「強力なコードスニペット」。

Unity C#でよくやる制御方法で、UpdateやStartの中でswitch分岐さす書き方がありますが
たとえばこんな列挙型があったとします。

    enum MyEnum
    {
        Ringo,
        Banana,
        Abokado
    }
こっからそれぞれのSwitch文をちまちま書かずとも「自動生成」させることができます。





おもむろに"switch..."と書き出して、”switchステートメントに対するコードスニペット"が表示されたらすかさずTabを二回押す。

        switch (switch_on)
        {
            default:
        }

まず第一段階。
この状態では"switch_on"にフォーカスがあたっているのですが、ここからさらに、先ほど作った"MyEnum"を()の中に記入してカーソル下ドーン!

        switch (MyEnum)
        {
            case MyEnum.Ringo:
                break;
            case MyEnum.Banana:
                break;
            case MyEnum.Abokado:
                break;
            default:
                break;
        }

楽すぎる!!!!

()の中はインスタンスに置き換えてくだされ。

備忘録程度。

2015年1月2日金曜日

iTweenがArgumentOutOfRangeExceptionで死ぬ問題の回避


 iTween.PauseとかResumeとかStopとかがNullで死ぬ時がある。

とりあえずtweensをforeachで回している中の処理をif (type.Length <= targetType.Length){ [処理] }でかこってやると回避できる模様

        foreach (iTween item in tweens){
            string targetType = item.type+item.method;

            if (type.Length <= targetType.Length)//This is additional//
            {
                targetType = targetType.Substring(0, type.Length);
                if (targetType.ToLower() == type.ToLower())
                {
                    item.enabled = true;
                }
            }//This is additional//
        }

tweensに入っているiTweenの参照が何らかの理由で消えてたりするとnullになる。
付け焼き刃っぽいけど、多分大丈夫だと思う。

参考:Possible bug in iTween.Count(GameObject target, string type)

2015年1月1日木曜日

Inspectorへ複数のprefabやobjectを放り込みたいときはロックボタンを使おう。

たとえばpublicなListを作って、Inspectorへ沢山のオブジェクトやらプレハブを登録したいとき。
複数選択しようにも、クリックするとInspectorが切り替わってしまってもっていけませんね。
そんなときは右上の小さいアイコン「このInspectorをロックする」(勝手に命名)の南京錠をクリックしましょう。


Inspectorの表示がロックされました。どこ選択しても切り替わりません。さあ今のうちにオブジェクトを複数選択してぶち込むんだ!

すごい目立たないけど重要なボタンです。