示例#1
0
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);
}
示例#2
0
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();
}