コード例 #1
0
ファイル: bbant.cpp プロジェクト: 33d/scummvm
void MinigameBbAnt::update() {

	int inputTicks;

	if (_gameTicks > 0) {
		int currTicks = _vm->_system->getMillis();
		inputTicks = 3 * (currTicks - _gameTicks) / 50;
		_gameTicks = currTicks - (currTicks - _gameTicks - 50 * inputTicks / 3);
	} else {
		inputTicks = 1;
		_gameTicks = _vm->_system->getMillis();
	}

	if (_vm->_keyCode == Common::KEYCODE_ESCAPE) {
		_gameDone = true;
		return;
	}

	if (inputTicks == 0)
		return;

	bool done;

	do {
		done = !updateStatus(_vm->_mouseX, _vm->_mouseY, _vm->_mouseButtons);
		_vm->_mouseButtons &= ~kLeftButtonClicked;
		_vm->_mouseButtons &= ~kRightButtonClicked;
		_vm->_keyCode = Common::KEYCODE_INVALID;
	} while (--inputTicks && _gameTicks > 0 && !done);
	
	drawSprites();
		
	_vm->_system->delayMillis(10);

}
コード例 #2
0
ファイル: scene5.cpp プロジェクト: EthanCPP/LD32-KimmyJong
void rScene5::render()
{
	m_window->clear();

	drawSprites();
	drawText();

	m_window->display();
}
コード例 #3
0
static void gameScreen_Draw( void )
{
	particlesDraw( );
	drawSprites( );
	drawMines( );
	drawBarbedWire( );
	drawPits( );

	queueRenderImage( sandImg, 1, center, center, 100 );
	queueRenderImage( launchFromImg, 1, launchFromPosition, launchFromPosition, 0 );
	queueRenderImage( launchToImg, 1, launchToPosition, launchToPosition, 0 );

	// draw healths
	//  base image is 15x15
	Vector2 barPos;
	Vector2 scale;
	float percentHealth;
	float barScale;

	percentHealth = (float)attackerHealth / (float)MAX_HEALTH;
	barScale = ( 300.0f * percentHealth ) / 15.0f;
	barPos.x = 1000.0f - 7.0f;
	barPos.y = 600.0f - ( ( 15.0f * barScale ) / 2.0f );
	scale.x = 1.0f;
	scale.y = barScale;
	queueRenderImage_sv_c( barBaseImg, 1, barPos, barPos, scale, scale, sideColors[0], sideColors[0], -10 );

	percentHealth = (float)defenderHealth / (float)MAX_HEALTH;
	barScale = ( 300.0f * percentHealth ) / 15.0f;
	barPos.x = 1000.0f - 7.0f;
	barPos.y = ( ( 15.0f * barScale ) / 2.0f );
	scale.x = 1.0f;
	scale.y = barScale;
	queueRenderImage_sv_c( barBaseImg, 1, barPos, barPos, scale, scale, sideColors[0], sideColors[1], -10 );

	// draw recharge bars
	drawPanjandrumsReady( );

	if( introMode ) {
		queueRenderImage( instructionsImg, 1, center, center, -100 );
	}

	/*
	debugRenderPanjandrums( );
	debugRenderTroops( );
	debugRenderExplosions( );
	debugRenderMines( );
	debugRenderBarbedWire( );
	debugRenderPits( );
	collisionCollectionDebugRendering( sideColliders, 1, 1.0f, 1.0f, 1.0f );
	if( introMode ) {
		collisionDebugRendering( &startCollider, 1, 0, 1, 1.0f, 1.0f, 1.0f );
	}
	// */
}
コード例 #4
0
	void Renderer::begin()
	{
		ContextSettings contextSettings;
		contextSettings.depthBits = 32;
		window = new RenderWindow ( VideoMode ( tam.x, tam.y ), name, Style::Default, contextSettings );

		active = true;
		window->setActive();

		glClearDepth ( 0xff );
		glClearColor ( 0xff, 0xff, 0xff, 0xff );

		bool kb[256] = {0};
//    sprite.getOrigin(0,0);
		while ( window->isOpen() ) {
			for ( auto x : syncList ) {
				x->update ( 0 );

			}

			Event event;
			while ( window->pollEvent ( event ) ) {
				if ( event.type == Event::Closed || !active ) {
					window->close();
				}
				createMouseEvent ( event );
				createKeyBoardEvent ( event );
				createCharEvents ( event );
				if ( event.type == Event::Resized ) {
				}
			}
			std::this_thread::sleep_for ( std::chrono::milliseconds ( 16 ) );

			window->clear ( Color ( 0x00, 0x00, 0x00, 0x00 ) );

			drawSprites();

			window->display();
		}
	}