Noticias

Importante: ¡Si quieres publicar tu juego no olvides leer este tema!

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Autor Tema: [SOLUCIONADO] Dibujar circulo con una perforacion en el medio  (Leído 272 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado TheWood

Tengo la duda ya que las funciones de gml no traen nada sobre el dibujo de esa figura, solo la de dibujar un circulo relleno o solo el contorno. Si alguien conoce algún script o algo sería de mucha ayuda  :love: .
« última modificación: Enero 12, 2019, 07:37:25 pm por TheWood »

 


No Tienes Permisos Para Dar Puntos
point 0 Puntos

Este tema no recibió puntos.


Desconectado Johann

  • Las cosas como son!
  • Moderadores globales
  • Okupa
  • *
  • Puntos: 804
  • Mensajes: 919
  • Agradecido: 136 veces
  • Sexo: Masculino
  • First Class Soldier... 10 años en CGM, 5 como mod
    • Ver Perfil
Respuesta #1 en: Enero 12, 2019, 04:15:48 pm
Creo que se puede controlar el grosor del contorno, si se aumenta se obtiene el efecto que necesitas

Cita de: Fenris78
Si un tema os resulta de interes y veis que hay poca información, la mejor solucion no es quejarse o pedir sin pensar, sino sugerir algo bien planteado o aportarlo vosotros mismos.
Cita de: Calio
Somos desarrolladores independientes y, por lo tanto, no tenemos por qué guiarnos por las tendencias del mercado.
 


Desconectado FridaFlowers

Respuesta #2 en: Enero 12, 2019, 05:04:06 pm
Aqui hay un script para dibujar donas, anillos, redondelas huecas, ruedas... como se le diga XD
Está hecho en base a surfaces:
///scr_dibujar_dona(radio_in, radio_ex, x, y, col)
var rin = argument[0]
var rex = argument[1]
var xx = argument[2]
var yy = argument[3]
var color = argument[4]

var sup = surface_create(rex*2, rex*2)

surface_set_target(sup)
var cy = floor(surface_get_height(sup)/2)
var cx = floor(surface_get_height(sup)/2)
draw_circle_colour(cx, cy, rex, color, color, false)
draw_set_blend_mode(bm_subtract)
draw_circle_colour(cx, cy, rin, color, color, false)
draw_set_blend_mode(bm_normal)
surface_reset_target()
draw_surface(sup, xx-cx, yy-cy)

surface_free(sup)
La manera de usarlo es:
scr_dibujar_dona(radio_in, radio_ex, x, y, col)

radio_in = es el radio del circulo de adentro
radio_ex = es el radio del borde exterior

Cabe aclarar que el radio interior tiene que ser a lo sumo menor o igual, de otra manera, no se aprecia nada en pantalla.

El script no dibuja los bordes negro, pero se puede modificar lo poco para lograrlo, o en su defecto los dibujas fuera del script con las funciones convencionales.

 


Desconectado TheWood

Respuesta #3 en: Enero 12, 2019, 05:17:28 pm
gracias por las respuestas  :love: :love: . Investigue un rato y no hay una función "vanilla" en Gm 2 para aumentar el grosor de un circulo.

Entonces en la búsqueda encontré esto en la marketplace por si alguien le interesa:

- https://marketplace.yoyogames.com/assets/304/draw-circle-width
- https://marketplace.yoyogames.com/assets/1423/advanced-circle-drawing   

Gracias FridaFlowers por el script lo dejaré guardado por si acaso. Si puedes publicalo en la seccion de desarrollo de script de la comunidad.