Unity - Sistema de Inventario

  Рет қаралды 12,902

JoexScript

JoexScript

Күн бұрын

Пікірлер: 98
@juleke9099
@juleke9099 4 жыл бұрын
excelente video loco
@RealizaEstudioschannel
@RealizaEstudioschannel 3 жыл бұрын
Que buen tuto incluso para los que estamos empezando se le echa de menos Joex!
@joexscript7046
@joexscript7046 3 жыл бұрын
gracias! pero a q te refieres con lo de "se le echa de menos"? yo no me he ido xD
@RealizaEstudioschannel
@RealizaEstudioschannel 3 жыл бұрын
@@joexscript7046 En to do compañero :c.
@joexscript7046
@joexscript7046 3 жыл бұрын
@@RealizaEstudioschannel no entender :(
@RealizaEstudioschannel
@RealizaEstudioschannel 3 жыл бұрын
@@joexscript7046 Al chat hablemos.
@ZocaColaLove
@ZocaColaLove 4 жыл бұрын
buen video bro casi no hay de estos en espaÑol
@shadowhylian
@shadowhylian 4 жыл бұрын
Que buen tuto!, ahora ya podré clonar el zelda c:
@karengc5895
@karengc5895 4 жыл бұрын
Continúa por favor 🙆🏻
@javiernicolasuarezmamani633
@javiernicolasuarezmamani633 3 жыл бұрын
saludos estimado muchas gracias. me dio animos de contiuar aprendiendo y poniendo en practica saludos hermano gracias desde peru
@sleter2929
@sleter2929 3 жыл бұрын
quien no conoce a dark souls, a todo dark souls 2 le reza
@oyoxein1825
@oyoxein1825 2 ай бұрын
Como hiciste para que las estadisticas del personaje se actualicen en tiempo real?
@protpus1750
@protpus1750 3 жыл бұрын
Porfín, gracias bro ya pode avanzar con mi juego gracias a tu tutorisl de inventario
@trunerso151
@trunerso151 5 ай бұрын
Bro, muy buen video ;)
@tomastamburrino9346
@tomastamburrino9346 10 ай бұрын
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
@estibenruizdiaz1878
@estibenruizdiaz1878 10 ай бұрын
excelente, muchas gracias!
@gabrieltm3149
@gabrieltm3149 4 жыл бұрын
Buenas amigo, tiene discord o Facebook para para poderlo contactar?
@joexscript7046
@joexscript7046 4 жыл бұрын
twitter.com/JoexScript
@zorroinfernal4087
@zorroinfernal4087 2 жыл бұрын
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?
@joexscript7046
@joexscript7046 2 жыл бұрын
Revisa bien la parte del "if(coll.tag == "Item")" si está escrito bien y si el objeto tiene el boxcollider2D
@yoowesantana
@yoowesantana 3 жыл бұрын
Hola muy buen video te felicito, ahora pudieras hacer un inventario pero para 3D
@joexscript7046
@joexscript7046 3 жыл бұрын
Funciona para los dos, solo tienes que usar OntriggerEnter en vez de OntriggerEnter2D
@uncanalmasconjoselo9247
@uncanalmasconjoselo9247 3 жыл бұрын
No te pases, es muy bueno el tutoria, sigue asi :3
@artaquamarina
@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
@artaquamarina Жыл бұрын
Conseguí solucionar lo de las teclas en "Project Settings", sólo me quedaría resolver lo del objeto!
@rqxyon
@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 ) :)
@antoniolunadanielarian6782
@antoniolunadanielarian6782 3 жыл бұрын
Dios que buen tutorial 11/10
@diegofollowme2500
@diegofollowme2500 3 жыл бұрын
Hola una duda cuando pongo en la parte de getcomponent la parte de image me aparece error que hago si pasa eso?
@joexscript7046
@joexscript7046 3 жыл бұрын
En que min?
@p4t_338
@p4t_338 3 жыл бұрын
@@joexscript7046 0:52 tengo el mismo problema, dice que no detecta ningún componente o variable 'Image'
@joexscript7046
@joexscript7046 3 жыл бұрын
@@p4t_338 Tienes puesto el using UnityEngine.UI; ?
@p4t_338
@p4t_338 3 жыл бұрын
@@joexscript7046 no, pasa q no lo mostraste en el codigo
@joseenriquegudinogomez5537
@joseenriquegudinogomez5537 2 жыл бұрын
@@joexscript7046 te adoro, gracias
@SusurrosenlaNiebla-e3q
@SusurrosenlaNiebla-e3q 2 жыл бұрын
muy buen video
@PedroGarcia-dp1zx
@PedroGarcia-dp1zx 2 жыл бұрын
Que crack eres
@rubirubig3944
@rubirubig3944 3 жыл бұрын
Como se podría cambiar el script para items en 3D?
@joexscript7046
@joexscript7046 3 жыл бұрын
Solo tienes que cambiar el OntriggerEnter2D por OntriggerEnter
@joexscript7046
@joexscript7046 3 жыл бұрын
Y me habías preguntado otra cosa no? Porque no me sale la otra notificacíon
@rubirubig3944
@rubirubig3944 3 жыл бұрын
@@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.
@rubirubig3944
@rubirubig3944 3 жыл бұрын
@@joexscript7046 Si, era otra duda pero conseguí solucionarla, gracias xD
@joexscript7046
@joexscript7046 3 жыл бұрын
@@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
@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"
@julianlemus1248
@julianlemus1248 11 ай бұрын
lo pudiste resolver?
@rayinvest9168
@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?
@mondragonsergio
@mondragonsergio 3 жыл бұрын
Tengo el problema de que no me sale la parte del bag para introducir el numero de slots y lo demás
@joexscript7046
@joexscript7046 3 жыл бұрын
Lo pusiste publico?
@AdrielAguiluzchan-tt4pg
@AdrielAguiluzchan-tt4pg Жыл бұрын
Hermano, una duda, si digamos qué ganas objetos después de una pelea, como haces para que los objetos vayan ahí?
@joexscript7046
@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
@kelsioCode
@kelsioCode 3 жыл бұрын
Hola ,como puedo hacer el punto de Guardado de las cosas que recoge
@joexscript7046
@joexscript7046 3 жыл бұрын
Un sistema de save/load?
@kelsioCode
@kelsioCode 3 жыл бұрын
@@joexscript7046 si, ya que las listas deben guardarse serializandolas no?, aun lo he logrado que queden guardados :(
@joexscript7046
@joexscript7046 3 жыл бұрын
@@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
@kelsioCode
@kelsioCode 3 жыл бұрын
@@joexscript7046 con PlayerPrefs no puedes guardar list :( y para guardas muchos obejeto si osi hay que que serializar
@joexscript7046
@joexscript7046 3 жыл бұрын
@@kelsioCode Aahh xD ps cuando lo investigue lo subiré ;)
@sleter2929
@sleter2929 3 жыл бұрын
creo que vi este mismo codigo para un inventario de game maker 🤔
@juanjopaez4779
@juanjopaez4779 2 жыл бұрын
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
@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
@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
@joexscript7046 Жыл бұрын
Link es el personaje el codigo va ahí
@rqxyon
@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 :)
@licantropolobo1915
@licantropolobo1915 2 жыл бұрын
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.
@joexscript7046
@joexscript7046 2 жыл бұрын
Tienes la animacion de atacar y le quieres que aparezca el sprite del arma equipada?
@licantropolobo1915
@licantropolobo1915 2 жыл бұрын
@@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.
@joexscript7046
@joexscript7046 2 жыл бұрын
@@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)
@maxtech111
@maxtech111 2 жыл бұрын
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
@maxtech111
@maxtech111 2 жыл бұрын
ya no se me corre que mas hacer
@joexscript7046
@joexscript7046 2 жыл бұрын
Le pusiste el rigidbody al personaje?
@zorroinfernal4087
@zorroinfernal4087 2 жыл бұрын
@@joexscript7046 a mi me pasa lo mismo y mi personaje tiene rigidbody
@lucasio6708
@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
@emanuelmorales1957
@emanuelmorales1957 3 жыл бұрын
Buen video bro, pero tengo una duda, como podria añadir un objeto a un slot en una cinematica, tal como pasa en zelda ?
@joexscript7046
@joexscript7046 3 жыл бұрын
Te refieres a la cinemática de Link mostrando el objeto?
@emanuelmorales1957
@emanuelmorales1957 3 жыл бұрын
@@joexscript7046 si
@emanuelmorales1957
@emanuelmorales1957 3 жыл бұрын
Básicamente hacer que el item este en el inventario sin necesidad del trigger
@joexscript7046
@joexscript7046 3 жыл бұрын
@@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.
@emanuelmorales1957
@emanuelmorales1957 3 жыл бұрын
@@joexscript7046 gracias
@saraiglesias9330
@saraiglesias9330 7 ай бұрын
Serviría para 3D?
@joexscript7046
@joexscript7046 7 ай бұрын
Si, solo tienes q usar las colisiones en 3d y en vez de copiar sprites , copias los 3d
@saraiglesias9330
@saraiglesias9330 7 ай бұрын
@@joexscript7046 Genial gracias
@joexscript7046
@joexscript7046 7 ай бұрын
@@saraiglesias9330 aunk si hay q hacer algunas modificaciones, tendría q hacer un video a parte creo
@dewascho7075
@dewascho7075 3 жыл бұрын
el codigo pa el copy paste?
@joexscript7046
@joexscript7046 3 жыл бұрын
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; } } }
@annalis8729
@annalis8729 3 жыл бұрын
Se duplica el sprite al añadirse al inventario..
@joexscript7046
@joexscript7046 3 жыл бұрын
Q en vez de tomar 1 objeto toma 2?
@annalis8729
@annalis8729 3 жыл бұрын
@@joexscript7046 Exacto, :(
@joexscript7046
@joexscript7046 3 жыл бұрын
Ok, pasame tu discord y cuando salga del trabajo te ayudo
@annalis8729
@annalis8729 3 жыл бұрын
@@joexscript7046 pasame tu gmail y te mando los datos del discord! Gracias
@joexscript7046
@joexscript7046 3 жыл бұрын
Joex.script@gmail.com
@foknov
@foknov 2 жыл бұрын
No me añade los items
@joexscript7046
@joexscript7046 2 жыл бұрын
Le pasaste el rigidbody al personaje?
@foknov
@foknov 2 жыл бұрын
@@joexscript7046 claro
@joexscript7046
@joexscript7046 2 жыл бұрын
@@foknov y tanto al objeto como al persoanje le diste un boxcollider2D en is trigger?
@foknov
@foknov 2 жыл бұрын
@@joexscript7046 si
@joexscript7046
@joexscript7046 2 жыл бұрын
@@foknov le pasaste el tag "item" al objeto?
@sebastianpalivoda9579
@sebastianpalivoda9579 2 жыл бұрын
Viendo el vídeo se que esto es lo que necesito pero, pones demasiada información muy rápido, no puedo seguirlo ni entenderlo
Diseñar menús de juegos: Errores y consejos | Interfaces
12:50
Consigue un Inventario en Unity / Parte 1🧮
20:27
LuisCanary
Рет қаралды 28 М.
Как Ходили родители в ШКОЛУ!
0:49
Family Box
Рет қаралды 2,3 МЛН
I Made the Same Game in 8 Engines
12:34
Emeral
Рет қаралды 4,3 МЛН
Como crear npcs y variables en Unity 3d Game Creator
18:19
Jerryquest
Рет қаралды 1 М.
Unity 3D - Enemigo básico (Rutinas y comportamientos)
8:05
JoexScript
Рет қаралды 66 М.
Sistema de DIÁLOGO BÁSICO en Unity
18:25
Indierama
Рет қаралды 40 М.