如何使用Touches正确使用CGPoint

时间:2014-08-02 04:06:48

标签: objective-c touchesbegan

这里的目标是当我点击UIImageview右侧或左侧的屏幕时,Int侧移动会改变以创建向左或向右移动。

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{

UITouch *touch = [touches anyObject];

 CGPoint touchLocation = [touch locationInView:self.view];


if (image.center.x > touchLocation) {
    sidemovement = -2;

}
if (if (image.center.x < touchLocation) {
    sidemovement = 2;)



[self jump];



}

问题在于我希望将CGpoint触摸位置与image.center.x位置进行比较,然后确定图像是向左还是向右移动?

谢谢!

1 个答案:

答案 0 :(得分:0)

我是Objective-C的新手,但也许其中一些可能会对你有所帮助,如果我误解了你的问题,我很抱歉。

您是想尝试左右移动图像吗?如果是这样,您必须首先创建CCPhysicsNode,然后确保图像是CCNode,然后将图像添加到CCPhysicsNode。

你会这样做

CCPhysicsNode *physicsNode;
CCNode *image;

然后在你的init中调用它或者你想要将图像放在物理节点中的任何方法

[physicsNode addChild:image];

现在,您可以调用此方法向左或向右移动图像(PS,我不确定您的image.center.x&gt; touchLocationn是否有效。但假设它是......)

if (image.center.x > touchLocation) {
 [image.physicsBody applyImpulse:ccp(-2.f, 0.f)];

}
if (image.center.x < touchLocation) {
 [image.physicsBody applyImpulse:ccp(2.f, 0.f)];
 [self jump];

}

您的示例代码中还有额外的if和括号 希望这能解决你的问题......如果没有,那么......编写它很有趣!如果有人看到我打字的错误,请告诉我 - 我还在学习。