Khi tôi chạy trò chơi SpriteKit, tôi nhận được lỗi này nhiều lần trong bảng điều khiển. Theo như tôi có thể nói (mặc dù tôi không hoàn toàn chắc chắn), bản thân trò chơi không bị ảnh hưởng, nhưng lỗi có thể có một số tác động khác, cùng với việc tạo bảng điều khiển gỡ lỗi.CUICatalog: Yêu cầu không hợp lệ: yêu cầu loại phụ mà không chỉ định thành ngữ (nó đến từ đâu và cách sửa nó?)
Tôi đã thực hiện một số nghiên cứu về lỗi và tìm thấy một số giải pháp khả thi, không có giải pháp nào có vẻ đã hoạt động hoàn toàn. Các giải pháp này bao gồm việc chuyển ignoresSiblingOrder
thành false
và chỉ định họa tiết như SKTextureAtlas(named: "atlasName").textureNamed("textureName")
, nhưng các giải pháp này không hoạt động.
Tôi nghĩ rằng lỗi đang đến từ đâu đó từ việc sử dụng họa tiết và họa tiết kết cấu trong danh mục nội dung, mặc dù tôi không hoàn toàn chắc chắn. Dưới đây là cách tôi đang thực hiện một số các textures/images:
let Texture = SKTextureAtlas(named: "character").textureNamed("\character1")
character = SKSpriteNode(texture: Texture)
thêm:
let Atlas = SKTextureAtlas(named: "character")
var Frames = [SKTexture]()
let numImages = Atlas.textureNames.count
for var i=1; i<=numImages; i++ {
let textureName = "character(i)"
Frames.append(Atlas.textureNamed(textureName))
}
for var i=numImages; i>=1; i-- {
let TextureName = "character(i)"
Frames.append(Atlas.textureNamed(textureName))
}
let firstFrame = Frames[0]
character = SKSpriteNode(texture: firstFrame)
Đoạn mã trên chỉ được sử dụng để tạo ra một mảng mà từ đó để animate nhân vật, và chạy hoạt hình hoàn toàn ổn.
Đối với tất cả các nút sprite khác của mình, tôi khởi tạo với SKSpriteNode(imageNamed: "imageName")
bằng tên hình ảnh từ danh mục nội dung, nhưng không phải trong bản đồ kết cấu. Tất cả các hình ảnh có @ 1x, @ 2x và @ 3x phiên bản.
Tôi không chắc liệu có bất kỳ nguồn nào khác có thể cho thông báo lỗi hay không hoặc nếu các ví dụ trên là nguồn của lỗi.
Đây có phải chỉ là lỗi với bộ công cụ giả mạo hoặc lỗi hợp pháp với mã hoặc nội dung của tôi không?
Cảm ơn!
Lỗi này vẫn còn trong Xcode 7.3 Beta. C'mon Apple –
Việc này sẽ "bỏ đi" nếu tải các kết cấu trực tiếp từ các bản đồ, chứ không phải bằng cách sử dụng 'initWithImagedNamed: @" somestring "' và tương tự. – Jonny