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.

Mensajes - Zela

31
No Sabia De La Existencia De Alternativas, Que Bueno saberlo.

Tomaré Encuentra La Recomendación

Gracias.
32
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.
33
Buena, Cada Día Se Aprenden Cosas Nuevas, Suelo Mucho Acomodar Cosas A Lo Que Necesito, Me Gusto Esa Vista Que Da
34
O.o!, Un Warning! de Mi Parte, La Función Sin(x) Por Si sola No Es Circular En Su Grafica, Ten Cuidado Con Ello, A mi Me Paso Antes xD!...

Del Porque No Use Una Función Sin(x)... Si Comparo Las Funciones sin(x*pi/2) y exp(x-3) En Sus Graficas... Obtengo:



Las Etiquetas [1],[2],[3] Serán Las Funciones De La Imagen:
> Sobre [2], Es Solo Acomodar [1] A Como Me Serviría (Lo Que Quería).
> La Imagen Achatada Me Muestra Claramente Que [3] es Mucho Mas Suave Que [2].
> La [3] Es Mas Simple Q [2] En Escritura

Todo Eso Lo Concluí Teniendo Presente Que El Script Lo Quería Con Respecto A La Distancia En El Eje x... Pues Esop  :-[

Aunque Igual Puedes Tomar [1] y Pensar Que Al Acercarme A 1, Es Mi Distancia Mínima En el eje X y El 0 La Máxima... (mmm.. Interesante)

PD: Parezco adicto A Las Funciones  ;D...
Saludos
35
Le Respondo ^^:

>
Cita de: brunoxzx en Julio 03, 2013, 07:36:03 AM
... Por otra parte el script solo funciona en 2d (no lo he leído)?, no se puede usar para girar puntos al rededor de esferas en 3d?, o es que en realidad solo funciona desde un punto de vista especifico?.
...

- Pues La Verdad Cuando Diseñe El Scripts, Los Puntos Giran Entorno A Una Esfera En 3D, Pero Los Acomode Para Que Girasen Según Una Dirección Dada Para La Pantalla (Vista 2D) "La Imagen Lo Explica Bien", Lo Cual Si Lo Quieres Usar Para Girar Un Puntos Desde Una Vista 3D, No Le Funcionará :-[, Una Forma Diferente De Entender Del Porque No Funcionaria En 3D, Que En Este Scripts La Pantalla Seria Como Una Cámara 3D ¡FIJA! (E Ideal) Con El Centro De Una Esfera 3D ¡FIJA! Rotando Puntos, Por Lo Tanto No Tiene Mucho Futuro En Implementación 3D, Lo Cual Esta Bien, Porque Así Lo Diseñe  ;D.

>
Cita de: brunoxzx en Julio 03, 2013, 07:36:03 AM
...
Por otra parte el script que usas para regular la velocidad xP, no se mucho de calculo. podrías explicar un poco?.

- Te Explico Como Lo Diseñe Y El Porque.
Quería Algo Que Al Alejarme De Un Punto Avance Mas Rápido (Pero No Linealmente, Sino Gradual) Y Al Acercarme La Manera Inversa Pero Gradual , Lo Cual Pensé En La Siguiente Ilustración:



Si Te Fijas, En La "Vista Interesante" Se Ve Claro En La Gráfica Lo Que Quería Conseguir. Al Alejarme (Acercándome A La Distancia Máxima) Los Valores De La Velocidad AUMENTAN, Y Al Revés Pasa Lo Viceversa (Disminuye La Velocidad, Pero No De Manera Brusca), Lo Cual Conseguía Todo Lo Que Quería. Ahora El Único Problema Es Como Expresaba Eso A Lo Matemático. Entonces Me Di Cuenta Que Hay Intervalos Que Relacionar...
Desde La Vista Interesante  A  La Vista Matemática
// Intervalo De Las X
[0, Dist_Max] -> [0,3]

Pues Si Notas
[0,Dis_max] / Dis_Max = [0,1]
[0,1] * 3 = [0,3]

Entonces Solo Bastaría Con Multiplicar Nuestras Distancias [0,Dist_Max] Por (3/Dis_Max)

Lo Cual La Línea Del Scritps Es La Siguiente:
[gml]__x = point_distance(0,0,argument0,argument1)/(argument2/3)[/gml]

Para No Pasarnos De La (Distancia Máxima) Lo Truncamos, Recordar Que El 3 = Dis_Max:
[gml]if (__x >3) {__x = 3}[/gml]

Para Conseguir El Casi Cero De Velocidad Al Estar Cerca De La Distancia Mínima, lo Truncamos En 0.2 Dandole El Valor De -2 Lo Cual Es Literalmente Casi 0, Porque Ya No Es Necesario Calcular Mas Allá
[gml]else if (__x < 0.2) {__x = -2}[/gml]

Y Para Terminar Lo Retornamos:
[gml]return exp(__x - 3)[/gml]

Nota Que Para Pasar Del Intervalo [0,1] -> [0,Vel_max], solo bastaría con multiplicar [0,1] por Vel_Max para conseguir esa variación de velocidad..

Y Así Nació La Función.  ;D

El Script completo Es Este:

[gml]// devuelve un numero entre 0 y 1, segun la funcion exp(x-3)
/* argumentos
0 = direccion x
1 = direccion y
2 = distancia maxima

*/
var __x,;
__x = point_distance(0,0,argument0,argument1)/(argument2/3)
if (__x >3) {__x = 3}
else if (__x < 0.2) {__x = -2}
return exp(__x - 3)[/gml]


Saludos :).
36
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
37
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
38
Preguntas y respuestas / Re:conexión tcp externa
Julio 01, 2013, 02:52:05 AM
Holas, Nose Si Le Sirva Este Link:

Autor : Silver Light
http://juegosluzplateada.blogspot.com.ar/p/tutorial-39-dll.html

Saludos
39
Un Ejemplito Simple.

Saludos
40
Juegos completos / Re:Dusty's Old Proyects
Junio 30, 2013, 12:10:52 AM
Cita de: DustProductions en Junio 29, 2013, 11:00:41 PM
...
2>No es por nada pero creo que el problema lo tienes con el procesador que es demasiado pequeño, le dije que hiciera 100 instancias y no se me relentizo apenas. Aunque creo que te refieres a que ya no van con la misma fuerza que al principio, eso esta hecho a posta, el "nitro" del principio solo dura de 10 a 15 segundos aproximadamente
...

xD!,Bueno Dispongo de un i7... A Lo De Mucho Me Refería A Que Se Nota La Baja De FPS  :-[, Pienso Q Poner La Palabra "Mucho" Era Excesivo..
41
Cita de: lorenzo en Junio 29, 2013, 06:43:56 PM
¿pero como debo poner eso y en que objeto?

El Code de " romon_28", Iría En El Objeto "Obj_Caja" evento (step) aunque yo preferiría (end step), Nota Que Ambas Cajas Son Del Mismo Tipo De Instancia, Lo Único Que Realiza Es Identificar La Caja De Abajo (Unos 32 Pixeles), Luego Verificar Si Se Movió Y Encaso De Moverse Adquiere Su Posición x.

Saludos.
42
Preguntas y respuestas / Re:Una duda.
Junio 29, 2013, 10:40:35 PM
Hola Y Bienvenido :).

Con Su Duda:
Si Es Posible!!! :D, Te recomiendo Comenzar Con Manipulación De Disparos Y Enemigos Básicos, Después  El Sistema De Puntuación Y Vida, Luego Agrégale Efectos Visuales, Y Al final Crea Sistema De Menús.

Para Conseguir Los Efectos Visuales Aprende A Usar "Surfaces", (Yo Aun No Los Aprendo) Pero Son Mas Eficientes A La Hora De Procesar.

Saludos
43
Juegos completos / Re:Dusty's Old Proyects
Junio 29, 2013, 10:31:34 PM
Buenas, Me Gusto En Especial El "Awesome PIX", (Esta Bastante Entretenido Y Llamativo)

Mi Curiosidad De Programador:
> ¿Hasta Cuantos Puntos Puedes Llegar A Procesar Con Un FPS Cte (30)?
Mi Noción :
> En Los Misiles Después De Crear Alrededor De 20 Se Ralentiza Mucho El Proceso, Podrías Intentar Mejorarlo Para Unos 40 a 100 Instancias En Un Fps Cte de 30 (Se vería Mas Estable) :).

