Lập trình game Zombie Hunter với Unity3D

Lập trình game Zombie Hunter với Unity3D

Tự động tạo Zombie trong game Zombie Hunter với Unity3D Tự động tạo Zombie trong game Zombie Hunter với Unity3D Tự động tạo Zombie trong game Zombie Hunter với Unity3D Tự động tạo Zombie trong game Zombie Hunter với Unity3D Tự động tạo Zombie trong game Zombie Hunter với Unity3D 0/5 (15 reviews)

Tự động tạo Zombie trong game Zombie Hunter với Unity3D

Đã đăng 2016-11-06 00:19:20 bởi HowKteam
1 bình luận 3679 lượt xem
Tự động tạo Zombie trong game Zombie Hunter với Unity3D 0 /5 stars (1 reviews)
 

Không có gì tuyệt vời hơn là luyện tập với ví dụ thực tế. Nào cùng nhau thử thách bản thân với trò chơi thú vị: Zombie Hunter

Bạn nên có kiến thức về:

  • Lập trình C# cơ bản
  • Class
  • OOP trong C#
  • Xem qua hai serial game 2D với Unity3D: Flappy bird Doge game

Code RotateGun.cs

using UnityEngine;
using System.Collections;

public class RotateGun : MonoBehaviour {
    public Vector3 target;
	// Use this for initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void Update () {

        LookAtCursor();
	}

    void LookAtCursor()
    {
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;

        if (Physics.Raycast(ray, out hit))
        {
            target = hit.point;
        }

        transform.LookAt(target);
    }
}

Code MoveToPlayer.cs

using UnityEngine;
using System.Collections;

public class MoveToPlayer : MonoBehaviour {

    float moveSpeed;
    public float minMoveSpeed = 0.05f;
    public float maxMoveSpeed = 0.3f;
    GameObject player;
    GameObject lookAtTarget;
	// Use this for initialization
	void Start () {
        player = GameObject.FindGameObjectWithTag("Player");
        lookAtTarget = GameObject.FindGameObjectWithTag("LookTarget");
        UpdateMoveSpeed();
	}

    void UpdateMoveSpeed()
    {
        moveSpeed = Random.Range(minMoveSpeed, maxMoveSpeed);
    }
	
    void Move()
    {
        if (player == null || lookAtTarget == null)
            return;
        transform.LookAt(lookAtTarget.transform.position);
        transform.position = Vector3.Lerp(transform.position, player.transform.position, moveSpeed * Time.deltaTime);
    }

	// Update is called once per frame
	void Update () {
        Move();
	}
}

Code SpawnEnemy.cs

using UnityEngine;
using System.Collections;

public class SpawnEnemy : MonoBehaviour {

    GameObject[] spawnPoint;
    public GameObject zombie;
    public float minSpawnTime = 0.2f;
    public float maxSpawnTime = 1;
    private float lastSpawnTime = 0;
    private float spawnTime = 0;
	// Use this for initialization
	void Start () {
        spawnPoint = GameObject.FindGameObjectsWithTag("Respawn");
        UpdateSpawnTime();
	}

    void UpdateSpawnTime()
    {
        lastSpawnTime = Time.time;
        spawnTime = Random.Range(minSpawnTime, maxSpawnTime);
    }

    void Spawn()
    {
        int point = Random.Range(0, spawnPoint.Length);
        Instantiate(zombie, spawnPoint[point].transform.position, Quaternion.identity);
        UpdateSpawnTime();
    }
	
	// Update is called once per frame
	void Update () {
	    if (Time.time >= lastSpawnTime + spawnTime)
        {
            Spawn();
        }
	}
}

File game Demo

File Assets

project

Bài sau chúng ta sẽ cùng nhau tìm hiểu về cách tạo hiệu ứng di chuyển cho Zombie.

Đừng quên: “Luyện tập – Thử thách – Không ngại khó

Chia sẻ:
Thảo luận Hỏi và đáp Báo lỗi bài viết
Hủy bỏ   hoặc  
Tự động tạo Zombie trong game Zombie Hunter với Unity3D
bimkute 2018-05-04 10:14:19

Chào HowKteam,

Mình có làm theo hướng dẫn để tạo zombie, mình thấy zombie vẫn tạo ra bình thường nhưng mỗi lần tạo lại bị 1 đống warning

The referenced script on this Behaviour is missing

The referenced script on this Behaviour (Game Object 'helicopter' )is missing

The referenced script on this Behaviour (Game Object '<null>' )is missing

UnityEngine.Object:Instantiate(GameObject, Vector3, Quaternion)

The referenced script on this Behaviour (Game Object '<Zombie>' )is missing

UnityEngine.Object:Instantiate(GameObject, Vector3, Quaternion)

 

Ở đây có helicopter của mình giống như cái Spawn trong video

Bạn có thể giải thích giúp mình ko?

0 bình chọn
Reply
Hủy bỏ   hoặc  
Hủy bỏ   hoặc  

Chiến dịch

Kteam - Howkteam Free Education