tags:

views:

30

answers:

2

I want to make a book rather like The Pedlar Lady for iPad. Each page has some rich text, and then an animation with sound effects that runs automatically after the user flips to a new page.

I have some idea how I could do that programmatically - Cocos2D is looking pretty useful - but what I don't know is how I could work with my artist. What tools could he use, and what would he deliver so that I can just slot each page's animation in with minimal effort.

A: 

Your artist can deliver you assets in the form of pngs, mp3s, and movies that have already been scaled to the target device. You can build the book mostly with Interface Builder. Use AVPlayer to play animations and audio on command. Alternatively (and with more memory use) you can animate images with UIImageView. If you need to move assets around the screen, you can use timers and change the origin of each asset's view.

Edit:

MPMoviePlayer is a simple option. The view can be added more directly, but I have found this to be convenient for layout; After configuring a view in IB:

moviePlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:asset.path]];
    moviePlayer.moviePlayer.controlStyle = MPMovieControlStyleNone;
    [moviePlayerView addSubview:moviePlayer.view];
    moviePlayer.view.frame = moviePlayerView.bounds;
Peter DeWeese
Doesn't AVPlayer take over the whole screen? I wanted to present static text and then just a small animation e.g. in one corner, have a character take out his pipe and smoke.
Jim Nolan
AVPlayer can be placed in a layer within a view of any size, although come to think of it MPMoviePlayer may do alright as well with the controls turned off, and will probably be easier. I use each of these players in small subviews in one of my apps. You can tell them to play and loop on command.
Peter DeWeese
Great, thanks very much.
Jim Nolan
A: 

Now that Apple is allowing Adobe's Flash -> App maker, you might want to look at that.

Lou Franco
But then the whole app would have to be from Flash, is that right? I'd rather re-use Objective C and, of course, I have experience in coding for that.
Jim Nolan