Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by unity_xEpj5-EHQg5OuA · Dec 22, 2017 at 09:09 PM · c#2dprefabspawning problemsenemy spawn

Enemy prefab wont work with the enemy movement script

This game is a 2d game in c#. My enemy is in a prefab and I have a script that spawns the prefab into the game scene, the prefab holds this script and also the enemy movement script, however when the prefab spawns in the scene the player cannot hit the enemy prefab and the enemy will not chase the player, which is what the enemy movement script should do. I know that the enemy movement script works however because when I place an enemy in the game scene hierarchy with the enemy movement script, it chases the player and attacks them, and the player can kill the enemy, it's just that when the prefabs spawn they don't do anything and I have no idea why

Comment
Add comment · Show 1
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Larry-Dietz · Dec 22, 2017 at 09:41 PM 0
Share

Need more info. Show the inspector with a spawned prefab that is not working selected, if you can. $$anonymous$$ake sure the enemy movement script is visible in the inspected in the screenshot.

3 Replies

· Add your reply
  • Sort: 
avatar image
0

Answer by bhavinbhai2707 · Dec 22, 2017 at 09:52 PM

Please show us the inspector or spawned prefab n probably the enemy script

Comment
Add comment · Show 2 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image unity_xEpj5-EHQg5OuA · Dec 23, 2017 at 01:05 PM 0
Share

alt text

This is the inspector for the zombie prefab (for some reason my player cannot be dragged into the variable unless it is a prefab, but even then, when this prefab is spawned it doesn't do what the enemy movement script tells it to

2017-12-23.png (340.8 kB)
avatar image unity_xEpj5-EHQg5OuA · Dec 23, 2017 at 01:06 PM 0
Share

and here is my enemy movement script

using System.Collections; using System.Collections.Generic; using UnityEngine;

public class Enemy$$anonymous$$ovement : $$anonymous$$onoBehaviour {

 //Who we are chasing
 public Transform Player;

 public Transform Zombie;

 // how fast we want the enemy to chase
 public float ChaseSpeed = 1f;

 // the range at which it detects Player
 public float detectRange = 10f;

 public float attackRange = 1f;

 // what the current speed is (get only)
 float CurrentSpeed;

 public float zombieHealth = 10f;

 Player$$anonymous$$ovement player$$anonymous$$oveScript;



 
 void Start ()
 {
     
 }
 void Update()
 {



     if (Vector3.Distance(transform.position, Player.position) <= detectRange) 
     {  //check the distance between this game object and Player and continue if it's less than Range
         CurrentSpeed = ChaseSpeed * Time.deltaTime; // set the CurrentSpeed to ChaseSpeed and multiply by Time.deltaTime (this prevents it from moving based on FPS)
         transform.position = Vector3.$$anonymous$$oveTowards (transform.position, Player.position, CurrentSpeed);  // set this game objects position to the Player's position at the speed of CurrentSpeed
     }
     if(Vector3.Distance(transform.position,Player.position) <= attackRange)
     {
         // code to attack the player
         //Debug.Log("Hitting Player");
         player$$anonymous$$oveScript = GameObject.Find ("Player").GetComponent<Player$$anonymous$$ovement> ();
         player$$anonymous$$oveScript.ApplyHealthDamage (1);
     } 

 }


 public void TakeHealthDamage(float enemyDamageTaken)
 {
     zombieHealth = zombieHealth - enemyDamageTaken;
     Debug.Log ("YOU HURT THE ENE$$anonymous$$Y" + zombieHealth);

     if (zombieHealth <= 0) 
     {
         Debug.Log ("ENE$$anonymous$$Y DEAD");

         Destroy(this.gameObject);



     }

     if (Zombie == null) 
     {
         Debug.Log ("The enemy object is null");

     }


 }




}

avatar image
0

Answer by mani3307 · Dec 23, 2017 at 03:12 PM

@unity_xEpj5-EHQg5OuA in your inspector window reference to your player's transform is missing; After solving this if your problem still persists create an empty game object in your hierarchy attach your "enemy spawn script " to it. and then attach the "enemy movement script" to the prefab

now i think it will work fine.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image
0

Answer by Larry-Dietz · Dec 23, 2017 at 06:35 PM

One thing you can do, assuming there is only one object in the scene with a Player script assigned to it, would be to add the following in your Start routine of the Enemy Movement script.

 Player=FindObjectOfType<Player>().transform;

This will find an instance of the Player script somewhere in your scene, and assign it's transform to your Player variable, on start of the Enemy Movement script.

Hope this helps, -Larry

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

456 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

why all my prefabs get destroyed whem i destroy one of them,Why all my prefabs get destroyed whem i destroy one of them 2 Answers

How to move Instantiated 2D objects by 0.5 using arrows(or mouse) 1 Answer

How to generate different diagonal platforms? 0 Answers

How to move Instantiated 2D objects by 0.5 using arrows 1 Answer

How to generate different diagonal platforms? 1 Answer


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges