Exemple #1
0
//屏触响应
//int32 TestBox2DLite_MouseEvent( E_Mex_MouseEvent eEvent, int16 iPosX, int16 iPosY )
iS32 TestBox2DLite_MouseEvent(i51InputStruct InputData)
{
    iU16 uWidth=240, uHeight=320;
	if( i51AdeMmiGetScreenScale ( &uWidth , &uHeight ) == 0 ) return iFALSE;
    if(InputData.type==i51_PEN_INPUT&&InputData.u.pen.type==i51_PEN_UP)
    {
        iU16 PenX = InputData.u.pen.x;
        iU16 PenY = InputData.u.pen.y;
	if(PenY<uHeight/4)
	{
		if(PenX<uWidth/3) InitDemo(1);
		else if( PenX<uWidth*2/3) InitDemo(2);
		else InitDemo(3);
	}
	else if(PenY<uHeight*2/4)
	{
		if(PenX<uWidth/3) InitDemo(4);
		else if( PenX<uWidth*2/3) InitDemo(5);
		else InitDemo(6);
	}
	else if(PenY<uHeight*3/4)
	{
		if(PenX<uWidth/3) InitDemo(7);
		else if( PenX<uWidth*2/3) InitDemo(8);
		else InitDemo(9);
	}
	else
	{
            LaunchBomb();
	}
    }
	return 1;
}
void Test::CompleteBombSpawn(const b2Vec2& p){
	if (m_bombSpawning == false){ return; }

	const float multiplier = 30.0f;
	b2Vec2 vel = m_bombSpawnPoint - p;
	vel *= multiplier;
	LaunchBomb(m_bombSpawnPoint,vel);
	m_bombSpawning = false;
}
Exemple #3
0
//按键响应
//int32 TestBox2DLite_KeyEvent(E_Mex_KeyEvent keyEvent, E_Mex_KeyCode keyCode)
iS32 TestBox2DLite_KeyEvent(void)
{
i51KEYS keyCode;
i51InputStruct InputData;
i51KitKeyInputQueueOut(KeyQueue, &InputData);
if(InputData.type==i51_KEY_INPUT&&InputData.u.key.type==i51_KEY_UP)
{
i51KEYS keyCode = InputData.u.key.value;
    switch ( keyCode )
    {
    case i51_KEY_NUM0:
        InitDemo(0);
        break;
    case i51_KEY_NUM1:
        InitDemo(1);
        break;
    case i51_KEY_NUM2:
        InitDemo(2);
        break;
    case i51_KEY_NUM3:
        InitDemo(3);
        break;
    case i51_KEY_NUM4:
        InitDemo(4);
        break;
    case i51_KEY_NUM5:
        InitDemo(5);
        break;
    case i51_KEY_NUM6:
        InitDemo(6);
        break;
    case i51_KEY_NUM7:
        InitDemo(7);
        break;
    case i51_KEY_NUM8:
        InitDemo(8);
        break;
    case i51_KEY_NUM9:
        InitDemo(9);
        break;
    case i51_KEY_ENTER:
        LaunchBomb();
        break;
    }
}

TestBox2DLite_MouseEvent(InputData);

    return 1;
}
Exemple #4
0
void Test::LaunchBomb()
{
	b2Vec2 p(RandomFloat(-15.0f, 15.0f), 30.0f);
	b2Vec2 v = -5.0f * p;
	LaunchBomb(p, v);
}
void Keyboard(unsigned char key, int x, int y)
{
	switch (key)
	{
	case 27:
		exit(0);
		break;

	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
		{
			InitDemo(key - '1');
		}
		break;
	case 'b':
		{
			bruteForceHitCalc = !bruteForceHitCalc;
		}
		break;
	case 'p':
		{
			if(dt != 0.0f){ dt = 0.0f; }
			else { dt = 1.0f / 60.0f;}
		}
		break;
	case ' ':
		{
			LaunchBomb();
		}
		break;
	case 'u':
		{
			if(viewNode->parent()){ viewNode = viewNode->parent(); }
		}
		break;
	case 'd':
		{
			viewNode->children(true);
			if(viewNode->child(AutoMatic::QuadtreeNode::pXpY))
			{
				viewNode = viewNode->child(AutoMatic::QuadtreeNode::pXpY);
				child = 0;
			}
		}
		break;
	case 'n':
		{
			child++; if(child >= 4){ child = 0; }
			if(viewNode->parent())
			{
				viewNode = viewNode->parent()->child((AutoMatic::QuadtreeNode::ChildId)child);
			}
		}
		break;
	}
}