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
05b888ee
authored
Apr 10, 2025
by
José Pardo Madera
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Añadido cinematica calendario quitado y otras cosas
parent
7ac5d966
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
34 additions
and
17 deletions
Executable
Historia.cpp
Historia.h
PantallaInicio.cpp
PantallaInicio.h
Personaje.h
Executable
View file @
05b888ee
No preview for this file type
Historia.cpp
View file @
05b888ee
...
@@ -34,6 +34,15 @@ static Objeto generarObjetoCalendario() {
...
@@ -34,6 +34,15 @@ static Objeto generarObjetoCalendario() {
return
Calendario
;
return
Calendario
;
}
}
static
Objeto
generarObjectoCartera
(
bool
(
*
function
)(
Objeto
*
,
Handle
&
))
{
Sprite
sprCartera
(
"assets/cartera.png"
);
Hitbox
hitCartera
(
0
,
0
,
0
,
0
);
// Trivial, solo esta en el inventario
Objeto
Cartera
(
sprCartera
,
sprCartera
,
sprCartera
,
hitCartera
,
400
,
150
,
150
,
250
,
normal
,
nullptr
);
return
Cartera
;
}
static
void
iniciarInicio
()
{
static
void
iniciarInicio
()
{
play_video
(
"assets/Encerrado"
,
"es"
);
play_video
(
"assets/Encerrado"
,
"es"
);
...
@@ -48,9 +57,14 @@ static void iniciarInicio() {
...
@@ -48,9 +57,14 @@ static void iniciarInicio() {
Objeto
Calendario
=
generarObjetoCalendario
();
Objeto
Calendario
=
generarObjetoCalendario
();
Objeto
Cartera
=
generarObjectoCartera
(
nullptr
);
getPantalla1
()
->
anadirObjeto
(
Pantalla
);
getPantalla1
()
->
anadirObjeto
(
Pantalla
);
getPantalla1
()
->
anadirObjeto
(
Calendario
);
getPantalla1
()
->
anadirObjeto
(
Calendario
);
Agapito
.
inventario
[
0
]
=
Cartera
;
Agapito
.
numObjetos
=
1
;
}
}
...
@@ -70,13 +84,11 @@ static void iniciarCalendarioVisto(){
...
@@ -70,13 +84,11 @@ static void iniciarCalendarioVisto(){
getPantalla1
()
->
anadirObjeto
(
Calendario
);
getPantalla1
()
->
anadirObjeto
(
Calendario
);
auto
funcionComprobarPantallaMinimizada
=
[]
(
Handle
&
handle
)
->
bool
{
auto
funcionComprobarPantallaMinimizada
=
[]
(
Handle
&
handle
)
->
bool
{
std
::
cout
<<
"Calling hook"
<<
std
::
endl
;
if
(
handle
.
pantallaMinimizada
())
{
if
(
handle
.
pantallaMinimizada
())
{
historiaPrincipal
.
pasarDeEstadoA
(
Historia
::
Secuencia
::
CalendarioVisto
,
Historia
::
Secuencia
::
CalendarioQuitado
);
historiaPrincipal
.
pasarDeEstadoA
(
Historia
::
Secuencia
::
CalendarioVisto
,
Historia
::
Secuencia
::
CalendarioQuitado
);
std
::
cout
<<
"Minimini"
<<
std
::
endl
;
play_video
(
"assets/CalendarioDesaparecido"
,
"es"
)
;
return
true
;
return
true
;
}
}
std
::
cout
<<
"No minimini"
<<
std
::
endl
;
return
false
;
return
false
;
};
};
...
@@ -162,13 +174,13 @@ void Historia::siguienteEstado(Secuencia estado){
...
@@ -162,13 +174,13 @@ void Historia::siguienteEstado(Secuencia estado){
}
}
}
}
void
Historia
::
pasarDeEstadoA
(
Secuencia
estadoAnterior
,
Secuencia
estadoPosterior
){
void
Historia
::
pasarDeEstadoA
(
Secuencia
estadoAnterior
,
Secuencia
estadoPosterior
){
if
(
estadoAnterior
==
estadoActual
){
if
(
estadoAnterior
==
estadoActual
){
limpiarEstado
();
limpiarEstado
();
siguienteEstado
(
estadoPosterior
);
siguienteEstado
(
estadoPosterior
);
estadoActual
=
estadoPosterior
;
estadoActual
=
estadoPosterior
;
}
}
}
}
Historia
::
Historia
(){
Historia
::
Historia
(){
siguienteEstado
(
estadoActual
);
siguienteEstado
(
estadoActual
);
...
...
Historia.h
View file @
05b888ee
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
class
Historia
{
class
Historia
{
public
:
public
:
enum
Secuencia
{
enum
Secuencia
{
PreInicio
,
Inicio
,
Inicio
,
CalendarioVisto
,
CalendarioVisto
,
CalendarioQuitado
,
CalendarioQuitado
,
...
@@ -16,7 +17,7 @@ class Historia{
...
@@ -16,7 +17,7 @@ class Historia{
};
};
private
:
private
:
Secuencia
estadoActual
=
CalendarioQuitad
o
;
Secuencia
estadoActual
=
PreInici
o
;
void
limpiarEstado
();
void
limpiarEstado
();
void
siguienteEstado
(
Secuencia
estado
);
void
siguienteEstado
(
Secuencia
estado
);
...
...
PantallaInicio.cpp
View file @
05b888ee
...
@@ -25,6 +25,12 @@ PantallaInicio::PantallaInicio() :
...
@@ -25,6 +25,12 @@ PantallaInicio::PantallaInicio() :
}
}
void
PantallaInicio
::
iniciar
(
Handle
&
handle
)
{
Cancion
.
pausar
();
handle
.
reemplazamePor
(
colPantallas
[
0
]);
historiaPrincipal
.
pasarDeEstadoA
(
Historia
::
Secuencia
::
PreInicio
,
Historia
::
Secuencia
::
Inicio
);
}
void
PantallaInicio
::
manejarEntrada
(
Handle
&
handle
)
{
void
PantallaInicio
::
manejarEntrada
(
Handle
&
handle
)
{
SDL_Event
event
;
SDL_Event
event
;
while
(
SDL_PollEvent
(
&
event
))
{
while
(
SDL_PollEvent
(
&
event
))
{
...
@@ -32,8 +38,7 @@ void PantallaInicio::manejarEntrada(Handle &handle) {
...
@@ -32,8 +38,7 @@ void PantallaInicio::manejarEntrada(Handle &handle) {
case
SDL_KEYDOWN
:
case
SDL_KEYDOWN
:
switch
(
event
.
key
.
keysym
.
sym
)
{
switch
(
event
.
key
.
keysym
.
sym
)
{
case
13
:
case
13
:
Cancion
.
pausar
();
iniciar
(
handle
);
handle
.
reemplazamePor
(
colPantallas
[
0
]);
break
;
break
;
}
}
break
;
break
;
...
@@ -46,8 +51,7 @@ void PantallaInicio::manejarEntrada(Handle &handle) {
...
@@ -46,8 +51,7 @@ void PantallaInicio::manejarEntrada(Handle &handle) {
zRaton
*=
(
1080.0
/
handle
.
getTamY
());
zRaton
*=
(
1080.0
/
handle
.
getTamY
());
cout
<<
"Raton x "
<<
xRaton
<<
" Raton z "
<<
zRaton
<<
endl
;
cout
<<
"Raton x "
<<
xRaton
<<
" Raton z "
<<
zRaton
<<
endl
;
if
(
colisionesInterfaz
[
0
].
colisiona
(
xRaton
,
zRaton
)
){
if
(
colisionesInterfaz
[
0
].
colisiona
(
xRaton
,
zRaton
)
){
Cancion
.
pausar
();
iniciar
(
handle
);
handle
.
reemplazamePor
(
colPantallas
[
0
]);
}
}
}
}
break
;
break
;
...
...
PantallaInicio.h
View file @
05b888ee
...
@@ -21,6 +21,7 @@ class PantallaInicio : public Pantalla {
...
@@ -21,6 +21,7 @@ class PantallaInicio : public Pantalla {
Sonido
Cancion
;
Sonido
Cancion
;
void
iniciar
(
Handle
&
);
public
:
public
:
PantallaInicio
();
PantallaInicio
();
...
@@ -32,4 +33,4 @@ public:
...
@@ -32,4 +33,4 @@ public:
bool
transparente
()
override
{
bool
transparente
()
override
{
return
false
;
return
false
;
};
};
};
};
\ No newline at end of file
Personaje.h
View file @
05b888ee
...
@@ -36,7 +36,7 @@ class Personaje {
...
@@ -36,7 +36,7 @@ class Personaje {
public
:
public
:
array
<
optional
<
Objeto
>
,
3
>
inventario
;
array
<
optional
<
Objeto
>
,
3
>
inventario
;
int
numObjetos
=
0
;
int
numObjetos
=
0
;
Personaje
();
Personaje
();
...
...
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