вращение импульса изображения в iOS - PullRequest
0 голосов
/ 27 февраля 2012

Я новичок в графике и анимации iOS и хотел бы узнать, как добиться эффекта вращения импульса изображения при щелчке, как показано на видео ниже.

видео

Даже если изображения не щелкнули, они имеют хорошее влияние.

Спасибо.

Ответы [ 3 ]

1 голос
/ 27 февраля 2012

Это довольно гладко.Он вращает вид вокруг точки (центр вершины), а затем изменяет количество времени, которое требуется для алгоритмического поворота, при необходимости изменяя направление.Я не могу дать вам код, но я думаю, что если вы посмотрите это видео-демонстрацию профессора Хегарти, у вас будут необходимые инструменты.Он вращается вокруг точки за пределами вида - вы можете просто вращаться вокруг края вида (и не уменьшать вид).Проверьте это:

Часть 1: http://www.stanford.edu/class/cs193p/cgi-bin/drupal/node/291

Часть 2: http://www.stanford.edu/class/cs193p/cgi-bin/drupal/node/293

Вы определенно захотите скачать видео с iTunes U (бесплатно),так как есть много объяснений.

Удачи,

Дэмиен

0 голосов
/ 10 мая 2013
//this code can be used to rotate an image having both back and front 

   rotate = [UIButton buttonWithType:UIButtonTypeCustom];
        [rotate addTarget:self action:@selector(rotate1)forControlEvents:UIControlEventTouchDown];
        rotate.frame = CGRectMake(137.5, 245, 45, 46);
        [rotate setBackgroundImage:[UIImage imageNamed:[NSString stringWithFormat:@"viewing.png"]] forState:UIControlStateNormal];
        [self.view addSubview:rotate];

     int count;
     count=0;

    -(void)rotate1
    {


        count=count+1;
        NSLog(@"rotate");
        [UIView transitionWithView:imagecircle    // use the forView: argument
                          duration:1          // use the setAnimationDuration: argument
                           options:UIViewAnimationOptionTransitionFlipFromLeft
         // check UIViewAnimationOptions for what options you can use
                        animations:^{         // put the animation block here
                            imagecircle.image = imagecircle.image;
                        }
                        completion:NULL];

        if(count%2==0)
        {
            NSLog(@"image.str.%@",appDelegate.imageNameString);
            [imagecircle setImage:[UIImage imageNamed:appDelegate.imageNameString]];
            [labellocation removeFromSuperview];
            [labeldate removeFromSuperview];
            [self.imagecircle addSubview:labelfrom];

        }
        else
        {
             [imagecircle setImage:[UIImage imageNamed:@"TGP_BACK.png"]];
             [labelfrom removeFromSuperview];
             [self.imagecircle addSubview:labellocation];
             [self.imagecircle addSubview:labeldate];
        }



    }
0 голосов
/ 28 февраля 2012

Я проверил с автором этого и был проинформирован, что это было реализовано с использованием библиотеки физики Box2D. Я собираюсь дать этому шанс. Спасибо за ответы!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...