‫Si echamos un vistazo a la interfaz de usuario de Fruit Ninja, podemos ver que tenemos un pozo, obtengo la mejor puntuación y luego tenemos un
‫temporizador que se agota.
‫Y eso es lo que también necesitamos agregar a nuestro juego, por supuesto.
‫Así que sigamos adelante y creemos un nuevo objeto primero y llamémoslo administrador de juegos.
‫Y aquí agregamos un guión.
‫Así que creemos un nuevo script y lo llamemos y le asignamos un nuevo script a ese administrador de juegos.
‫Así que creemos un nuevo script aquí en nuestra carpeta de scripts y llamemos a ese administrador de juegos.
‫Ahora arrastremos el administrador de juegos a nuestro script de administrador de juegos, no para dirigirlo
‫a nuestro administrador de juegos y editarlo.
‫Ahora, lo que hará nuestro administrador de juegos por ahora es contar la puntuación.
‫Así que creemos un método y varias variables para eso.
‫En primer lugar, necesitaremos un número entero al que se le asignará el valor de puntuación, y luego
‫necesitaremos un objeto de texto.
‫Y para trabajar con texto, necesitamos agregar la interfaz de usuario de inicio del
‫motor de unidad.
‫Entonces, el espacio de nombres con el motor de la interfaz de usuario ahora podemos acceder al texto público de la clase de texto y vamos a
‫llamar a esa puntuación texto.
‫Y creemos un método que simplemente aumentará nuestra puntuación.
‫Entonces, anule públicamente, aumente el puntaje y la producción, aumente el puntaje en, digamos dos.
‫Cada vez que alguien llama a este método o cualquier clase llama a este método.
‫Así que aumente en dos.
‫Y luego también queremos establecer el texto de la partitura.
‫Por lo tanto, cada vez que se aumenta la puntuación, también queremos actualizar la variable de texto.
‫Así que anote para encadenar.
‫Está bien.
‫Ahora, guardemos ese guión y volvamos a la unidad aquí.
‫Crearemos un nuevo objeto y voy a llamar a esa interfaz de usuario.
‫Así que cambiemos el nombre del objeto del juego.
‫Llamémoslo UI.
‫Y ahora agreguemos un texto de interfaz de usuario aquí.
‫Crearé el lienzo.
‫Voy a arrastrar el lienzo al objeto del juego de la interfaz de usuario.
‫Y lo que quiero usar aquí es que nuestro lienzo escalar no tiene un tamaño de píxel constante, pero se
‫escala con el tamaño de la pantalla y podemos establecer la resolución en, por ejemplo, ochocientos por
‫ochocientos o diecinueve, veinte por diez. ochenta, lo que quieras tener.
‫Entonces, por ahora, solo tendremos el texto allí.
‫Así que echemos un vistazo a cómo se ve esto actualmente y ni siquiera vemos el texto, así que gestionemos eso.
‫Vayamos a nuestro lienzo.
‫Ahí tienes.
‫Y ves que nuestro texto actualmente ni siquiera está dentro de nuestro juego.
‫Veamos, nuestros elementos de la interfaz de usuario deberían restablecerse, ¿de acuerdo?
‫Y ahora podemos cambiar la posición de nuestro texto.
‫Quiero que mi corteza esté en la parte superior izquierda de mi interfaz de usuario.
‫Así que amplíe un poco y cambiemos la transformación directa a la parte superior izquierda.
‫Ese será el ancla preestablecida.
‫Eso significa que, desde esta perspectiva, se calculan los valores de X e Y.
‫Así que escojamos cero cero.
‫Y puede ver que nuestro texto ahora está en esta esquina superior izquierda.
‫Ahora, los buenos valores serían, por ejemplo, ciento setenta y cinco y tal vez cambiemos también el
‫tamaño de nuestro texto.
‫Así que este será el texto de la partitura.
‫Entonces, tal vez y haya un valor como cero aquí y cambie el nombre.
‫La escuela va a llamar a su texto básico.
‫Ahora, por supuesto, el tamaño de la fuente es demasiado pequeño, así que cambiemos eso.
‫Vamos con, digamos ciento veinte.
‫Y como puedes ver ahora, desaparece.
‫Entonces ya no vemos el número y eso tiene que ver con el desbordamiento.
‫Entonces, si agrega un desbordamiento horizontal y vertical, lo que hará es mostrar el número sin importar qué.
‫Ahora, no importa cuál sea el tamaño aquí, por ejemplo, cuatro con anhidrasa para este objeto.
‫De acuerdo, así es como se verá actualmente, tal vez no sea la posición perfecta para jugar con
‫él, tal vez para arrastrarlo allí.
‫Entonces, la posición Y de cero, creo que debería estar bien.
‫Ahora cambiemos el color del texto.
‫Hagámoslo de un color naranja o naranja.
‫Así todo, veamos, hay cero, por supuesto, nuestro fondo ya no se ve tan bien.
‫Necesitamos cambiar el trasfondo de nuestro juego, pero al menos tenemos nuestra corteza.
‫Así que ahora dupliquemos ese texto y llamemos a este texto de puntaje alto.
‫Y ahora cambiemos ese texto de puntuación alta.
‫Arrástrelo hacia abajo y entremos el cero de Best Colon.
‫Y puede ver que esto es, por supuesto, demasiado grande.
‫Así que reduzcamos eso a tal vez 36.
‫Eso se ve mucho mejor en el juego First Zero.
‫Bien, por ahora, quizás cambiemos el fondo de nuestra cámara principal.
‫Así que ahora lo es.
‫Este color, este color naranja pardusco, y tal vez este se vea mejor, o por ahora, está bien.
‫Creo que eso es mejor por ahora.
‫Ahora, para que nuestro número se vea un poco más genial, lo que podemos hacer es agregar un esquema para que pueda ir
‫aquí a la interfaz de usuario.
‫Así que agregue el componente, luego los efectos de la interfaz de usuario y luego encontrará el esquema aquí.
‫Bueno, eso es lo que agregará un esquema a tu juego para que puedas o a tu texto y
‫puedas hacerlo así.
‫Como puede ver cómo puede crear una ventaja, un borde de contorno para su puntaje, envíe un mensaje de texto con el texto de su puntaje más alto
‫aquí.
‫Nadie tendría sentido si la cámara principal, por ejemplo, fuera de un color brillante, entonces una negra se
‫vería mejor.
‫Entonces, si es como este color, por ejemplo, entonces tal vez la puntuación debería tener un efecto.
‫Color de negro.
‫Así que creo que se ve mucho mejor de lo que el texto de la escuela secundaria debería tener uno también.
‫Así que agreguemos U.
‫Realizo el contorno del efecto y, como puede ver ahora, se ven mucho mejor.
‫Está bien.
‫Así que ahora implementemos nuestro texto de puntuación en nuestro código.
‫Entonces, nuestro administrador del juego ya espera un texto de puntuación para que podamos arrastrarlo allí y nuestra puntuación actual
‫será cero.
‫Entonces, si establecemos eso en cinco, por ejemplo, echemos un vistazo a lo que sucede.
‫En realidad, eso dijo que a cinco en el juego para ver que no pasa nada todavía, por lo que tendremos que agregar puntaje.
‫Entonces, lo que significa que tendremos que llamar a este método aquí, este método de puntuación aumentada en nuestro script de frutas.
‫Entonces, cada vez que creamos una fruta en rodajas, eso significa que obtuvimos una puntuación adicional.
‫Entonces, para hacer eso, agreguemos el objeto de
‫búsqueda del tipo administrador de juegos y aumentemos la puntuación.
‫Así que ahora aumentará la puntuación cada vez que cortemos una fruta.
‫Está bien.
‫Así que ahora probémoslo.
‫Empecemos el juego.
‫Y cortemos nuestras frutas, y como puede ver, nuestra puntuación aumenta en dos cada vez, y tal
‫vez queramos tener valores diferentes basados en la fruta que hemos cortado actualmente.
‫Solo cortamos naranjas, pero quizás también queremos cortar otros objetos.
‫Entonces también querríamos tener valores diferentes, por ejemplo.
‫Así que actualmente, asignemos tres aquí.
‫Ahora, por supuesto, obtendremos un error porque el administrador del juego no sabe qué deberían hacer estos
‫tres.
‫Así que agreguemos un punto final aquí y ahora.
‫En lugar de decir puntaje más dos más igual a dos, simplemente lo aumentamos en los puntos que se entreguen.
‫Entonces, en nuestro caso ahora, serán tres.
‫Así que cada vez que corramos o cortamos fruta, obtendremos ahora tres puntos.
‫Así que veamos eso muy rápido, si eso es cierto.
‫Entonces.
‫Cortamos una fruta y obtenemos tres puntos ahora mismo.
‫A continuación, necesitamos agregar una funcionalidad que detenga el juego porque ahora podemos jugar el juego sin cesar y
‫obtendremos puntos constantemente y no hay castigo por ningún comportamiento.
‫Y, por supuesto, queremos cambiar eso.
‫Y Fruit Ninja, por lo general, eso lo hace el bomp o el temporizador.
‫Entonces, si el temporizador se agota, el juego se detendrá o si golpeamos un bache, entonces el temporizador también se detiene.
‫Así que agreguemos la bomba a nuestro juego.
‫Así que vayamos a la escena.
‫Pero abramos nuestra carpeta de modelos y aquí teníamos la bomba.
‫Muy bien, ahora vayamos a una escena tuya y arrastremos la bomba a nuestro juego.
‫Bueno, en realidad es demasiado grande, así que eliminémoslo de nuevo.
‫Así que eliminemos la bomba y vayamos a nuestro modelo de bomba.
‫Ahora cambiemos el factor de escala a todos los puntos tres y apliquemos eso.
‫Y ahora podemos dirigir la bomba.
‫Y creo que ese tamaño es mucho mejor.
‫Así que ahora agreguemos algunos componentes.
‫Por ejemplo, una física para el cuerpo rígido y una caja de física 2D o en realidad un colisionador circular aquí.
‫Esto debería estar bien.
‫Está bien.
‫El colisionador encaja bien, creo.
‫Está bien.
‫Entonces, ¿qué queremos que suceda si nos topamos con un bache?
‫Bueno, queremos pausar el juego y mostrar el juego en pantalla o algo así.
‫Así que agreguemos un guión a nuestra bomba.
‫Así que voy a agregar un nuevo guión y llamaré a ese guión de una bomba o simplemente bomba.
‫Y ahora está abierto un script de bomba aquí, agregaremos un método 2D de activación de activación.
‫Entonces, cada vez que golpeamos la bomba, queremos ver si la hoja nos golpeó.
‫Entonces Blade B
‫equivale a colisión que en realidad esta colisión es esa colisión aquí, colisión que obtiene componentes y cuchilla.
‫Entonces, lo que eso significa, bueno, ya hemos visto ese código.
‫Pero qué significa eso si el objeto que fue disparado o golpeado nos dispara, si esa es la hoja, entonces
‫haz algo.
‫Y si no es la hoja, regresa.
‫Entonces, si no se devuelve, pero si es B, entonces queremos encontrar un objeto de tipo game manager.
‫Entonces queremos acceder a nuestro administrador de juegos y llamar a un método de él.
‫Así que digamos sobre el impacto de una bomba.
‫Entonces, cada vez que golpeamos el bache ahora se queja de que no hay ningún método llamado en el golpe de
‫bomba y encontraremos ese método en nuestro administrador de juegos o necesitamos crear ese método y el administrador de juegos.
‫Así que creemos ese método vacío en bombe hit y eso debería ser público para que podamos acceder a él desde afuera,
‫por supuesto.
‫Por ahora, digamos que Bumpus golpeó.
‫Así que depura ese golpe de log bombe.
‫Así que salvemos ese guión, salvemos también el guión.
‫Ahora vemos que el error ya no existe.
‫Ahora probemos eso.
‫Así que volvamos.
‫En realidad, dirijamos el script Bomp a nuestra carpeta de scripts mientras estamos en eso.
‫Y ahora ejecutemos el juego y veamos si toco un bache.
‫En realidad, la bomba se movía demasiado rápido, así que la voy a empujar hacia arriba para poder realmente lo
‫que puedo hacer por ahora es desactivar el.
‫Gravedad, digamos escala de gravedad cero.
‫Y veamos que pasa.
‫Y puedo dirigir o golpear la bomba.
‫En realidad, no pasará nada, por supuesto, tan indignante ya que no hay un disparador en el colisionador Circle.
‫Ahora, veamos una vez más qué pasa ahora.
‫Y como puede ver, Bompard es llamado cada vez que paso por el bache.
‫Está bien.
‫Entonces ahora podemos cambiar la escala de gravedad a uno nuevamente, eso fue solo para propósitos de prueba y ahora nuestra bomba
‫debería funcionar.
‫Ahora, lo que queremos hacer es detener el juego cada vez que eso suceda para poder decir que la escala de tiempo del
‫punto de tiempo es igual a cero.
‫Eso solo detendrá el juego.
‫Entonces, esta vez, esa escala de tiempo es en general una funcionalidad que te permite reducir la velocidad de tu juego, por lo que cero
‫significa que no hay velocidad en absoluto, lo que significa que no hay movimiento y detienes el
‫juego.
‫Y uno sería que tuvieras la velocidad normal.
‫Entonces, el tiempo, la escala uno es el valor predeterminado y la escala de tiempo cero es, por ejemplo, para detener el juego.
‫Así que guardemos ese guión y verifiquémoslo de nuevo y veamos si puedo golpear la bomba lo suficientemente rápido.
‫Para detener el juego y como pueden ver, lo atravesé rápidamente y mis bombas fueron en realidad mis frutos se detuvieron y
‫las bombas también se detuvieron.
‫Está bien.
‫Ahora solo tenemos una bomba.
‫Así que hay una bomba está bien, pero también queremos generar bombas al azar.
‫Para hacer eso, necesitamos volver a nuestro objeto de juego generador.
‫Así que mejor dicho nuestro guión.
‫Así que vayamos al guión de Sponer.
‫Y actualmente, solo tenemos una fruta para generar, por lo que solo podemos generar un tipo de fruta.
‫En este caso, es una naranja.
‫Pero lo que queremos tener es poder generar naranjas, generar plátanos, generar lo que se nos ocurra
‫y también generar bombas.
‫Y para hacer eso, necesitamos cambiar esta fruta para generar una matriz, que es una matriz de objetos del
‫juego.
‫Así que agreguemos los corchetes y cambiemos eso a objetos para generar, porque no son solo frutas, son
‫objetos en general.
‫Ahora, por supuesto, aquí aparece un error porque intentamos generar una fruta simple y este método ya no
‫está disponible.
‫Entonces, lo que tenemos que hacer es crear aleatoriamente un objeto de juego, que es una bomba o que
‫es otra fruta.
‫Y luego simplemente decimos, OK, espon eso.
‫Así que sigamos adelante y hagamos eso, creemos un objeto de juego que se llama
‫agujero G y dice eso, ya sabes, y luego tenemos un valor aleatorio, así que creemos un rango de valores aleatorios.
‫Queremos crear aleatoriamente diferentes tipos de frutas o diferentes tipos de objetos de juego.
‫Por ejemplo, la bomba debería aparecer con menos frecuencia que cualquier otra cosa.
‫Bien, entonces lo que voy a decir aquí, si P es menor que 10, porque el valor puede estar entre cero y cien, entonces si es
‫menor que 10, entonces quiero generar una bomba.
‫Entonces, la probabilidad de que se produzca una bomba es aproximadamente del 10 por ciento o la probabilidad de que se genere una bomba de enlace.
‫Así que solo voy a decir, caramba, todos son objetos para generar en la posición de cero.
‫Así que ahora, por supuesto, tendré que ocuparme de esto o tengo que asignar la bomba
‫en la posición cero o de otro modo.
‫Entonces, quiero establecer un objetivo con objetos para generar con un rango aleatorio entre uno y objetos para generar la longitud.
‫Así que eso es suficiente con una probabilidad del 10 por ciento.
‫Voy a crear un vínculo.
‫Y con una probabilidad del 90 por ciento, voy a crear un tipo diferente
‫de fruta y aquí, por supuesto, necesito usar llaves porque este es un índice al que estamos tratando de asignar esto.
‫De acuerdo, una vez más, el 10 por ciento de probabilidad de que sea un golpe y el 90 por ciento de que
‫sea algo aleatorio de todos los otros objetos que hemos asignado.
‫Y, por supuesto, ya no instanciamos una fruta para que desove.
‫Instalamos ese objeto de juego.
‫Por supuesto, podría crear un objeto para generar lo que llama frutas para generar.
‫Y luego, por supuesto, podría decir bombe de objeto de juego público.
‫Y luego podría simplemente asignar la bomba aquí y ahora podría cambiar Geode para que sea Bamp aquí.
‫Esa sería una opción.
‫Por supuesto, aquí su rango sería de cero a algún lugar.
‫Esa sería otra opción.
‫Tal vez sea una opción un poco más intuitiva porque la bomba es un tipo de fruta muy específico.
‫Y todo lo que agreguemos, podemos agregar lo que queramos.
‫Porque de la otra manera que les estaba mostrando, siempre tendríamos que tener cuidado de asignar la
‫bomba al primer lugar.
‫Y lo sabemos porque hemos creado el código.
‫Pero si alguien más comienza a ejecutar el código o comienza a editar el código, podría estar confundido acerca de eso.
‫Está bien.
‫Así que ahora nos aseguramos, de acuerdo, aquí va a ser la bomba.
‫Ahora salvemos eso.
‫Y volvamos a Unity.
‫Allí verá lo que está sucediendo para que nuestro generador obtenga fruta para desovar.
‫Actualmente es solo la naranja y después de un par de segundos, debería cambiar de fruta abatida a objetos
‫para desovar y BAMP.
‫Está bien.
‫Entonces está la bomba y los objetos para generar.
‫Y solo voy a decir que actualmente será un objeto que quiero generar.
‫Y ahora vayamos a nuestras casas prefabricadas y arrastremos la naranja allí.
‫Entonces, el generador dirige la naranja aquí.
‫Y ahora sobre el bulto, en realidad, todavía no tenemos un bulto prefabricado, así que
‫creemos un bulto prefabricado, arrastremos el bulto a nuestro soporte de prefabricados y ahora arrastremos ese golpe a nuestro generador.
‫Para probar eso, tal vez deberíamos establecer el valor en 50 aquí para que haya una probabilidad de 50 50 de
‫que se produzca una bomba.
‫Así que solo para ver si hay bombas de donde vienen las bombas en general.
‫Está bien.
‫Entonces hay una bomba.
‫Naranjas, palmeras, naranjas, palmeras.
‫Y si golpeo un bache, bueno, lo golpeo afuera, pero golpeo el bache y ahora, boom, el juego se detiene.
‫Así que ahora veamos si nosotros.
‫Bueno, volvamos a poner eso en diez.
‫Eso es mejor.
‫Y ahora la probabilidad de que salga una bomba será sólo del 10 por ciento.
‫Por supuesto.
‫Y como puede ver, naranjas, naranjas, naranjas, y luego obtenemos puntos todo el tiempo, en un momento dado puede surgir
‫una bomba.
‫Hasta ahora, no había ninguno.
‫De hecho, vamos, Westerbork, como puede ver, eso es lo que pasa con los chancers, ¿verdad?
‫Las posibilidades son solo casualidad.
‫Podría suceder que obtengo un trillón de naranjas aquí antes de que me dé un golpe, mientras que la probabilidad es muy baja
‫y hay un perfecto.
‫Está bien.
‫Así que tomó bastante.
‫Como puede ver, ya maté 40 naranjas antes de tener un golpe, lo que significa este 10 por ciento.
‫Bueno, es el 10 por ciento.
‫Podría suceder en cualquier momento.
‫Y solo sucedió después de casi 40 o tal vez incluso 50, creo que incluso 50 naranjas, porque no acerté a todas y cada
‫una de ellas.
‫Está bien.
‫Entonces diría que vayamos al siguiente video donde veremos cómo terminar el juego y reiniciar nuestro
‫juego.
‫Así que nos vemos allí.