Book Image

PlayStation Mobile Development Cookbook

By : Michael Fleischauer
Book Image

PlayStation Mobile Development Cookbook

By: Michael Fleischauer

Overview of this book

With the PlayStation®Mobile SDK you can create stunning games for the PlayStation®Vita and PlayStation™Certified devices (PS Certified devices). It includes everything you need to get started, including an IDE for developing your code and even an emulator to test your creations. "PlayStation®Mobile Development Cookbook"| is an exciting and practical collection of recipes that help you make the most of this exciting new platform. It provides you with everything you need to create complete 2D or 3D games and applications that fully unlock the potential of the SDK. After quickly covering the basics, you'll learn how to utilize input sources like touch, gamepads, and motion controls, and then move on to more advanced content like creating and animating 2D graphics, networking, playing sound effects and music, adding physics, and then finally jumping into the world of 3D.
Table of Contents (17 chapters)
PlayStationMobile Development Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Publishing Your Application
Index

Using an offscreen frame buffer to take a screenshot


PlayStation Mobile has the ability to render to a user defined offscreen frame buffer. This can be useful for a number of reasons: rendering to a texture, doing post processing before displaying, or, as we will see in this recipe, taking a screenshot.

Getting ready

Load PlayStation Mobile Studio and create a new project. This time we are going to be reusing the code we created way back at the start of the chapter during Creating a Simple 3D scene. The complete project is available as Ch7_Example7.

How to do it...

  1. Using AppMain.cs from the earlier recipe, add the following code to the main loop:

    if((GamePad.GetData(0).Buttons & GamePadButtons.Start) == GamePadButtons.Start){
    var frameBuffer = new FrameBuffer();
    var screenshotTexture = new Texture2D(
    graphics.Screen.Width,
    graphics.Screen.Height,
    false,
    PixelFormat.Rgba,
    PixelBufferOption.Renderable);
    frameBuffer.SetColorTarget(screenshotTexture,0);
    frameBuffer.SetDepthTarget(null);
    graphics...