転職を繰り返したサラリーマンの多趣味ブログ

30才未経験でSEに転職した人の多趣味ブログ

プログラミング

2つめのiOSアプリをリリースしようとしたら、4.3リジェクトを食らってしまった話

何より数が大事だと思い、クオリティーは気にせずiOSアプリをガンガンリリースしていこうと思い、さっそく2つめのiOSアプリを審査に出したところ、4.3 Design: Spamなるリジェクトを食らいました。で、この「4.3 Design: Spam」の内容を調べてみたところ、か…

【Unity】ゲームオブジェクトを自動で動かし、オブジェクトに当たると反射する方法

動かしたいオブジェクトに、Physics Materialをアタッチする。 以下スクリプトをアタッチする。 // 移動速度 public float speed = 5.0f; // Rigidbodyコンポーネント Rigidbody rb; // Use this for initialization void Start () { // Rigidbodyコンポーネ…

【Unity】衝突時、ゲームオブジェクトを削除する方法

private void OnTriggerEnter(Collider other) { // 地面に衝突したら自オブジェクト削除 if(other.gameObject.tag == "Ground") { Destroy(gameObject); // Playerと衝突したら、自オブジェクトとPlayerオブジェクトを削除 } else if (other.gameObject.tag…

【Unity】Rigidbodyをアタッチしても、重力の変化を受けなくする方法

Use Gravityのチェックを外す。

【Unity】自オブジェクトのコンポーネントを取得するスクリプト

GetComponentコンポーネント名> // Rigidbodyコンポーネント Rigidbody rb; // Use this for initialization void Start () { // Rigidbodyコンポーネントの取得 rb = GetComponent<Rigidbody>(); }</rigidbody>

【Unity】シーンの重力変化

シーンの重力は、Editor / Project Settings / Physicsから確認できる。 この重力を変化させるスクリプトは、以下。 // 重力加速度 const float GravityF = 9.81f; // 重力の適用具合 public float gravityScale = 1.0f; // Update is called once per frame…

【Unity】Unityエディター上で行う操作と、実機で行う操作の処理を分ける場合

携帯の加速度センサーを使った処理を実装する場合、Unityエディター上で操作できなくなってしまう。 携帯で操作する場合は加速度センサー、Unityエディター上でだけキーボードで操作するといったように処理を分ける場合は、 // Unityエディター上で操作を行…

【Unity】Is Triggerについて

Is Triggerとは Colliderコンポーネントの設定の一つ。チェックを入れると、物理的接触が発生せずにすり抜ける。代わりに、トリガー(OnTriggerEnterなどのイベントメソッドが呼び出される)が発生する。 物理的接触を発生させながら、トリガーも発生させた…

【Unity】シーンの再読み込み方法

// 現在のシーン番号を取得 int sceneIndex = SceneManager.GetActiveScene().buildIndex; // 現在のシーンを再読込する SceneManager.LoadScene(sceneIndex);

【Unity】非アクティブなゲームオブジェクトをアクティブにする方法

public GameObject testObject; testObject.SetActive(true);

【Unity】指定したゲームオブジェクトをカウントし、画面に表示させる方法

1.新規でGameObjectを作成し、以下のようなスクリプトをアタッチする。 public class GameController : MonoBehaviour { public Text scoreLabel; public GameObject winnerLabelObject; public void Update() { int count = GameObject.FindGameObjectsWith…

【Unity】Canvasを使ったUIの追加方法

1.UI / Canvas を作成する。 2.Render ModeからScreen Space - Cameraを選択。 3.Render CameraにMain Cameraをドラッグ&ドロップ。 4.Canvas Scaler / UI Scale Mode をScale With Screen Sizeに設定する。 5.Reference Resolutionに画面サイズ(解像度)…

【Unity】タグを使った接触判定

1.InspectorビューのTagを設定する。 2.以下スクリプトを作成する。 public class Item : MonoBehaviour { // トリガーとの接触時に呼ばれるコールバック private void OnTriggerEnter(Collider other) { if(other.CompareTag("Player")) { Destroy(gameObje…

【Unity】TPSのようにカメラをプレイヤーの動きに追従させる方法

1.Main Cameraオブジェクトに、以下スクリプトをアタッチする。 public class FollowPlayer : MonoBehaviour { // ターゲットへの参照 public Transform target; // 相対座標 private Vector3 offset; private void Start() { // 自分自身とtargetとの相対距…

【Unity】Unityの勉強記録

キーボード操作 uuc1h.hatenablog.jp マウス操作 UIから操作 uuc1h.hatenablog.jp uuc1h.hatenablog.jp カメラ操作 キャラクター移動 uuc1h.hatenablog.jp 接触判定 uuc1h.hatenablog.jp uuc1h.hatenablog.jp Prefab uuc1h.hatenablog.jp uuc1h.hatenablog.j…

【Unity】GameObjectをキーボードで操作する方法

1.3Dオブジェクト / Cubeを作成する。 2.以下PlayerControllerスクリプトを作成し、Cubeにアタッチする。 public class PlayerController : MonoBehaviour { // Speedを制御する public float speed = 10; // Rigidbodyコンポーネントの宣言 Rigidbody rb; p…

何事も始めることが大事とみんな言っているので、そうすることにした。

Unityで作ったゲームを、iOSアプリとしてApp Storeに公開する方法をまとめてみた。 uuc1h.hatenablog.jp 箇条書きでつらつらと書いたので、この記事は随時アップデートしていきたい。これで、App Storeへ公開する敷居が下がった気がする。App Storeへ公開す…

【ゲーム開発】UnityでiOSビルドしようとして、Code Singing Errorが出たときの対処方法

Xcodeで、iOSビルドをしようとしたら「Code Singing Error」とエラーが発生したときの対処方法。 1.General / Singing / Team がNoneになっているので、自分のアカウントを指定。 2.Status / Sign inをクリックし、自分のアカウントのパスワードを入力 3.こ…

【ゲーム開発】UnityでSceneを切り替えると、画面が暗くなるバグの対策方法

unity3d.com ここに対策方法が書いてあるけど、どこのボタンを押せばいいのか分からん。。対策方法を画像で残しておきます。 1.Windows / Lighting / Settingsをクリック 2.Debug Settings / Auto Generateのチェックを外し、Generate Lightingをクリック 3.…

【Processing④】random、noise、sin関数について

random関数 float r = random(10); 0から10までの範囲で値を返す。帰り値は、float型。 float r = random(10, 20); 10から20までの範囲で値を返す。 int step = 10; float lastx = 20; float lasty = 50; float y = 50; for (int x = 20; x <= 480; x += ste…

【Processing③】静止画の作り方

エンターキーをクリックすると、キャプチャーを撮影する。 void keyPressed() { if(keyCode == ENTER) { saveFrame("screen-####.jpg"); } } ####には、その時点のフレーム番号に置き換えられる。

【Processing②】アニメーションで円を描画する

Processingでは、フレームループによって連続的に画面を再描画できる。 そのためには、setup()関数とdraw()関数を使ってフレームの基本構造を書く必要がある。 setup()関数 プログラム起動時に、1度だけ呼ばれる。初期化のためのコードを記載することが多い…

【Processing①】線と円を描く

直線の描き方 // キャンバスの大きさ size(500, 300); // 直線をなめらかにする smooth(); // 背景色の設定 background(230, 230, 230); // 線の色を設定 stroke(0, 0, 255); // 線の太さを設定 strokeWeight(4); // 線の描画 // 引数:始点のx座標、始点のy…

【技術書メモ】【パーフェクトJava⑨】基本型変数と参照型変数の違い

参照型変数とは 名前がないオブジェクトを、名前を持った変数を通して、オブジェクトを操作できる。 変数にオブジェクトを結び付けているともいえるが、あくまでオブジェクトの位置情報を指し示しているだけ。 基本型変数とは 変数が値(数値)そのものを保…

【技術書メモ】【パーフェクトJava⑧】文字と数値の相互変換

文字⇔数値の相互変換 // 文字'1'を10進数の1に変換 int i = Character.digit('1', 10); // 数値1を10進数の文字'1'に変換 char ch = Character.forDigit(1, 10);

【技術書メモ】【パーフェクトJava⑦】文字列への変換、文字列からの変換

文字列への変換 こんな方法があるのか。知らなかった。。 // trueという文字列に変換 boolean b = true; String str = String.valueOf(b); // aという文字列に変換 char ch = 'a'; String str2 = String.valueOf(ch); // 123という文字列に変換 int i = 123;…

【技術書メモ】【パーフェクトJava⑥】

文字列比較について // ==演算子は、同じ文字列オブジェクトか否かを判定する // よってstr != str2 String str = "abc"; String str2 = new StringBuilder("abc").toString(); 単に文字列を比較したいなら String str = "abc"; String str2 = new StringBui…

【技術書メモ】【パーフェクトJava⑤】文字列結合について

Stringクラスで文字列結合を行う場合 // Stringオブジェクト生成 String str = "012"; str += "345"; StringBuilderクラスで文字列結合を行う場合 // Stringオブジェクト生成 String str = "012"; StringBuilder sb = new StringBuilder(); sb.append(str).a…

【技術書メモ】【パーフェクトJava④】String⇔StringBuilderの変換

StringからStringBuilderへ String str = "abc"; StringBuilder sb = new StringBuilder(str); StringBuilderからStringへ StringBuilder sb = new StringBuilder("abc"); String str = sb.toString();

【技術書メモ】【パーフェクトJava③】StringBuilderクラスでよく使うメソッド

charAt // bを出力 String str = "abc"; System.out.println(str.charAt(1)); length // 3を出力 String str = "abc"; System.out.println(str.length()); subSequence // cdeを出力 String str = "abcdefg"; System.out.println(str.subSequence(2, 5)); ap…