Приложение Crashs Touch Touch экрана Scenekit с наложением Xcode Swift

Эй, хорошо, что лучший способ распознать прикосновение для HUD в 3D-игре с сюжетным комплектом на Overlayskscene. потому что у меня есть кнопка под названием «AButton», но когда я прикасаюсь к кнопке или экрану, игра вылетает после нескольких часов поиска. Я предполагаю, что проблема заключается в том, что touchbegin на сцене не совсем ладит. Но тогда как я могу сделать так, чтобы, когда пользователь прикасается к кнопке на HUD, он не разбивает систему и фактически работает. вы можете посмотреть мой код и переписать его. я использую прикосновения, начинаю или делаю, что я ударил тест или что-то еще (я никогда раньше не использовал тест на удар)?

handleTap:]: непризнанный селектор, отправленный в экземпляр 0x14d547710 '*** Первый стек вызова броска: (0x1868042d8 0x1980300e4

Код:

import iAd import UIKit import GameKit import SceneKit import StoreKit import SpriteKit import QuartzCore import Foundation import AVFoundation import AudioToolbox //============================================================ class GameViewController: UIViewController, ADBannerViewDelegate, SKPhysicsContactDelegate, SKSceneDelegate, SCNSceneRendererDelegate, SCNPhysicsContactDelegate{ let FieldScene = SCNScene(named: "art.scnassets/TesingCampusField.dae")! let GuyScene = SCNScene(named: "art.scnassets/Guy.dae")! //-------------------HUD-SetUp------------------------------------------------------- let overlayScene = SKScene(size: CGSizeMake(100, 100)) override func viewDidLoad() { super.viewDidLoad() let scnView = self.view as! SCNView scnView.overlaySKScene = overlayScene scnView.backgroundColor = UIColor.whiteColor() scnView.scene = FieldScene scnView.delegate = self scnView.overlaySKScene!.delegate = self scnView.overlaySKScene!.anchorPoint = CGPointMake(0, 0) scnView.overlaySKScene!.physicsWorld.contactDelegate = self scnView.overlaySKScene!.physicsWorld.gravity = CGVectorMake(0.0, 0.0) scnView.allowsCameraControl = false scnView.showsStatistics = false let Guy1: SCNNode = GuyScene.rootNode.childNodeWithName("Bob_014", recursively: true)! FieldScene.rootNode.addChildNode(Guy1) ButtonA.size = CGSize(width: 6, height: 9) ButtonA.anchorPoint = CGPointMake(-13.3, -0.5) ButtonA.zPosition = 0 overlayScene.addChild(ButtonA) let tapGesture = UITapGestureRecognizer(target: self, action: "handleTap:") scnView.addGestureRecognizer(tapGesture) //-------------------------- let cameraNode = SCNNode() cameraNode.camera = SCNCamera() FieldScene.rootNode.addChildNode(cameraNode) cameraNode.position = SCNVector3(x: 0, y: 5, z: 15) //----------------------------------------------- let lightNode = SCNNode() lightNode.light = SCNLight() lightNode.light!.type = SCNLightTypeOmni lightNode.position = SCNVector3(x: 0, y: 10, z: 10) FieldScene.rootNode.addChildNode(lightNode) //----------------------------------------------- let ambientLightNode = SCNNode() ambientLightNode.light = SCNLight() ambientLightNode.light!.type = SCNLightTypeAmbient ambientLightNode.light!.color = UIColor.darkGrayColor() FieldScene.rootNode.addChildNode(ambientLightNode) //---------------------------------------------- } func AButtonPressed() { let AButtonPressed = SKTexture(imageNamed: "GreenAButtonPressed") let OrignalButtonA = SKTexture(imageNamed:"GreenAButton") let AButtonPressedAnimation = SKAction.animateWithTextures([AButtonPressed, OrignalButtonA], timePerFrame: 0.2) let RunAButtonPressedAnimation = SKAction.repeatAction(AButtonPressedAnimation, count: 1) ButtonA.runAction(RunAButtonPressedAnimation) print("finishedpressing") } override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) { /* Called when a touch begins */ for touch: AnyObject in touches { let location1 = touch.locationInNode(self.overlayScene) if self.overlayScene.nodeAtPoint(location1) == self.ButtonA { AButtonPressed() print("AButtonPressed") } } 

One Solution collect form web for “Приложение Crashs Touch Touch экрана Scenekit с наложением Xcode Swift”

ваш распознаватель жестов настроен на вызов метода handleTap: когда пользователь handleTap: представление, но вы не определяете этот метод.

 func handleTap(gestureRecognizer: UITapGestureRecognizer) { // do something } 

Если вы хотите напрямую использовать touchesBegan , вам не нужен распознаватель жестов.

  • Ускоренная скорость SKSpriteNode при столкновении
  • Архив не отображается в Organizer для XCode 4
  • Получать предупреждение памяти + сбой при тестировании через Xcode, но не только на устройстве?
  • Выберите местоположение с карт Google, сделав динамическую булавку для аннотаций на iPhone
  • Ошибки библиотеки библиотек CocoaPods для некоторых симуляторов iOS
  • Объект удаления данных с объектами Swift 3
  • Как выполнить проверку подлинности в Active Directory с помощью приложения iOS
  • Может ли Swift 1 запустить код на iOS 9?
  • Локализованные изображения iOS не отображаются
  • Использование Appliedocs для создания документации
  • Неправильно ли разрешить удаление кода мертвого кода?
  • Interesting Posts

    Что точно рандомизировано с ASLR в MacOS X и iOS

    Пользовательский клиент OpenVPN iOS

    Использование селектора в Swift 3

    Спрячьте UITabBar при нажатии, сохраняя прикосновение

    как добавить текстовое поле в ячейку таблицы (каждая строка) и установить тег для каждого текстового поля для доступа к его тексту

    SpringWithDamping для анимаций CALayer?

    iPhone iOS, как создавать графические эффекты, такие как тень и т. д.? Какие эффекты встроены в iOS?

    iAd не отображает объявления в моей одобренной игре

    UIPageViewController setViewControllers не показывает анимацию

    Обработка неправильного адреса в mapview

    Выйти замуж за Core Animation с помощью OpenGL ES

    Кокоаподы на Эль-Капитане

    клавиатура сделала ключевое действие быстро iOS не работает

    Как программно «нравится» страница Facebook в приложении iOS?

    Попытка представить UIViewController на UIViewController, чей вид отсутствует в иерархии окон

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.