Cách tạo camera theo sau người chơi siêu mượt

ĐẦU TIÊN

Bạn cần tạo player của mình, cái này trong ebook bọn mình cung cấp có hướng dẫn, mình sẽ không đề cập nữa.

TẠO CAMERA

OK, sau khi bạn tạo player, tạo 1 sprite trống, đổi tên nó thành Camera, đây sẽ là camera mà bạn cần.

Nên đặt camera ở gần player, hoặc khi bắt đầu trò chơi hãy cho camera di chuyển lại gần player nếu camera quá xa (có thể tận dụng điều này để tăng trải nghiệm cho trò chơi, ví dụ bạn sẽ đặt camera trên bầu trời và khi trò chơi bắt đầu sẽ di chuyển camera lại gần player).

BEHAVIORS

Thêm ScrollTo behavior cho camera của bạn.

EVENT SHEET

Tạo một event Add Event > System > Every Tick và tạo action Camera > Set Position >

X: lerp(Self.X, Player.X, 0.03)

Y: lerp(Self.Y, Player.Y-150, 0.03)

GIẢI THÍCH

Điểm mấu chốt ở đây chính là biểu thức lerp. Khi sử dụng nó, bạn cần cung cấp 3 giá trị, thứ nhất là điểm bắt đầu, thứ hai là điểm kết thúc, thứ ba là thời gian cần để chạy từ điểm đầu đến điểm kết thúc.

Self.X là vị trí hiện tại của camera, Player.X là vị trí hiện tại của người chơi, 0.03 có thể là bất cứ con số nào mà bạn muốn, nếu bạn muốn camera mượt hơn thì giảm nó đi và ngược lại.

Còn Player.Y tôi thêm giá trị -150 bởi vì player của ta sẽ luôn đứng ở giữa màn hình hình, do đó ta sẽ cần player luôn đứng ở gần cạnh dưới màn hình.

Tìm hiểu thêm về lerp tại đây: here

Nguồn: here – Người dịch: Hà Hoàng Giang

Trả lời