2014年5月7日水曜日

Unity for PSM Joystickを使ってPS Vitaでカメラを動かそう!










Unityを使ってのPS VitaでのJoystickのカメラ操作を設定していきます。

Edit -> Project Settings -> Inputで
Inspecterに右の画面を出します。

設定をいじる所はMouse XとMouseYの項目です。









Typeの項目をJoystick Axisに変更。
























Axisを 4th axisに変更。






このように設定変更します。









以下同様にしてMouseYを変更すると







説明は以上です。

補足:invertにチェックを入れると、逆向きにカメラ操作をします。
リバース機能のことのようです。

Unity for PSM 繋がらないとき

Vita設定で
設定->機内モードにしてみる。
そうすると、再接続される。

2014年5月6日火曜日

独習C# P74 論理演算子を使って0と1を表示するリスト(テーブル)

論理演算子を使って0と1を表示するリスト(テーブル)
NOTの所だけint型なので工夫する必要が出てくる。
私は三項演算子を使いました。

下記C#ソース

using System;

class page74
{
    static void Main()
    {
        int p , q;
        Console.WriteLine("P\tQ\tAND\tOR\tXOR\tNOT");
        p = 1 ;q = 1;
        Console.Write(p + "\t" + q + "\t");
        Console.Write((p&q) + "\t" + (p|q) + "\t");
        Console.WriteLine((p^q) + "\t" + "{0}" , (!(p == 1))?1:0);
        p = 1 ; q = 0;
        Console.Write(p + "\t" + q + "\t");
        Console.Write((p&q) + "\t" + (p|q) + "\t");
        Console.WriteLine((p^q) + "\t" + "{0}" , (!(p == 1))?1:0);
       
        p = 0 ; q = 1;
        Console.Write(p + "\t" + q + "\t");
        Console.Write((p&q) + "\t" + (p|q) + "\t");
        Console.WriteLine((p^q) + "\t" + "{0}" , (!(p == 1))?1:0);
       
        p = 0 ; q = 0;
        Console.Write(p + "\t" + q + "\t");
        Console.Write((p&q) + "\t" + (p|q) + "\t");
        Console.WriteLine((p^q) + "\t" + "{0}" , (!(p == 1))?1:0);
        Console.Read();   
    }
}

2014年4月29日火曜日

ゲームプログラマになる前に覚えておきたい技術 ch.2

最後に丸や三角形を描画すると見やすい画面になると書いてありました。
サンプルコードを下記に書く。

丸のスクリプト
double型をint型にキャストしているので若干見栄えが良くない。
void drawCircle(int x , int y, unsigned color)
{
        unsigned* vram = Framework::instance().videoMemory();
        int w = Framework::instance().width();
        int xx = 0 , yy = 0;
        int hankei = 8;
        for(int r = 0; r <= hankei;++r)
        {
            for(int i = 1 ; i < 360; ++i)
            {           
                    xx = hankei+cos(i)*r;
                    yy = hankei+sin(i)*r;
                    vram[(y*hankei*2+yy) * w + (x*hankei*2 + xx)] =color;
            }
        }
}
三角形のスクリプト
固定三角、同様にして色んな三角形を書けると思う。
void drawTriangle(int x , int y , unsigned color)
{
        unsigned* vram = Framework::instance().videoMemory();
        int w = Framework::instance().width();
        int t = 1;
        for(int i = 0 ; i < 16 ; ++i)
        {
            for(int j = 0; j < 16 ; ++j)
            {
                if((16 - t) > j)continue;
                else vram[(y*16+j) * w + (x*16+i)] = color;
            }
            t++;
        }
}
namespace GameLib{
    void Framework::update(){
        //mainLoop();
        drawTriangle(0,0,0xff0000);
        drawCircle(0,0,0x00ff00);

    }
}