Example #1
0
void GameWorld::CreateGame()
{
	// create the environment
	background_manager_ = BackgroundManager::create();
	background_manager_->game_world_ = this;
	addChild(background_manager_, E_LAYER_BACKGROUND);

	// create & add the batch node
	sprite_batch_node_ = CCSpriteBatchNode::create("cjtexset_01.png", 128);
	game_object_layer_->addChild(sprite_batch_node_);
	
	CreateWall();
	CreateClown();
	CreateBasePlatform();
	CreatePlatform();
	CreateCollectibles();
	CreateHUD();

	// enable touch & accelerometer
	setTouchEnabled(true);
	setAccelerometerEnabled(true);

	// everything created, start updating
	scheduleUpdate();
}
//----------------------------------------------------------------------------
bool WaterDropFormation::OnInitialize ()
{
    if ( !Application::OnInitialize() )
        return false;

    // create scene
    m_spkScene = new Node;
    m_spkTrnNode = new Node(3);
    m_spkScene->AttachChild(m_spkTrnNode);
    CreatePlane();
    CreateWall();
    CreateWaterRoot();

    // wireframe
    m_spkWireframe = new WireframeState;
    m_spkScene->SetRenderState(m_spkWireframe);

    // depth buffer
    ZBufferState* pkZBuffer = new ZBufferState;
    pkZBuffer->Enabled() = true;
    pkZBuffer->Writeable() = true;
    pkZBuffer->Compare() = ZBufferState::CF_LEQUAL;
    m_spkScene->SetRenderState(pkZBuffer);

    Configuration0();

    // center-and-fit for camera viewing
    m_spkScene->UpdateGS(0.0f);
    Bound kWBound = m_spkScene->WorldBound();
    m_spkTrnNode->Translate() = -kWBound.Center();
    ms_spkCamera->SetFrustum(0.1f,1000.0f,-0.055f,0.055f,0.04125f,-0.04125f);
    float fAngle = 0.01f*Mathf::PI;
    float fCos = Mathf::Cos(fAngle), fSin = Mathf::Sin(fAngle);
    Vector3f kCUp(fSin,0.0f,-fCos);
    Vector3f kCDir(-fCos,0.0f,-fSin);
    Vector3f kCLeft(0.0f,1.0f,0.0f);
    Vector3f kCLoc = -0.9f*kWBound.Radius()*kCDir;
    ms_spkCamera->SetFrame(kCLoc,kCLeft,kCUp,kCDir);

    // initial update of objects
    ms_spkCamera->Update();
    m_spkScene->UpdateGS(0.0f);
    m_spkScene->UpdateRS();

    m_spkMotionObject = m_spkScene;
    m_bTurretActive = true;
    SetTurretAxes();
    m_fTrnSpeed = 0.01f;
    m_fRotSpeed = 0.001f;

    m_fLastSeconds = GetTimeInSeconds();

    return true;
}
//----------------------------------------------------------------------------
void WaterDropFormation::CreateScene ()
{
	mScene = new0 Node();
	mTrnNode = new0 Node();
	mScene->AttachChild(mTrnNode);
	mWireState = new0 WireState();
	mRenderer->SetOverrideWireState(mWireState);

	CreatePlane();
	CreateWall();
	CreateWaterRoot();

	Configuration0();
}
Example #4
0
void DrawCmd::DrawWall( int flag )
{
    AcDbObjectId objId = ArxUtilHelper::SelectObject( _T( "请选择一个巷道、采掘工作面、硐室:" ) );
    if( objId.isNull() ) return;
    if( !ArxUtilHelper::IsEqualType( _T( "LinkedGE" ), objId ) ) return;

    AcGePoint3d pt;
    if( !PromptInsertPt( objId, pt ) ) return;

    double angle;
    if( !GetClosePtAndAngle( objId, pt, angle ) ) return;

    CreateWall( flag, objId, pt, angle );
}
Example #5
0
//----------------------------------------------------------------------------
void BouncingBall::CreateScene ()
{
    mScene = new0 Node();
    mWireState = new0 WireState();
    mRenderer->SetOverrideWireState(mWireState);

    CreateBall();
    CreateFloor();
    CreateWall();
    mScene->AttachChild(mFloor);
    mScene->AttachChild(mWall);

    // The floor reflects an image of the ball.
    mPREffect = new0 PlanarReflectionEffect(1);
    mPREffect->SetPlane(0, mFloor);
    mPREffect->SetReflectance(0, 0.2f);
}