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 - Wadk

271
Creo que es lo que dijo Magnetox, pero tambi?n ten?s que usar lengthdir_y:
[gml]instance_create(x + lengthdir_x(10, direction), y + lengthdir_y(10, direction), objeto2);[/gml]
Y los 10 los vas cambiando hasta que veas que queda bien.

Tambi?n podr?as usar move_contact_solid, y evitar?a que la bala atraviece objetos s?lidos al posicionarse en la punta del tri?ngulo:
[gml]v_id = instance_create(x, y, objeto2);
v_id.direction = direction;
v_id.speed = 20;
v_id.move_contact_solid(direction, 10);[/gml]
272
Preguntas y respuestas / Re: ?Virus en mi juego?
Junio 06, 2011, 09:31:23 PM
Cita de: ArcariaOnline en Junio 06, 2011, 05:54:59 AM
Cita de: Wadk en Junio 05, 2011, 05:37:04 PM
Cita de: WeGame en Junio 05, 2011, 04:23:41 PM
Quiz?s tu pc tiene un virus y se ha metido en el archivo de tu juego.
No. Los virus no se meten en otros archivos.
Yo le recomendar?a a tus amigos que desinstalen su antivirus, y si es posible que no instalen otro, porque en mi experciencia, son in?tiles.

Yo pensaba igual que tu y dure mucho tiempo sin antivirus hasta que me infecte y perd? muchos archivos importantes al formatear mi PC, cr?eme no son in?tiles, bueno talves uno que otro si. Yo se que los virus no se meten en los archivos pero si modifican su peso y otras caracter?sticas lo cual alerta a los antivirus.
Yo pensaba igual que vos y dur? mucho tiempo con un est?pido antivirus en mi computadora ocupando espacio y consumiendo recursos, hasta que me infect? sin que el antivirus detectara nada. Despu?s de eso instal? un sin fin de antivirus para deshacerme del virus. Que el NOD, que el Kapersky, que el AVG, el Avast, el Spybot, Dr. Web, Norton, Avira... ninguno logr? detectar absolutamente nada.
Despu?s incluso descargu? muchos viruses a prop?sito, y realic? un mont?n de pruebas en m?quinas virtuales. De la conclusi?n no me queda duda: los antivirus son in?tiles. Y de hecho, muchos se comportan de forma similar a los propios virus.

Pero en fin, eso era cuando usaba Wingdows. Con Linux ya no tengo esos problemas tontos.

CitarHay ciertos virus que hacen una copia de los archivos a los que afectan, y encriptan dicha copia en un ejecutable con el nombre original del archivo que al utilizarse activa el virus y luego ejecuta el archivo original.
OK, si se trata de un ejecutable, puede ser.
273
Preguntas y respuestas / Re: ?Virus en mi juego?
Junio 05, 2011, 05:37:04 PM
Cita de: WeGame en Junio 05, 2011, 04:23:41 PM
Quiz?s tu pc tiene un virus y se ha metido en el archivo de tu juego.
No. Los virus no se meten en otros archivos.
Yo le recomendar?a a tus amigos que desinstalen su antivirus, y si es posible que no instalen otro, porque en mi experciencia, son in?tiles.
274
Rubeno tiene raz?n, el juego podr?a acabar siendo malo, aunque todos esperamos que eso no pase.
275
Preguntas y respuestas / Re: Screenshot en carpeta
Junio 03, 2011, 04:02:14 AM
Bueno, esto no es problema de los c?digos que te estamos dando.
Intent? aislar el error. Copi? tu gmk y a la copia sacale elementos de a poco y and? probando si el c?digo empieza a funcionar. Cuando veas que el c?digo funciona, fijate qu? fue lo ?ltimo que sacaste. Ah? estar? el error.
Si lleg?s a un punto en el que no pod?s sacar m?s elementos y el error persiste, sub? el resultado para que lo veamos.
276
Preguntas y respuestas / Re: Screenshot en carpeta
Junio 02, 2011, 08:59:20 PM
Prob? esto:
[gml]if (!directory_exists(working_directory + "\screenshots")) {
    directory_create(working_directory + "\screenshots");
}
var i;
for (i = 0; file_exists("screenshots\screenshot" + string(i) + ".png"); i += 1){};
screen_save("screenshots\screenshot" + string(i) + ".png");[/gml]
278
Preguntas y respuestas / Re: Uso de FPS
Junio 01, 2011, 09:21:09 PM
En teor?a, esto es redundante:
[gml]maxfps=max(room_speed,fps,maxfps)[/gml]
fps nunca es mayor que room_speed.

