#swift #sprite-kit #scene
#swift #sprite-kit #сцена
Вопрос:
я довольно новичок в swift, и я буквально не могу понять это где угодно. Когда я загружаю игру без MenuScene, она отлично загружает все ресурсы и все остальное, но в тот момент, когда я запускаю с помощью MenuScene, она не масштабируется должным образом. Заранее спасибо за любую помощь.
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
let gameScene = GameScene()
view!.presentScene(gameScene)
scene?.scaleMode = .aspectFill
это что-то в GameScene, что мне нужно изменить?
Комментарии:
1. Трудно помочь вам без каких-либо изображений. Однако попробуйте добавить SKCameraNode
2. Это сработало! теперь у меня просто проблема с моим спрайтом, который я настроил в файле SKS, который не отображается на экране. Спасибо вам все же! одна проблема осталась одна!
Ответ №1:
Я взял ответ Simones и подумал, что это сработало, но он просто переместил экран, но у меня все еще была проблема с тем, что мои спрайты не изменялись, в итоге я добавил тот же код в представление if let с контроллера gameview, чтобы мои касания начались. Это сработало именно так, как я хотел.
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
if let view = self.view {
if let scene = GameScene(fileNamed: "GameScene") {
scene.scaleMode = .aspectFill
view.presentScene(scene)
Комментарии:
1. да, если вы посмотрите на код, ваш GameScene загружает файл, который определяет ваш размер. Вы также устанавливаете режим масштабирования новой сцены, а не потенциально старой сцены (я понятия не имею, какая сцена ?.scalemode будет работать после представления новой сцены. Я бы подумал, что это будет либо nil, либо self, а не новая сцена)