cchrdiamondbox.cpp

来自「symbian 下的mario游戏源代码」· C++ 代码 · 共 134 行

CPP
134
字号
   /*
============================================================================
    * Name : CChrDiamondBox.cpp
    * Part of : 2DMario
    * Description : Implementation of CChrDiamondBox
    * Copyright (c) 2007 Nokia Corporation
============================================================================
    */

// INCLUDE FILES
#include "CChrDiamondBox.h"
#include "CSprite.h"
#include "MSystem.h"
#include "CTileMap.h"

// const TInt KMaxSpeed = 4096;


CChrDiamondBox* CChrDiamondBox::NewL( CSprite* aSprite, MSystem* aSystem, CTileMap* aMap )
	{
	CChrDiamondBox* self = new( ELeave )CChrDiamondBox( aSprite, aSystem, aMap );
	CleanupStack::PushL( self );
	self->ConstructL();
	CleanupStack::Pop( self );
	return self;
	};



CChrDiamondBox::~CChrDiamondBox()
	{

	}



CChrDiamondBox::CChrDiamondBox( CSprite* aSprite, MSystem* aSystem, CTileMap* aMap )
	: iSprite( aSprite )
	, iSystem( aSystem )
	, iTileMap( aMap )
	{

	}



void CChrDiamondBox::ConstructL()
	{

	}



void CChrDiamondBox::ActivateL()
	{
	iSpeed = TPoint(100 << 16 ,0);
	
	iMonsterDir = 0;
	iCollected = EFalse;
	iChType = KDiamondBox;

	iSprite->SetPosition( iPosition );
	}



void CChrDiamondBox::Deactivate()
	{

	}



void CChrDiamondBox::Draw( CBitmap& aTarget, const TPoint& aCamera )
	{
	iSprite->SetPosition( Position() );
	iSprite->Draw( aTarget, iCollected, aCamera );
	}



void CChrDiamondBox::Move()
	{
	iSprite->SetPosition( TPoint( iPosition.iX >> 16, iPosition.iY >> 16 ) );
	}



TPoint CChrDiamondBox::Position()
	{
	return TPoint( iPosition.iX >> 16, iPosition.iY >> 16 );
	}



void CChrDiamondBox::SetPosition( const TPoint& aPosition )
	{
	iPosition.iX = aPosition.iX << 16;
	iPosition.iY = aPosition.iY << 16;

	iSprite->SetPosition( aPosition );
	}



void CChrDiamondBox::Die()
	{
	iCollected = ETrue;
	iChType = KDiamondBoxCollected;
	}



void CChrDiamondBox::SetType( const TChType& aChType )
	{
	iChType = aChType;
	}



CSprite* CChrDiamondBox::Sprite()
	{
	return iSprite;
	}

	

TChType CChrDiamondBox::Type()
	{
	return iChType;
	}
	
// End of file

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?