Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Temas - Zela

1
Hola Comunidad,

Mi Pregunta Es Referente A Que Es Más Eficiente En El Dibujado En La Room De Los Propios Objetos.

Las Opciones O Puntos Que Pienso Son Las Siguientes:

> Trabajar Con El Evento Draw Por Objeto:
-- El Sprite Mismo Como Recurso
-- En Surfaces

> Otro Objeto Se Preocupe De Hacer Todo El Dibujo:

> Hacer Alguna Jugada De Prioridades En Proceso:

> Usar Algo Alienígeno?

Me Gustaría Leer Sus Experiencias  ;D

Saludos.
2
Preguntas y respuestas / Existencia De GM En Linux?
Julio 12, 2013, 05:51:13 AM
Hola Comunidad:

Mi Duda Consiste En Si Existe Realmente o Han Probado Alguna Versión De GM Para Linux.

Lo Que He Encontrado Es:

> http://wiki.yoyogames.com/index.php/Setup_Gamemaker:Studio_for_Ubuntu_(Linux)
> http://planetubuntu.es/post/gamemaker-studio-anade-soporte-para-ubuntu-linux
> http://gmc.yoyogames.com/index.php?showtopic=470356

Saben Si Es Viable?.

Nota: La Duda Fue Por Que Muchos De Mis Actividades Están Ligadas Al Uso de Linux En Diferentes Partes De Mi Tiempo Y No Quisiera Perder La Continuidad De GM :)

Saludos.
3
Hola Comunidad!

[spoiler]Hace Casi Un Mes, Solicite Mejoras Y Criticas Sobre Un Tema En Particular:
http://www.comunidadgm.org/index.php?topic=18729.0
Pues Aquí Les Muestro El Motor De Movimiento, La Versión Menú, Sera Para Otra Ocasión[/spoiler]

•Nombre del creador : Zela

•Breve descripción de la función :
Rotar Punto En Una Esfera Falsa 3D, A La Vista 2D (Pantalla) Según Una Dirección


•Versión GM utilizada :  :GM8:

•Código del Script :

> Evento Inicialización "sc_pantalla"
[gml]// devuelve la posicion adecuada al rotar en la orbita
/* argumentos
0 = pos_x
1 = pos_y
2 = pos_z
3 = direccion_x
4 = direccion_y
5 = cantidad de angulo a rotar ¡¡En Radianes!!
6 = indice de la coordenada a obtener (0 = x, 1 = y, 2 = z)
By : Zela
*/

var __cte,__cte2;
__cte2 = sqrt(argument3*argument3 + argument4*argument4)
__cte = (argument0*argument4 - argument1*argument3)*(1-cos(argument5))
if (argument6 = 0){
    if (__cte2 = 0){return argument0}
    else {          return argument0*cos(argument5) + __cte*argument4/(__cte2*__cte2) - argument3*argument2*sin(argument5)/__cte2}
}
if (argument6 = 1){
    if (__cte2 = 0){return argument1}
    else {          return argument1*cos(argument5) - __cte*argument3/(__cte2*__cte2) - argument4*argument2*sin(argument5)/__cte2}
}
if (argument6 = 2){
    if (__cte2 = 0){return argument2}
    else {          return argument2*cos(argument5) + (argument4*argument1 + argument3*argument0)*sin(argument5)/__cte2}
}[/gml]

•Comentarios :
Pues Solo Es El Motor De Movimiento, en El Ejemplo Adjunto Esta La Manera De Utilizarlo  :-[
En El Ejemplo Hay Otro Scrips, "sc_velreg", lo cual solo entrega un valor entre [0,1] según una función especifica, arreglada con una distancia máxima (el valor 1)...

•Imágenes Del Ejemplo:




Saludos
4
Hola Comunidad!

Hace Algún Tiempo Uso Un Script Que Cree Sobre De Seguir Un Objeto Con Vectores, Se Los Comparto

•Nombre del creador : Zela

•Breve descripción de la función :
Seguir un Punto Especifico del Plano 2D Con Vectores, Usando Velocidad Y Capacidad De Angulo (Cuanto Rota Al Momento De Acercarse Al Punto)

•Versión GM utilizada :  :GM8:

•Código del Script :

> Evento Inicialización "sc_seguir_init"
[gml]/* argumentos

0 = vector velocidad x
1 = vector velocidad y

*/

__Vel[0] = argument0
__Vel[1] = argument1
var cte;
cte = sqrt(__Vel[0]*__Vel[0] + __Vel[1]*__Vel[1])

// Vector Unitario
__Vel[0] /= cte
__Vel[1] /= cte[/gml]

> Evento Step "sc_seguir_step"
[gml]/* Argumentos

0 = pos x del objetivo
1 = pos_y del objetivo
2 = capacidad de angulo a rotar
3 = velocidad
*/
var __Vp,__Vs,__Cte,__Ang,__S;

// Vector De La Direccion Hacia El Objetivo
__Vp[0] = argument0 - x
__Vp[1] = argument1 - y

__Cte = sqrt(__Vp[0]*__Vp[0] + __Vp[1]*__Vp[1])

// Vector Unitario
__Vp[0] /= __Cte
__Vp[1] /= __Cte

// Angulo De Alejamiento
__Ang = __Vel[0]*__Vp[0] + __Vel[1]*__Vp[1]

// Si El Angulo De Rotacion Es Menor al Angulo De Alejamiento
// La Funcion cos() Es La Inversa
if (cos(argument2) > __Ang){
    __S = sign(__Vel[0]*__Vp[1] - __Vp[0]*__Vel[1]) // 1 = Derecha, -1 = Izquierda
    if (__S =0) { __S = choose(-1,1); }
    //Dos Interpretaciones a esta condicion if
    // Si Sobrepaso El Objetivo Y Continua (No Hay Colicion) Elejimos Aleatoriamente La Orientacion A Girar
    // Si El Objetivo Esta En La Direccion Opuesta A La Velocidad Del Objeto Elijo Aleatoriamente La Orientacion A girar
    __Vs[0] = __Vel[0]
    __Vs[1] = __Vel[1]
    __Vel[0] = __Vs[0]*cos(argument2) - __S*__Vs[1]*sin(argument2)
    __Vel[1] = __Vs[1]*cos(argument2) + __S*__Vs[0]*sin(argument2)
} else {
    // Si Ya No Es Necesario Rotar Mas, Se Dirije Directamente Al Objetivo
    __Vel[0] = __Vp[0]
    __Vel[1] = __Vp[1]
}

// Mover Objeto
x += argument3*__Vel[0]
y += argument3*__Vel[1]

// Direccion del objeto
direction = point_direction(0,0,__Vel[0],__Vel[1])[/gml]

> Adicional "sc_cambi_dir"
[gml]// Cambio de la direccion a la fuerza
/* Argumentos
0 = id del objeto a cambiar la variable
1 = direccion de velocidad x
2 = direccion de velocidad y
*/

var __cte;
__cte = sqrt(argument1*argument1 + argument2*argument2)

argument0.__Vel[0] = argument1/__cte;
argument0.__Vel[1] = argument2/__cte;[/gml]

•Comentarios :
El GameMaker Tiene Variables Por Defecto, Pero Aquí Recree Según Yo Los Estimo Conveniente, Si Sienten Cambiarlos Están En Su Libre Albedrio.  :)

