我制作了两个按钮(leftBtn 和 rightBtn)。它们在按下和按下时工作正常。但是,当您按住,然后将手指从按钮上移开并按下时,按钮会保持按下状态吗?
这是touchDown和touchUp的代码
func touchDown(atPoint pos : CGPoint) {
let rightBtn = childNode(withName: "rightBtn");
let leftBtn = childNode(withName: "leftBtn");
if(rightBtn?.frame.contains(pos) == true){
right = true;
}
else if(leftBtn?.frame.contains(pos) == true){
left = true;
}
}
func touchMoved(toPoint pos : CGPoint) {
}
func touchUp(atPoint pos : CGPoint) {
let rightBtn = childNode(withName: "rightBtn");
let leftBtn = childNode(withName: "leftBtn");
if(rightBtn?.frame.contains(pos) == true){
right = false;
carController.stopMove();
}
else if(leftBtn?.frame.contains(pos) == true){
left = false;
carController.stopMove();
}
}
最佳答案
按钮保持按下状态,因为按钮上不再发生向上触摸(即手指向上移动并离开屏幕)。相反,它出现在您 View 的其他部分。如果您不希望按钮保持按下状态,请考虑将代码也添加到 touchesMoved 方法。
关于ios - SpriteKit 按钮保持按下状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46007505/