2015年3月24日火曜日

PhotonNetworkのOnJoinedLobbyが呼ばれた瞬間はルームリストを取れない

おっすSiroponnです。
内容は件名のとおりです。
ルームリストが取れません。

以下のようにすぐにとろうとすると、0が表示されてしまいます。

/// <summary>
    /// ロビーに入ったらルームを作り、ルームに入る.
    /// すでにルームが作られていたらそれに入る.
    /// </summary>
    void OnJoinedLobby()
    {
        RoomInfo[] r = PhotonNetwork.GetRoomList();

        int count = r.Length;

        Debug.Log(count); //0が出る
    }

これを回避するには1フレ待ってあげるか。

//----------------

/// <summary>
    /// ロビーに入ったらルームを作り、ルームに入る.
    /// すでにルームが作られていたらそれに入る.
    /// </summary>
    IEnumerator OnJoinedLobby()
    {

        yierd return null;
        RoomInfo[] r = PhotonNetwork.GetRoomList();

        int count = r.Length;

        Debug.Log(count); //0が出る
    }

 //-----------------------------

下の用にループ上で調べるのがよさそうです。

//---------------------


/// <summary>
    /// ロビーに入ったらルームを作り、ルームに入る.
    /// すでにルームが作られていたらそれに入る.
    /// </summary>
    void  OnJoinedLobby()
    {
       debugPhaze = 1;
    }


void Update()
{
     switch(debugPhaze)
     {
          case 0:
           break;
          case 1:
              //ルームを調べたりする処理.
           break
     }
}

 //---------------------------

他に方法があるかもしれません。僕ちんは先ほど気づいたのでこの方法しかまだわかりません。


では、siroponnでした







2015年2月14日土曜日

MacPortsを使ってApache2.4とphp5.6.5を入れた件について

siroponnです。

今回はMacPortsでApache2.4とphp5.6.5を入れたことについて書いていこうかと思います。
僕自身素人でしかもweb系のものをからっきしなので、間違っているかもしれません。
実際僕もフリーランスの先輩にいくつか教えてもらいました。

じゃあまずMacPortsを入れましょう。ここは他のサイトを当たってください。

次にMacにデフォルトで入ってるApache2.2を無効化してしまいましょう。
Apache2.4を使おうが、Apache2.2を使おうがMacPortsを使う以上、こいつは邪魔です。
以下のコマンドを打ちます。
$sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

次に、Apache2.4をportコマンドで入れます。おそらくApache2.4-develみたいな名前であると思います。

インストールが終わったら、Apache2.4のhttpd.plistのシンボリックリンクをLaunchDaemonsにはりましょう。

$cd /System/Library/LaunchDaemons

$sudo ln -s /opt/local/etc/LaunchDaemons/org.macports.apache24-devel org.macports.apache24-devel

Apache2.4のインストールが終わったら起動確認しましょう。
こちらは手順を覚えていないのでもしかしたら起動できないかも。

$sudo apachectl start

起動できましたか?起動できたら以下のコマンドでindex.htmlファイルを編集します。
vimの使い方は検索してください。

$sudo vi /opt/local/www/apache2/html/index.html

it works!ってなっている部分をit24worksに変えましょう。
その後、apache2.4の設定ファイルをいじります。

/opt/local/etc/apache2以下にapache.org.confみたいなファイルがあるのでそれをhttpd.confとしてコピーします。httpd.confファイルがあればこれはしなくていいです。
httpd.confを作ったらそれを開きます。
Listen 12.34.56.78:80と書いてある部分を見つけます。
そこを#でコメント化し、その一行したにListen 80と記述します。
次にServerName www.examlpe.com:80と書いてある部分を見つけてください。
見つけたらそこをコメント化してください。
一行下にServerName localhost:80と記述します。
これでひとまずhttpd.confファイルの設定は終了です。保存してviを抜けましょう。

$sudo apachectl restart

でhttpdファイルを再読み込みします。

何にもエラーが出なければブラウザのURL欄にlocalhostと入力してください。

it24worksと出たでしょうか?できたらとりあえずapache24はインストールできました。

次はphpのインストールになります。

$sudo port search php56と打つと色々出てきますが、とりあえず生のphpを入れましょう。

$sudo port install php56

実行するとphp56がインストールされます。

ここで注意して欲しいのがapache2.2も同時に依存パッケージとして入ってるくることです。設定さえしなければ大丈夫なのですが、/opt/local/にapache2という項目が入っています。めんどくさいのでそのまま放置しておきますが、今後間違えないようにしてください。

さて入ってきたら

$cd /opt/local/etc/php56

$sudo cp php.ini-development php.ini

としてphp.iniファイルを複製しておきます。今後php.iniファイルをいじるときはこの複製したファイルをいじります。

$sudo port select php php56

でphp56を使うとしておきます。

次はphp-fpmです。

$sudo port install php56-fpm

で、php-fpmをインストールします。

インストールが終わったら.confファイル作れよバーカって書いてあるので(バーカとは書いていない).confを作ります。

$sudo cp /opt/local/etc/php56/php-fpm.conf.default /opt/local/etc/php56/etc/php-fpm.conf

さて、.confファイルが作り終わったら、php-fpmを起動させます。

$sudo port load php56-fpm

これでphp56-fpmを使う準備はできました。

次はまた、apache2.4の設定に戻ります。httpd.confファイルを開いてください。

開いたら、Include etc/apache2/extra/httpd-vhosts.confという部分がコメント化されているのでそこのコメントを削除します。

保存してviを抜けます。

その後以下のコマンドを打ちます。
$sudo vi /opt/local/etc/apache2/extra/httpd-vhosts.conf
これはヴァーチャルホストという機能を使うための設定ファイルです。詳しくは各自調べてください。

すでにある記述を軒並みコメント化します。コメント化してあればいいです。おらおらおら。

そのファイルの一番下に以下を記述します。
<VirtualHost *:80>
    DocumentRoot "/opt/local/www/apache2/html2"
    ServerName localhost3
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/(DirectoryRoot)/$1
    <Directory "/opt/local/www/apache2/html2">
    Require all granted
   </Directory>
</VirtualHost>

これで保存します。DocumentRootは貴方が自由に決める部分です

今回はテスト用なので自分で勝手に決めた、virtualhost用のdirを作ります。

$sudo mkdir /opt/local/www/apache2/html2

作成したdirにviでindex.phpを作ります。
そのファイルにphpinfo()を記述します。詳しくはphpのサイトを見てください。

終わったら
$sudo apachectl restart
を実行して設定ファイルを反映します。

ブラウザのURL欄にlocalhost3をうって実行。

phpの設定が出ましたか?
出たなら成功です。
ですが、出ない場合もあるかもしれません。僕は出ませんでした。

/etc以下のhostsファイルを開いてください。

127.0.0.1    localhost
255.255.255.255    broadcasthost
::1    localhost

が記述されています。この127.0.0.1 localhostの下に
127.0.0.1    localhost3を書きます。

ファイルを保存して閉じます。

一応apachectl restartします。

ブラウザでlocalhost3を再び入力します。

今度こそphpの設定が出ると思います。

以上で終了です。かなり雑多でかけ足に記述しました。


以下がまとめです。

・Macportsで必要なものをぶっこむ。
・各種設定をする。
・virtualHost使用時にhostsファイルにIPアドレスとサーバネームを記述する。
・起動!

ですね。

php-fpmを入れる部分はフリーランスの方に教えていただいた方法です。apache2.4の方にphp用のmodが入っていないので悩んでいたところ教えてもらいました。

では、また!









2015年1月9日金曜日

今年の抱負的なもの

明けましておめでとうございます、siroponnです。

今回は技術的な話ではありません。
普通のブログです。
新年も明けましたし、何か抱負的なものをと。
皆様は何か抱負を決めましたか?
僕は決めています。駆逐艦だけで2-4クリアです。

嘘です。

いや本当なんですけど。
真面目なものはどうしようかと考えています。
とりあえずやるべきことを列挙してみます。

unityで何本かゲームを作る。
unityEditorの拡張。
C#のLInq,ラムダ式,デリゲート辺りの勉強。
PhotonCloudの勉強。
C++の勉強。
directXの勉強。
OpenGL(ES含む)の勉強。
WebGLの勉強。
JavaScript,PHP,HTML(5),CSS(3) の勉強。
AIの勉強。
数学の勉強。
モデリングの勉強。
モーションの勉強。
2Dイラストの練習。

はい。無理です。こんなに1年で、できません。いや、寝る間も惜しんで、ケツに火つければもしかしたらイケるかもしれません。でもやりたくはありません。

しかも抱負じゃねぇ。
この中から、抱負になりそうなのはJavaScript,PHP...などのWebプログラミングですね。
何かと今ホットなJavaScriptなのでやってみたいです。
てな訳で今年の抱負はJavaScriptを使ってみることにします。同時にPHPとかでWebプログラミングできれば一石二鳥ですね。 WebGL辺りも絡めて出来れば最高かな。

まぁこんな感じです。

皆様も今年の抱負を決めていないなら、決めてみるといいです。やる気がわきます。
まぁ、unityは継続して使っていくんですけどね。あくまでこの抱負は趣味の範囲内で収めておくこととします。

では、今年もよいお年を!