モバイルゲームを作ろう(ローカルサーバー準備編)
モバイルゲームを作ろう
明けましておめでとうございます。
2017年が始まったところで、そろそろ自分に蓄えられた知識をアウトプットしようと思い、それを応用した簡単なモバイルゲームを作成しようと思います。
毎年やろうやろうと思ってもなかなか行動しない自分に鞭打つために、今年こそは!との意気込みです。 ('ω')
作ろうとしているもの
RPG系のゲームが作りやすいので、イメージとしてはバトル系を作ろうと思います。
↓のようなバトルゲームが出来たらいいなぁ。。。
まずは準備しましょ。始めましょ。
クライアント
- Unity
サーバー
まずはサーバーから準備
最初に見た目としてUnityに着手しがちなのですが、クライアント⇔サーバーには色々と準備がいるので、まずはサーバーから準備しましょう。
まず、ローカルサーバーを立てなければなりません。^1
ローカルサーバー建築
特にこれといってこだわりはないので、xamppというツールを使います。
phpとかmysqlとか、色々と入っているのでとても便利です。(´∀`)
というわけで早速
詰まったところは、apatch設定のところでport80が使えなかったところです。
が、これは以前別の用途でIISを同じportで使用していたために起こったことでした。
IISの設定を切って、無事終了!
mySQLの設定
DBも使用したいので、xamppの設定でmySQLも使えるようにしました。
試しにuser_tというテーブルを作成して完了。
phalconフレームワーク追加
純粋なphpで作成していくと面倒なことになるので、時短のためにフレームワークを導入します。
選ぶ主な基準としては、
というザックリな理由です。
MVCは信者なわけでもなのですが、日頃の仕事でも使っているので頭の切り替えが少なくて済むという点で選んでます。
というわけで、こいつもサックリと疎通させました。
地味~に苦労したのは、versionが自分の合ってないとインポートに失敗するという点です。
x86じゃないとダメだったところに、時間かかりました。。
x64で何回も失敗してたよ。。。orz
※Phalcon 3.0.3 - Windows x86 for PHP 7.0.0 (vc14) を使用
組み合わせ確認
今までの組み合わせの確認として、
- localhostを通して
- phalconを使用したphpで、
- phpMyAdminで作成したDBに
- 接続して情報を取得し
- 画面に表示する
という手順を確認します。
testコントローラー
<?php class TestController extends ControllerBase { public function indexAction() { // user_tから全レコードを取得 $users = UserT::find (); // view側に変数を設定する $this->view->setVars ( array ( 'users' => $users ) ); } }
phalcon develop toolで自動作成されたuser_t
<?php class UserT extends \Phalcon\Mvc\Model { /** * * @var integer * @Primary * @Column(type="integer", length=11, nullable=false) */ public $user_id; /** * * @var string * @Column(type="string", length=20, nullable=false) */ public $name; /** * Initialize method for model. */ public function initialize() { $this->setSchema("trace_test"); } /** * Returns table name mapped in the model. * * @return string */ public function getSource() { return 'user_t'; } /** * Allows to query a set of records that match the specified conditions * * @param mixed $parameters * @return UserT[]|UserT */ public static function find($parameters = null) { return parent::find($parameters); } /** * Allows to query the first record that match the specified conditions * * @param mixed $parameters * @return UserT */ public static function findFirst($parameters = null) { return parent::findFirst($parameters); } }
view側のコード
<div class="page-header"> <h1>Congratulations!</h1> </div> <p>You're now flying with Phalcon. Great things are about to happen!</p> <p>This page is located at <code>views/index/index.volt</code></p> <?php foreach ($users as $user) { echo "<h2>", $user->user_id; echo $user->name, "</h2>"; } ?>
eclipse上は下記のような状態
表示された結果
この辺は後半はトントン行きました。
前半は、phalconのデベロッパーツールのphalcon.bat(windows版)が上手く使えなかったという点。。。
ここだけで一時間くらいかかりました。(ドツボ)
@echo off @ ↓のsetではエラーが出る※Cドライブじゃないのが原因っぽい @set PTOOLSPATH="%~dp0\" @ 絶対パスにすると行ける! set PTOOLSPATH=D:\workspace\phalcon-devtools-3.0.x\ php %PTOOLSPATH%phalcon.php %*
参考