Que buen tuto incluso para los que estamos empezando se le echa de menos Joex!
@joexscript70463 жыл бұрын
gracias! pero a q te refieres con lo de "se le echa de menos"? yo no me he ido xD
@RealizaEstudioschannel3 жыл бұрын
@@joexscript7046 En to do compañero :c.
@joexscript70463 жыл бұрын
@@RealizaEstudioschannel no entender :(
@RealizaEstudioschannel3 жыл бұрын
@@joexscript7046 Al chat hablemos.
@ZocaColaLove4 жыл бұрын
buen video bro casi no hay de estos en espaÑol
@shadowhylian4 жыл бұрын
Que buen tuto!, ahora ya podré clonar el zelda c:
@karengc58954 жыл бұрын
Continúa por favor 🙆🏻
@javiernicolasuarezmamani6333 жыл бұрын
saludos estimado muchas gracias. me dio animos de contiuar aprendiendo y poniendo en practica saludos hermano gracias desde peru
@sleter29293 жыл бұрын
quien no conoce a dark souls, a todo dark souls 2 le reza
@oyoxein18252 ай бұрын
Como hiciste para que las estadisticas del personaje se actualicen en tiempo real?
@protpus17503 жыл бұрын
Porfín, gracias bro ya pode avanzar con mi juego gracias a tu tutorisl de inventario
@trunerso1515 ай бұрын
Bro, muy buen video ;)
@tomastamburrino934610 ай бұрын
Muy buen video, pero tengo un problema que cuando toco el objeto su sprite nunca aparece en el inventario, sino que aparece el mismo cuadro que usaste como slot
@estibenruizdiaz187810 ай бұрын
excelente, muchas gracias!
@gabrieltm31494 жыл бұрын
Buenas amigo, tiene discord o Facebook para para poderlo contactar?
@joexscript70464 жыл бұрын
twitter.com/JoexScript
@zorroinfernal40872 жыл бұрын
No me agrega el sprite al inventario y mi personaje tiene rigidbody un box collider y el objeto tiene el tag Item y un box collider en istrigger entonces no tengo ni idea de por que no da basicamente copie y pegue el codigo no se por que no dara se que no soy el unico al que le paso alguien ya lo soluciono?
@joexscript70462 жыл бұрын
Revisa bien la parte del "if(coll.tag == "Item")" si está escrito bien y si el objeto tiene el boxcollider2D
@yoowesantana3 жыл бұрын
Hola muy buen video te felicito, ahora pudieras hacer un inventario pero para 3D
@joexscript70463 жыл бұрын
Funciona para los dos, solo tienes que usar OntriggerEnter en vez de OntriggerEnter2D
@uncanalmasconjoselo92473 жыл бұрын
No te pases, es muy bueno el tutoria, sigue asi :3
@artaquamarina Жыл бұрын
¡Hola! Lo primero de todo, muchísimas gracias por el tutorial, es una maravilla :) Sólo estoy teniendo dos problemas: 1. Cuando abro el menú y utilizo las teclas para desplazarme con él, mi personaje se mueve al mismo tiempo. ¿Hay alguna manera de solucionar esto desde el código del menú? 2. Al pasar sobre el objeto, no me sale dentro del inventario. Me he asegurado de que el objeto tenga el tag "Item" y de que tenga un boxcollider2D con la casilla de "On Trigger" activada. Copio la parte del código que se refiere al objeto por si me pudieras ayudar: void OnTriggerEnter2D(Collider2D coll) { if (coll.CompareTag("Item")) { for (int i = 0; i < Bag.Count; i++) { if (Bag[i].GetComponent().enabled == false) { Bag[i].GetComponent().enabled = true; Bag[i].GetComponent().sprite = coll.GetComponent().sprite; break; } } } ¡Mil gracias de antemano! :)
@artaquamarina Жыл бұрын
Conseguí solucionar lo de las teclas en "Project Settings", sólo me quedaría resolver lo del objeto!
@rqxyon Жыл бұрын
@@artaquamarinahola, bueno creo que despues de 7 meses no te va a servir de nada pero yo tenia le mismo problema y la solucion que me "inventé" fue: en el "void update" en "if (activar_inv)" pones "Time.timeScale = 0f;" y en el "else" pones "Time.timeScale = 1f;" ( y si no te sirve a ti supongo que a otros les servira ) :)
@antoniolunadanielarian67823 жыл бұрын
Dios que buen tutorial 11/10
@diegofollowme25003 жыл бұрын
Hola una duda cuando pongo en la parte de getcomponent la parte de image me aparece error que hago si pasa eso?
@joexscript70463 жыл бұрын
En que min?
@p4t_3383 жыл бұрын
@@joexscript7046 0:52 tengo el mismo problema, dice que no detecta ningún componente o variable 'Image'
@joexscript70463 жыл бұрын
@@p4t_338 Tienes puesto el using UnityEngine.UI; ?
@p4t_3383 жыл бұрын
@@joexscript7046 no, pasa q no lo mostraste en el codigo
@joseenriquegudinogomez55372 жыл бұрын
@@joexscript7046 te adoro, gracias
@SusurrosenlaNiebla-e3q2 жыл бұрын
muy buen video
@PedroGarcia-dp1zx2 жыл бұрын
Que crack eres
@rubirubig39443 жыл бұрын
Como se podría cambiar el script para items en 3D?
@joexscript70463 жыл бұрын
Solo tienes que cambiar el OntriggerEnter2D por OntriggerEnter
@joexscript70463 жыл бұрын
Y me habías preguntado otra cosa no? Porque no me sale la otra notificacíon
@rubirubig39443 жыл бұрын
@@joexscript7046 Eso probé, pero aún así no me funcionó, aparte en 3D no se puede crear un "sprite", funcionaría igual si lo hago con una esfera por ejemplo? Muchas gracias.
@rubirubig39443 жыл бұрын
@@joexscript7046 Si, era otra duda pero conseguí solucionarla, gracias xD
@joexscript70463 жыл бұрын
@@rubirubig3944 En tu caso tendrías que darle una imagen a tu item 3D y esa imagen es la que se vería en tu inventario y el objeto 3D tendría que estar almacenado en el mismo script del slot
@JuanGarcia-iv7ec Жыл бұрын
me aparece un error al poner "image" y ya copie y pegue el codigo y demas y me siegue apareciendo error en absolutamente todas las partes donde aparece "image"
@julianlemus124811 ай бұрын
lo pudiste resolver?
@rayinvest9168 Жыл бұрын
Hola buenas tengo un problemilla y es que el selector no aparece encima de la bolsa sino que se queda en la posicion del "Equipo" y aunque siga haciendo las funciones de equipar y todo, no se ve :(. Alguien sabe como puedo solucionarlo?
@mondragonsergio3 жыл бұрын
Tengo el problema de que no me sale la parte del bag para introducir el numero de slots y lo demás
@joexscript70463 жыл бұрын
Lo pusiste publico?
@AdrielAguiluzchan-tt4pg Жыл бұрын
Hermano, una duda, si digamos qué ganas objetos después de una pelea, como haces para que los objetos vayan ahí?
@joexscript7046 Жыл бұрын
En ese caso tienes q hacerle un gameobjet al boss llamado "item" o "Drop" y otro q se llame "Target" al primero le pasas las caracteristicas del objeto q quieres q dropee en este caso un spriterender con la imagen de la espada, despues cuando muera el boss haces que el ese objeto se le traspase las caracteristicas al target algo asi Codigo del boss: Public gameobjet drop; Public gameobjet target; Public int vida; Void Start(){ Target = GameObjet.Find("nombre del personaje en la scena"); } Void Update (){ if(vida
@kelsioCode3 жыл бұрын
Hola ,como puedo hacer el punto de Guardado de las cosas que recoge
@joexscript70463 жыл бұрын
Un sistema de save/load?
@kelsioCode3 жыл бұрын
@@joexscript7046 si, ya que las listas deben guardarse serializandolas no?, aun lo he logrado que queden guardados :(
@joexscript70463 жыл бұрын
@@kelsioCode no he hecho aún un sistema de save/load aunque si ví una vez el PlayerPrefs que es el sistema de guardado de unity, tengobque hacer un video de eso xD
@kelsioCode3 жыл бұрын
@@joexscript7046 con PlayerPrefs no puedes guardar list :( y para guardas muchos obejeto si osi hay que que serializar
@joexscript70463 жыл бұрын
@@kelsioCode Aahh xD ps cuando lo investigue lo subiré ;)
@sleter29293 жыл бұрын
creo que vi este mismo codigo para un inventario de game maker 🤔
@juanjopaez47792 жыл бұрын
buenas, me sale este error Assets\Scripts\Inventory.cs(24,41): error CS0246: The type or namespace name 'Image' could not be found (are you missing a using directive or an assembly reference?) y no se en que me he equivocado
@carlosserradilla24 Жыл бұрын
Al principio del Script, donde pone: using System.Collections; using System.Collections.Generic; using UnityEngine; Tienes que añadir esta cuarta linea: using UnityEngine.UI; De lo contrario Unity muestra errores al trabajar con los elementos del User Interface No se si después de un año te siga sirviendo pero igual aquí te dejo la solución
@rqxyon Жыл бұрын
hola una pregunta, porque cuando le doy a play el le doy a return y el inventario no me aparece, ademas me podrias decir que es eso en la jerarquia que dice "link" y es que ahi va el codigo no? pero no se que es eso de "link" gracias :)
@joexscript7046 Жыл бұрын
Link es el personaje el codigo va ahí
@rqxyon Жыл бұрын
@@joexscript7046 oye otra pregunta cuando dices que el selector debe quedar por encima del inventario en la jerarquía, si lo hago, ahora el selector queda en el juego aunque no haya abierto el inventario. Perdoname y gracias por responder :)
@licantropolobo19152 жыл бұрын
Hola amigo, buenas noches, amigo Excelente tutorial, muy, pero muy bueno, esto es lo que necesito en gran parte, lo que estaba buscando; sin embargo, podrías enseñarme por favor como hacer que al atacar, el arma que me equipe en el inventario, se active, y desaparezca luego de la animación, algo así como lo hace Alucard, en Castlevania, te lo agradecería muchísimo, recién estoy aprendiendo, estoy haciendo un videojuego, así que agradecería mucho tu ayuda.
@joexscript70462 жыл бұрын
Tienes la animacion de atacar y le quieres que aparezca el sprite del arma equipada?
@licantropolobo19152 жыл бұрын
@@joexscript7046 Hola, buenos dias, si exacto, que al atacar salga el sprite del arma que me equipe en el inventario, como lo hace Alucard en Castlevania Simphony of the night.
@joexscript70462 жыл бұрын
@@licantropolobo1915 tendrías que poner la animación de atacar y dentro de esta poner un sprite de un espada, ponerle el eje central en el mango y hacer q en cada frame de la animación se mueva, entonces a ese sprite le quitas la imagen y haces que al atacar, el sprite será igual a la imagen del equipable(ojo que a las otras espadas tienes que ponerle el eje en el mango tambien)
@maxtech1112 жыл бұрын
TENGO el problema que cada vez que colisiona con la espada no me la junta en el inventario ya lo puse en is trigger y todo tambien que es un item
@maxtech1112 жыл бұрын
ya no se me corre que mas hacer
@joexscript70462 жыл бұрын
Le pusiste el rigidbody al personaje?
@zorroinfernal40872 жыл бұрын
@@joexscript7046 a mi me pasa lo mismo y mi personaje tiene rigidbody
@lucasio6708 Жыл бұрын
no se llama rigid body lo que tienen que poner se llama collider como box collider o uno de esos rigid body le arega fisicas mas realistas
@emanuelmorales19573 жыл бұрын
Buen video bro, pero tengo una duda, como podria añadir un objeto a un slot en una cinematica, tal como pasa en zelda ?
@joexscript70463 жыл бұрын
Te refieres a la cinemática de Link mostrando el objeto?
@emanuelmorales19573 жыл бұрын
@@joexscript7046 si
@emanuelmorales19573 жыл бұрын
Básicamente hacer que el item este en el inventario sin necesidad del trigger
@joexscript70463 жыл бұрын
@@emanuelmorales1957 Pues en el momento en que recoges el objeto, lo haces como en el tutorial y al mismo tiempo lanzas el evento de la animación o que cuando tocas el objeto pones la animación y en tu sistema de dialogo si estas en el modo cinemática y tus textos se terminan, entonces pones en evento de equipar.
@emanuelmorales19573 жыл бұрын
@@joexscript7046 gracias
@saraiglesias93307 ай бұрын
Serviría para 3D?
@joexscript70467 ай бұрын
Si, solo tienes q usar las colisiones en 3d y en vez de copiar sprites , copias los 3d
@saraiglesias93307 ай бұрын
@@joexscript7046 Genial gracias
@joexscript70467 ай бұрын
@@saraiglesias9330 aunk si hay q hacer algunas modificaciones, tendría q hacer un video a parte creo
@dewascho70753 жыл бұрын
el codigo pa el copy paste?
@joexscript70463 жыл бұрын
public class Inventario : MonoBehaviour { public List Bag = new List(); public GameObject[] inv; public bool Activar_inv; public GameObject Selector; public int ID; public List Equipo = new List(); public int ID_equipo; public int Fases_inv; public GameObject Opciones; public Image[] Seleccion; public Sprite[] Seleccion_Sprite; public int ID_Select; void OnTriggerEnter2D(Collider2D coll) { if (coll.CompareTag("Item")) { for (int i = 0; i < Bag.Count; i++) { if (Bag[i].GetComponent().enabled == false) { Bag[i].GetComponent().enabled = true; Bag[i].GetComponent().sprite = coll.GetComponent().sprite; Bag[i].GetComponent().Ataque = coll.GetComponent().Ataque;// break; } } } } public void Navegar() { switch (Fases_inv) { case 0: Selector.SetActive(true); Opciones.SetActive(false); inv[1].SetActive(false); if (Input.GetKeyDown(KeyCode.W) && ID_equipo > 0) { ID_equipo--; } if (Input.GetKeyDown(KeyCode.S) && ID_equipo < Equipo.Count-1) { ID_equipo++; } Selector.transform.position = Equipo[ID_equipo].transform.position; if (Input.GetKeyDown(KeyCode.F) && Activar_inv) { Fases_inv = 1; } break; case 1: Selector.SetActive(true); Opciones.SetActive(false); if (Input.GetKeyDown(KeyCode.F) && Bag[ID].GetComponent().enabled == true) { Fases_inv = 2; } inv[1].SetActive(true); if (Input.GetKeyDown(KeyCode.D) && ID < Bag.Count - 1) { ID++; } if (Input.GetKeyDown(KeyCode.A) && ID > 0) { ID--; } if (Input.GetKeyDown(KeyCode.W) && ID > 3) { ID -= 4; } if (Input.GetKeyDown(KeyCode.S) && ID < 8) { ID += 4; } Selector.transform.position = Bag[ID].transform.position; if (Input.GetKeyDown(KeyCode.G) && Activar_inv) { Fases_inv = 0; } break; case 2:// if (Input.GetKeyDown(KeyCode.G)) { Fases_inv = 1; } Opciones.SetActive(true); Opciones.transform.position = Bag[ID].transform.position; Selector.SetActive(false); if (Input.GetKeyDown(KeyCode.W) && ID_Select > 0) { ID_Select--; } if (Input.GetKeyDown(KeyCode.S) && ID_Select < Seleccion.Length - 1) { ID_Select++; } switch (ID_Select) { case 0: Seleccion[0].sprite = Seleccion_Sprite[1]; Seleccion[1].sprite = Seleccion_Sprite[0]; if (Input.GetKeyDown(KeyCode.F)) { if (Equipo[ID_equipo].GetComponent().enabled == false) { Equipo[ID_equipo].GetComponent().sprite = Bag[ID].GetComponent().sprite; Equipo[ID_equipo].GetComponent().enabled = true; Bag[ID].GetComponent().sprite = null; Bag[ID].GetComponent().enabled = false; Equipo[ID_equipo].GetComponent().Ataque = Bag[ID].GetComponent().Ataque;// } else { Sprite obj = Bag[ID].GetComponent().sprite; int Ataque = Bag[ID].GetComponent().Ataque;// Bag[ID].GetComponent().sprite = Equipo[ID_equipo].GetComponent().sprite; Equipo[ID_equipo].GetComponent().sprite = obj; Bag[ID].GetComponent().Ataque = Equipo[ID_equipo].GetComponent().Ataque;// Equipo[ID_equipo].GetComponent().Ataque = Ataque;// } Fases_inv = 0; } break; case 1: Seleccion[0].sprite = Seleccion_Sprite[0]; Seleccion[1].sprite = Seleccion_Sprite[1]; if (Input.GetKeyDown(KeyCode.F)) { Bag[ID].GetComponent().sprite = null; Bag[ID].GetComponent().enabled = false; Bag[ID].GetComponent().Ataque = 0;// Fases_inv = 1; } break; } break; } } // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { Navegar(); if (Activar_inv) { inv[0].SetActive(true); } else { Fases_inv = 0; inv[0].SetActive(false); } if (Input.GetKeyDown(KeyCode.Return)) { Activar_inv = !Activar_inv; } } }
@annalis87293 жыл бұрын
Se duplica el sprite al añadirse al inventario..
@joexscript70463 жыл бұрын
Q en vez de tomar 1 objeto toma 2?
@annalis87293 жыл бұрын
@@joexscript7046 Exacto, :(
@joexscript70463 жыл бұрын
Ok, pasame tu discord y cuando salga del trabajo te ayudo
@annalis87293 жыл бұрын
@@joexscript7046 pasame tu gmail y te mando los datos del discord! Gracias
@joexscript70463 жыл бұрын
Joex.script@gmail.com
@foknov2 жыл бұрын
No me añade los items
@joexscript70462 жыл бұрын
Le pasaste el rigidbody al personaje?
@foknov2 жыл бұрын
@@joexscript7046 claro
@joexscript70462 жыл бұрын
@@foknov y tanto al objeto como al persoanje le diste un boxcollider2D en is trigger?
@foknov2 жыл бұрын
@@joexscript7046 si
@joexscript70462 жыл бұрын
@@foknov le pasaste el tag "item" al objeto?
@sebastianpalivoda95792 жыл бұрын
Viendo el vídeo se que esto es lo que necesito pero, pones demasiada información muy rápido, no puedo seguirlo ni entenderlo