这里的目标是当我点击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位置进行比较,然后确定图像是向左还是向右移动?
谢谢!
答案 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和括号 希望这能解决你的问题......如果没有,那么......编写它很有趣!如果有人看到我打字的错误,请告诉我 - 我还在学习。