¿Cuáles son las desventajas de activar Warcraft T? ¿Cuáles son las desventajas? Jas, ¿dónde está el gatillo? Hay algunas otras preguntas, pídale a los expertos que las respondan.
Las carencias también son evidentes.
No hay suficientes funciones en 1. Muchas funciones de Jass no tienen una interfaz de usuario correspondiente en los activadores.
Por ejemplo, para establecer variables locales y crear activadores, es necesario utilizar un "código personalizado", que es esencialmente j.
Flexibilidad
Algunas cosas relacionadas con T que no tienen una interfaz de usuario correspondiente, como las variables locales, requieren el uso de código personalizado. Si no conoce J, no podrá utilizarlo.
2 Poca eficiencia
En lugar de llamar directamente a funciones locales.
Por ejemplo, obtenga la dirección entera del identificador.
La función GetHandleIdBJ acepta el identificador h y devuelve un número entero
Devuelve GetHandleId(h)
Finaliza la función
Lo que realmente importa es el GetHandleId al que llama (h).
En otras palabras, si usa GetHandleIdBJ()
, no convierte directamente el identificador en un número entero, sino que llama a GetHandleId nuevamente.
Su eficiencia no es necesariamente mejor que usar GetHandleId directamente.
¿Por qué hiciste esto? De hecho, es para encapsular las funciones, en última instancia, es conveniente que los recién llegados lo comprendan.
Un ejemplo típico es que T crea X unidades para que X jugadores se enfrenten a X en X punto.
Función correspondiente a j
La función CreateNUnitsAtLocFacingLocBJ acepta recuento de números enteros, ID de unidad de números enteros, jugador whichPlayer, ubicación loc, búsqueda de ubicación y devuelve el grupo.
Devuelve CreateNUnitsAtLoc( count, unitId, whichPlayer, Loc, AngleBetweenPoints(loc, look))
Función final
Lo que dijo sobre CreateNUnitsAtLoc es
La función CreateNUnitsAtLoc acepta un número entero recuento, un ID de unidad entero, qué jugador, ubicación de posición, grupo de retorno de cara real
Llamar a GroupClear(bj_lastCreatedGroup)
Timbre
Establecer recuento = recuento - 1
salir cuando cuenta & lt0
Llamar a CreateUnitAtLocSaveLast(qué jugador, unitId, loc, face)
Llamar al grupo addunit(bj_lastCreatedGroup, bj_lastCreatedUnit)
Finalizar bucle
Regresar bj_lastCreatedGroup
Finalizar función
No necesito entender el código anterior, te lo explicaré directamente.
La función de crear una unidad en J es crear directamente una unidad, independientemente del tipo de creación (creación de punto a coordenada, etc.).
El parámetro de cantidad de la unidad es no creado y no activa el parámetro "Hacia el ángulo especificado" en el activador.
Para poder conseguirlo.
Encapsula la función de creación de la unidad en j.
La esencia de configurar CreateNUnitsAtLoc es hacer un bucle con el número entero 1 para crear el número de unidades, es decir, llamar a la función básica de crear unidades n veces seguidas hasta el punto.
Luego llama a la función que hace que la celda creada esté orientada a puntos.
La encapsulación integral se convierte en CreateNUnitsAtLocFacingLocBJ().
Aunque la función es buena, en muchos casos, por ejemplo, cuando creo dos unidades sin requisitos de puntos de orientación angular, su eficiencia no es tan eficiente como llamar dos veces a la función local de la unidad de creación de puntos en J. en sucesión.
En el análisis final, la eficiencia no es tan buena como la de las funciones locales, que son las funciones más básicas.
Pero si usa una interfaz de usuario como Wolf (sufijo R o cj), equivale a agregar la opción de usar directamente funciones locales para implementar funciones en la interfaz gráfica del disparador. En este momento, la eficiencia de T y J es casi la misma.
En resumen, primero puede dejar que la T principal personalice el código para ayudar en la transición gradual a J puro o usar J puro deliberadamente, lo cual tiene poca importancia práctica.
-
La flexibilidad es un ejemplo.
Es el disparador de tiro con arco utilizado por Baihu en el editor YDWE para usar el idiota gancho de carnicero de Dota.
Pero con t, solo puedes ingresar los parámetros que él proporciona y es difícil agregar otros efectos adicionales.
También podrías escribirlo tú mismo.
Varias funciones básicas son más flexibles y fáciles de usar que una nueva función que encapsula N funciones básicas.