我有 通过使用此代码,该节点被添加,但是当我再次点击该按钮时它不会被删除。 答案 0 :(得分:1) 您需要在函数外部创建skshapenode。这是代码。 答案 1 :(得分:1) 错误在于您的IBAction方法 每次都做 您创建了“ mySKShapeNode”的新实例。 如果要删除该节点,则在添加该节点时需要在相同的引用上进行。 为此,您需要将“ mySKShapeNode”设置为全局变量。 如果您不希望将其用作全局变量,则可以通过访问现有的子节点来获取节点,并根据其属性找到该节点,或者为shape节点指定名称,然后可以通过调用UIButton
,在点击一次时应添加一个SKShapeNode
,在再次点击时应删除相同的节点。我使用了一个计数器来跟踪该按钮被点击了多少次。我已使用spriteScene.addChild(mySKShapeNode)
和mySKShapeNode.removeFromParent()
添加和删除节点。这是我的代码: class myView: UIViewController{
var spriteScene = SKScene(size: CGSize(width: 500, height: 500))
var tapCounter: Int = 0
override func viewDidLoad(){
super.viewDidLoad()
.
.
.
let xPostion:CGFloat = 40
let yPostion:CGFloat = 108
let buttonWidth:CGFloat = 100
let buttonHeight:CGFloat = 45
button.frame = CGRect(x:xPostion, y:yPostion, width:buttonWidth, height:buttonHeight)
button.backgroundColor = UIColor.white
button.setTitle("Tap me!", for: UIControl.State.normal)
button.tintColor = UIColor.black
button.addTarget(self, action: #selector(myView.buttonAction(_:)), for: .touchUpInside)
self.view.addSubview(button)
.
.
.
}
@objc func buttonAction(_ sender:UIButton!){
let mySKShapeNode = SKShapeNode(rectOf: CGSize(width: 270, height: 15), cornerRadius: CGFloat(5))
mySKShapeNode.fillColor = UIColor.white
mySKShapeNode.position = CGPoint(x: 240, y: 100)
self.tapCounter += 1
var alternate = tapCounter / 2
if alternate == 0{
spriteScene.addChild(mySKShapeNode)
} else {
mySKShapeNode.removeFromParent()
}
}
}
2 个答案:
from dateutil import parser
from datetime import datetime
datetime_obj = parser.parse(saved_data['created_at'])
readable = datetime.strftime(datetime_obj,'%Y-%m-%d %H:%M:%S')
print (readable)
let mySKShapeNode = SKShapeNode(rectOf: CGSize(width: 270, height: 15), cornerRadius: CGFloat(5))
childNode(withName:)