Tree chooping
Hi guys, I need a little help! I'm creating a game for android and I want that my character chop a tree but i get this error: NullReferenceException: Object reference not set to an instance of an object MeleeSystem.AttackTree () (at Assets/Myscript/MeleeSystem.cs:43) MeleeSystem.Update () (at Assets/Myscript/MeleeSystem.cs:31)
Here there are the scripts:
using UnityEngine;
using System.Collections;
using UnityStandardAssets.CrossPlatformInput;
public class MeleeSystem : MonoBehaviour {
public int minDamage = 25;
public int maxDamage = 50;
public float weaponRange = 3.5f;
public Camera FPSCamera;
private TreeHealt treeHealth;
private void Update()
{
Ray ray = FPSCamera.ScreenPointToRay(new Vector2(Screen.width / 2, Screen.height / 2));
RaycastHit hitInfo;
Debug.DrawRay(ray.origin, ray.direction * weaponRange, Color.green);
if (CrossPlatformInputManager.GetButtonDown("Action")!=null )
{
Debug.Log ("OK1");
if (Physics.Raycast(ray, out hitInfo, weaponRange))
{
Debug.Log ("OK2");
if (hitInfo.collider.tag == "Tree") // If we hit the tag "Tree"
{
treeHealth = hitInfo.collider.GetComponent<TreeHealt>();
AttackTree();
}
}
}
}
private void AttackTree()
{
Debug.Log("Hit Tree" + "Tree Health = " + treeHealth.health);
int damage = Random.Range(minDamage, maxDamage);
treeHealth.health -= damage;
}
}
Here there is another script
using UnityEngine;
using System.Collections;
public class TreeHealt : MonoBehaviour {
public int health =30;
// Use this for initialization
void Start () {
}
Rigidbody treeBody;
// Update is called once per frame
void Update () {
if (health <= 0) {
treeBody.isKinematic = false;
treeBody.AddForce (transform.forward *8);
Destroy (gameObject);
}
}
}
Comment
Your answer
Follow this Question
Related Questions
opacity problem of unity tree's billboard 0 Answers
Billboard Trees White Dots Everywhere... 0 Answers
How to Modelling A Tree which can fall on Unity? 1 Answer
How should I make Grass in HDRP 2020? 0 Answers
TreeInstance is not working properly 1 Answer