I'm trying to animate a series of full screen images. Each image will be animated in a different way. I'd like to store these animations somewhere either in a database or plist or whatever, I just don't want to have them hard coded. The animations will be very simple, objects within the image will jiggle or bounce or what have you. I'm going to animate the objects using blocks and ideally i'd like the individual blocks to be stored in the data store. I'd like to avoid using a separate scripting language or something like that.
What is my best course of action?
If you want to store them in, for example, a plist, you can do something like this:
<plist>
<array>
<dict>
<key>filename</key>
<string>first.jpg</string>
<key>animation</key>
<string>bounce</string>
<key>duration</key>
<real>0.5</real>
</dict>
<dict>
<key>filename</key>
<string>second.jpg</string>
<key>animation</key>
<string>easeinout</string>
<key>duration</key>
<real>1.0</real>
</dict>
<!-- et cetera -->
</array>
</plist>
Then you can decode this into actual animations by writing something like the following code snippet:
- (void)loadAnimations
{
NSArray *animations = [NSArray arrayWithContentsOfFile:@"/Users/H2CO3/animations.plist"];
for (NSDictionary *animation in animations)
{
UIImage *img = [UIImage imageNamed:[animation objectForKey:@"filename"]];
NSString *animationType = [animation objectForKey:@"animation"];
float duration = [(NSNumber *)[animation objectForKey:@"duration"] floatValue];
if ([animationType isEqualToString:@"bounce"])
{
/* animation block 1 */
}
else if ([animationType isEqualToString:@"easeinout"])
{
/* animation block 2 */
}
/* Et cetera... */
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With