Objective c 在触摸屏上轻敲一次,使物体在触摸屏上向上移动?
我有一个密码,你必须点击并保持,以保持你的物体在空中飞行。如果将手指从屏幕上松开(点击结束0),对象将下降。如何编辑代码,使我只需点击屏幕一次,使对象上升,而不是点击,然后将点击留在原位 涉及轻触并按住的代码:Objective c 在触摸屏上轻敲一次,使物体在触摸屏上向上移动?,objective-c,Objective C,我有一个密码,你必须点击并保持,以保持你的物体在空中飞行。如果将手指从屏幕上松开(点击结束0),对象将下降。如何编辑代码,使我只需点击屏幕一次,使对象上升,而不是点击,然后将点击留在原位 涉及轻触并按住的代码: -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { if (Start == YES) { timer = [NSTimer scheduledTimerWithTimeInterval: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鸟,但我希望它会更好。克隆是伟大的,但不是真正的原创。首先,我需要有人先帮我解决这个代码问题;)