Приложение 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 , вам не нужен распознаватель жестов.

  • как обновить магическую запись sdk в файле pod в iOS
  • Неверная ошибка прав при добавлении push-уведомлений
  • Удалите старые сборки из тестирования в Testflight
  • как локализовать результат адреса из reverseGeocodeLocation?
  • Случайно удалил фреймворк iOS, все равно его скачать
  • Как перемещать или перемещать текущую позицию в SDK Google Maps?
  • «Clang: error: не может указывать -o при генерации нескольких выходных файлов» во время сборки Swift iOS
  • Как сохранить строку JSON для одного поля Sqlite в iOS?
  • iOS и Xcode: ошибка пользовательских фреймворков, неопределенные символы
  • Что происходит с профилем подготовки во время процесса подписи кода?
  • объявление метода генерации из файла .m
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.