Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
José Pardo Madera
/
ProjectoMultimeda2025
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
91f6f6a5
authored
Mar 11, 2025
by
Jaime de la Chica Bergillos
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Adaptacion a tamanio de pantalla
parent
64d7c77c
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
29 additions
and
20 deletions
Executable
Objeto.cpp
Objeto.h
Personaje.cpp
Personaje.h
Sprite.cpp
Sprite.h
main.cpp
Executable
View file @
91f6f6a5
No preview for this file type
Objeto.cpp
View file @
91f6f6a5
...
@@ -4,17 +4,17 @@ Hitbox & Objeto::getHitbox(){
...
@@ -4,17 +4,17 @@ Hitbox & Objeto::getHitbox(){
return
colision
;
return
colision
;
}
}
void
Objeto
::
renderizar
(
SDL_Renderer
*
renderer
){
void
Objeto
::
renderizar
(
SDL_Renderer
*
renderer
,
int
tamx
,
int
tamy
){
std
::
cout
<<
estado
<<
std
::
endl
;
std
::
cout
<<
estado
<<
std
::
endl
;
switch
(
estado
){
switch
(
estado
){
case
normal
:
case
normal
:
sprite_normal
.
renderizar
(
renderer
,
x
,
y
,
w
,
h
);
sprite_normal
.
renderizar
(
renderer
,
x
,
y
,
w
,
h
,
tamx
,
tamy
);
break
;
break
;
case
overworld
:
case
overworld
:
sprite_overworld
.
renderizar
(
renderer
,
x
,
y
,
w
,
h
);
sprite_overworld
.
renderizar
(
renderer
,
x
,
y
,
w
,
h
,
tamx
,
tamy
);
break
;
break
;
case
overworld_highlight
:
case
overworld_highlight
:
sprite_overworld_highlight
.
renderizar
(
renderer
,
x
,
y
,
w
,
h
);
sprite_overworld_highlight
.
renderizar
(
renderer
,
x
,
y
,
w
,
h
,
tamx
,
tamy
);
break
;
break
;
}
}
}
}
Objeto.h
View file @
91f6f6a5
...
@@ -28,5 +28,5 @@ public:
...
@@ -28,5 +28,5 @@ public:
sprite_normal
(
sprite_normal_
),
sprite_overworld
(
sprite_overworld_
),
sprite_normal
(
sprite_normal_
),
sprite_overworld
(
sprite_overworld_
),
sprite_overworld_highlight
(
sprite_overworld_highlight_
),
colision
(
colision_
),
x
(
_x
),
y
(
_y
),
w
(
_w
),
h
(
_h
),
estado
(
estado_
){}
sprite_overworld_highlight
(
sprite_overworld_highlight_
),
colision
(
colision_
),
x
(
_x
),
y
(
_y
),
w
(
_w
),
h
(
_h
),
estado
(
estado_
){}
void
renderizar
(
SDL_Renderer
*
renderer
);
void
renderizar
(
SDL_Renderer
*
renderer
,
int
tamx
,
int
tamy
);
};
};
Personaje.cpp
View file @
91f6f6a5
...
@@ -41,7 +41,7 @@ void Personaje::move(Facing direction) {
...
@@ -41,7 +41,7 @@ void Personaje::move(Facing direction) {
}
}
}
}
void
Personaje
::
renderizar
(
SDL_Renderer
*
renderer
)
{
void
Personaje
::
renderizar
(
SDL_Renderer
*
renderer
,
int
tamx
,
int
tamy
)
{
auto
now
=
std
::
chrono
::
system_clock
::
now
();
auto
now
=
std
::
chrono
::
system_clock
::
now
();
auto
tiempo_desde_ultimo_movimiento
=
now
.
time_since_epoch
()
-
momento_ultimo_movimiento
.
time_since_epoch
();
auto
tiempo_desde_ultimo_movimiento
=
now
.
time_since_epoch
()
-
momento_ultimo_movimiento
.
time_since_epoch
();
...
@@ -52,7 +52,7 @@ void Personaje::renderizar(SDL_Renderer *renderer) {
...
@@ -52,7 +52,7 @@ void Personaje::renderizar(SDL_Renderer *renderer) {
indice_movimiento
=
0
;
indice_movimiento
=
0
;
}
}
movimientos
[
estado
][
indice_movimiento
].
renderizar
(
renderer
,
x
,
100
,
profundidades
,
profundidades
,
true
);
movimientos
[
estado
][
indice_movimiento
].
renderizar
(
renderer
,
x
,
100
,
profundidades
,
profundidades
,
t
amx
,
tamy
,
t
rue
);
}
}
void
Personaje
::
comprobarColision
(
Hitbox
&
hitbox
){
void
Personaje
::
comprobarColision
(
Hitbox
&
hitbox
){
...
...
Personaje.h
View file @
91f6f6a5
...
@@ -37,7 +37,7 @@ int x = 100;
...
@@ -37,7 +37,7 @@ int x = 100;
void
move
(
Facing
direcion
);
void
move
(
Facing
direcion
);
void
renderizar
(
SDL_Renderer
*
renderer
);
void
renderizar
(
SDL_Renderer
*
renderer
,
int
tamx
,
int
tamy
);
void
comprobarColision
(
Hitbox
&
hitbox
);
void
comprobarColision
(
Hitbox
&
hitbox
);
};
};
Sprite.cpp
View file @
91f6f6a5
...
@@ -16,17 +16,17 @@ SDL_Texture *Sprite::get_textura(SDL_Renderer *Renderer) {
...
@@ -16,17 +16,17 @@ SDL_Texture *Sprite::get_textura(SDL_Renderer *Renderer) {
return
texture
;
return
texture
;
}
}
void
Sprite
::
renderizar
(
SDL_Renderer
*
Renderer
,
int
x
,
int
y
,
int
w
,
int
h
,
bool
centrar
)
{
void
Sprite
::
renderizar
(
SDL_Renderer
*
Renderer
,
int
x
,
int
y
,
int
w
,
int
h
,
int
tamx
,
int
tamy
,
bool
centrar
)
{
printf
(
"RENDER TEXTURA %s
\n
"
,
camino
.
c_str
());
printf
(
"RENDER TEXTURA %s
\n
"
,
camino
.
c_str
());
texture
=
get_textura
(
Renderer
);
texture
=
get_textura
(
Renderer
);
SDL_Rect
Dest
;
SDL_Rect
Dest
;
Dest
.
x
=
x
;
Dest
.
x
=
x
*
(
tamx
/
1920.0
)
;
Dest
.
y
=
y
;
Dest
.
y
=
y
*
(
tamy
/
1080.0
)
;
Dest
.
w
=
w
;
Dest
.
w
=
w
*
(
tamx
/
1920.0
)
;
Dest
.
h
=
h
;
Dest
.
h
=
h
*
(
tamy
/
1080.0
)
;
if
(
centrar
)
{
if
(
centrar
)
{
SDL_Rect
TamTextura
;
SDL_Rect
TamTextura
;
...
...
Sprite.h
View file @
91f6f6a5
...
@@ -14,7 +14,7 @@ class Sprite {
...
@@ -14,7 +14,7 @@ class Sprite {
public
:
public
:
Sprite
(
std
::
string
camino
);
Sprite
(
std
::
string
camino
);
void
renderizar
(
SDL_Renderer
*
Renderer
,
int
x
,
int
y
,
int
w
,
int
h
,
bool
centrar
=
false
);
void
renderizar
(
SDL_Renderer
*
Renderer
,
int
x
,
int
y
,
int
w
,
int
h
,
int
tamx
,
int
tamy
,
bool
centrar
=
false
);
~
Sprite
();
~
Sprite
();
};
};
...
...
main.cpp
View file @
91f6f6a5
...
@@ -27,6 +27,13 @@ void cambiar_buffers(SDL_Renderer *renderer) {
...
@@ -27,6 +27,13 @@ void cambiar_buffers(SDL_Renderer *renderer) {
int
main
(){
int
main
(){
int
tamx
=
0
;
int
tamy
=
0
;
if
(
SDL_Init
(
SDL_INIT_VIDEO
)
<
0
){
if
(
SDL_Init
(
SDL_INIT_VIDEO
)
<
0
){
std
::
cout
<<
"Error at SDL_Init(SDL_INIT_VIDEO)"
<<
std
::
endl
;
std
::
cout
<<
"Error at SDL_Init(SDL_INIT_VIDEO)"
<<
std
::
endl
;
...
@@ -48,6 +55,8 @@ int main(){
...
@@ -48,6 +55,8 @@ int main(){
0
0
);
);
SDL_SetWindowFullscreen
(
Window
,
SDL_WINDOW_FULLSCREEN_DESKTOP
);
if
(
!
Window
){
if
(
!
Window
){
std
::
cout
<<
"Error creating window"
<<
std
::
endl
;
std
::
cout
<<
"Error creating window"
<<
std
::
endl
;
...
@@ -87,6 +96,7 @@ int main(){
...
@@ -87,6 +96,7 @@ int main(){
SDL_Event
event
;
SDL_Event
event
;
while
(
true
)
{
while
(
true
)
{
SDL_GetWindowSize
(
Window
,
&
tamx
,
&
tamy
);
while
(
SDL_PollEvent
(
&
event
))
{
while
(
SDL_PollEvent
(
&
event
))
{
switch
(
event
.
type
)
{
switch
(
event
.
type
)
{
case
SDL_KEYDOWN
:
case
SDL_KEYDOWN
:
...
@@ -104,7 +114,6 @@ int main(){
...
@@ -104,7 +114,6 @@ int main(){
Agapito
.
move
(
Frente
);
Agapito
.
move
(
Frente
);
break
;
break
;
}
}
std
::
cout
<<
"Agapito "
<<
Agapito
.
x
<<
" "
<<
Agapito
.
profundidades
<<
std
::
endl
;
for
(
int
i
=
0
;
i
<
colisiones
.
size
();
i
++
){
for
(
int
i
=
0
;
i
<
colisiones
.
size
();
i
++
){
Agapito
.
comprobarColision
(
*
colisiones
[
i
]);
Agapito
.
comprobarColision
(
*
colisiones
[
i
]);
}
}
...
@@ -113,12 +122,12 @@ int main(){
...
@@ -113,12 +122,12 @@ int main(){
exit
(
0
);
exit
(
0
);
}
}
}
}
std
::
cout
<<
"Dimensiones "
<<
tamx
<<
tamy
<<
endl
;
Fondo1
.
renderizar
(
Renderer
,
0
,
0
,
1920
,
1080
);
Fondo1
.
renderizar
(
Renderer
,
0
,
0
,
1920
,
1080
,
tamx
,
tamy
);
for
(
int
i
=
0
;
i
<
objetos
.
size
();
i
++
){
for
(
int
i
=
0
;
i
<
objetos
.
size
();
i
++
){
objetos
[
i
]
->
renderizar
(
Renderer
);
objetos
[
i
]
->
renderizar
(
Renderer
,
tamx
,
tamy
);
}
}
Agapito
.
renderizar
(
Renderer
);
Agapito
.
renderizar
(
Renderer
,
tamx
,
tamy
);
cambiar_buffers
(
Renderer
);
cambiar_buffers
(
Renderer
);
SDL_Delay
(
5
);
SDL_Delay
(
5
);
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment