2011-09-02 26 views
7

Khi tôi xem tài liệu của GKScore và GKLeaderboard, không có cách nào để đặt lại điểm số được báo cáo bởi người chơi thành bảng dẫn đầu cụ thể trong GameCenter. Tôi có đúng không?Bất kỳ cách nào để đặt lại bảng xếp hạng theo chương trình?

Điều này có vẻ khá mâu thuẫn, vì nó có thể thiết lập lại thành tích:

[GKAchievement resetAchievementsWithCompletionHandler:^(NSError *error) { ... }]; 

Bất kỳ suy nghĩ?

+0

Tôi đang tìm kiếm điều tương tự, nhưng cho đến nay không có gì. Trong Hướng dẫn lập trình GameKit của họ, nó cho thấy làm thế nào để thiết lập lại thành tựu, nhưng không phải Leader Leader. Vì vậy, tôi đoán hiện tại không thể ... – Structurer

Trả lời

5

Bạn là chính xác. Không có cách nào để đặt lại danh mục bảng xếp hạng trong Trung tâm trò chơi hoặc xóa danh mục khi nó được khởi chạy trong ứng dụng trực tiếp.

Apple đã cho phép cách đặt lại thành tích. Công việc duy nhất xung quanh mà tôi biết là chỉ cho phép các danh mục cũ chết, hãy đặt chúng xuống dưới cùng, thay đổi nhãn được liên kết với danh mục thành "Thứ hạng cao (Đã lưu trữ)" và sau đó tạo một danh mục mới một và dán nhãn "Điểm cao" và sắp xếp nó lên trên cùng. Điều này sẽ cung cấp cho bạn một tươi. Nhưng tất nhiên vẫn có giới hạn 25 danh mục bảng thành tích - vì vậy, tại một số điểm bạn bị chìm trừ khi bạn chỉ tìm ra cách sử dụng lại các thẻ cũ. (Ví dụ: tạo tất cả điểm số của bạn x10 để mọi người tăng lên trên điểm số cũ rất nhanh)

EDIT ... Trong một phiên bản gần đây, tôi đã sử dụng lại danh mục bảng xếp hạng trong bản cập nhật ứng dụng gần đây. Việc sử dụng ban đầu của thể loại là cho điểm số khá thấp ... trong 1000 thấp. Việc sử dụng mới của các thể loại sẽ là bất cứ nơi nào từ 10x đến 1000x đó. Vì vậy, tôi biết rằng bất kỳ điểm số cũ trong thể loại đó sẽ bị xóa trong vài lượt chơi đầu tiên của trò chơi. Tất nhiên id danh mục không thể thay đổi (com.company.app.category), nhưng mô tả (tiếng Anh hoặc cách khác) có thể thay đổi. Nó có thể trở nên khó hiểu vì bạn đang sử dụng một danh mục có một id của một điều khi tiết kiệm điểm cho một cái gì đó hoàn toàn khác nhau. Nhưng với #define kBlahBlahBlah đến @ "com.company.app.blah", bạn có thể sử dụng mã bất kỳ tên nào giúp dễ dàng giữ mọi thứ thẳng. Hy vọng rằng sẽ giúp.

+0

Cảm ơn câu trả lời, nhưng ngay cả cách giải quyết này cũng không giải quyết được tình huống mà tôi muốn đặt lại điểm số cho một người chơi đơn lẻ (không đặt lại toàn bộ danh mục bảng thành tích). – manicaesar

+0

Về mặt kỹ thuật, câu trả lời của tôi là chính xác và tôi có thể sử dụng dấu kiểm. Bạn hỏi nếu có một cách và không có cách nào .. câu trả lời đúng. – badweasel

+0

Tôi đã dành một thời gian dài để tạo hệ thống điểm số cao dựa trên máy chủ của riêng mình để tôi có thể làm những gì tôi muốn với bảng xếp hạng của mình, bao gồm cả việc cấm gian lận và xóa điểm số giả mạo. Bây giờ tôi có thể tự động tạo chúng một cách tự động. Cuối cùng tôi có thể mở hệ thống của mình cho các nhà phát triển khác. – badweasel

Các vấn đề liên quan