Included background slider
This commit is contained in:
parent
68f60a866f
commit
4f355f6f6d
@ -12,6 +12,7 @@
|
|||||||
#include "background.h"
|
#include "background.h"
|
||||||
|
|
||||||
#define BG_Path_1 "assets/images/bg/bg1.png"
|
#define BG_Path_1 "assets/images/bg/bg1.png"
|
||||||
|
#define BG_Path_2 "assets/images/bg/bg2.png"
|
||||||
|
|
||||||
int BACKGROUND_BoxWidth, BACKGROUND_BoxHeight;
|
int BACKGROUND_BoxWidth, BACKGROUND_BoxHeight;
|
||||||
int BACKGROUND_TextureCount;
|
int BACKGROUND_TextureCount;
|
||||||
@ -28,6 +29,8 @@ void BACKGROUND_Initialize(SDL_Renderer * renderer, int width, int height){
|
|||||||
BACKGROUND_TotalRect = (SDL_Rect) {.x = 0, .y = 0, .w = 1920, .h = 1080 };
|
BACKGROUND_TotalRect = (SDL_Rect) {.x = 0, .y = 0, .w = 1920, .h = 1080 };
|
||||||
BACKGROUND_Textures = malloc(BACKGROUND_TextureCount * sizeof(SDL_Texture *));
|
BACKGROUND_Textures = malloc(BACKGROUND_TextureCount * sizeof(SDL_Texture *));
|
||||||
BACKGROUND_Textures[0] = IMG_LoadTexture(renderer, BG_Path_1);
|
BACKGROUND_Textures[0] = IMG_LoadTexture(renderer, BG_Path_1);
|
||||||
|
// BACKGROUND_Textures[1] = IMG_LoadTexture(renderer, BG_Path_2);
|
||||||
|
// BACKGROUND_Textures[2] = IMG_LoadTexture(renderer, BG_Path_3);
|
||||||
printf("Background initialized!\n");
|
printf("Background initialized!\n");
|
||||||
BACKGROUND_IsInit = true;
|
BACKGROUND_IsInit = true;
|
||||||
} else
|
} else
|
||||||
|
BIN
bin/assets/images/bg/bg2.png
Normal file
BIN
bin/assets/images/bg/bg2.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 MiB |
Binary file not shown.
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 17 KiB |
5
main.c
5
main.c
@ -42,6 +42,7 @@ Scenery scenery;
|
|||||||
Mix_Music * MenuLoop;
|
Mix_Music * MenuLoop;
|
||||||
char * Username;
|
char * Username;
|
||||||
char * Password;
|
char * Password;
|
||||||
|
int background=0;
|
||||||
|
|
||||||
int main(int argc, char * args[]){
|
int main(int argc, char * args[]){
|
||||||
AttemptLogin();
|
AttemptLogin();
|
||||||
@ -57,7 +58,7 @@ int main(int argc, char * args[]){
|
|||||||
switch (gameState) {
|
switch (gameState) {
|
||||||
case Game:
|
case Game:
|
||||||
BREAKOUT_Update(&scenery, keystate);
|
BREAKOUT_Update(&scenery, keystate);
|
||||||
BACKGROUND_Draw(renderer, 0);
|
BACKGROUND_Draw(renderer, background);
|
||||||
BREAKOUT_Draw(&scenery, renderer);
|
BREAKOUT_Draw(&scenery, renderer);
|
||||||
break;
|
break;
|
||||||
case MainMenu:
|
case MainMenu:
|
||||||
@ -68,7 +69,7 @@ int main(int argc, char * args[]){
|
|||||||
HIGHSCORES_Draw(renderer);
|
HIGHSCORES_Draw(renderer);
|
||||||
break;
|
break;
|
||||||
case Settings:
|
case Settings:
|
||||||
Settings_Draw(renderer, &scenery);
|
Settings_Draw(renderer, &scenery,&background);
|
||||||
break;
|
break;
|
||||||
case GameOver:
|
case GameOver:
|
||||||
GAMEOVER_Draw(renderer, &scenery);
|
GAMEOVER_Draw(renderer, &scenery);
|
||||||
|
18
settings.c
18
settings.c
@ -30,7 +30,7 @@ SDL_Rect Settings_Skins_rect;
|
|||||||
SDL_Rect Return_Button_rect;
|
SDL_Rect Return_Button_rect;
|
||||||
SDL_Rect Circle_rect;
|
SDL_Rect Circle_rect;
|
||||||
|
|
||||||
Slider BV;
|
Slider BG;
|
||||||
Slider BS;
|
Slider BS;
|
||||||
Slider BT;
|
Slider BT;
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ bool Settings_IsInit = false;
|
|||||||
bool IsLock=false;
|
bool IsLock=false;
|
||||||
|
|
||||||
void Settings_Initialize (SDL_Renderer* renderer,Scenery* scenery) {
|
void Settings_Initialize (SDL_Renderer* renderer,Scenery* scenery) {
|
||||||
// Initialize_Slider(400,300,Scalar_width,Bar_width,Slider_height,1,2,&BV,1.5);
|
Initialize_Slider(400,300,Scalar_width,Bar_width,Slider_height,0,1,&BG,0);
|
||||||
Initialize_Slider(400,500,Scalar_width,Bar_width,Slider_height,10,100,&BS,scenery->ball.TargetRect.w);
|
Initialize_Slider(400,500,Scalar_width,Bar_width,Slider_height,10,100,&BS,scenery->ball.TargetRect.w);
|
||||||
Initialize_Slider(400,700,Scalar_width,Bar_width,Slider_height,0,8,&BT,scenery->ball.TextureIndex);
|
Initialize_Slider(400,700,Scalar_width,Bar_width,Slider_height,0,8,&BT,scenery->ball.TextureIndex);
|
||||||
//Initialize_Slider(400,300,Scalar_width,Bar_width,Slider_height,0,8,&BT,scenery->paddle.TextureIndex);
|
//Initialize_Slider(400,300,Scalar_width,Bar_width,Slider_height,0,8,&BT,scenery->paddle.TextureIndex);
|
||||||
@ -60,19 +60,20 @@ void Settings_Initialize (SDL_Renderer* renderer,Scenery* scenery) {
|
|||||||
Scalar_Button_Texture1 = IMG_LoadTexture(renderer, "assets/images/scalar_button_pressed.png");
|
Scalar_Button_Texture1 = IMG_LoadTexture(renderer, "assets/images/scalar_button_pressed.png");
|
||||||
|
|
||||||
Circle_Texture = IMG_LoadTexture(renderer,"assets/images/circle.png");
|
Circle_Texture = IMG_LoadTexture(renderer,"assets/images/circle.png");
|
||||||
Circle_rect = (SDL_Rect){.x = 1200, .y = 500, .w=75, .h=75};
|
Circle_rect = (SDL_Rect){.x = 1250, .y = 500, .w=75, .h=75};
|
||||||
|
|
||||||
Settings_IsInit = true;
|
Settings_IsInit = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Settings_Draw(SDL_Renderer * renderer, Scenery * scenery) {
|
void Settings_Draw(SDL_Renderer * renderer, Scenery * scenery,int *backgroundcount) {
|
||||||
double x;
|
double x;
|
||||||
if(!(Mousestate & SDL_BUTTON(SDL_BUTTON_LEFT))){
|
if(!(Mousestate & SDL_BUTTON(SDL_BUTTON_LEFT))){
|
||||||
IsLock=BV.IsLock=BS.IsLock=BT.IsLock=false;
|
IsLock=BG.IsLock=BS.IsLock=BT.IsLock=false;
|
||||||
}else{
|
}else{
|
||||||
IsLock=true;
|
IsLock=true;
|
||||||
}
|
}
|
||||||
Draw_Slider(renderer, &BV);
|
BACKGROUND_Draw(renderer,*backgroundcount);
|
||||||
|
Draw_Slider(renderer, &BG);
|
||||||
Draw_Slider(renderer, &BS);
|
Draw_Slider(renderer, &BS);
|
||||||
Draw_Slider(renderer, &BT);
|
Draw_Slider(renderer, &BT);
|
||||||
SDL_RenderCopy(renderer, Settings_Texture, NULL, &Settings_rect);
|
SDL_RenderCopy(renderer, Settings_Texture, NULL, &Settings_rect);
|
||||||
@ -85,7 +86,7 @@ void Settings_Draw(SDL_Renderer * renderer, Scenery * scenery) {
|
|||||||
scenery->ball.TargetRect.w = x;
|
scenery->ball.TargetRect.w = x;
|
||||||
scenery->ball.TargetRect.h = x;
|
scenery->ball.TargetRect.h = x;
|
||||||
scenery->ball.Size = ((double)x / 2.0f);
|
scenery->ball.Size = ((double)x / 2.0f);
|
||||||
int posx=1200,posy=500;
|
int posx=1250,posy=500;
|
||||||
Circle_rect.x=posx-0.5*Circle_rect.w;
|
Circle_rect.x=posx-0.5*Circle_rect.w;
|
||||||
Circle_rect.y=posy+0.5*(100-Circle_rect.w);
|
Circle_rect.y=posy+0.5*(100-Circle_rect.w);
|
||||||
Circle_rect.w=x;
|
Circle_rect.w=x;
|
||||||
@ -93,6 +94,9 @@ void Settings_Draw(SDL_Renderer * renderer, Scenery * scenery) {
|
|||||||
mapping(&x, &BT);
|
mapping(&x, &BT);
|
||||||
x = round(x);
|
x = round(x);
|
||||||
scenery->ball.TextureIndex = x;
|
scenery->ball.TextureIndex = x;
|
||||||
|
mapping(&x,&BG);
|
||||||
|
x=round(x);
|
||||||
|
*backgroundcount=x;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Settings_Deinitialize(){
|
void Settings_Deinitialize(){
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
#include "breakout.h"
|
#include "breakout.h"
|
||||||
#include "gamestate.h"
|
#include "gamestate.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
|
#include "background.h"
|
||||||
|
|
||||||
typedef struct sliderstruct {
|
typedef struct sliderstruct {
|
||||||
SDL_Rect Bar_rect;
|
SDL_Rect Bar_rect;
|
||||||
@ -18,7 +19,7 @@ typedef struct sliderstruct {
|
|||||||
double Slider_value,min,max;
|
double Slider_value,min,max;
|
||||||
} Slider;
|
} Slider;
|
||||||
|
|
||||||
void Settings_Draw (SDL_Renderer* renderer,Scenery* scenery);
|
void Settings_Draw (SDL_Renderer* renderer,Scenery* scenery,int *backgroundcount);
|
||||||
|
|
||||||
void Draw_Slider(SDL_Renderer* renderer,Slider* beta);
|
void Draw_Slider(SDL_Renderer* renderer,Slider* beta);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user