Star☆Unityメモ

Unityのちょっとしたことをメモって後で見返せれたらいいなサイト

array_key_exists

出来事 連想配列のkeyに一致しない数値が来たときに return したい 生み出したクソコード $map = array(3=>array('name'=>'fuga')); $input = 4; $hoge = map[$input]; if( empty($hoge) ) { return; } echo $hoge; 問題 $hogeの判定時に notice エラーが出…

臨時 シューティングゲームを作るときに使えたサイト

臨時シューティングゲームを作るときに使えたサイト Mathf関数一覧を見れるよ! リファレンスも見てね hideapp.cocolog-nifty.com touchAction集大成 qiita.com

MySQL関連

初期パスワード確認 cat /var/log/mysqld.log | grep 'password is generated' パスワード変更 set password for root@localhost=password('あなたのパスね!'); DB作成 create database hoge; DBの利用 use hoge; テーブルの作成 create table user( id int…

ルーティングの設定を行う

ルーティング .htaccessファイルをルートにしたいディレクトリに設置します <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.+)$ index.php [L] </IfModule> appacheの設定ファイルをいじる sudo vi /etc/httpd/conf/httpd.conf <Directory "/var/www/html"> AllowOverride All 更新 systemctl restart httpd</directory>

UNITY:画面サイズに比例してボタンのサイズを変える

概要 ONGUI関数内でボタンを作ってあげたときに画面のサイズに比例してボタンのサイズを変更したい。 Rectについて把握しておく https://docs.unity3d.com/ja/current/ScriptReference/Rect.html 第一引数:Xposition 第二引数:Yposition 第三引数:Width …

Unity:デバッグ機能(ローグライクを自分なりの解釈で作ってみる)

イメージ 概要 デバッグ中にキャラクターのHPが0になるといろいろと面倒くさかったのでデバッグ機能を追加する HPを+999するボタンを設置する. デバッグ機能はEditorで開いているときにのみ表示させたい プラットフォーム判別 現在どのプラットフォームで動…

Listにクラスを入れると予想以上に便利になった

概要 List内要素に自作クラスの型を入れるとものすごくコードが読みやすくなったのでメモ 編集前のクソコード(モンスターコード) // モンスターの回転と攻撃anim if (sm.playerArray[enemyPositionX, enemyPositionZ -1] == 2) { iTween.RotateTo(monsterLis…

Unity:階移動(ローグライクを自分なりの解釈で作ってみる)

概要 シーンを切り替えずに階を移動したい. 完成図 レイヤーを切り替える 配列を全く新しいものに切り替えてあげます.もちろんその際過去に前レイヤーのオブジェクトは全て削除します. 削除する際にわざわざ全てのオブジェクトを検索して削除するのは面倒で…

Unity:敵の移動(偽A*,A-star),攻撃(ローグライクを自分なりの解釈で作ってみる.)

概要 ローグライクシリーズその4弾 敵を移動させたい 近くにプレイヤーがいたら攻撃したい 完成図 A*(A-star)って何? A*とは探索アルゴリズムのことを指します. いい加減に解釈するとA地点からB地点までの最短距離を導き出してくれます. 偽A-Star実装 今回…

Unity:ステート管理(ローグライクを自分なりの解釈で作ってみる)

概要 ゲームの進行を制御したい 特にすごいことをしているわけではないのでマジで自分用のメモ イメージ イメージではPlayer→Option→Enemyの順番で行動したい. なのでPlayerが移動するまではOptionとEnemyは待機, Option中はEnemyとプレイヤーは待機. そんな…

Unity:ステージ作成と移動(ローグライクを自分なりの解釈で作ってみる)

完成画像 概要 ローグライクで使えそうなステージを作り,ステージ内をPlayerで移動する. 移動は1マスずつ. マップは配列で作成する. 壁には移動できないようにすること 仕様 今回私が作るローグライクゲームでは複数のレイヤーを重ねてステージを作ります. …

Unity:ローグライクを自分なりの解釈で作ってみる.その1

概要 ローグライクゲームを作ってみる. オリジナリティは考慮せずに既存のローグライクゲームの再現に全力を尽くす. 上記二点を踏まえ,どう開発するかを述べる ローグライクって何? 私の説明より下記の記事の説明のほうがわかりやすいです gamy.jp マップの…