Pero yo dir?a que lo mejor es no hacer ninguna comprobaci?n de ese tipo, y usar algo as?:
[gml]speed = 5 * (room_speed / fps);[/gml]
As? la velocidad real es constante independientemente de los fps.
Pero esto trae todo tipo de problemas, no te lo recomendar?a.
279
Cita de: licshendu en Junio 01, 2011, 06:03:30 AMSi, lo que pasa es que con un solo procesador no existe realmente una ejecuci?n de tareas simultaneas, para que exista realmente eso se necesitan dos o mas procesadores trabajando en paralelo. pero con un procesador lo que se hace es ejecutar varias tareas a la vez y hacer interrupciones entre ellas para hacer uso del CPU y as? da la ilusi?n de ser multitarea y por lo tanto de utilizar hilos. Es por esto que podemos escuchar musica, descargar archivos, programar en game maker todo esto "al mismo tiempo"(  entre comillas porque en realidad no es asi)esos tambi?n son hilos de ejecuci?n seg?n tengo entendido.
Java y  Delphi tambi?n usan hilos y los puedes usar en computadoras con un solo procesador, pero repito la verdadera ejecucion simultanea es cuando tienes dos o mas procesadores, segun lo que tengo entendido.
Est? claro, pero yo me refiero a otra cosa.
Dos threads, a nivel de procesador no se ejecutan al mismo tiempo, pero no importa en qu? orden se ejecuten, porque son como dos procesos distintos. El orden de ejecuci?n de los eventos en GM s? que importa, y mucho.
280
Sobre los sonidos no se, pero las dem?s cosas que mencion?s definitivamente no son threads.
Un thread es como un programa separado. Esto en GM no ocurre. Ning?n c?digo se ejecuta al mismo tiempo que otro, absolutamente ninguno. Lo que sucede es que se ejecutan tan r?pido que da la ilusi?n de que algunos se ejecutan al mismo tiempo, pero no es as?.
Seg?n el manual, los eventos se ejecutan en este orden:
Citar?          Eventos Begin Step

?          Eventos Alarm

?          Eventos Keyboard, Key press, y Key release

?          Eventos Mouse

?          Eventos Step normales

?          (ahora todas las instancias son colocadas en sus nuevas posiciones)

?          Eventos Collision

?          Eventos End Step

?          Eventos Drawing
Primero se ejecuta el Begin Step del objeto con menor id, despu?s del segundo, tercero, etc. Despu?s lo mismo pero con las alarmas, etc.
281
La mejor forma que se me ocurre es con una lista de prioridad.

Primero cre?s la lista y le agreg?s todos los valores.
Si ten?s un objeto para cada bola, la cosa se vuelve un tanto tediosa:
[gml]list = ds_priority_create();
ds_priority_add(list, 0, objBall0);
ds_priority_add(list, 1, objBall1);
...
ds_priority_add(list, 89, objBall89);[/gml]

Si ten?s uno solo, pod?s hacer as?:
[gml]list = ds_priority_create();
for (i = 0; i < 90; i += 1) {
    ds_priority_add(list, i, i);
}[/gml]

