hola que tal.
estoy trabajando en un tds de dos jugadores con 3 views: una del jugador 1 , a la isquierda,otra del jugador 2, a la derecha y una tercera que funiona como minimapa pero no tiene importancia.

asi que tengo 4 dudas:
1- como hago para que un objeto se vea en una vista pero no en otra? y que tenga un sprite distinto en otra.?
2- mi objeto jugador apunta al puntero del mouse, y va hacia esa direccion, pero si pongo el puntero en sobre otra view (que esta en otra ubicacion de la room), el jugador se dirije hacia esa direccion. ¿como evito eso?
3- como hago que el mouse se vea en una room pero no en otra?

Bueno, a ver si te puedo ayudar, aunque no estoy muy seguro

Para que se vea en una view específica, le indicas en qué view dibujar, por ejemplo draw_sprite,subimg, view_xview[1] + margen_x, view_yview[1] + margen_y.

Que el objeto tenga un sprite distinto en dos views distintas, no sé cómo se haga de manera directa. yo me imagino que no se puede directamente porque sprite_index es una propiedad del objeto independiente de la vista. Aunque en una vista se puede dibujar el objeto de manera normal y en otra(s) dibujar un sprite distinto mediante surfaces. O crear un objeto réplica para una de las vistas.

Lo de apuntar con el mouse, yo lo haría revisando sobre qué vista está el mouse. Por ejemplo, suponiendo que la vista 2 está en la zona derecha de la ventana y no ocupa todo el alto de la ventana, algo así



pos_xvista2 = view_xview[2]
pos_yvista2 = view_yview[2]
vista2_ancho = view_wview[2]
vista2_alto = view_hview[2]

if ( mouse_x >= pos_xvista2 ) and (mouse_x < pos_xvista2 + vista_ancho)
      dentro_de_vista2x = 1
else
      dentro_de_vista2x = 0

if (mouse_y >= pos_yvista2) and (mouse_y < pos_yvista2  + vista2_alto)
     dentro_de_vista2y = 1
else
      dentro_de_vista2x = 0

if (dentro_de_vista2x == false) and (dentro_de_vista2y == false)
      //código que le permite al jugador apuntar hacia el mouse


Para controlar la visibilidad del mouse, revisa la función window_set_cursor(curs) en el manual

#2 Enero 19, 2014, 09:15:18 PM Ultima modificación: Enero 19, 2014, 09:20:27 PM por Mega G
Para que tenga sprite diferente en cada view pon:


if view_current=0
{
sprite_index=sprite0
}
else
if view_current=1
{
sprite_index=sprite1
}


De igual forma, todo lo que quieras que solo suceda en una view puedes ponerlo dentro de if view_current = numero de view. (visibilidad, etc.).

#3 Enero 19, 2014, 09:27:30 PM Ultima modificación: Enero 19, 2014, 09:44:06 PM por ivn_eze
pues lo probare, muchas gracias a los dos

el tema de hacer que se vea distinto en una view, es que uso gm lite y por lo tanto no puedo hacer un minimapa (ya que el codigo esta basado en pro)

tambien por eso no puedo cambiar el cursor, y uso un objeto que se posiciona donde esta el mouse.

igual, estoy modificando ambos codigos para hacer algo parecido