•Imágenes Del Ejemplo:


Saludos
5
Hola Comunidad:

He creado un intento de menú rotatorio pero necesito saber si es viable.. :-[ (en?, algún juego o sub partes)
Una imagen previa del ejecutable adjunto es la siguiente:

[spoiler][/spoiler]

Solo es una idea de un menú principal..
Cualquier critica es bienvenida

PD: no subí el archivo con el código por si encuentras bugs, pero si alguien lo quiere con gusto se los comparto ya que es parte para una futura publicación en desarrollo de scripts que deseo realizar, lo cual por ahora no encuentro necesario aun publicar en aquella sección.

Gracias y Saludos.
ATTE
Zela  ;D
6
Hola comunidad GM:
Ya que no encontré un "scrip random" con alguna distribución les proporciono un ejemplo por medio de la conocida función gaussiana  :)


•Nombre del creador : Zela

•Breve descripción de la función :
El Scrip entrega un valor random en el intervalo [0,1] con distribución gaussiana

•Versión GM utilizada : :GM8:

•Código del Script :
// // // // // // // // // // // //
// Funcion Random Gaussiano V1.1 //
// // // // // // // // // // // //
// La funcion entrega un valor random entre el intervalo [0,1]
// con una distribucion gaussiana
//
// By : Zela
//
var h,x_i;
h=random(1)
x_i=random(1)*10 - 5
while (h>(exp(-x_i*x_i/4))){ x_i=random(1)*10 - 5 }
return (x_i +5)/10


•Comentarios :
El scrip puede ser usado en cualquier otra versión que soporte las funciones nativas random() y exp()

El archivo adjunto proporciona un histograma de la función por medio de 1000 puntos evaluados por el scrip (imagen adjunta)
Imagen:



OJO: la distribución puede ser creada por cualquier función que se desee, solo hay que tener cuidado con sus comportamientos.
Saludos.
7
Hola Comunidad GM..
La Pregunta Es Referente A Los Programas  :GM5:, :GM6:, :GM7: y :GM8:..

· Mis Motivos E Intereses Del Post :

-> Descubrir Segun "Su Experiencia" Con El Uso De Los Mismos, La Estabilidad Que Les Ha Proporcionado (Sea Cual Sea El Caso).

-> No Me Es De Mero Interes Las Opiniones Anexas De Paguinas Fuera De La Comunidad, Busco Su Opinion No La De Otros.

-> Mis Experienias Programando En GML Son De Las Epocas  :GM5: y  :GM6: (Cuando Aun No Existia La Paguina Yoyo), Y He Notado Muchos Cambios En Las Verciones Actuales Y Es El Responsable De Mi Pregunta :), Junto Con Que Muchos Post Del Foro Son De  :GM8:

-> No Soy Nuevo En Esta Comunidad, Pero Mi Usuario Antiguo "No Lo Recuerdo Bien" ( Creo Que Era Rikuravel.. Tampoco Era Y Soy Muy Activo  :-[).. He Notado Bastantes Cambios Y Mejoro Mucho La Paguina A Como La Recordaba.

Pienso Que Notan La Existencia De Una Ausencia Extendida En El Tiempo xD!.
Cualquier Detalle O Opinion Me Es Interesante Yaque Como Usuarios Experimentados Tienen Sus Pensamientos Ya Formados...

Saludos Y Gracias.

PD: Comenzar De Cero Es Mi Idea... Disculpen Las Mayusculas Pero Es Una Mania Mia