Objective c 在触摸屏上轻敲一次,使物体在触摸屏上向上移动?

Objective c 在触摸屏上轻敲一次,使物体在触摸屏上向上移动?,objective-c,Objective C,我有一个密码,你必须点击并保持,以保持你的物体在空中飞行。如果将手指从屏幕上松开(点击结束0),对象将下降。如何编辑代码,使我只需点击屏幕一次,使对象上升,而不是点击,然后将点击留在原位 涉及轻触并按住的代码: -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { if (Start == YES) { timer = [NSTimer scheduledTimerWithTimeInterval:0

我有一个密码,你必须点击并保持,以保持你的物体在空中飞行。如果将手指从屏幕上松开(点击结束0),对象将下降。如何编辑代码,使我只需点击屏幕一次,使对象上升,而不是点击,然后将点击留在原位

涉及轻触并按住的代码:

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

  if (Start == YES) {

    timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(HeliMove) userInfo:nil repeats:YES];

    Start = NO;

    }

Y = -7;
Heli.image = [UIImage imageNamed:@"HeliUp.png"];

}

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

Y = 7;
Heli.image = [UIImage imageNamed:@"HeliDown.png"];

 }

 -(void)HeliMove{

Heli.center = CGPointMake(Heli.center.x, Heli.center.y + Y);

 }
我拥有的代码(不同的游戏),我只能点击一次以使对象上升:

 #pragma mark touch
 -(void) ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
if(!m_bGameIsPlaying || m_bGameExit || m_bConflictWithBird || boostFlag)
    return;

touchDelayTime = 0;
touchBeginTime = [event timestamp];
float delay;
if(m_rPillarVx == 0){
    smoothSpeed = INIT_SMOOTH_SPEED;
    smoothTotalDis = 80;
    delay = 0.13;
}else{
    smoothSpeed = INIT_SMOOTH_SPEED;
    smoothTotalDis = 50;
    delay = 0.23;
}
if(g_fIsIPad)
    smoothSpeed *= 2;

if(m_rPillarVx == 0){

    for(Bird *Bird in arrBirds)
    {
        if(Bird != nil && Bird.ccNode !=nil){
            [Bird setActive:TRUE];
            if(g_specGameItem != ITEM_SPIKE)
                [Bird setCollisionMaskBits:0x0002];
        }
    }

    for(Coin *coin in arrCoins)
    {
        if(coin != nil && coin.ccNode != nil){
            [coin setActive:TRUE];
            [coin setCollisionMaskBits:0x0002];
        }
    }

    for(GameSpecItem *specItem in arrSpecItems)
    {
        if(specItem != nil && specItem.ccNode != nil)
        {
            [specItem setActive:TRUE];
            [specItem setCollisionMaskBits:0x0002];
        }
    }
}

int faster = [AppSettings speedLevel];
 m_rPillarVx = INIT_PILLAR_SPEED*g_fx*powf(1.05, m_nLevel) * (1 + 0.1 * faster);

if(g_specGameItem == ITEM_ROCKET)
{
    [self unschedule:@selector(rocketMoveOfCharacter)];
    [self schedule:@selector(rocketMoveOfCharacter) interval:0.01];
    [myself addFireEmitter];
    return;
}

[myself jump];
[self setStamina];
[self unschedule:@selector(startSmoothlyMove)];
[self schedule:@selector(startSmoothlyMove) interval:delay];

 }

 - (void)ccTouchesEnded:(NSSet*)touches withEvent:(UIEvent*)event
 {
if(g_specGameItem == ITEM_ROCKET){
    [self unschedule:@selector(rocketMoveOfCharacter)];
    //Shen
    if(myself != nil)
        [myself deleteFireEmitter];
 //        if(g_fIsIPad)
 //            [myself setLinearVelocity:b2Vec2(0.0f, -12.0f)];
 //        else
 //            [myself setLinearVelocity:b2Vec2(0.0f, -6.0f)];
  //        return;
}

touchDelayTime = [event timestamp] - touchBeginTime;
[self unschedule:@selector(smoothlyMoveOfCharacter)];
smoothMovedDis = 0;
 }

闻起来像是另一只克隆的松鸡;)@ChrisWagner你抓到我了!我实际上有两场比赛。一个正在重新擦洗,另一个需要进一步抛光。正在重新整理的那个……我正在试图找出如何将代码复制到我的另一个游戏中。它有我想添加的元素。这将是类似于Flappy鸟,但我希望它会更好。克隆是伟大的,但不是真正的原创。首先,我需要有人先帮我解决这个代码问题;)