Saludos
44
Hola Edgar Gamer, Me Disculparías Pero Le Podría Pedir Que Lea Las Normas De Cada Sección?, Por El Bien De Los Sub-Foros Y La Lectura De Los Mismos... Por El Simple Echo De Que Puedes Ser Ignorado , Eliminado  O Cerrado Muy Fácilmente Lo Que Publica.
Texic: Eso, es pseudomoderar y está prohibido

Con Respecto A Su Juego A Crear:
> La Idea Esta Buena, Tienes Un Buen Espíritu de Historia, Lo Cual Es Lo Difícil De Pensar, (Almenos Para Mi).
> En Temas De Código Es Posible Lo Que Propones Solo Debes Tener Fé En Lo Que Codificas :), También Es Importante Que Practiques Con El Programa (En Caso De Ser Novato), Ya Sea Por Tutoriales Visuales, Textuales O Indagación Propia. Porque Es De Suma Importancia Que Cranee Usted Primero El Código, "Intentarlo", Hay Surge la Imaginación, Ideas Y El Saber Del ¿Que Preguntar?, Por El Simple Echo Que Nadie Por Quien Sea Le Entregaría El Code En Bandeja.

Te Animo A Intentar Programar Por Su Cuenta El Juego, Si Tienes Dudas Con Algo En Particular, Aquí En La Comunidad Le Ayudarían con Gusto.

PD: Espero Q No Le Haya Sentido Muy Pesado  :-[
Saludos.
45
Hola, Realice un ejemplo, (Lo Cree Según Entendí Su Problema)

Espero Le Sirva

PD: El Ejemplo Es En  :GM8:, No Esta Muy Bien Redactado Junto Con Que No Esta Optimizado
Saludos