Retour
Version Originale

./aip/1.8aipmod/include/ISceneNodeAnimatorCameraFPS.h :


// Copyright (C) 2002-2011 Nikolaus Gebhardt

// This file is part of the "Irrlicht Engine".

// For conditions of distribution and use, see copyright notice in irrlicht.h


#ifndef __I_SCENE_NODE_ANIMATOR_CAMERA_FPS_H_INCLUDED__
#define __I_SCENE_NODE_ANIMATOR_CAMERA_FPS_H_INCLUDED__

#include "ISceneNodeAnimator.h"
#include "IEventReceiver.h"

namespace irr
{
	struct SKeyMap;

namespace scene
{

	//! Special scene node animator for FPS cameras

	/** This scene node animator can be attached to a camera to make it act
	like a first person shooter 
	*/
	class ISceneNodeAnimatorCameraFPS : public ISceneNodeAnimator
	{
	public:

		//! Returns the speed of movement in units per millisecond

		virtual f32 getMoveSpeed() const = 0;

		//! Sets the speed of movement in units per millisecond

		virtual void setMoveSpeed(f32 moveSpeed) = 0;

		//! Returns the rotation speed in degrees

		/** The degrees are equivalent to a half screen movement of the mouse,
		i.e. if the mouse cursor had been moved to the border of the screen since
		the last animation. */
		virtual f32 getRotateSpeed() const = 0;

		//! Set the rotation speed in degrees

		virtual void setRotateSpeed(f32 rotateSpeed) = 0;

		//! Sets the keyboard mapping for this animator

		/** \param map Array of keyboard mappings, see irr::SKeyMap
		\param count Size of the keyboard map array. */
		virtual void setKeyMap(SKeyMap *map, u32 count) = 0;

		//! Sets whether vertical movement should be allowed.

		/** If vertical movement is enabled then the camera may fight with 
		gravity causing camera shake. Disable this if the camera has 
		a collision animator with gravity enabled. */
		virtual void setVerticalMovement(bool allow) = 0;

		//! Sets whether the Y axis of the mouse should be inverted.

		/** If enabled then moving the mouse down will cause
		the camera to look up. It is disabled by default. */
		virtual void setInvertMouse(bool invert) = 0;
	};
} // end namespace scene

} // end namespace irr


#endif

Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
883 membres
1429 sujets
11121 messages
Dernier membre inscrit: Saidov17
23 invités en ligne
Aucun membre connecté
RSS Feed