Lưu, Tải và Điểm Cao
Đôi khi bạn muốn tạo một trò chơi mà nó nhớ một số chi tiết nhất định về lần trước khi nó được chơi.
Những gì bạn muốn lưu phụ thuộc rất nhiều vào trò chơi hoặc ứng dụng mà bạn đang tạo. Dù bạn muốn lưu một điểm số, vị trí, hay sự tiến bộ tổng thể, bạn cần lên kế hoạch cho cách và những gì bạn muốn lưu.
Trong hướng dẫn này, chúng ta sẽ đề cập đến việc lưu điểm số của người chơi, và tạo một hệ thống điểm số cao hoặc "Điểm số trước đó tốt nhất" đơn giản.
Cho hướng dẫn này, chúng ta sẽ giả định rằng bạn đã tạo một trò chơi đơn giản, nơi người chơi nhặt tiền xu (Phần 5 của việc tạo một trò chơi nền tảng), và số lượng tiền xu được hiển thị bằng một nhãn trên màn hình.
Lưu trữ
Khi nói đến việc lưu trữ, có hai câu hỏi quan trọng bạn muốn tự hỏi mình. Bạn muốn lưu trữ cái gì, và khi nào bạn nên lưu trữ? Trong hyperPad, hành vi Lưu chỉ có thể lưu một giá trị tại một thời điểm. Vì vậy, bạn thật sự cần phải nghĩ về những gì bạn đang lưu.
Trong hướng dẫn này, chúng tôi sẽ lưu điểm số (số tiền xu đã thu thập) được hiển thị bằng một nhãn trên màn hình.
Bây giờ mà chúng ta biết rằng chúng ta đang lưu điểm số từ nhãn, việc tiếp theo là xác định khi nào lưu.
Có nhiều tùy chọn ở đây, và chúng phụ thuộc vào lối chơi hoặc thiết kế tổng thể của bạn. Bạn có thể lưu mỗi khi người chơi nhặt tiền xu, lưu khi người chơi thua, lưu khi người chơi đánh bại cấp độ, lưu khi người chơi nhấn một nút, hoặc bất cứ điều gì khác mà bạn nghĩ là cần thiết cho tình huống của bạn.
Cho hướng dẫn này, chúng tôi sẽ thiết lập một nút lưu điểm số khi người chơi nhấn nút lưu. Logic hành vi giống như thế này có thể áp dụng nếu bạn muốn lưu khi người chơi thua hoặc hoàn thành cấp độ. Bạn chỉ cần kích hoạt những hành vi này khi bạn thắng hoặc thua.
Chọn đối tượng Nút lưu của bạn, và mở các hành vi.
Từ danh mục Tương tác của trình chỉnh sửa hành vi, thêm một hành vi "Dừng chạm".
Giờ từ danh mục Giao diện người dùng, thêm một hành vi "Lấy nhãn" và kết nối nó với hành vi "Dừng chạm" từ bước trước.
Gõ vào hành vi "Lấy nhãn" để xem các thuộc tính hành vi. Từ các thuộc tính hành vi, gõ vào khu vực đại diện cho đối tượng hiện tại, sau đó chọn nhãn trong cảnh của bạn đại diện cho điểm số của bạn.
Tiếp theo, từ danh mục Tùy chỉnh, thêm một hành vi "Lưu vào tệp" và kết nối nó với "Dừng chạm".
Chọn hành vi "Lưu vào tệp" mà bạn vừa thêm để xem các thuộc tính hành vi. Chú ý rằng "Loại khóa" được đặt thành có sẵn. Các khóa có sẵn là những thứ được định nghĩa trước mà bạn muốn lưu.
Đầu tiên, bạn cần thêm tiêu đề hoặc mô tả của điều gì đó mà bạn muốn lưu. Điều này được gọi là "Khóa". Gõ vào nút "Chọn hoặc Tạo khóa" để mở danh sách các khóa.
Nhập một tiêu đề mô tả ở phía trên cùng, sau đó nhấn nút + để thêm khóa đầu tiên của bạn. Vì chúng ta muốn lưu điểm số, hãy nhập "Điểm số" làm khóa.
Tiếp theo, bạn cần thực sự lưu điểm số từ nhãn. Để làm điều này, xuất giá trị từ góc của hành vi "Lấy nhãn" vào trường đầu vào của thuộc tính "Lưu vào tệp".
Chỉ vậy thôi! Tại thời điểm này, trò chơi của bạn nên lưu điểm số của bạn ngay khi bạn nhấn nút lưu. Nhưng bạn vẫn chưa thực sự làm gì với giá trị đã lưu. Điều tiếp theo bạn cần làm là Tải điểm số và thực sự sử dụng nó trong cảnh của bạn.
Tải
Bây giờ bạn đã có điểm số được lưu, bạn cần tải nó và sử dụng nó trong cảnh của bạn. Khi nói đến việc tải, có một câu hỏi quan trọng mà bạn cần phải trả lời. Khi nào bạn muốn tải?
Giống như việc lưu, câu trả lời phụ thuộc rất nhiều vào dự án của bạn. Bạn có thể tải ngay khi cảnh bắt đầu, khi người chơi nhấn một nút, hoặc khi một sự kiện khác được kích hoạt. Nó thực sự phụ thuộc vào những gì mà bạn đang cố gắng đạt được.
Cho hướng dẫn này, chúng tôi sẽ tải ngay khi cảnh bắt đầu và hiển thị điểm số đã lưu trước đó.
Để bắt đầu, thêm một nhãn vào cảnh của bạn. Chúng tôi sẽ sử dụng nhãn này để hiển thị điểm số đã lưu của bạn.
Tiếp theo, chúng ta cần thêm logic tải thực tế. Cho hướng dẫn này, chúng tôi sẽ thêm logic vào Nút lưu từ các bước trước. Tuy nhiên, tùy thuộc vào trò chơi của bạn, bạn có thể cần đặt logic của bạn ở nơi khác. Chọn nút lưu và mở trình chỉnh sửa hành vi từ thuộc tính đối tượng.
Từ danh mục Tùy chỉnh, thêm hành vi "Tải từ tệp" và không kết nối nó với bất kỳ đâu. Vì nó không được kết nối với bất kỳ hành vi nào khác, hành vi tải sẽ thực hiện ngay khi cảnh bắt đầu (khi nút tồn tại trong cảnh). Nếu bạn muốn tải dựa trên một sự kiện nhất định, hoặc kích hoạt khác, thì bạn sẽ kết nối nó với các hành vi khác.
Bây giờ hãy chọn hành vi "Tải từ tệp" để xem các thuộc tính hành vi. Một lần nữa, hãy đảm bảo rằng "Có sẵn" được chọn cho loại khóa.
Tiếp theo, gõ nút "Chọn khóa" để mở danh sách các khóa đã lưu. Từ danh sách, chọn khóa "Điểm số" mà bạn đã thêm trước đó.
Tại thời điểm này, bạn đã thực sự tải điểm số. Nhưng bạn vẫn chưa làm gì với nó. Hãy để giá trị đã tải đó được sử dụng.
Từ danh mục Giao diện người dùng, thêm hành vi "Đặt nhãn" và kết nối nó với hành vi Tải mà bạn đã thêm trước đó.
Tiếp theo, chọn hành vi "Đặt nhãn" để xem các thuộc tính của nó và nhớ chọn nhãn mới mà bạn vừa thêm đại diện cho điểm số đã tải. Khi bạn đã chọn nhãn chính xác để thay đổi, kéo giá trị đầu ra từ góc của hành vi "Tải từ tệp" vào trường nhập của hành vi Đặt nhãn.
Chỉ vậy thôi! Tiến trình của bạn sẽ được lưu và được tải vào nhãn lần sau bạn chơi.
Điểm số cao
Một điều bạn có thể đã nhận thấy là điểm số của bạn được lưu mỗi lần bạn nhấn nút và ghi đè lên điểm số trước đó của bạn. Đôi khi điều này là ổn, nhưng thường thì bạn chỉ muốn lưu khi người chơi đạt được một điểm số cao hơn điểm số trước đó của họ.
Để thực hiện hệ thống "Điểm số cao" này, chúng ta chỉ cần điều chỉnh một chút logic lưu của mình.
Bắt đầu bằng cách quay lại nơi các hành vi lưu được đặt (nút lưu).
Đầu tiên, bạn cần ngắt kết nối hành vi "Lưu vào tệp" khỏi hành vi "Dừng chạm". Gõ vào đường nối giữa hai hành vi để ngắt kết nối chúng.
Tiếp theo từ danh mục Logic, hãy thêm một hành vi IF. Hành vi IF sẽ kiểm tra khi một điều kiện nhất định được thỏa mãn trước khi thực hiện. Trong trường hợp này, chúng tôi chỉ muốn lưu IF điểm số lớn hơn điểm số trước đó (đã tải).
Kết nối hành vi IF với hành vi "Dừng chạm".
Tiếp theo, bạn cần gõ vào hành vi IF để mở các thuộc tính hành vi và thiết lập điều kiện.
Kéo giá trị đầu ra từ "Lấy nhãn" vào trường đầu vào đầu tiên của hành vi IF.
Tiếp theo, kéo giá trị đầu ra từ hành vi "Tải từ tệp" vào trường đầu vào thứ hai của hành vi IF.
Bây giờ bạn cần thay đổi điều kiện. Nhấn vào nút "Bằng nhau" và chọn tùy chọn Lớn hơn hoặc Bằng (<strong>≥</strong>).
Cuối cùng, kết nối hành vi lưu cũ của bạn với IF. Bây giờ hành vi IF của bạn sẽ chỉ thực hiện lưu được kết nối, nếu giá trị từ nhãn là lớn hơn (hoặc bằng) giá trị đã tải.
Đó là tất cả những gì bạn cần làm. Bạn bây giờ nên có một hệ thống lưu và tải hoạt động mà sẽ lưu điểm số của người chơi chỉ khi họ đánh bại cố gắng trước đó của họ.
Lưu trữ khác
Hướng dẫn này đề cập đến việc lưu điểm số. Nhưng đôi khi bạn muốn lưu những thứ khác, như vị trí của người chơi, hoặc cấp độ hiện tại, v.v.
Các khái niệm mà bạn học trong hướng dẫn này vẫn áp dụng. Bạn chỉ cần thay đổi khi bạn đang lưu, và những gì bạn đang lưu.
Prênh ví dụ lưu vị trí của người chơi. Vị trí của một đối tượng được cho bằng 2 số. X và Y. Đối với điều này, bạn chỉ cần sử dụng 2 hành vi lưu. Một để lưu vị trí X, và cái kia để lưu vị trí Y. Rồi khi đến việc tải, bạn sẽ sử dụng 2 hành vi tải. Sau đó, thay vì đặt một nhãn, bạn sẽ chỉ cần di chuyển đối tượng người chơi đến vị trí X và Y đã tải.
Bằng cách lập kế hoạch những gì bạn đang cố gắng lưu, và khi nào bạn cần lưu, bạn có thể tạo ra một hệ thống hoạt động cho hầu hết mọi tình huống.

