Unity
Unityでプロジェクトを作成すると、「Collab service is deprecated and has been replaced with PlasticSCM」というエラーが大量に吐かれまくったという経験をしたことは多いのではないでしょうか。 原因としては、Unity Teamsのバージョン管理コンポーネン…
Unityでゲームを作る際、自分は時間経過があるイベントが欠かせません。 例えば、RPGで敵を倒した1秒後に報酬品をテキスト表示するなどです。このような時間経過のイベントには、コルーチンを使います。 ですがこのコルーチン、自分はいつも使い方を忘れてし…
unityroomに投稿した以下ゲームですが、車を操作するゲームです。 unityroom.com 車を操作するスクリプト自体はよくあるものなんですが、車をスタートさせると時間カウントアップを開始させるようにしました。 今後のために、メモとして残しておきます。 車…
久しぶりにunityroomに投稿した以下ゲームより、メモとして残しておきたい部分を記しておきます。 unityroom.com BGMとSEの制御について BGMとSEは、1つのゲームオブジェクトにAudio Sourceコンポーネントを2つ追加して制御しています。 1つがBGM用、もう1…
かなり久しぶりに、フリーゲーム投稿サイトのunityroomにゲームを投稿しました。 unityroom.com操作は矢印キーで車を操作し、障害物にぶつからないようにゴールを目指すシンプルゲームです。 2023年は1本もゲームを作れておらず、このままではゲーム開発をや…
久しぶりのブログです。このブログは主にゲーム開発に関する内容を投稿していましたが、ブログを更新していない間もゲーム開発は続けていました。直近でリリースしたゲームは、こちらです。 play.google.com 自分としては、かなり力を入れて作ったゲームなん…
今、ブロック崩しゲームを作ってます。スマホでプレイする際は、画面のボタンから操作するけど、Unityエディター時にはキーボードから操作したいっていう場合の実装方法です。 ちなみに作ってるゲームは、こんな感じ。この緑色のバーを動かすプログラムがこ…
Unityの技術書を買うと、コルーチンの使い方は必ずといいほど書かれている。けど、実際にコルーチンを使うときって、ある操作を開始したらコルーチンを止めたい時があるんやけど、小tルーチンの止め方を書いてある本って少ない気がする。で、コルーチンの止…
ゲームを作っていると乱数を扱うことが多々あります。で、いつも使い方が分からなくなるのがRandom.Range()なんで、ここで改めて整理します。 // 0〜9が出力される int num = Random.Range(0, 10); // 0〜10が出力される float num = Random.Range(0f, 10f);…
横向き固定のアプリを作り際のUnityの設定方法です。あっAndroidの場合です。Project Settings / Player / Resolution and Presentation で、「Landscape Right」、「Landscape Left」にチェックを入れます。 ※「Portrait」、「Portrait Upside Down」のチェ…
Unityでゲームを作っていると、ボタンオブジェクトの子コンポーネントにあるテキストオブジェクトの名前を動的に出したいときが出てくる。 例えばRPGでいうと、アイテムを所持していないときは「なし」と表示し、アイテムを拾うと拾ったアイテム名を出したい…
よくUnityでは各オブジェクトにTagをセットする。プログラム内でこのタグを取得して、何かの判定をするというのはよくある実装。 今作っているゲームで、自オブジェクトのTagを取得して判定するという実装を組みたかったのだが、自オブジェクトのTagの取得方…
約2カ月かけて、unity1weekで作ったゲームを改良してAndroidアプリを開発した。そのアプリがこれ。 play.google.com いわゆるウォーリーを探せ的なゲームです。全50問作ったのでボリュームは十分で、問題が進むと高難易度の問題もでてきます。サクッとでき…
Unityでゲームを作って、Androidアプリとしてリリースしました!超絶シンプルですが、今の自分ができることを詰め込みました。無料で広告なしなので、ぜひぜひ遊んでみてください。 play.google.com
横スクロールアクションや、シューティングゲームでよくあるあれです。 まずSpriteを点滅させる方法は、SpriteRendererコンポーネントのアルファ値を変化させてやれば、実装できる。そのときのソースコードがこれ。 public SpriteRenderer sp; // ダメージ判…
タイトルそのまんまです。ゲーム作ってたら、こんな感じでTextオブジェクトがSpriteの後ろになってしまう問題が発生。 Sprite同士なら簡単にいくのだが、TextとSpriteだとどうしていいのかわからず、結構悩んでいた。 で、解決した方法がこちら。 Textオブジ…
少し時間が空いたけど、Androidアプリを新たにリリースしました。それがこちら。 play.google.com 30秒間に画面をタップした回数を記録するゲーム。スマホアプリにはよくあるゲームだ。Unityでゲームは作っているが、これまで作ったゲームはUnityの技術書の…
これまで、Google Playへ3つのAndroidアプリをリリースしました。当時の記事がこちら。 uuc1h.hatenablog.jp けど、ちょっと間が空くと、かならずやり方を忘れてしまう。そのため、ここで自分用の完璧な手順書を作っておく。 UnityでAndroidビルドをする方法…
Unityをメインにアプリ開発をしているが、Unityで使用する言語はC#だ。 自分は仕事でJavaを使っているからC#も何となく理解できるが、ここらで一度C#を学んでおきたいと思う。 そこで手に取ったのが、この「確かな力が身につく」シリーズだ。確かな力が身に…
private void Update() { if(score > displayScore) { displayScore += 10; if(displayScore > score) { displayScore = score; } RefreshScore(); } } void RefreshScore() { textScoreNumber.GetComponent<Text>().text = displayScore.ToString(); }</text>
private void OnTriggerEnter2D(Collider2D collision) { if(collision.gameObject.tag == "Enemy") { if(transform.position.y > collision.gameObject.transform.position.y + 0.4f) { rbody.velocity = new Vector2(rbody.velocity.x, 0); rbody.AddForce…
public LayerMask blockLayer; private Rigidbody2D rbody; private float moveSpeed = 1; public enum MOVE_DIR { LEFT, RIGHT, }; private MOVE_DIR moveDirection = MOVE_DIR.LEFT; private void FixedUpdate() { bool isBlock; switch(moveDirection) { …
using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerManager : MonoBehaviour { // ブロックレイヤー public LayerMask blockLayer; private Rigidbody2D rbody; // 移動速度固定値 private const float M…
Main Camera / Camera / Sizeを小さくする
void OnApplicationPause(bool pauseStatus) { if(pauseStatus) { // アプリがバックグラウンドへ移行 } else { // バックグラウンから復帰 } }
朝食:ポテトサラダ入りサンドイッチ昼食:キーマカレー夕食:レタスのサラダ、フライドチキン、味噌汁 今日は、夕食に白米を抜いてみた。過去最高体重になったので、炭水化物を徐々に抜いてきます。あと、リンゴ酢を飲み始めて、早四日目。うん、体調に全く…
DateTime型はPlayrePrefsでは、読み書きができない。そのため、バイナリに変換する必要がある。 PlayerPrefs.SetString(KEY_TIME, lastDateTime.ToBinary().ToString(); // 時間の復元方法 // 第2引数は、デフォルト値の指定 string time = PlayerPrefs.GetS…
1.Animatorウィンドウで、以下の状態を作り出しておく。 ※左のパラメータは、Parametersタブ / +をクリックし、Triggerを選択。 2.New Stateからget@ImageMokugyoの矢印をクリックし、遷移するトリガーを「isGetScore」を設定する。 ※Has Exit Timeをオフに…
1.Animationウィンドウを開く2.Add Propertyをクリックし、変化させたい項目を選択する。(ここでは例として、Rect Transform / Anchored Postionを選択)3.記録ボタンをクリックし、InspectorのRect Transform / Pos Yの値を変更4.記録ボタンをオフにする。
public enum ORB_KIND { BLUE, GREEN, PURPLE, } 連続する定数。最初の定数は0、次は1・・というように設定される。