Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
manual:dynamic_textures [2013/05/26 17:24]
daniel
manual:dynamic_textures [2013/05/28 15:54] (current)
daniel
Line 1: Line 1:
 +====== Dynamic Textures ======
  
 +Sparrow lets you create custom textures directly at run-time. However, we didn’t reinvent the wheel for that feature --- credit goes to the iPhone SDK, which already contains a powerful API called "Core Graphics"​.
 +
 +You access the drawing API with a special init-method of SPTexture, which takes a block-parameter you can fill with your drawing code.
 +
 +<​note>​
 +Remember, we've seen blocks before when we looked at [[Enhanced Events]].
 +</​note>​
 +
 +Here's a sample of how to create a custom texture with Core Graphics in Sparrow:
 +
 +<code objc>
 +SPTexture *customTexture = [[SPTexture alloc] initWithWidth:​200 height:100
 +    draw:​^(CGContextRef context)
 +    {
 +        // draw a string
 +        CGContextSetGrayFillColor(context,​ 1.0f, 1.0f);
 +        NSString *string = @"​Hello Core Graphics";​
 +        [string drawAtPoint:​CGPointMake(20.0f,​ 20.0f)
 +                 ​withFont:​[UIFont fontWithName:​@"​Arial"​ size:25]];
 +    }];
 +</​code>​
 +
 +As you can see, the drawing code is placed right in the block. Whatever you draw to the context will appear on your texture later.
 +
 +If you haven’t worked with Core Graphics before, there are numerous resources on the web that describe how to use them. [[http://​maniacdev.com/​2009/​09/​6-resources-for-learning-core-graphics/​|Here]] is a good starting point to find out more about them.
 +
 +-----
 +
 +//Next section: [[Texture Formats]]//
  manual/dynamic_textures.txt · Last modified: 2013/05/28 15:54 by daniel
 
Powered by DokuWiki