1

我想知道如何做到这一点。我怎样才能做到这一点,当用户点击并按住我的精灵时,他们只能将它拖过 x 轴,保持相同的 y 值?

4

3 回答 3

2

按照本教程

http://www.raywenderlich.com/2343/how-to-drag-and-drop-sprites-with-cocos2d

当它设置精灵的位置而不是将 y 位置设置为触摸的位置时,只需将其设置为您想要的固定值即可。

于 2012-09-30T23:31:08.780 回答
0
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event
{
    UITouch *Drag = [[event allTouches] anyObject];
    CGPoint CurrentPosition = [Drag locationInView:self.view];
    CurrentPosition.x = Sprite.center.x;
    Sprite.center = CurrentPosition;
}

我创建了一个这样的滑块:https ://github.com/Antem/Custom-Slider-xCode

于 2014-11-02T21:46:26.677 回答
0

无论你在哪里处理你的触摸:

if (CGRectContainsPoint(sprite.rect, touchLocation)){
     sprite.position = ccp(touchLocation.x,sprite.position.y);
}
于 2012-10-02T10:29:08.457 回答