Despu?s, para elegir una bola:
[gml]var idball, ball;
idball = floor(random(ds_priority_size(list));
ball = ds_priority_find_priority(list, idball);
ds_priority_delete_value(list, idball);[/gml]
Y a continuaci?n de eso, para crear la bola:
[gml]instance_create(x, y, ball);[/gml]
O en caso de que tengas un solo objeto para todas las bolas, seguramente quieras hacer algo como...
[gml]with (instance_create(x, y, ball)) {
    number = idball;
}[/gml]

Nunca us? colas de prioridad (ni ninguna estructura de datos) en GM. La informaci?n para hacer el post la saqu? de ac?.
282
Preguntas y respuestas / Re: Uso de FPS
Mayo 30, 2011, 09:13:43 PM
La duda no puede ser solucionada si no est? planteada correctamente.
Y no, a?n no est? correjido el error. x nunca es menor que x/4.

Creo que lo que quer?s es:
[gml]if (fps < room_speed / 4) {
    // ...
}[/gml]
283
Preguntas y respuestas / Re: Uso de FPS
Mayo 29, 2011, 06:41:13 AM
Entonces es lo mismo, pero al rev?s.
284
@brunoxzx: De nada.

@Xiven Corp: Como bien dijo brunoxzx, el s?mbolo ^ es un xor, tambi?n llamado "o exclusivo", a nivel de bits. Seguramente ya conozcas las operaciones and y or:
0 and 0 = 0
0 and 1 = 0
1 and 0 = 0
1 and 1 = 1

0 or 0 = 0
0 or 1 = 1
1 or 0 = 1
1 or 1 = 1

La operaci?n xor es as?:
0 xor 0 = 0
0 xor 1 = 1
1 xor 0 = 1
1 xor 1 = 0

En GM la operaci?n xor se usa con ^^ (and con && y or ||, aunque en esos casos tambi?n se puede poner simplemente and y or), pero haci?ndolo as? no se trabaja a nivel de bits:
0 ^^ 0 = 0
0 ^^ 1 = 1
-5 ^^ 2 = 1
-923 ^^ 42 = 1
El GM toma los n?meros positivos como true (1) y los negativos y el 0 como false (0).
Al usar ^ en vez de ^^, se trabaja a nivel de bits. Por ejemplo:
23 ^ 19 = ...
En vez del GM tomar el 23 y el 19 como 1, se convierten a binario, y se realiza la operaci?n con cada bit (d?gito):
    10111
xor 10011
    -----
    00100

Y el resultado se convierte a decimal:
23 ^ 19 = 4

La operaci?n xor tiene dos propiedades interesantes. Primero, el orden de los factores no altera el producto (igual que con and y or): 1 xor 0 es lo mismo que 0 xor 1. Y en segundo lugar, para cualquier n?mero natural "x" y cualquier n?mero natural "y":
x xor y xor y = x
x xor y xor x = y

Este c?digo:
[gml]x = x ^ y;
y = x ^ y;
x = x ^ y;[/gml]
aprovecha esas dos propiedades para dejar a "x" con el valor de "y" y a "y" con el valor de "x".
Por ejemplo, con los valores que us? antes:
[gml]x = 23;
y = 19;
x = x ^ y;  // Ahora x es 4.
y = x ^ y;  // Ahora y es 23 (4 xor 19).
x = x ^ y;  // Ahora x es 19 (4 xor 23).[/gml]
Est? claro que si sac?s cualquiera de las l?neas, aunque sea una repetida, el c?digo queda incopmleto y deja de funcionar :P.
285
Por favor, no me hables de C# :(. No me gusta jaja.
En C/C++ no es que se trabaje siempre a nivel de bits, para nada, pero saber c?mo funcionan y aprovechar ese conocimiento ayuda mucho. Dos de las mayores ventajas de C y C++ son la velocidad y la ligereza de recursos. Es por eso que generalmente se usan para proyectos en los cuales cada bit de memoria ahorrado es importante, como sistemas operativos (e.g. Unix) o videojuegos en tres dimensiones que pongan mucha tensi?n a la tarjeta gr?fica (e.g. Overgrowth :P), etc. Como C y C++ son lenguajes de bajo nivel (se ejecutan a nivel de hardware, a diferencia del GML que es de alto nivel y se ejecuta a nivel de software), las operaciones de bits son rapid?simas, por eso se toma m?s provecho de ellas :).

Ese m?todo se me ocurri? hace tiempo, estudiando el cifrado xor.