안녕하세요~ 유니티5에서요.
공격할 때마다 Instantiate로 파이어볼을 만들어서 적을 쫒아가서 터지게 만들었는데요
ex)
public void MoveToTarget()
{
//if (target == null)
//{
// StartCoroutine(MissTarget());
//}
if (target == null)
{ Destroy(gameObject, 3.0f);
transform.Translate(dir.normalized * bulletSpeed * Time.deltaTime, Space.World);
}
if (target != null)
{
dir = target.position - transform.position;
transform.Translate(dir.normalized * bulletSpeed * Time.deltaTime, Space.World);
ArriveToEnemy();
}
private void ArriveToEnemy()
{
if (dir.magnitude < 2.0f)
{
GameObject bomb = (GameObject)Instantiate(explosion,transform.position,transform.rotation);
Destroy(bomb, 0.15f);
EnemyMovement enemy =target.GetComponent<EnemyMovement>();
Destroy(gameObject);
if(enemy!=null)
enemy.GotDamage(bulletDamage);
}
때때로 Instantiate된 파이어볼에 스크립트가 달려있지 않아서
파이어볼이 움직이질 않아요.
공격을 했는데 총알이 움직이지 않아요.
(instantiate 된 Object가(ParticleSystem) Script 없이 생성됨.)
고수님들 왜 그런지 알려주세요. ㅠㅠㅠ
프리팹 apply 눌러서 적용하고 다시해봐
올린 스크립트는 파이어볼에 달려있는 스크립트아냐? 파이어볼에스크립트가 가끔씩안붙는게문제라면 파이어볼을생성하는스크립트가 필요할꺼같고../ 그게아니라 그냥 파이어볼이 안움직이면 dir부분에서문제가 생기지않을까생각되니깐 안움직이는 파이어볼에서 dir부분에 디버그찍으면 뭔가보일꺼같긴한데..