Agosto 22, 2011, 09:35:45 PM Ultima modificación: Agosto 24, 2011, 01:24:05 PM por sbs91
Puede sonar algo complejo pero es muy simple:

Tengo un juego con 30 tipos de enemigos o m?s. Quiero simplificar mucho las cosas con un objeto Enemy_parent. Cada enemigo tendra a este objeto como "parent" (espero q sepais lo que es :-[ en la casilla del objeto lo trae)

El caso es que, por ejemplo:
Enemy_parent no tiene variables
El enemigo "patata", tiene en el create: vida=6 y dano=2 (de da?o)

Cuando el player choca con patata, pasa algo asi:
if (poderdarme=1) {poderdarme=0 ; alarm[0]=40 ; vida-=other.dano}

Si en vez de eso, pongo ese codigo al chocar con Enemy_parent, funcionaria igual??
Si no me explico bien lo tratar? de explicar mejor... :-[
eso es a modo simple pero querria generalizar un monton de efectos y mas cosas concretas de distintos enemigos en un solo codigo

Deverias haberlo probado primero antes de postear   ;D

Cita de: 3dgeminis en Agosto 23, 2011, 04:07:24 PM
Deverias haberlo probado primero antes de postear   ;D

sabia que ser?a esa la respuesta XD
pero no, no lo prob? porque en mi juego los enemigos aun no funcionan porque ni siquiera la view anda bien (aunque tenga bastante del juego hecho) asi que, solo me quedaba abrir un nuevo editable y armar un peque?o ejemplo pa probar algo parecido pero la pereza me pudo y poste? aqu? :-[

Lo que quiero es, en el create poder poner muchas variables que hagan diferente al enemigo, no solo por el sprite si no por su comportamiento y equipamento, asi como posibles hechizos o armas arrojadizas 8) bueno.. eso es la idea luego habra q verlo en la practica xD

Deber?as definir las variables en el evento create del parent, poni?ndoles un valor gen?rico:
[gml]vida = 6;
dano = 3;[/gml]
Despu?s, si cre?s un objeto, le asign?s ese parent, y no le pon?s evento create, el objeto hereda el create del parent y por lo tanto tiene la variable "vida" con valor 6 y la variable "dano" con valor 3.
Si quer?s que tenga un valor distinto, us? esto en create:
[gml]event_inherited();  // Esto ejecuta el create del parent.
vida = 5;[/gml]
Ah? tendr?a "dano" con valor 3 pero "vida" con valor 5.
Vim.

#4 Agosto 23, 2011, 10:46:42 PM Ultima modificación: Agosto 23, 2011, 10:50:13 PM por sbs91
OK! esa era la respuesta que quer?a
gracias :-[

luego, no creo que haya problema para tratar todas las colisiones de cualquier enemigo con el Enemy_parent...no? tipo, un enemigo choca con una flecha, pongo codigo en la colision Enemy_parent con flecha y ya afecta a todos si?


y por ?ltimo: si el "player" tiene un evento de colision con "Enemy_parent" (en ese sentido y no al rev?s) tambien afectar?a a todos los enemigos? (creo que si)... tengo un poco verde esto de los parents xD el problema es q no podre probarlo hasta pasado un tiempo y si lo hago mal luego seria fustrante arreglarlo !

La respuesta es "s?" a ambas cosas.

Por cierto, antes se me hab?a pasado: en el primer post del tema pon? el ?cono de la versi?n de GM que us?s.
Vim.

Ok gracias
en este caso es  :GM5: , normalmente uso  :GM7: y como vale para los dos por eso puse "pregunta general" ; ahora lo cambio