ダンジョンを1マスずつ進むローグライク(チョコボの不思議なダンジョン)的なもの

こちらのページが最新版です zvn-x.hatenablog.com 概要 チョコボのように1マスずつの移動を実装する マップの壁には移動できないようにする. iTweenで滑らかに移動 設計もどき ステージを配列で作ってみます. 0:壁 1:床 2:Player 1:{0,0,0,0,0,0,0}, 2:{0,1…

ラムダ式を超簡単に解釈してコールバック処理を書いてみる

概要 ラムダ式の根本を全て理解しようとすると意外と面倒くさいので上辺だけの理解でコールバック処理を作ってみる ラムダ式とは? 匿名メソッドや匿名関数を簡易的な書式で表現できちゃう。その書式がラムダ式 超ガバガバ解釈にすると 「メソッドを変数に入…

コールチンで通信完了まで待機

概要 必要なデータが受け取れてない状態でゲーム画面に移行してしまうとゲームが正常に動作しない。 DBとの接続時、必要なデータが揃ってステートを遷移したい。 流れ ステートを管理するGameManagerを生成する DBとの通信が完了次第次のステートに移動する…

MYSQLとUNITY間のやり取り

概要 以前作ったCSVファイルでエネミーのパラメーターを変更してみる zvn-x.hatenablog.com 次にCSVファイルをMYSQLにぶち込む zvn-x.hatenablog.com こう来ると次はUNITYとMYSQLを接続してみたい. 以前作った「CSVファイルでエネミーのパラメーターを変更し…

csvファイルをmysqlに移行

Unityからcsvファイルを読み込んでEnemyのステータスを管理しようと思っていたのですが、せっかくなのでMYSQLに移行してみる zvn-x.hatenablog.com 概要 全国ランキングを作ったとき、csvファイルじゃだめだよね. ユーザー情報なども管理したい. モンスター…

CSVファイルでエネミーのパラメーターを変更してみる

Enemyのステータスはスプレッドシートにまとめたい。 モンスターを大量に作っていると、どのモンスターがどのくらいのステータスだったかとかわからなくなってしまう. チーム開発ではゲームバランスを整える人とプログラムを書く人が別々のこともありそうな…

コールチンでゲームステートを管理してみる

ステートを管理にコールチンが使えた ミニゲームを作りたいと考えたときに、 Title→main→GameOver→Title みたいなステート遷移を行いたいときに意外とコールチンが使えた. この方法は下記のTanksの中でも利用されている(っと思う) unity3d.com コード void …

一点を中心に回転(TPS視点)

用意するもの Player(中心点にしたいObject) CenterRotation(回転を補助するObject) MainCamera(カメラ) やること PlayerとCenterRotationのポジションを同期(この時子要素に入れない) RotationObjの子要素にCameraをセット. 実践 (1)PlayerとCenterRotat…

一番簡単なレイザーサンプル

C# 各引数についてはドキュメントを読めばわかる。 DrawRay()とRaycast()の引数は違うので気をつけて hitした情報を取得してみる if (Physics.Raycast (transform.position, fwd,out hit)) { print (hit.distance); }

マウスでカメラを回転

概要 マウスの動きに同期してカメラを回転させたい コード Unity 解説 Mouse_Yの毎フレームの移動した距離をy変数に足す(今回は反転させたいので引く) y -= Input.GetAxis("Mouse Y"); 値が-90から90以内であれば角度を変更する -90度以下と90度以上の回転…

Unity AddForceを利用したキャラクターの移動

AddForce移動 gist783a15dd01ee323c1ca568ed36d7e3ee Input.GetAxis("Vertical"); -1.0f から1.0fの値が帰ってくるよー コレはJoystickを利用した沖に押し加減とかを取得できるようにするためです。 rigidbody.Velocity = Vector3.zero; Rigidbody の速度ベ…

ラベルをくっつけてオブジェクトを見やすく

この記事でできること ・オブジェクトにラベルがつく ・オブジェクトに画像ラベルがつく 1.適当なオブジェクトを作成して、Inspectorを見てみる。 2.オブジェクトの名前隣のキューブマークをクリックしてSelectIconを表示 3.あとはクリックすれば設定完了!…