Resumen de problemas y soluciones encontrados en el desarrollo de la unidad.

En el proceso de desarrollo de juegos siempre nos encontraremos con algunos problemas, pero los hemos resuelto sin registrar las soluciones. El intervalo de tiempo es largo. Si los volvemos a encontrar más tarde, tendremos que pasar por otro pozo..., así que Los registraré aquí primero y los encontraré más tarde. Puedes ver la solución directamente aquí:

Este artículo se actualiza periódicamente. Si encuentra algún problema, actualícelo una vez.

ugui relacionado:

1. Después de modificar dinámicamente el pivote del punto de anclaje uui y el anclaje del cuadro de anclaje, el problema de configurar localPosition dinámicamente hará que las coordenadas reales sean diferentes de las coordenadas establecidas:

Simplemente use AnchoredPosition de RectTransform para establecer las coordenadas y sizeDelta para establecer el tamaño.

RectTransform rect = img.gameObject.GetComponent<RectTransform>();
rect.anchorMin = new Vector2(0, 0);
rect.anchorMax = new Vector2(0, 0);
rect.pivot = new Vector2(0, 0.5f);
rect.anchoredPosition = new Vector3(0, 64.5f);
rect.sizeDelta = new Vector2(80, 80);
2. Para el Toggle controlado por el componente uui Toggle Group, habrá dos Ison=true seleccionados

Acabo de descubrir este problema. El código puede establecer el estado Ison del SetActive del Toggle en falso. Sin embargo, si entre los múltiples Toggles controlados por el Grupo Toggle, si hay un Toggle con el SetActive del Toggle en estado falso, el Toggle Group no puede controlar este Toggle.
Si usa for para recorrer los Toggles y busca Toggles donde Ison es verdadero, entonces puede encontrar múltiples Toggles donde Ison es verdadero... Debe
agregar Toggle.gameObject.activeSelf == falsefiltrado al atravesar; de lo contrario, habrá errores lógicos.

Relacionado con el desarrollo del editor

1. Debe usarse al eliminar GameObject.
GameObject.DestroyImmediate(gameobject, true)

El método se puede utilizar para eliminar componentes, parámetro 1: objeto del componente gameobject, parámetro 2: si se permite la destrucción de recursos.
No se puede usar: GameObject.Destroy(gameobject)esto no puede eliminar recursos en el modo Editor

2. Crear una instancia del objeto: Crear una instancia

El objeto instanciado en modo editor no se puede guardar y debe agregarse: EditorUtility.SetDirty(obj)método

GameObject obj = GameObject.Instantiate(levelPrefab, levelNode.transform);
EditorUtility.SetDirty(obj);

Componente de unidad relacionado

Luz :

Establezca el tipo de sombra clara: (ps: no hay ningún parámetro para this.gameObject.GetComponent().shadowType==)

this.gameObject.GetComponent<Light>().shadows = LightShadows.Soft;

Misceláneas:

1. Algunos teléfonos móviles pueden tener bordes negros en la parte superior.

El teléfono puede ser un teléfono de pantalla completa y debe agregarse a AndroidManifest.xml:

<meta-data android:name="android.max_aspect" android:value="2.2"/>

Referencia: ¿Cómo se adapta Unity Android a pantalla completa?
Utilice la pestaña "Resolución y presentación" en la ventana Configuración del jugador para configurar la resolución de pantalla del juego para que se adapte a diferentes dispositivos de visualización. Configure el modo de ventana del juego y ajuste el tamaño y la posición de la ventana según sea necesario. Parámetros de configuración generales:
Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/QO_GQ/article/details/130063610
Recomendado
Clasificación