如何将SpriteKit Sprite节点的可点击区域从矩形更改为圆形?

问题描述

我的菜单屏幕上有一个播放按钮,但是它可以检测到整个矩形区域中的触摸,而不仅仅是圆形。是否可以在xcode中将可点击范围更改为圆形?

或者我将不得不在初始化或函数内以编程方式进行操作吗?

        override func touchesBegan(_ touches: Set<UITouch>,with event: UIEvent?) {}

PlayButton

解决方法

只需以编程方式将其添加到GameScene。

   var playButton: SKSpriteNode!



   override func didMove(to view: SKView) {
        
         playButton = SKSpriteNode(imageNamed: "playButton")
         playButton.name = "playButton"
         playButton.position = CGPoint(x: self.frame.midX,y: self.frame.midY)
         playButton.zPosition = 0
         playButton.alpha = 1

         addChild(playButton)
   }



  override func touchesBegan(_ touches: Set<UITouch>,with event: UIEvent?) {
    guard let touch = touches.first else {
        return
    }
    
    let pos = touch.location(in: self)
    let node = self.atPoint(pos)

    if node.name == "playButton"{

       //Do Something
    }
     

  }

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...