views:

151

answers:

1

I'm trying to create dynamic graphics for my game, which I'm building with Cocos2D. The graphics generation will occur at predictable, finite points, such as level loading. I'm having a hard time figuring out how to actually draw this at runtime. From what I can tell, the easiest way would be to draw into a PNG file at runtime and then load an AtlasSprite based on the PNG file, but I can't seem to figure out if this is indeed the best way or how to go about doing it. Any suggestions?

+1  A: 

I'm not sure how Cocos2D loads Sprites or Atlases so this is a more general answer.

It might be worth taking a look at the Texture2D class that comes with the old CrashLanding example app. It uses a bitmap graphics context to generate a texture of a string for drawing with OpenGL. The code uses the CGBitmapContextCreate function to create a context. You can draw whatever you want onto it.

Then once you've finished drawing, you can either save the file as a PNG or you can call glTexImage2D on the data to use it with OpenGL.

There's more information about it in the Graphics and Drawing documentation, specifically the section: Creating and Drawing Images.

Edit: It looks like Cocos2D comes with Texture2D so you should be in good shape. Check out the initWithString method here.

Dave