void CharacterGame::initialize() { // Load the font. _font = Font::create("res/arial40.gpb"); // Load mesh from file. Package* pkg = Package::create("res/seymour.gpb"); _scene = pkg->loadScene(); SAFE_RELEASE(pkg); _modelNode = _scene->findNode("boyShape"); // Get directional light node. Node* lightNode = _scene->findNode("directionalLight1"); // Load character's material from a .material file. Material* meshMaterial = _modelNode->getModel()->setMaterial("res/seymour.material"); meshMaterial->getParameter("u_lightDirection")->bindValue(lightNode, &Node::getForwardVectorView); // Load character animations clips. loadAnimationClips(); // Get plane. Node* planeNode = _scene->findNode("floor"); // Load planes material from a .material file. Material* planeMaterial = planeNode->getModel()->setMaterial("res/floor.material"); planeMaterial->getParameter("u_lightDirection")->bindValue(lightNode, &Node::getForwardVectorView); }
void CharacterGame::initialize() { // Display the gameplay splash screen for at least 2.4 seconds. displaySplash(this, &CharacterGame::drawSplash, NULL, 2400L); // Load the font. _font = Font::create("res/arial40.gpb"); // Load scene. _scene = Scene::load("res/scene.scene"); // Store character node. Node* node = _scene->findNode("BoyCharacter"); node->setCollisionObject(PhysicsCollisionObject::CHARACTER, PhysicsCollisionShape::capsule(1.2f, 5.0f, Vector3(0, 2.5, 0), true)); _character = static_cast<PhysicsCharacter*>(node->getCollisionObject()); _character->setMaxStepHeight(0.0f); _character->addCollisionListener(this); // Initialize scene. _scene->visit(this, &CharacterGame::initScene); // Load animations clips. loadAnimationClips(); }