While this example merely provides the tracking functionality, one could easily imagine it being used for identifying targets in a mixed reality shooting game where players use their camera phones to detect targets by their colors. Figure 6. The left image shows a red London Route Master bus before processing. The right image is after processing, where the red color has been identified, tracked and replaced with white.
CCamera provides several asynchronous functions that enable applications to control the cameras on mobile phones. These functions are asynchronous to prevent the application thread from being blocked while waiting for code to finish executing, such as when capturing a camera frame.
The initial step in using the camera in Symbian OS is to construct it, which is done by calling the static factory function CCamera::NewL. This may result in a panic with one of the following error codes generated:. Not all Symbian OS phones come with cameras built-in, so it is essential to handle the case where camera-based applications, such as ColourTracker, are installed on phones without a camera.
For this reason it is good practice to always check the availability of the camera by calling CCamera::CamerasAvailable before implementing any camera-dependent code. The function returns the number of cameras installed on the phone and returns zero if no camera is present. Assuming that there is at least one camera on the smartphone, the next step is to reserve the camera to grant the client application a handle to it.
To perform this task, the asynchronous CCamera::Reserve function must be called on the CCamera instance. Once the camera is reserved, it has to be switched on by calling another asynchronous function CCamera::PowerOn. The client application needs to inherit from the interface class MCam-eraObserver in order to actively interact with the camera API.
This mixin class provides five pure virtual functions that must be implemented:. Having discussed the basic set-up we can now proceed with our specific example.
In its header file, ColorTrackerView. On instantiation, as part of the second phase construction of a CCol-orTrackerAppView object, the ConstructL method constructs the iCamera object and reserves it, and constructs the viewfinder bitmap iViewFinderBitmap. To manage this sequence of calls, we implement the callback functions of the iMCameraObserver to provide the framework to monitor the completion of each camera operation.
Therefore, we add the following function implementations to ColorTrackerView. When the camera reservation is finished, an event is raised that results in a call to MCameraObserver::ReserveComplete to notify it of completion.
On checking that there is no error passed as a parameter to the callback function, to confirm that reserving the camera was successful, PowerOn is called from within the handler function, which starts powering up the camera asynchronously. When the first bitmap frame is ready, the MCameraObserver:: ViewFinderFrameReady observer function is called by the framework, passing as a parameter that frame aFrame , allowing it to be copied, or duplicated, into iViewFinderBitmap for later manipulation.
A step too far, perhaps, in terms of game extras, but you can't fault the value proposition and graphics in this driving epic. The ultimate incarnation of a board game classic, brought right up to date, with electronic everything. Superbly implemented, it's Tetris, with several game variations. It's official, it's colourful and the gameplay will last a lifetime.
Still a recommended game. A stunning isometric RPG with all the trimmings. The ultimate 'straight' street racing game for Symbian - very polished, very fast. And the equivalent for circuits, GT Racing is the most out and out realistic sports car racing sim on the platform and the one I keep coming back to because it's just so challenging The arctic logic slicing game that will frustrate for hours.
The ultimate football game on Symbian. Arcade action, strategy, depth, it's all here. The best 'running' game, pursued by zombies, no less. Drawn graphics 'draw' you in, etc! The cross-platform arcade puzzler, getting your head around strategy and split second timing in order to feed the monster The game I've played most over the last few years and, it seems, quite popular with Symbian gamers everywhere. The key to its success is a powerful interface and good AI to challenge yourself against.
Arguably the most polished game I've ever played on Symbian. Sparkle will amaze and addict you in every way. Cross platform again, surely everyone's played this by now? Anyway, it's on Symbian and playing well The most popular car racing title on the platform, albeit one with powerups and other gimmicks - hey, it seems people like these!
I've cheated slightly, since it wasn't clear by those voting as to which of the various Angry Birds titles they were voting for! But all are polished and well worth a look - also available for every other mobile platform, of course For example, the 'Seasons' version is reviewed here. And here are the standard and Rio variants in the Nokia Store. Mau Mau The classic card version of 'Uno', immaculately programmed to work with either keypad, keyboard or touchscreen.
0コメント