Lập trình game Flappy bird với unity3D

Lập trình game Flappy bird với unity3D

Giới thiệu đối tượng vật lý 2D, xử lý va chạm trong lập trình game với Unity3D Giới thiệu đối tượng vật lý 2D, xử lý va chạm trong lập trình game với Unity3D Giới thiệu đối tượng vật lý 2D, xử lý va chạm trong lập trình game với Unity3D Giới thiệu đối tượng vật lý 2D, xử lý va chạm trong lập trình game với Unity3D Giới thiệu đối tượng vật lý 2D, xử lý va chạm trong lập trình game với Unity3D 5/5 (27 reviews)

Giới thiệu đối tượng vật lý 2D, xử lý va chạm trong lập trình game với Unity3D

Đã đăng 2016-10-24 04:21:07 bởi HowKteam
14 bình luận 6368 lượt xem
Giới thiệu đối tượng vật lý 2D, xử lý va chạm trong lập trình game với Unity3D 5 /5 stars (2 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 nổi tiếng: Flappy bird.

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

  • Lập trình C# cơ bản
  • Class
  • OOP trong C#

Code BackGroundMove.cs

using UnityEngine;
using System.Collections;

public class BackGroundMove : MonoBehaviour {

    public float moveSpeed;
    public float moveRange;

    private Vector3 oldPosition;
    private GameObject obj;
	// Use this for initialization
	void Start () {
        obj = gameObject;
        oldPosition = obj.transform.position;
        moveSpeed = 5;
        moveRange = 20;
	}
	
	// Update is called once per frame
	void Update () {
        obj.transform.Translate(new Vector3(-1 * Time.deltaTime * moveSpeed, transform.position.y, 0));

        if (Vector3.Distance(oldPosition, obj.transform.position) > moveRange)
        {
            obj.transform.position = oldPosition;
        }
    }
}

Code BirdController.cs

using UnityEngine;
using System.Collections;

public class BirController : MonoBehaviour {

    public float flyPower = 100;

    GameObject obj;
	// Use this for initialization
	void Start () {
        obj = gameObject;
	}
	
	// Update is called once per frame
	void Update () {
	    if (Input.GetMouseButton(0))
        {
            audioSource.Play();
            obj.GetComponent<Rigidbody2D>().AddForce(new Vector2(0, flyPower));
        }
	}

    void OnCollisionEnter2D(Collision2D other)
    {
        EndGame();
    }    

    void EndGame()
    {
        Debug.Log("End game");
    }
}

Code WallMove.cs

using UnityEngine;
using System.Collections;

public class WallMove : MonoBehaviour {

    public float moveSpeed;
    public float minY;
    public float maxY;

    public float oldPosition;
    private GameObject obj;
    // Use this for initialization
    void Start()
    {
        obj = gameObject;
        oldPosition = 10;
        moveSpeed = 5;
        minY = -1;
        maxY = 1;
    }

    // Update is called once per frame
    void Update()
    {
        obj.transform.Translate(new Vector3(-1 * Time.deltaTime * moveSpeed, 0, 0));        
    }

    void OnTriggerEnter2D(Collider2D other)
    {
        if (other.gameObject.tag.Equals("ResetWall"))
            obj.transform.position = new Vector3(oldPosition, Random.Range(minY, maxY + 1), 0);
    }
}

Code GameController.cs

using UnityEngine;
using System.Collections;
using UnityEngine.SceneManagement;

public class GameController : MonoBehaviour {

	// Use this for initialization
	void Start () {
    }
	
	// Update is called once per frame
	void Update () {
	}

    public void EndGame()
    {
    }
}

 

File game Demo

File Assets

Bài sau chúng ta sẽ cùng nhau tìm hiểu về cách lấy thuộc tính từ đối tượng khác.

Đừ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  
Giới thiệu đối tượng vật lý 2D, xử lý va chạm trong lập trình game với Unity3D
memorydoraemon 2017-09-17 11:08:22

Anh ơi, 2 vật có khối lượng khác nhau vẫn rơi vs tốc độ như nhau trong môi trường chân không nên a chỉnh cái mass lên 1000 nó vẫn rơi vs tốc độ như nhau à :V 

0 bình chọn
Reply
View all 1 comments
Kteam - Howkteam Free Education
duyhouse 2017-09-18 20:19:07
Cái nó ko phải là bạn chỉnh mass là nó sẽ rơi nhanh. Rơi nhanh là do Gravity Scale mới quyết định (Theo mình thấy vậy)
0 bình chọn
Reply
Giới thiệu đối tượng vật lý 2D, xử lý va chạm trong lập trình game với Unity3D
duyhouse 2017-09-06 07:41:24

Mình viết xong cuối cùng wall reset được mà con chim ko bay được trc đó nó còn bay được

 

0 bình chọn
Reply
Giới thiệu đối tượng vật lý 2D, xử lý va chạm trong lập trình game với Unity3D
duyhouse 2017-09-03 16:24:00

::V

0 bình chọn
Reply
Giới thiệu đối tượng vật lý 2D, xử lý va chạm trong lập trình game với Unity3D
DungC# 2017-07-06 11:27:43

Anh có thể nào làm video một cách chậm rãi ko anh ? Cứ vèo vèo em ko theo kịp nữa !

0 bình chọn
Reply
View all 1 comments
Kteam - Howkteam Free Education
Miushi 2017-08-31 16:57:17
:3 thấy tốc độ z cũng ổn mà tar
0 bình chọn
Reply
Giới thiệu đối tượng vật lý 2D, xử lý va chạm trong lập trình game với Unity3D
Danh 2017-05-28 14:11:28

a nói cụ thể reset wall gồm những j đi a

0 bình chọn
Reply
View all 1 comments
Kteam - Howkteam Free Education
K9 2017-05-29 11:52:01
ủa trong video k nói hay sao bạn?
0 bình chọn
Reply
Giới thiệu đối tượng vật lý 2D, xử lý va chạm trong lập trình game với Unity3D
Hùng 2017-01-25 16:04:01
phần Ramdom.Range trong void OnTriggerEnter2D(Collider2D other) nó báo lỗi
0 bình chọn
Reply
Giới thiệu đối tượng vật lý 2D, xử lý va chạm trong lập trình game với Unity3D
Thuan 2016-12-15 14:55:10
anh chơi game hài quá. Cảm ơn anh.
0 bình chọn
Reply
Giới thiệu đối tượng vật lý 2D, xử lý va chạm trong lập trình game với Unity3D
Beeruss 2016-11-18 12:46:53
ô e thấy bird đụng vào wall thì wall cũng reset :v a k nói cái đoạn làm sao để cho con bird đụng vào wall k bị reset tại vì con bird nó kiểu j cũng đụng trước lên cứ chạm vào bird phát reset lun @@
0 bình chọn
Reply
Giới thiệu đối tượng vật lý 2D, xử lý va chạm trong lập trình game với Unity3D
Beeruss 2016-11-18 11:42:43
à đc rồi a ạ cơ mà e dùng bản unity cũ có sợ nó thiếu hàm j k a ?
0 bình chọn
Reply
Giới thiệu đối tượng vật lý 2D, xử lý va chạm trong lập trình game với Unity3D
Beeruss 2016-11-16 21:55:24
sao e k chỉnh đc point nhủy ... cái khung point đấy bị đen lun ! ??
0 bình chọn
Reply
View all 1 comments
Kteam - Howkteam Free Education
K9 2016-11-17 00:23:37
là sao ta. đen là sao e. có link hình k
0 bình chọn
Reply
Hủy bỏ   hoặc  
Hủy bỏ   hoặc  

Chiến dịch

Kteam - Howkteam Free Education