Pues si no existe ning?n error humano entonces esta opci?n no es para nada necesaria en este caso, tu mismo estas recomendando la opci?n para evitar el error de variable desconocida, que es causado por un error humano.

Mencionas que tienes experiencia con lenguajes m?s estrictos, entonces sabes que esta opci?n ense?a p?simos h?bitos de programaci?n, no solo por que evita al usuario el trabajo de declarar las variale, sino por que si hay un error en el c?digo necesitas conocerlo, entenderlo y saber (o aprender) como arreglarlo, si tomas la salida f?cil no hay aprendizaje y por lo tanto no hay ganancia en tu experiencia con el GM.

Ahora bien, si tu haces un copy-paste cuando escribes nombres de variables, y luego de todos modos revisas CADA variable letra por letra, pues bien por ti, pero no debes asumir que todos los dem?s lo hacen, especialmente si consideras que son personas que podr?an apenas estar empezando con el GM, no tienen conocimientos previos de programaci?n, y son, por lo tanto, m?s propensas a un error humano, despues de todo los humanos son falibles.

En la segunda parte estoy totalmente de acuerdo con vos, pero seguro sabes que muchos lenguajes de programacion no hace falta declarar la variable para que funcione, pero tienes razon que si hay un error con eso, se va a complicar para saberlo.

Un ejemplo, en Visual Basic hay una funcion que tiene que ver con la declaracion de variables, es Option Explicit, si pones esta funcion en la parte General del codigo, sera como el Game Maker y te tirara error cuando la variable no se haya declarado.

Lo que si, para programar y hacer algo bueno hay que tener ganas y prestarle mucha atencion, coincidiras conmigo que un juego sin atencion al hacerlo o sin ganas no va a salir bien.

Yo soy un novato en GML, eso no lo discuto, si ves los post que cree, hay algunas dudas que son BASTANTE de novato jajaj, por eso hice una pregunta y nunca quise contra-decir a nadie :)

Cita de: MaanuRP en Julio 27, 2011, 07:22:50 PM
En la segunda parte estoy totalmente de acuerdo con vos, pero seguro sabes que muchos lenguajes de programacion no hace falta declarar la variable para que funcione, pero tienes razon que si hay un error con eso, se va a complicar para saberlo.

Un ejemplo, en Visual Basic hay una funcion que tiene que ver con la declaracion de variables, es Option Explicit, si pones esta funcion en la parte General del codigo, sera como el Game Maker y te tirara error cuando la variable no se haya declarado.
Por eso y por muchas razones m?s, VisualBasic es malo. Muy malo.
Vim.

Podes saber mucho de GM, pero de lenguajes de programacion no sabes mucho.

Hay competencias, olimpiadas NACIONALES sobre Visual Basic, y dices que es malo?

Perdoname pero no sabes mucho, te puedo apostar que hay programas mucho mas eficaces echos en VB que en C++ .

Es mas, yo mismo se de ambos lenguajes, son los primeros que aprendi y de los que mas se, y sino es para hacer un SO o programas muy complicados, el VB sirve mucho mas, y es mucho mas rapido

Cita de: MaanuRP en Julio 27, 2011, 08:20:26 PM
Podes saber mucho de GM, pero de lenguajes de programacion no sabes mucho.

Hay competencias, olimpiadas NACIONALES sobre Visual Basic, y dices que es malo?

Perdoname pero no sabes mucho, te puedo apostar que hay programas mucho mas eficaces echos en VB que en C++ .

Es mas, yo mismo se de ambos lenguajes, son los primeros que aprendi y de los que mas se, y sino es para hacer un SO o programas muy complicados, el VB sirve mucho mas, y es mucho mas rapido
Me gustar?a explicarte mi punto de vista, pero esto se est? llendo demasiado fuera de tema. Desde ahora, c?ntrense en el tema original.
MaanuRP: Si te interesa mi respuesta, enviame un MP.
Vim.

#20 Julio 28, 2011, 12:39:51 AM Ultima modificación: Julio 28, 2011, 01:07:10 AM por soccer2008
Cita de: MaanuRP en Julio 27, 2011, 08:20:26 PM
Podes saber mucho de GM, pero de lenguajes de programacion no sabes mucho.

Hay competencias, olimpiadas NACIONALES sobre Visual Basic, y dices que es malo?

