⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hfloorappui.cpp

📁 这是一个基于symbian操作系统的下100层游戏
💻 CPP
字号:
/*
* ============================================================================
*  Name     : CHFloorAppUi from HFloorAppUi.cpp
*  Part of  : HFloor
*  Created  : 2003-7-5 by 土匪般的脸
*  Implementation notes:
*     Initial content was generated by Series 60 AppWizard.
*  Version  :
*  Copyright: 
* ============================================================================
*/

// INCLUDE FILES
#include "HFloorAppUi.h"
#include "HFloorContainer.h" 
#include <HFloor.rsg>
#include "hfloor.hrh"

#include <avkon.hrh>

// ================= MEMBER FUNCTIONS =======================
//
// ----------------------------------------------------------
// CHFloorAppUi::ConstructL()
// ?implementation_description
// ----------------------------------------------------------
//
void CHFloorAppUi::ConstructL()
    {
    BaseConstructL();
    iAppContainer = new (ELeave) CHFloorContainer;
    iAppContainer->SetMopParent(this);
    iAppContainer->ConstructL( ApplicationRect() );
    AddToStackL( iAppContainer );
	iAppContainer->StartTimer();
    }

// ----------------------------------------------------
// CHFloorAppUi::~CHFloorAppUi()
// Destructor
// Frees reserved resources
// ----------------------------------------------------
//
CHFloorAppUi::~CHFloorAppUi()
    {
    if (iAppContainer)
        {
        RemoveFromStack( iAppContainer );
        delete iAppContainer;
        }
   }

// ------------------------------------------------------------------------------
// CHFloorAppUi::::DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane)
//  This function is called by the EIKON framework just before it displays
//  a menu pane. Its default implementation is empty, and by overriding it,
//  the application can set the state of menu items dynamically according
//  to the state of application data.
// ------------------------------------------------------------------------------
//
void CHFloorAppUi::DynInitMenuPaneL(
    TInt /*aResourceId*/,CEikMenuPane* /*aMenuPane*/)
    {
    }

// ----------------------------------------------------
// CHFloorAppUi::HandleKeyEventL(
//     const TKeyEvent& aKeyEvent,TEventCode /*aType*/)
// ?implementation_description
// ----------------------------------------------------
//
TKeyResponse CHFloorAppUi::HandleKeyEventL(
    const TKeyEvent& aKeyEvent,TEventCode aType)
    {
	if (aType == EEventKey)
	{
		switch (aKeyEvent.iCode)
		{
		case 63557:
			{
				//iAppContainer->StartTimer();
				switch (iAppContainer->GameStatus)
				{
				case APPLOGO:
				case GAMELOG:
					{
						switch (iAppContainer->MenuStatus)
						{
						case 0: //Start
							{
								iAppContainer->GameStart();
								break;
							}
						case 1: //help
							{
								iAppContainer->GameStatus = GAMEHELP;
								break;
							}
						case 2: //about
							{
								iAppContainer->GameStatus = GAMEABOUT;
								break;
							}
						case 3: //exit
							{
								Exit();
								break;
							}
						}
						break;
					}
				case GAMESTART:
					{
						break;
					}
				case GAMEOVER:
					{
						iAppContainer->GameStart();
						break;
					}
				case GAMEABOUT:
					{
						iAppContainer->GameStatus = GAMELOG;
						break;
					}
				case GAMEHELP:
					{
						iAppContainer->GameStatus = GAMELOG;
						break;
					}
				}
				break;
			}
		case EKeyDownArrow:
			{
				if (iAppContainer->GameStatus==GAMELOG)
				{
					iAppContainer->MenuStatus ++;
						if (iAppContainer->MenuStatus==4)
							iAppContainer->MenuStatus = 0;
				}
				break;
			}
		case EKeyUpArrow:
			{
				if (iAppContainer->GameStatus==GAMELOG)
				{
					iAppContainer->MenuStatus --;
						if (iAppContainer->MenuStatus==-1)
							iAppContainer->MenuStatus = 3;
				}
				break;
			}/*
		case EKeyLeftArrow:
			{
				iAppContainer->PlayerMove(2);
				break;
			}
		case EKeyRightArrow:
			{
				iAppContainer->PlayerMove(1);
				break;
			}*/
		default: 
			break;
		}
	}
	if (aType == EEventKeyDown)
	{
		switch (aKeyEvent.iScanCode)
		{
		case 14:
			iAppContainer->playercanmove = 1;
			iAppContainer->playerdir = 2;
			break;
		case 15:
			iAppContainer->playercanmove = 1;
			iAppContainer->playerdir = 1;
			break;
		default: 
			break;
		}
	}
	if (aType == EEventKeyUp)
	{
		switch (aKeyEvent.iScanCode)
		{
		case 14:
			iAppContainer->playercanmove = 0;
			iAppContainer->playerdir = 0;
			break;
		case 15:
			iAppContainer->playercanmove = 0;
			iAppContainer->playerdir = 0;
			break;
		default: 
			break;
		}
	}
    return EKeyWasNotConsumed;
    }

// ----------------------------------------------------
// CHFloorAppUi::HandleCommandL(TInt aCommand)
// ?implementation_description
// ----------------------------------------------------
//
void CHFloorAppUi::HandleCommandL(TInt aCommand)
    {
    switch ( aCommand )
        {
        case EAknSoftkeyBack:
        //case EEikCmdExit:
            {
			if (iAppContainer->GameStatus==GAMELOG)
				Exit();
			else
				iAppContainer->GameStatus = GAMELOG;
            break;
            }/*
        case EHFloorCmdAppTest:
            {
            iEikonEnv->InfoMsg(_L("test"));
            break;
            }*/
        // TODO: Add Your command handling code here

        default:
            break;      
        }
    }

// End of File  

⌨️ 快捷键说明

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