Я новичок в разработке приложений для iPhone и Xcode, и я разрабатываю небольшую игру с использованием Box2D, которая имеет эффект рогатки. Мне нужна помощь с перемещением тела под соответствующими углами, когда используется выстрел слинга. Рогатка нарисована с помощью ccDrawLine
и на нее помещено тело.
В моем проекте объект случайно движется в разных направлениях, когда используется выстрел слинга. Кто-нибудь знает как это исправить?
Мой код:
Нарисуй рогатку:
-(void)draw
{
//NSLog(@"in dra");
//glDisable(GL_TEXTURE_2D);
//glDisableClientState(GL_COLOR_ARRAY);
//glDisableClientState(GL_TEXTURE_COORD_ARRAY);
_world->DrawDebugData();
glEnable(GL_TEXTURE_2D);
glEnableClientState(GL_COLOR_ARRAY);
//glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glColor4f(0.6, 0.4, 0.2, 1.0);
glLineWidth(4.0f);
//glEnable(GL_LINE_SMOOTH);
ccDrawLine( ccp(80, 75),ccp(pt1,pt2));
ccDrawLine(ccp(pt1,pt2), ccp(240,75));
ccDrawLine(ccp(80,75),ccp(80,0));
ccDrawLine(ccp(240,75),ccp(240,0));
}
Поместите объект на стропу:
-(void)addsprite2
{
stone=[CCSprite spriteWithFile:@"rock.png"];
stone.position=ccp(160,80);
stone.tag=1;
[self addChild:stone];
}
Я пытаюсь создать и добавить углы вручную.
Создание угла:
if (stone.position.y < 80 && stone.position.y >= 70)
{
ft = abs(tp2)/PTM_RATIO;
}
else if(stone.position.y < 70 && stone.position.y >=60)
{
ft = (abs(tp2)+90)/PTM_RATIO;
}
else if(stone.position.y < 60 && stone.position.y >= 50)
{
ft = (abs(tp2)+110)/PTM_RATIO;
}
else if(stone.position.y < 50 && stone.position.y >= 40)
{
ft = (abs(tp2)+140)