0
При попытке скопировать игру «Breakout» с использованием ios7 в UIKit Динамика, я не могли понять, как изменить в всевозможной траекторию.изменяющая траектории с помощью UIKit Dynamics ios7
В игре траектория шара определяется в зависимости от того, где она ударяет по весле. Какие методы/я должен вызывать для изменения регулярных траекторий.
То, что я до сих пор скопировано ниже. Спасибо за вашу помощь.
viewDidLoad.m
- (void)viewDidLoad
{
[super viewDidLoad];
unstruckBlocks = [NSMutableArray array];
[self drawBlocks];
gameHasBegun = NO;
// Set ball image
NSString *ballImagePath = [[NSBundle mainBundle] pathForResource:@"ball" ofType:@"png" inDirectory:@"pongAssets"];
ballView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageWithContentsOfFile:ballImagePath]];
[ballView setOpaque:NO];
// Set paddle image
NSString *paddleImagePath = [[NSBundle mainBundle] pathForResource:@"paddle" ofType:@"png" inDirectory:@"pongAssets"];
paddleView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageWithContentsOfFile:paddleImagePath]];
[paddleView setOpaque:NO];
dynamicAnimator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view];
paddleDynamicBehavior = [[UIDynamicItemBehavior alloc] initWithItems:@[paddleView]];
ballDynamicBehavior = [[UIDynamicItemBehavior alloc] initWithItems:@[ballView]];
blockDynamicBehavior = [[UIDynamicItemBehavior alloc] initWithItems:unstruckBlocks];
pushBehavior = [[UIPushBehavior alloc] initWithItems:@[ballView] mode:UIPushBehaviorModeInstantaneous];
collisionBehavior = [[UICollisionBehavior alloc] initWithItems:unstruckBlocks];
collisionBehavior.collisionDelegate = self;
[collisionBehavior addItem:paddleView];
[collisionBehavior addItem:ballView];
paddleDynamicBehavior.allowsRotation = NO;
paddleDynamicBehavior.density = 100000000;
paddleDynamicBehavior.elasticity = 1.0;
[dynamicAnimator addBehavior:paddleDynamicBehavior];
ballDynamicBehavior.allowsRotation = NO;
ballDynamicBehavior.elasticity = 1.0;
ballDynamicBehavior.friction = 0.0;
ballDynamicBehavior.resistance = 0.0;
[dynamicAnimator addBehavior:ballDynamicBehavior];
blockDynamicBehavior.allowsRotation = NO;
blockDynamicBehavior.elasticity = 1.0;
blockDynamicBehavior.friction = 0.0;
blockDynamicBehavior.resistance = 0.0;
blockDynamicBehavior.density = 100000000;
[dynamicAnimator addBehavior:blockDynamicBehavior];
pushBehavior.pushDirection = CGVectorMake(0.3, 0.9);
pushBehavior.magnitude = 0.5;
pushBehavior.active = NO;
[dynamicAnimator addBehavior:pushBehavior];
collisionBehavior.collisionMode = UICollisionBehaviorModeEverything;
collisionBehavior.translatesReferenceBoundsIntoBoundary = YES;
[dynamicAnimator addBehavior:collisionBehavior];
}