Perdoname pero no sabes mucho, te puedo apostar que hay programas mucho mas eficaces echos en VB que en C++ .

Es mas, yo mismo se de ambos lenguajes, son los primeros que aprendi y de los que mas se, y sino es para hacer un SO o programas muy complicados, el VB sirve mucho mas, y es mucho mas rapido

Vaya lio esto sobre los lenguajes de programaci?n te doy mi opini?n sobre el asunto: Si hablamos de programas mucho m?s eficaces entre VB Y C++ asi por decirlo significa que no conoces a fondo lo que puede ofrecer el C++ o quiz?s te refieras a un versi?n antigua del C++ contra una versi?n avanzada del VB pero ni a?n asi se puede decir que en un LP puedes hacer mejores programas que otro LP, eso depende de como lo programes y el tiempo que le dediques incluyendo si hablamos de velocidad; Por supuesto que para hacer un programa en c++ vas a dedicar + tiempo que hacer un programa en VB y si nos ponemos a evaluar de que programa est? mejor que otro echo en un LP diferente, lo primero que debemos hacer es: si al desarrollar cierto programa hay una metodolog?a de desarrollo, un equipo de gesti?n (si fuera necesario), quienes lo desarrollan, testeo, benchmarking, etc y por ?ltimo el LP; Disculpame pero discrepo contigo sobre este asunto.

Citar
Si adjuntaras una parte de tu editable para probarlo y modificarlo ser?a una mejor opci?n XD  
Un foro donde hay de todo: http://fileceru.foroactivo.net (se necesitan moderadores para el foro)

#21 Julio 28, 2011, 01:01:04 PM Ultima modificación: Julio 28, 2011, 04:23:11 PM por Topet
Manu, simplemente la opci?n de inicilizar todas las variables no inicilizadas en 0 es una mala opci?n, es preferible que te de el error, sepas donde es, a que no te de y no sepas donde es.

A lo que tendr?s que usar debug mode y observar que pasa con las variables (y si es un script con variables locales es PEOR aun) y si es que no estas usando ciclos para alg?n proceso y el programa ni se ejecuta por errores l?gicos.

Osea es como trabajar de flojo, y como sabes: los flojos trabajan doble.

Cita de: Killer en Julio 26, 2011, 07:36:35 PM
He tratado de reproducir el error, cree un objeto y le puse un evento create donde declare dos variables y otro evento donde debe utilizarlas.

Luego cree otro objeto y le asigne el primero como parent.

Ambos funcionaron sin ningun problema, tanto por separados como al ponerlos juntos.

Si pudieras especificar m?s como reproducir el problema, o pasar un editable donde se presente seria mejor, ya que yo nunca he tenido problemas usando parents.

P.D. Cuando dice que el parent da sus eventos a sus hijos no quiere decir que el parent se quede sin sus respectivos eventos, la herencia lo que hace es que los eventos que tiene el parent los tengan los hijos, en tanto ese evento no sea sobreescrito.

Trata de esta forma:

inicilizas las variables en create, una en un parent y la otra en un child

En el parent vas a crear un evento que sea de presionar o mantener presionado algun boton (es donde me dio error exactamente) ahi usaras (no cambiaras) la variable que declaraste en la creacion del objeto.

Por ejemplo:

Parent_Obj:
- Create Event:
probandome = 1
- Press D:
if (probandome == 1) hspeed = 1

Child_obj: (Parent: Parent_Obj)
- Create Event:
nuse = 4


Al presionar D el resultado sera el dicho bug antes descrito.
Battlefield Galactic (Nombre piloto) Alpha 1.7.5.0
Juego Genero: Multiplayer Online Battle Arena!
Is more than 9000 APM!!

Si el "bug" ocurre al poner el Child_obj en la room (y no el Parent_Obj), es un error tuyo.
Como el Child_obj tiene evento create, lo ejecuta en lugar de heredar el del padre, y por lo tanto Child_obj no tiene la variable "probandome". Por otro lado, Child_obj no tiene evento Press D y su parent s?, as? que lo hereda. Al presionar D, Child_obj intenta ejecutar el c?digo, pero falla porque no tiene la variable "probandome".
Para que funcione tendr?as que agregar lo siguiente en create de Child_obj:
[gml]event_inherited();[/gml]
As? Child_obj ejecuta su propio create, pero tambi?n el de su parent.
Vim.