我通过for循环动态创建了许多uibutton并将它们添加到场景中。现在我想为每个uibutton添加拖放功能。我怎么能做到这一点?
说像断路器这样的游戏,你有一个桨。它是唯一一个被玩家拖放的对象,所以我们需要做的就是为paddle添加一个uibutton对象,并在touchesBegan和touchesMoved中更新它的中心。
在我的问题中,我不知道会点击哪个按钮。如果我将动作附加到所有按钮以跟踪哪个按钮被点击,那么我将无法在玩家第一次点击按钮时执行DRAG。也许有更好的方法。
答案 0 :(得分:0)
如果我不理解,请纠正我,但每个按钮应该“知道”是否是被点击的按钮。在touchesMoved:withEvent:
方法中,您不能将中心设置为触摸位置,还是我缺少某些东西?
试试这个。
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
if (self.highlighted) {
UITouch *touch = [touches anyObject];
self.center = CGPointMake(touch.x, touch.y);
}
}
当然,这段代码有几个问题,例如不能很好地处理多个触摸,但我希望它能解决问题。
如果您只想告诉当前点击哪个按钮,可以使用UIControl的highlighted
属性。希望有所帮助!