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

71 total results found

UIを作成

ミニゲーム①:Egg Race!

体力を可視化するため、新しい Canvas を作成し、必要な素材を追加しましょう。Canvasが画面サイズに合わせて自動的にリサイズするように設定しましょう: ゲージの作り方 「スライス(Sliced)」スプライトについて 次の事例について考えてください:セリフ用の枠を作成したいが、文字の数は固定ではなく、長い文章もあるし、短い文章もありえるので、枠のサイズも固定できない。文章に合わせようとして、枠を強制的にリサイズすると… …スプライトが変に伸びてしまい、おかしくみえます。これを解決する...

次々の卵を生成

ミニゲーム①:Egg Race!

卵を無事に巣まで届けたら、ひょこが生まれ、ランダムに歩くようにしましょう。 卵を検知する「EggDetector」 まず、卵が巣に届く検知スクリプトを作成しましょう。卵かどか「Egg」というタグで識別すると: // 卵を検知する public class EggDetector : MonoBehaviour { // 検知したら発生するイベント public event System.Action<GameObject> Detected; private void OnTriggerE...

ひょこ生まれ!

ミニゲーム①:Egg Race!

ゲームマネージャーを編集し、卵が無事に巣まで届いたら、ひょこが生まれ、ランダムの目的地まで歩くようにしましょう。 ランダムに歩く アイディアとして、ひょこが現在位置からある半径いないのランダム位置を選択する。ただし、その位置がナビゲーションメッシュの中にあること保証できないので、ランダム位置を選択し、そこから最も近いナビゲーションメッシュの位置を求める: このため、Unity の2つの機能を使用 ・単位円以内の  ランダム位置 Vector2 point = Random.insideUnitCirc...

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

ミニゲーム②:ドラゴンレーダー

ゲームの目的 スマホの方位(北・東・南・西)を変えながら、レーダーの向きを変え、加速度センサーを使って、歩調を検知し、前ぽにすすむ。光っているボールを触れたら、消える。 ゲームシーン Scenesフォルダーの中にある「Game」を開いてください ヒエラルキーを見ると: Main Camera:ゲームのカメラで、2Dカメラになっている Background:レーダーのグリッド背景 Guide:中央にある赤い三角形 MapRotation:ボールの回転に使うゲームオブジェクト。これを回転すると、ボールが回転する M...

回転の操作

ミニゲーム②:ドラゴンレーダー

スマホの方位に合わせて、マップ(ボールのグループ)を回転しましょう。 スクリプト まず、PCで確認できるため、キーボードの A と Dキーで回転しましょう。スクリプトはとても単純である: // レーダーの回転を制御する public class RotationController : MonoBehaviour { // 現在の角度 private float angle; private void Update() { // 回転速度(固定) c...

移動の操作

ミニゲーム②:ドラゴンレーダー

スマホの加速度センサーを使い、強い湯揺れを検知したら「歩」として検知し、移動処理を追加しましょう。 スクリプト スマホは純粋の万歩計がないが、加速度センサーで動きを検知ができる。「StepDetector」というスクリプトを作成し、歩調を検知しましょう。なお、回転と同様に、まずキーボードを使い、PCで確認できるようにしましょう。 // 歩調を検知する public class StepDetector : MonoBehaviour { // 検知したときのイベント宣言 public event S...

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

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. 補足コンテンツ

インターネットの仕組み オンラインゲームを作り始める前に、まずインターネットが大まかにどう動いているのかを理解しておこう。 クライアント/サーバー構造 現代のインターネットのほとんどは「クライアント/サーバー構造」と呼ばれる仕組みで動いている。この構造では、「クライアント」と「サーバー」という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...