Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用Cocos2d中的按钮同时移动一定距离_Ios_Objective C_Cocos2d Iphone - Fatal编程技术网

Ios 使用Cocos2d中的按钮同时移动一定距离

Ios 使用Cocos2d中的按钮同时移动一定距离,ios,objective-c,cocos2d-iphone,Ios,Objective C,Cocos2d Iphone,当按下按钮时,我得到了一个方法,一个用于右键,一个用于左键,如下所示 现在,当精灵在中央加载时,精灵根本不会移动,但我想实现的是,当按下相应的按钮时,精灵会从中央移动到屏幕的左侧或右侧,非常简单(我可以自己完成) 但我希望这样,如果“按下右键,精灵在右手边满是,你可以按一下左键移到屏幕中间,如果你想,再按一下它移到左边,反之亦然” 现在,我如何才能使同一个按钮能够移动到中间,然后如果再次按下所有到另一边 我当前的代码只会将其从两边移到中间 -(void) btnRightTapped: (id)

当按下按钮时,我得到了一个方法,一个用于右键,一个用于左键,如下所示

现在,当精灵在中央加载时,精灵根本不会移动,但我想实现的是,当按下相应的按钮时,精灵会从中央移动到屏幕的左侧或右侧,非常简单(我可以自己完成)

但我希望这样,如果“按下右键,精灵在右手边满是,你可以按一下左键移到屏幕中间,如果你想,再按一下它移到左边,反之亦然”

现在,我如何才能使同一个按钮能够移动到中间,然后如果再次按下所有到另一边

我当前的代码只会将其从两边移到中间

-(void) btnRightTapped: (id) sender{

CCLOG(@"Left button Tapped");


CGSize viewSize = [CCDirector sharedDirector].viewSize;

if (_claw.position.x >= viewSize.width / 2) {

    CCLOG(@"Left button Tapped inside if statement");

    float clawSpeed = - viewSize.width / 400.0;
    float distanceToMoveClaw = clawSpeed;

    float newXClaw = _claw.position.x + distanceToMoveClaw;
    float newYClaw = _claw.position.y;

    _claw.position = ccp(newXClaw, newYClaw);

    [self schedule:@selector(btnRightTapped:) interval:0.02];
    [self unschedule:@selector(btnLeftTapped:)];


}


else [self unschedule:@selector(btnRightTapped:)];

}



 -(void) btnLeftTapped: (id) sender{

CCLOG(@"Right button Tapped");



CGSize viewSize = [CCDirector sharedDirector].viewSize;

if (_claw.position.x <= viewSize.width / 2) {


    float clawSpeed = viewSize.width / 400.0;
    float distanceToMoveClaw = clawSpeed;

    float newXClaw = _claw.position.x + distanceToMoveClaw;
    float newYClaw = _claw.position.y;

    _claw.position = ccp(newXClaw, newYClaw);


    [self schedule:@selector(btnLeftTapped:) interval:0.02];
    [self unschedule:@selector(btnRightTapped:)];

}

else [self unschedule:@selector(btnLeftTapped:)];

}
-(无效)BTN右击:(id)发送方{
CCLOG(@“点击左键”);
CGSize viewSize=[CCDirector sharedDirector].viewSize;
如果(_.position.x>=viewSize.width/2){
CCLOG(@“在if语句中点击左按钮”);
浮动速度=-viewSize.width/400.0;
浮动距离TOMOVECLOW=定位爪速度;
float newXClaw=_claw.position.x+距离向量;
float newycaw=\u claw.position.y;
_爪位置=ccp(newXClaw,newYClaw);
[自调度:@选择器(btnRightTapped:)间隔:0.02];
[自我计划外:@selector(btnlefttap:)];
}
else[自我非计划:@selector(btnRightTapped:)];
}
-(无效)BTNLefttap:(id)发件人{
CCLOG(“点击右键”);
CGSize viewSize=[CCDirector sharedDirector].viewSize;

如果(_claw.position.x只需检查节点的x位置,如果它不靠近中心,则首先将其移动到中心,否则将其移动到左/右边界,您可以通过一个示例演示如何执行此操作吗?我发现,没关系,必须使用CCActionMoveTo而不是schedule方法=)