質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

0回答

3794閲覧

初めに画面外で生成した敵(オブジェクト)が、画面内に入ると出現する方法

yanachan

総合スコア8

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2017/01/20 02:40

###前提・実現したいこと
ここに質問したいことを詳細に書いてください
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。

unityで2Dのアクションゲームを作っています。画面外にいる敵を生成する場合、画面内にいたら、敵を出現させるシステムを作っています。
また、背景はスクロールせずに、ループして、敵と同様、画面内にいたら、背景を出現させるシステムも考慮しています。調べてみましたが、なかなか解決策が見当たらないので、よろしくおねがいします。

(背景はx座標間の幅17を使用し、地面も同様を使っています。)

###発生している問題・エラーメッセージ
画面外で生成した場合、地上の敵はゲーム開始時に下に落ちる。

エラーメッセージ

###該当のソースコード
//ゲーム開始時に出現
using UnityEngine;
using System.Collections;

public class MainCamera : MonoBehaviour {

public GameObject People; //敵のプレハブ // Use this for initialization void Start () { for (int i = 0; i < 30; i++) { CreatePeople(); } } // Update is called once per frame void Update () { } void CreatePeople() { Instantiate(People, new Vector2(Random.Range(5.0f, 100f),0), People.transform.rotation); //敵の配置生成(x座標5~100の間にランダムに生成) }

}

//敵のプログラム
using UnityEngine;
using System.Collections;

public class People : MonoBehaviour {

Rigidbody2D rb; public int moveSpeed = 1; private Animator anim; private bool flg = false; void Start () { anim = GetComponent<Animator>(); rb = GetComponent<Rigidbody2D>(); } void Update () { if(flg) { var v = new Vector2(0.04f, rb.velocity.y); //敵が動く transform.Translate(v); } } void RedirectedOnTriggerStay2D(Collider2D col) { if (flg == false) { if (col.gameObject.tag == "Player") { anim.SetBool("Walk", true); Debug.Log(anim.GetBool("Walk")); flg = true; } } }

}

###試したこと
OnBecameVisible()を使用したが、初めから画面外に生成される敵には適応されない。
最終手段として、Gravity scaleを0とし、落ちないようにしたが何体も生成されると、ゲームが重くなる可能性がある。

###補足情報(言語/FW/ツール等のバージョンなど)
C#を使用

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問