本文整理汇总了C++中LTexture::setColor方法的典型用法代码示例。如果您正苦于以下问题:C++ LTexture::setColor方法的具体用法?C++ LTexture::setColor怎么用?C++ LTexture::setColor使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LTexture
的用法示例。
在下文中一共展示了LTexture::setColor方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char* args[] )
{
srand( time( NULL ));
if( !init() )
{
cout << "Falha ao inicializar o programa!" << endl;
}
else
{
if( !loadMedia() )
{
cout << "Falha ao carregar media!" << endl;
}
else
{
bool quit = false;
SDL_Event e;
int x = 0;
//Limpando a tela.
SDL_RenderClear( gRenderer );
Uint8 r = 255;
Uint8 g = 255;
Uint8 b = 255;
while( !quit )
{
while( SDL_PollEvent( &e) != 0 )
{
if( e.type == SDL_QUIT )
{
quit = true;
}
if( e.type == SDL_KEYDOWN )
{
if( e.key.keysym.sym == SDLK_RETURN )
{
SDL_RenderClear( gRenderer );
}
else if( e.key.keysym.sym == SDLK_q )
{
r += 5;
}
else if( e.key.keysym.sym == SDLK_w )
{
g += 5;
}
else if( e.key.keysym.sym == SDLK_e )
{
b += 5;
}
else if( e.key.keysym.sym == SDLK_a )
{
r -= 5;
}
else if( e.key.keysym.sym == SDLK_s )
{
g -= 5;
}
else if( e.key.keysym.sym == SDLK_d )
{
b -= 5;
}
}
}
//Altera a cor.
gSquare.setColor( num_ale(0, r), num_ale(0, g), num_ale(0, b), num_ale(0, 255) );
//Render Animation.
gSquare.render( num_ale(0, SCREEN_WIDTH) - gSpriteClips[0].w / 32, num_ale(0, SCREEN_HEIGHT) - gSpriteClips[0].h / 32, gSpriteClips[0].w / 16, gSpriteClips[0].h / 16, &gSpriteClips[x] );
SDL_RenderPresent( gRenderer );
}
}
}
return 0;
}
示例2: if
int
main(int argc, char *argv[])
{
int quit = 0;
/* event handler */
SDL_Event event;
/* modulation components */
Uint8 r = 255;
Uint8 g = 255;
Uint8 b = 255;
/* starts up SDL and create window */
if (init_sdl() == -1) {
fprintf(stderr, "Failed to initialize SDL!\n");
return -1;
}
/* load media */
if (load_media() == -1) {
fprintf(stderr, "Failed to load media!\n");
return -2;
}
/* main loop */
while (quit == 0) {
/* handle events on queue */
while (SDL_PollEvent(&event) != 0) {
/* users request quit */
if (event.type == SDL_QUIT)
quit = 1;
/* on key press change rgb values */
else if (event.type == SDL_KEYDOWN) {
switch (event.key.keysym.sym) {
case SDLK_q: /* increase red */
r += 32;
break;
case SDLK_w: /* increase green */
g += 32;
break;
case SDLK_e: /* increase blue */
b += 32;
break;
case SDLK_a: /* decrease red */
r -= 32;
break;
case SDLK_s: /* decrease green */
g -= 32;
break;
case SDLK_d: /* decrease blue */
b -= 32;
break;
}
}
}
/* clear screen */
SDL_SetRenderDrawColor(gRenderer, 0xFF, 0xFF, 0xFF, 0xFF);
SDL_RenderClear(gRenderer);
/* modulate and render texture */
gModulatedTexture.setColor(r, g, b);
gModulatedTexture.render(0, 0);
/* update screen */
SDL_RenderPresent(gRenderer);
}
/* free resources and close */
close_sdl();
return 0;
}
示例3: main
int main( int argc, char* args[] ) {
//Start up SDL and create window
if( !init() ) {
printf( "Failed to initialize!\n" );
} else {
//Load media
if( !loadMedia() ) {
printf( "Failed to load media!\n" );
} else {
//Main loop flag
bool quit = false;
//Event handler
SDL_Event e;
//Modulation components
Uint8 r = 255;
Uint8 g = 255;
Uint8 b = 255;
//While application is running
while( !quit ) {
//Handle events on queue
while( SDL_PollEvent( &e ) != 0 ) {
//User requests quit
if( e.type == SDL_QUIT ) {
quit = true;
}
//On keypress change rgb values
else if( e.type == SDL_KEYDOWN ) {
switch( e.key.keysym.sym ) {
//Increase red
case SDLK_q:
r += 32;
break;
//Increase green
case SDLK_w:
g += 32;
break;
//Increase blue
case SDLK_e:
b += 32;
break;
//Decrease red
case SDLK_a:
r -= 32;
break;
//Decrease green
case SDLK_s:
g -= 32;
break;
//Decrease blue
case SDLK_d:
b -= 32;
break;
}
}
}
//Clear screen
SDL_SetRenderDrawColor( gRenderer, 0xFF, 0xFF, 0xFF, 0xFF );
SDL_RenderClear( gRenderer );
//Modulate and render texture
gModulatedTexture.setColor( r, g, b );
gModulatedTexture.render( 0, 0 );
//Update screen
SDL_RenderPresent( gRenderer );
}
}
}
//Free resources and close SDL
close();
return 0;
}