Giới thiệu Scripting - Viết code - trong lập trình game với Unity3D

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

0.0 (0 đánh giá)
Tạo bởi HowKteam Cập nhật lần cuối 04:19 24-10-2016 9.365 lượt xem 7 bình luận
Học nhanh

Danh sách bài học

Giới thiệu Scripting - Viết code - trong lập trình game với Unity3D

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;
        }
    }
}

File game Demo

File Assets

Bài sau chúng ta sẽ cùng nhau tìm hiểu về đối tượng vật lý 2D, xử lý va chạm.

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


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần BÌNH LUẬN bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Nội dung bài viết

Tác giả

Khóa học

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

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

Đánh giá

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
khang.2.7.98 đã bình luận 08:33 10-01-2018

A cho e hỏi, e add component New Script xong e chọn ngôn ngữ là javascript để viết mà k thấy javascript chỉ thấy ngôn ngữ C# mặc định. H e tìm javascript chỗ nào a ?

coyz.handsome đã bình luận 23:24 20-03-2017
anh cho em hỏi ngu cái : gameObject vs cái GameObject khác nhau chỗ nào :d và chỗ obj = gameObject; sao ko phải là obj = GameObject();
dungtran6665 đã bình luận 10:01 22-11-2016
em làm như các bước trên nhưng background lại đi xuống dưới em thử debug code thì ko có erro, và coppy như bản gốc vẫn như vậy là sao vậy ạ
Dragonbax77 đã bình luận 01:22 28-10-2016
Cái phần Wall của anh nó chạy xuống là vì anh Set ở cái transform.Translate(new Vector3(-1*Time.deltaTime,transform.position.y,0)); đó anh. Vì cái Translate là nó cộng Vector nên ở đoạn Background của anh y=0 nên không sao cả, vẫn bình thường, nhưng đến đoạn Wall thì y của nó không phải bằng 0 nữa nên mỗi lần Update nó sẽ cộng thêm 1 lượng y vào lượng y cũ. Vì thế cái Wall nó mới đi xuống dưới.
Không có video.