diff --git a/app/src/main/java/com/example/ellegadodepintia/minijuego2/Minijuego2.kt b/app/src/main/java/com/example/ellegadodepintia/minijuego2/Minijuego2.kt index bc7ee872507d7c9dd3ace11b1c7aa9ef2b55fe17..47bab3daae87044dec634242d2315dc6c4751214 100644 --- a/app/src/main/java/com/example/ellegadodepintia/minijuego2/Minijuego2.kt +++ b/app/src/main/java/com/example/ellegadodepintia/minijuego2/Minijuego2.kt @@ -12,7 +12,11 @@ import android.widget.TextView import androidx.appcompat.app.AppCompatActivity import kotlin.random.Random import android.graphics.drawable.AnimationDrawable +import android.view.LayoutInflater +import android.view.ViewGroup import android.view.animation.AnimationUtils +import android.widget.Button +import androidx.fragment.app.DialogFragment import com.example.ellegadodepintia.R import com.example.ellegadodepintia.soundManager.SoundManager @@ -65,6 +69,12 @@ class Minijuego2 : AppCompatActivity() { nube = findViewById(R.id.nube) fondo1 = findViewById(R.id.fondo1) fondo2 = findViewById(R.id.fondo2) + val tutorialButton = findViewById<ImageView>(R.id.descripcion) + tutorialButton.setOnClickListener { + // Mostrar el modal + val modal = ModalFragment() + modal.show(supportFragmentManager, "ModalFragment") + } } @@ -255,11 +265,15 @@ class Minijuego2 : AppCompatActivity() { protagonista.clearAnimation() val animacionMuerte = AnimationUtils.loadAnimation(this, R.anim.caida) protagonista.startAnimation(animacionMuerte) - - // Mostrar botón de reinicio - botonReinicio.visibility = View.VISIBLE - val animacion = AnimationUtils.loadAnimation(this, R.anim.animatitu) - botonReinicio.startAnimation(animacion) + for (obstaculo in obstaculos) { + layout.removeView(obstaculo) // Eliminar cada obstáculo del layout + } + val handler = Handler(Looper.getMainLooper()) + handler.postDelayed({ + botonReinicio.visibility = View.VISIBLE + val animacion = AnimationUtils.loadAnimation(this, R.anim.animatitu) + botonReinicio.startAnimation(animacion) + }, 1000) if(flag){ botonReinicio.setOnClickListener { @@ -281,9 +295,6 @@ class Minijuego2 : AppCompatActivity() { velObs = 10f puntuacionTextView.text = "Puntuación: $puntuacion" protagonista.y = (layout.height / 2).toFloat() // Reiniciar posición del protagonista - for (obstaculo in obstaculos) { - layout.removeView(obstaculo) // Eliminar cada obstáculo del layout - } botonReinicio.clearAnimation() botonReinicio.visibility = View.GONE // Ocultar botón de reinicio iniciarJuego() // Reiniciar el juego @@ -306,4 +317,23 @@ class Minijuego2 : AppCompatActivity() { super.onPause() soundManager.stopSound() } + +} +class ModalFragment : DialogFragment() { + + override fun onCreateView( + inflater: LayoutInflater, container: ViewGroup?, + savedInstanceState: Bundle? + ): View? { + // Inflar el diseño del modal + val view = inflater.inflate(R.layout.modal_minijuego2_tutorial, container, false) + + // Configurar el botón de cerrar + val closeButton = view.findViewById<Button>(R.id.cerrar) + closeButton.setOnClickListener { + dismiss() // Cierra el modal + } + + return view + } } diff --git a/app/src/main/res/drawable/tutorial_minijuego2_bien.jpeg b/app/src/main/res/drawable/tutorial_minijuego2_bien.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..1ef68d165d54357cfb906c9652ba45e3cdc7339f Binary files /dev/null and b/app/src/main/res/drawable/tutorial_minijuego2_bien.jpeg differ diff --git a/app/src/main/res/drawable/tutorial_minijuego2_mal.jpeg b/app/src/main/res/drawable/tutorial_minijuego2_mal.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..8d9e6a0dcd7f89800fcb266b4601d197a1492a25 Binary files /dev/null and b/app/src/main/res/drawable/tutorial_minijuego2_mal.jpeg differ diff --git a/app/src/main/res/layout/activity_minijuego2.xml b/app/src/main/res/layout/activity_minijuego2.xml index f9c39da0dd671c83877def451fa6483e702e1f3f..bef43f2905074ad435483a47dd580037eb85f3b2 100644 --- a/app/src/main/res/layout/activity_minijuego2.xml +++ b/app/src/main/res/layout/activity_minijuego2.xml @@ -35,7 +35,7 @@ android:layout_height="120dp" android:layout_below="@id/titulo" android:layout_marginTop="0dp" - android:src="@drawable/texto_minijuego_2_descripcion" + android:src="@drawable/asi_boton_tutorial" /> <ImageView diff --git a/app/src/main/res/layout/modal_minijuego2_tutorial.xml b/app/src/main/res/layout/modal_minijuego2_tutorial.xml new file mode 100644 index 0000000000000000000000000000000000000000..15f0c6e3e65f33d455b8126d66bada23fd007ff9 --- /dev/null +++ b/app/src/main/res/layout/modal_minijuego2_tutorial.xml @@ -0,0 +1,115 @@ +<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:background="@drawable/style_background_gradiente" + android:padding="10dp" + tools:ignore="HardcodedText, UseCompoundDrawables,ButtonStyle"> + + <ScrollView + android:layout_width="match_parent" + android:layout_height="match_parent" + android:fillViewport="true" + app:layout_constraintEnd_toEndOf="parent" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> + + <LinearLayout + android:id="@+id/mainArea" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:gravity="center" + android:orientation="vertical"> + + <TextView + android:id="@+id/nombreTitulo" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="10dp" + android:layout_marginBottom="10dp" + android:fontFamily="@font/pixeled" + android:shadowColor="#000000" + android:shadowDx="2" + android:shadowDy="2" + android:shadowRadius="4" + android:text="Minijuego 2" + android:textAlignment="center" + android:textColor="#6A0000" + android:textSize="24sp" + android:textStyle="bold" /> + + <View + android:layout_width="match_parent" + android:layout_height="1dp" + android:layout_marginBottom="10dp" + android:background="#000000" /> + + + <androidx.cardview.widget.CardView + android:id="@+id/foto1" + android:layout_width="150dp" + android:layout_height="150dp" + android:layout_margin="5dp" + android:elevation="0dp" + app:cardCornerRadius="10dp"> + + <ImageView + android:id="@+id/imagenBien" + android:layout_width="150dp" + android:layout_height="150dp" + android:contentDescription="Slot de equipo 1" + android:scaleType="centerCrop" + android:scaleX="1" + android:src="@drawable/tutorial_minijuego2_bien"/> + + </androidx.cardview.widget.CardView><androidx.cardview.widget.CardView + android:id="@+id/foto2" + android:layout_width="150dp" + android:layout_height="150dp" + android:layout_margin="5dp" + android:elevation="0dp" + app:cardCornerRadius="10dp"> + + <ImageView + android:id="@+id/imagenBomba" + android:layout_width="150dp" + android:layout_height="150dp" + android:contentDescription="Slot de equipo 1" + android:scaleType="centerCrop" + android:scaleX="1" + android:src="@drawable/tutorial_minijuego2_mal"/> + + </androidx.cardview.widget.CardView> + + + + + <TextView + android:id="@+id/textoDescripcion" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginTop="3dp" + android:fontFamily="@font/pixeled" + android:padding="8dp" + android:text="Vuela con el explorador, manten pulsado para subir y suelta para bajar, intenta no chocarte con los pilares." + android:textAlignment="center" + android:textColor="#000000" + android:textSize="20sp" /> + + + <Button + android:id="@+id/cerrar" + android:layout_width="135dp" + android:layout_height="wrap_content" + android:layout_marginTop="20dp" + android:backgroundTint="@color/pintiaButton" + android:fontFamily="@font/pixeled" + android:text="Cerrar" + android:textColor="@color/pintiaButtonText" + android:textStyle="bold" /> + + </LinearLayout> + </ScrollView> + +</androidx.constraintlayout.widget.ConstraintLayout>