Điều này có vẻ như một khái niệm cơ bản như vậy nhưng thực sự không có câu trả lời tốt.Làm thế nào để tạm dừng hiệu quả một trò chơi trong spritekit?
Tôi hiện có thiết lập khá cơ bản, trong cảnh trò chơi của mình, tôi có một số enum gameState
hiện tại là inGame
hoặc gamePaused
.
Tôi đã thiết lập nút của mình và tôi có nó để nhấn chỉ cần bật tắt gameState
.
Sau đó, để làm cho nó hoạt động, tôi có hai phương pháp cập nhật riêng biệt: Một cho khi gamePaused
, một cho khi inGame
.
Điều này làm việc cho 95% trò chơi của tôi, vì các bản cập nhật trong trò chơi của tôi có thể dễ dàng bắt đầu và dừng mà không gặp bất kỳ sự cố nào. Có một số vấn đề tôi không thể giải quyết được.
Đầu tiên và quan trọng nhất là các hành động. Tôi sử dụng SKActions
cho một chút dự án của tôi (một số chuyển động, mở rộng, mờ dần ...) và phương pháp này KHÔNG tạm dừng chúng. Điều này có thể thảm khốc ở một số điểm nhất định. Thứ hai, điều này không xử lý các hạt, vật lý và một số thứ khác không liên quan trực tiếp đến các phương thức cập nhật của tôi.
Đầu mối duy nhất tôi có là self.view.paused = YES
, nhưng điều đó cũng không hoạt động.
Trước hết, điều này sẽ khắc phục hành động, hạt và vấn đề vật lý của tôi ... kinda. Nhưng This question cho thấy rằng SKActions
không thực sự BỊ TẠO bởi điều này, nhưng thực sự STOPPED hoàn toàn. Điều này có đúng không? Nếu có, thì nó sẽ không hoạt động trơn tru, bởi vì các hành động của tôi bị vứt bỏ.
Ngoài ra, tạm dừng chế độ xem có vẻ như làm những gì nó nói: dừng mọi thứ. MỌI ĐIỀU. Newbie câu hỏi ở đây, nhưng làm thế nào tôi có thể nhận được bất kỳ mã để chạy vào thời điểm đó? Tất cả đều bị cắt. Đây có phải là nơi tôi cần subViews
không? Tôi chưa bao giờ sử dụng subView
, nhưng nó có vẻ giống như những gì tôi muốn trong trường hợp này.
Nói một cách đơn giản, có rất nhiều câu hỏi chưa được trả lời cho tôi và tôi không biết cách tiếp tục. Tôi hy vọng có một số 'thủ tục tiêu chuẩn' để tạm dừng trong Sprite Kit
, nhưng với tạm dừng các hành động dừng xem, tôi thực sự không biết phải tiến hành ở đâu.
Tôi có nên chuyển từ việc sử dụng các hành động không? Ý tưởng của tôi về âm thanh tạm dừng subView
?
Tôi không muốn lảm nhảm, tất cả những gì tôi muốn biết là cách bạn tạm dừng trong dự án trung bình Sprite Kit
của bạn. Thông tin bổ sung được cung cấp theo yêu cầu.
1. Thử đặt tốc độ tác vụ thành 0.0. 2. Thử thiết lập cảnh bị tạm dừng thành CÓ. 3. Thử đặt self.view.paused thành YES 4. Thử kết hợp cả ba. – AndrewShmig