Я чрезвычайно новичок в программировании и заранее прошу прощения за любые неудобства, которые мое невежество может причинить кому-либо.Также заранее спасибо.У меня есть спрайт, представляющий кобуру от пули на револьвере. Эффект, которого я хочу добиться, - это прикосновение к повороту кобуры.Я все триггера разобрался и почти достиг желаемого результата.В самом первом случае ccTouchMoved кобура пули перепрыгивает, чтобы согласовать ее вращение с касанием, почти как на кобуре есть точка, синхронизированная с касанием.После этого он вращается, как и следовало ожидать.Как заставить его вращаться относительно того места, где я остановился на последнем касании?Я видел других людей, у которых есть подобные проблемы.Я также видел ответы ответы на проблему.Я просто не знаю, о чем говорил этот ответ, потому что, похоже, он предназначен для более опытного программиста, чем я.
Вот моя собственная сцена, которая содержит всю мою логику
#import "MainScene.h"
@implementation MainScene
+(id) scene
{
CCScene *scene = [CCScene node];
MainScene *layer = [MainScene node];
[scene addChild: layer];
return scene;
}
-(id) init
{
if ((self=[super init])) {
CGSize size = [[CCDirector sharedDirector] winSize];
dial = [CCSprite spriteWithFile:@"dial.png"];
dial.position = ccp(size.width/2, dial.contentSize.height/2);
[self addChild:dial];
self.isTouchEnabled = YES;
[self scheduleUpdate];
}
return self;
}
-(void) ccTouchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
NSLog(@"Touch begun");
}
-(void)update:(ccTime) dt{
dial.rotation = cocosAngle;
}
-(void) ccTouchesMoved:(NSSet *)touches withEvent:(UIEvent *)event{
NSLog(@"Touch moved");
UITouch *touch = [touches anyObject];
CGPoint touchLocation = [touch locationInView:[touch view]];
CGPoint touchingPoint = [[CCDirector sharedDirector] convertToGL:touchLocation];
CGPoint vector = ccpSub(touchingPoint, dial.position);
CGFloat rotateAngle = -ccpToAngle(vector);
deltaAngle = CC_RADIANS_TO_DEGREES( rotateAngle);
}
...
@end
Это моя первая попытка игры.Я начал создавать прототипы некоторых интерфейсов и уже столкнулся со скоростью!Заранее еще раз спасибо!