Jump to content

Search the Community

Showing results for tags 'ayuda'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Proyectos
    • Offtopic
    • Unity Feeds
    • Website
    • Youtube
  • Mesa de ayuda
    • Unity
    • Arte
    • Builds & Dispositivos
    • Otras Especialidades
  • Aportes de la Comunidad
    • Recursos
    • Eventos
  • Bolsa de trabajo & Colaboraciones
    • Ofertas y Demandas

Blogs

There are no results to display.

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Especialidad

Found 5 results

  1. Estoy haciendo una APP en Unity, con SQLite. Todo va bien al extraer información de la Base de Datos, el problema es que al cargar las imágenes que saco de la Base de datos, se ve así: Cuando cargo la imagen no me da ningún tipo de error. Ya e comprobado que no me devuelve un arreglo vacío. Incluso me devuelve un mensaje de que todo esta bien. Este es el código con el que extraigo la imagen de la BD: public static Sprite SpriteProducto(int ID) { string conn = "URI=file:" + Application.dataPath + DB; IDbConnection dbconn = (IDbConnection)new SqliteConnection(conn); dbconn.Open(); IDbCommand dbcmd = dbconn.CreateCommand(); dbcmd.CommandText = "SELECT ImagenBLOB FROM TablaProductos WHERE IDTablaProductos = '" + ID + "';"; IDataReader reader = dbcmd.ExecuteReader(); Sprite Respuesta = null; bool n = false; while (reader.Read()) { Texture2D TexturaTemporal = new Texture2D(1, 1, TextureFormat.RGBA32, false); n = TexturaTemporal.LoadImage((byte[])reader["ImagenBLOB"], false); if (n) { Debug.Log("Se cargo la imagen correctamente"); TexturaTemporal.EncodeToJPG(); TexturaTemporal.Apply(); Respuesta = Sprite.Create(TexturaTemporal, new Rect(0, 0, TexturaTemporal.width, TexturaTemporal.height), new Vector2(0.5f, 0.5f)); } else Debug.Log("Ocurrio un error al cargar la imagen"); } reader.Close(); reader = null; dbcmd.Dispose(); dbcmd = null; dbconn.Close(); dbconn = null; return Respuesta; } //Cargamos la miniatura GetComponent<Image>().sprite = ConneciónABaseDeDatos.SpriteProducto(Productos[i]); Alguien me podría decir si estoy cometiendo un error que no veo, o tal vez si tengo que añadir alguna aspecto a la configuración que no noto. Por cierto, estoy usando Unity 2019.3.0a5 Platafroma: Android. Base de Datos Sqlite, con Sqliteadmin
  2. Buenas, hace tiempo no me pasaba por aqui pero me urge la necesidad de su ayuda. El problema es el siguiente: He vuelto a lanzar mi sitio web. http://thisisanotherworld.co/ Sitio donde pueden encontrar todo sobre la novela TIAW, genero de fantasía El problema es que quiero subir el juego de UNITY que hice hace meses, pero el problema es que perdí el unity que usé para crear la versión pc y la versión android, ya que trabajé en la misma para una segunda fase del juego que tenía pensado, agregando elementos como barra de vida y ataques así como variantes de ataques. El problema es, que como perdí la versión original de la cual están hechos los juegos para PC y android, ya no sé como subir el juego a la pagina, osea sé que puedo hacerlo si tuviera el proyecto original, pero ya no lo tengo, así que necesito saber, puedo recuperar toda la configuración y los scripts que creé a partir de las versiones PC y /o android que creé, es posible abrir un Unity a partir de estos o recuperar la programación usada? Agradezco toda la ayuda que me puedan brindar. para resolver esto, cualquier consejo o guía para no tener que volver a hacer el juego y todo el script desde 0. Porque eso me llevaría días
  3. Hola a todos, estoy desarrollando un sistema de inventario para un juego de supervivencia de mundo abierto, en el cual el jugador puede recoger varios items con diferentes usos del suelo, luego podrá usarlos o equipárselos en el caso de armas o ropas. Mi duda es la siguiente: ¿Cual es la mejor manera para recoger los item? Para mis pruebas he creado una clase denominada SpawnItem que instanciaba un item y detectaba si el jugador entraba a un trigger, y en ese caso se activaba la función de agregar el item al inventario y destruirlo de la escena, pero realmente no sé si esa es la forma correcta, creo que ese trabajo debería hacerse en el player. using System.Collections; using System.Collections.Generic; using UnityEngine; public class SpawnItem : MonoBehaviour { public ItemDataBlock GenericItem; public bool isItem = false; void Start() { Instantiate(GenericItem.prefab, transform.position, transform.rotation, transform); } //void Update() //{ // if (isItem) // { // RecogerObjeto(); // } //} //void OnTriggerStay(Collider Other) //{ // if (Other.gameObject.tag == "Player") // { // isItem = true; // } //} //void OnTriggerExit(Collider Other) //{ // if (Other.gameObject.tag == "Player") // { // isItem = false; // } //} private void RecogerObjeto() { //FindObjectOfType<InventoryControl>().AddItem(GenericItem); //Destroy(gameObject); if (Inventory.Instance.AddItem(GenericItem, 1)) { Destroy(gameObject); } } } ¿Que me recomiendan ustedes? Aquiles muestro los script para que comprendan lo que hice y si es posible me den una recomendación. Nota: Soy principiante así que, si ven algo que está mal, por favor díganmelo para corregirlo El script Inventory esta asignado a un game object que contiene todos los slots del inventario: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Inventory : MonoBehaviour { public bool isInventoryFull; public static Inventory Instance; private InventorySlot[] Slots; private List<ItemDataBlock> ItemList = new List<ItemDataBlock>(); private int EmptySlot = 0; public Text WeightField; private double StoredWeight; public double MaxWeight = 40.00;//Peso maximo private void Awake() { Instance = this; Slots = GetComponentsInChildren<InventorySlot>(); } public void NextEmptySlot() { EmptySlot = 0; foreach (InventorySlot Slot in Slots) { if (Slot.StoredItem) { EmptySlot++; } else { break; } } if (EmptySlot >= Slots.Length) { isInventoryFull = true; } } public bool AddItem(ItemDataBlock item, int Amount) { NextEmptySlot(); //En un slot vacio if ((item.isStackable && !ItemList.Contains(item) && !isInventoryFull) || (!item.isStackable && !isInventoryFull)) { InventorySlot SlotAdd = Slots[EmptySlot]; ItemList.Add(item); SlotAdd.AddItem(item, Amount); SlotAdd.AmountText.text = SlotAdd.StoredAmount.ToString(); CalculateWeight(item.Weight, Amount); Debug.Log("test A"); return true; } //En un slot q contenga el mismo item else if (item.isStackable && ItemList.Contains(item)) { for (int i = 0; i < Slots.Length; i++) { //Comprobar q el slot tenga el mismo item y que tenga < cantidad q stacksize if (item == Slots.StoredItem && Slots.StoredAmount < item.StackSize) { Slots.StoredAmount += Amount; Slots.AmountText.text = Slots.StoredAmount.ToString(); CalculateWeight(item.Weight, Amount); Debug.Log("test B"); break; } //Comprobar q el slot tenga el mismo item y que tenga >= cantidad q stacksize else if (item == Slots.StoredItem && Slots.StoredAmount >= item.StackSize) { InventorySlot SlotAdd = Slots[EmptySlot]; ItemList.Add(item); SlotAdd.AddItem(item, Amount); SlotAdd.AmountText.text = SlotAdd.StoredAmount.ToString(); CalculateWeight(item.Weight, Amount); Debug.Log("test C"); break; } } return true; } //Aqui se supone que el inventario esta lleno else { Debug.Log("test D"); return false; } } public void RemoveItem(ItemDataBlock item) { ItemList.Remove(item); //restar el peso del item CalculateWeight(item.Weight, -1); } private void CalculateWeight(double Weight, int Amount) { StoredWeight += Weight * Amount; WeightField.text = StoredWeight.ToString(); } } InventorySlot está asignado a cada slot del inventario: using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.EventSystems; public class InventorySlot : MonoBehaviour, IPointerDownHandler { public ItemDataBlock StoredItem; public int StoredAmount; private Image Icon; public Text AmountText; private void Awake() { Icon = GetComponent<Image>(); } void Start() { if (StoredItem == null) { Icon.enabled = false; } } public void AddItem(ItemDataBlock item, int Amount) { StoredItem = item; Icon.enabled = true; Icon.sprite = item.icon; StoredAmount = Amount; } public virtual void RemoveItem() { Inventory.Instance.RemoveItem(StoredItem); RestetSlotInventory(); } protected void RestetSlotInventory() { Icon.sprite = null; StoredAmount = 0; Icon.enabled = false; StoredItem = null; } protected virtual void InventoryItemUse() { if (StoredItem) { if (StoredItem.ItemUse()) { ReducedStored(1); } } } public void ReducedStored(int Amount) { StoredAmount -= Amount; if (StoredAmount <= 0) { RemoveItem(); } } //Crear menu contextual public void OnPointerDown(PointerEventData eventData) { InventoryItemUse(); } } NOTA: Esto fue hecho siguiendo un tutorial de youtube Saludos y de antemano gracias por su atencion!!!
  4. Bueno, basicamente es lo que dice en el titulo, solo queria saber si alguno sabe una forma para crear un "If" que se active solo si la rotacion de un objeto es mayor a 20°, gracias 😄
  5. hola soy nuevo en unity alguien me puede explicar porque me sucede que a la hora de usar el tilemap y el tilepallete me sucede que la imagen se ve mas chica que el cuadro del grid, al principio pense que era un problema de escala pero intente arreglarlo por hay y no funciono no importa cuanto cambie la escala esto no mejora. AYUDA!!!!
×
×
  • Create New...