[Script] Intersección de líneas |
0 | ||
Este es un script de ejemplo que muestra como detectar la intersección de líneas rectas y curvas (círculos), calculando el punto en donde una trayectoria recta chocaría con los suelos del mapa. • El script lee el xml de cualquier mapa cargado. • Calcula y almacena la posición de todos los vértices de los suelos rectangulares. • También guarda la posición y tamaño de los suelos circulares. • Calcula el punto en que una línea se cruza con cada pared de cada suelo. • También hace el cálculo correspondiente para los círculos. También existen tres tipos de trayectorias para la línea que se forma entre el ratón y el puntero del mouse: un segmento, un rayo o una recta completa. El script básicamente mostrará partículas en los puntos donde intersectará nuestra línea con cada suelo, al hacer click en cualquier parte del mapa. Posibles aplicaciones ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Las funciones en este script podrían utilizarse para varios fines: • Sistemas de disparos • Detección de trayectorias de objetos (como las runas) • Movimiento de partículas • Etc. Scripts ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ • https://paste.moepl.eu/view/0777b29f • https://paste.moepl.eu/view/ae1c67c2 - Esta versión además encuentra el punto más cercano, para usarlo como detector de colisiones. Puedes activar el debugMode para mostrar los vértices de los rectángulos y los círculos. También puedes cambiar el tipo de línea modificando la variable lineType (0 segmento, 1 rayo, 2 recta). Y por supuesto, puedes probar y modificar el script a tu antojo para usarlo en tus proyectos. En un futuro posiblemente desarrolle una explicación del script y los cálculos que se llevaron a cabo. Si alguien tiene dudas o está interesado al respecto siéntase libre de comentarlo. |
0 | ||
o.o En cuanto me conecté lo voy a probar, tiene buena pinta. ¡Muchas gracias! Con esto aprenderé más lua :p |
![]() ![]() « Censeur » 1393345260000
| 0 | ||
Es perfecto! Me ayudará en un futuro con mis mapas mecanismos! Muchisimas gracias Hina! |
0 | ||
Añadí una v2, que también busca el punto más cercano de todos los que encontró, y luego se puede usar fácilmente modificando la parte que dice --do stuff. https://paste.moepl.eu/view/ae1c67c2 // Nótese que el script sirve con absolutamente cualquier mapa que tenga suelos, con lo único que no sirve es con diseños Viprin y con suelos dinámicos por razones lógicas. Simplemente probar con el comando /np @mapa para probar. Nota: ¡no sirve con mapas vanilla! No se puede acceder al xml de esos mapas. |