Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

86 total results found

04. ゲームプログラミング応用 I

02. Unityとの連携

プロジェクト仕組みの理解

02. Unityとの連携

ログイン

02. Unityとの連携

PHPでAPIを作成(固定結果) まず、Unityから接続できるようにしたいので、サーバーでログイン API の機能を追加しましょう。データベースがまだ作成していないため、ひとまず固定の結果を返しましょう。 C:\xmpp\htdocs\api フォルダを作成しましょう。この中に本ゲームのオンライン機能を実装していくフォルダにする。その中にlogin.php というからのテキストファイルを作成してください。単純に、成功したら、ユーザーIDを返し、失敗したら -1 を返すようにしましょう: <?php // JS...

事前の準備

02. Unityとの連携

Unity + PHP + MySQLプロジェクトを構築する前に、いくつか学習しておくべき項目がある。 Awaitable とは 非同期処理について UnityからWebサーバーへの依頼:UnityWebRequest これまではブラウザでサーバーに接続し、PHPスクリプトを実行してきたが、これからはUnityからリクエストを送信する。そのため、UnityWebRequest クラスを使用して、指定したURLに接続する機能がある。 GET リクエスト // GETでリクエストを送信 // url:接続したアドレス...

持っているカードを確認

02. Unityとの連携

カードの表示方法を理解する Unityで「CardTest」シーンを開く。以下のような画面が表示される。 このシーンを使って、カード表示機能をテストできる。使用する値は次の通りである。 ランク:0〜4の値で、それぞれC、B、A、S、SSに対応する イラスト番号:中央のイラストを選択するための0〜9の値 モンスター名:表示するモンスターの名前 攻撃力、防衛力、体力:0〜99の攻撃力、防衛力、体力の値 これらはすべて CardDisplay クラスによって処理される。特に、以下に示す SetData メソッドで扱...

01. 補足コンテンツ

オンラインゲームの仕組み

01. 補足コンテンツ

インターネットの仕組み オンラインゲームを作り始める前に、まずインターネットが大まかにどう動いているのかを理解しておこう。 クライアント/サーバー構造 現代のインターネットのほとんどは「クライアント/サーバー構造」と呼ばれる仕組みで動いている。この構造では、「クライアント」と「サーバー」という2つの存在が互いにメッセージをやり取りする。 クライアントとは、ユーザーが直接触れるデバイスのことだ。普段はパソコンやスマートフォンのブラウザがこれにあたる。オンライン決済アプリやLINEのチャットアプリもクライアントと言える...

カード削除

02. Unityとの連携

カードを削除するには、PHPで新しいAPIを作る必要がある。このAPIは以下のことを行う。 ユーザーIDを受け取る 削除したいカードIDのリストを受け取る(重複あり) リクエストに一致するカードごとに、カウントを1ずつ減らすSQLクエリを実行する カウントが0になったら、そのレコードをデータベースから削除する SQLを使ってカードを削除する まず、SQLでカウントを減らす方法を見てみよう。例えば、user_id = 1、card_id = 1のカードを2枚減らしたいとする。このユーザーはcard_id = 1の...

ガチャを引く

02. Unityとの連携

カードを一覧表示して、削除もできるようになった。次は、ガチャゲームを作ってカードを追加していこう。このゲームには、次の機能が必要になる。 プレイヤーがガチャを引ける回数には制限がある カードのレア度は、カードのランクと連動している(SSカードはCカードより出にくい) 具体的には、各レア度の確率は次の通りである。 Rank SS S A B C Rarity (%) 5% 10% 20% 30% 35% データベース まず、各プレイヤーが持つガチャの回数を保存するために、データベースに新しいテ...

SQL文の練習

01. 補足コンテンツ

テーブル作成 1. 学生のデータベースを作ろうとし、以下のデータを管理したい: 学生ID(数値) お名前(テキスト) 生年月日(日付) SQL文 CREATE TABLE students (id INT, name TEXT, birthday DATE); 2. プレーヤーのログイン情報を管理するテーブルを作成し、以下のデータを管理したい: プレーヤーID(数値) ユーザー名(テキスト - 255文字まで) パスワード(テキスト - 255文字まで) 最後のログイン(日時) SQL文 CREAT...

「PHP」と「C/C++/C#」の違い

01. 補足コンテンツ

インタープリタ言語とコンパイル言語 コンパイル言語 C、C++、C#は「コンパイル言語」と呼ばれる。まずテキストファイル(.c/.cpp/.cs)を作る。そのファイルを、実行できるファイル(Windowsなら.exe)に変換する。 このテキストファイルを実行ファイルに変換する作業を「ビルド」または「コンパイル」と呼ぶ。この過程で、文字で書かれた命令が、コンピュータが理解できる2進数(バイナリ)のコードに変換される。さらに、もっと速く動くように、コードが「最適化」されることも多い。 例えば、とても短いforループで...

JSONとPHP

01. 補足コンテンツ

JSONのファイル形式について JSONとは、テキストファイルの中にデータを保存し、整理するための方法である。ウェブアプリケーションでよく使われていて、クライアントとサーバーの間でデータをやりとりするときによく使われる。 JSONファイルの中では、辞書(連想配列)と添字付き配列を組み合わせてデータを保存する。JSONでは辞書のことを「オブジェクト」と呼ぶので、注意してほしい。 オブジェクト(Object) オブジェクトとは、キーと値のペアをコンマで区切って集めたもので、下のように中かっこ({ })の中に書く。 { ...

GETとPOSTのデータ送信

01. 補足コンテンツ

クライアントからサーバーへのデータ送信 ここまでは、サーバー上にコンテンツを置いて、それをウェブブラウザで取得する方法を見てきた。しかし、逆にウェブブラウザからサーバーへデータを送る必要がある場合もある。 ログインページを考えてみよう。ユーザー名とパスワードを入力すると、そのデータをサーバーに送信しなければならない。サーバーはデータベースを確認して、ユーザー名とパスワードが一致すればブラウザにログインを認識させる。 ウェブ開発では、クライアントからサーバーへデータを送る方法が2つある。GETとPOSTだ GET G...