Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- - (void) goToNextRoomThroughDoor {
- UIButton * doorButton = self.lastDoorTapped;
- float scale = 6.5;
- // store center point of the door to be animated
- self.lastDoorCenterPoint = CGPointMake(doorButton.center.x, doorButton.center.y);
- // translation points
- int door1x = -1000;
- int door1y = -2500;
- int door2x = -2850;
- int door2y = -2500;
- int door3x = -4700;
- int door3y = -2500;
- // move door
- [UIView animateWithDuration:0.3 animations:^{
- if (self.buttonDoor1 == doorButton) {
- doorButton.transform = CGAffineTransformMakeTranslation(-doorButton.frame.size.width, 0);
- } else if (self.buttonDoor2 == doorButton) {
- doorButton.transform = CGAffineTransformMakeTranslation(0, -doorButton.frame.size.height);
- } else {
- doorButton.transform = CGAffineTransformMakeTranslation(doorButton.frame.size.width, 0);
- }
- } completion:^(BOOL finished) {
- // zoom
- [UIView animateWithDuration:0.5 animations:^{
- float width = self.view.frame.size.width;
- float height = self.view.frame.size.height;
- // transform
- self.view.transform = CGAffineTransformScale(CGAffineTransformIdentity, scale, scale);
- // zoom to specific area
- if (self.buttonDoor1 == doorButton) {
- self.view.frame = CGRectMake(door1x, door1y, width * scale, height * scale);
- } else if (self.buttonDoor2 == doorButton) {
- self.view.frame = CGRectMake(door2x, door2y, width * scale, height * scale);
- } else {
- self.view.frame = CGRectMake(door3x, door3y, width * scale, height * scale);
- }
- } completion:^(BOOL finished) {
- [self goToNextRoom];
- }];
- }];
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement