All pastes #507773 Raw Edit

Anonymous

public cpp v1 · immutable
·published 2007-05-24 18:58 UTC
rendered paste body
#include "SpaceControl.h"SpaceControl::SpaceControl(ISceneNode* n, ISceneManager* mgr){ tn = n; tn->setMaterialFlag(EMF_LIGHTING, false); tmgr = mgr; tcam = mgr->addCameraSceneNode(); en = mgr->addEmptySceneNode(); en->setParent(tn);  for(int x=0; x<KEY_KEY_CODES_COUNT; x++) {  keys[x] = false; }}SpaceControl::~SpaceControl(){}void SpaceControl::updateMovement(){ if(keys[KEY_KEY_W]) {  vector3df forward(sin(tn->getRotation().Y*PI/180.0f), 0, cos(tn->getRotation().Y*PI/180.0f));  tn->setPosition(tn->getPosition() + forward*1.0f ); } if(keys[KEY_KEY_A]) {  tn->setRotation(vector3df(0,tn->getRotation().Y-1.0f,0)); } if(keys[KEY_KEY_S]) {  vector3df forward(sin(tn->getRotation().Y*PI/180.0f), 0, cos(tn->getRotation().Y*PI/180.0f));  tn->setPosition(tn->getPosition() - forward*1.0f ); } if(keys[KEY_KEY_D]) {  tn->setRotation(vector3df(0,tn->getRotation().Y+1.0f,0)); } if(keys[KEY_KEY_Q]) {  tn->setPosition(tn->getPosition()+vector3df(0,1,0)); } if(keys[KEY_KEY_E]) {  tn->setPosition(tn->getPosition()+vector3df(0,-1,0)); } if(keys[KEY_KEY_H]) {  //enter hyperdrive } en->setPosition(vector3df(0,30,-50)); tcam->setPosition(tcam->getPosition()+(en->getAbsolutePosition() - tcam->getPosition()).normalize()); tcam->setTarget(tn->getPosition());}