Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: alex on January 08, 2013, 12:04:34 AM

Title: problema con tipodefinidos (type) como parametros
Post by: alex on January 08, 2013, 12:04:34 AM
Hola, queria pasar un TDU como parametro de un proceso, pero me tira un error:
personaje.h:7: error: Incorrect number of parameters. Function: CAMARA_CONTROL MinParams: 0. ( token error: ")" ).

Adjunto todo el codigo, el problema esta en personaje.h y las variables en datos.h.
Title: Re:problema con tdu parametros
Post by: SplinterGU on January 08, 2013, 12:51:43 AM
que es un TDU?
Title: Re:problema con tdu parametros
Post by: alex on January 08, 2013, 01:07:23 AM
Asi es como llamaba osk en su tuto a los tipodefinidos, perdon por no ser muy exacto
Cambio el nombre si queres
Title: Re:problema con tipodefinidos (type) como parametros
Post by: KeoH on January 08, 2013, 01:26:16 AM
no tengo idea .. pero lo q parece es q te pide q la funcion q esta el la linea siete no pide los dos parametros q le estas metiendo
Title: Re:problema con tipodefinidos (type) como parametros
Post by: DCelso on January 08, 2013, 07:58:45 AM
Al revés, de lo que dice keoh, falta que le pases el objetivo. ( que no sé lo que representa, pero conforme lo tienes definido en el proceso es una posición 3d)
Quote
Process Personaje()
Begin
     //M8e_addzipfile("");
    objectmain.model=M8e_loadanimodel("Personaje.md3");
    objectmain.texture=M8e_loadtexture("Personaje.png");
    M8e_loadtexmodel(objectmain.model,objectmain.texture);
    camara_control();
    Loop
        if(Key(_s))
            objectmain.rot.z=180;
            objectmain.Pos.y+=3;
        end
        if(Key(_w))
            objectmain.rot.z=0;
            objectmain.Pos.y-=3;
        end
        if(Key(_a))
            objectmain.rot.z=270;
            objectmain.rot.z=-90;
            objectmain.Pos.x+=3;
        end
        if(Key(_d))
            objectmain.rot.z=90;
            objectmain.Pos.x-=3;
        end
        M8e_posmodel(objectmain.model,objectmain.Pos);
        M8e_modelrotation(objectmain.model,objectmain.rot);
        frame;
    End
End

Process camara_control(_pos3D pointer objetivo)
Private
    _Pos3D angleroot;
end
Begin
    cam3.cam=M8e_Addcam(cam3.Pos.x,cam3.Pos.y,cam3.Pos.z,objetivo.x,objetivo.y,objetivo.Pos.z);
    //father.cam1.cam=M8e
    Loop
        if(Key(_up))
            angleroot.z++;
            //cam3.Pos.z+=3;
        end
        if(Key(_down))
            //cam3.Pos.z-=3;
        end
        cam3.Pos.y=objetivo.y+200;
        M8e_Camtarget(cam3.cam,objetivo.Pos);
        M8e_posmodel(cam3.cam,cam3.Pos);
        frame;
    end
end

/*Function Calculacircle(_Pos3D pointer coordinates, int radius, int angle)
Private
    _Pos3D nuevo;
end
Begin*/
Title: Re:problema con tipodefinidos (type) como parametros
Post by: DCelso on January 08, 2013, 08:02:50 AM
Por TDU, ¿no te referirás a TDA ( Tipo de Dato Abstracto)?, ¿no habrás leído mal? O quizás esté confundido el manual.  ;)

http://es.wikipedia.org/wiki/Tipo_de_dato_abstracto

En inglés (ADT: Abstract Data Type).



Title: Re:problema con tipodefinidos (type) como parametros
Post by: DCelso on January 08, 2013, 08:10:01 AM
Vale, me respondo, sí.
Vi que osk llama a los TDA. TDU, tipos definidos por el usuario ;)

También vi que existen referencias a TDU en libros de programación para visual basic y Delphi.

Así que debe ser válido el concepto :D, Mira que habré leído veces el manual, pues no recuerdo haberme fijado nunca en esta apreciación.
Title: Re:problema con tipodefinidos (type) como parametros
Post by: SplinterGU on January 08, 2013, 12:14:14 PM
imgino que TDU = tipo (de datos) definido por el usuario.

TDA en la wiki (que paso DCelso) es otra cosa...
Title: Re:problema con tipodefinidos (type) como parametros
Post by: SplinterGU on January 08, 2013, 12:15:44 PM
la funcion debe ser escrita antes de su uso, o previamente declarada.
Title: Re:problema con tipodefinidos (type) como parametros
Post by: alex on January 08, 2013, 02:25:49 PM
Muchas gracias Splinter y dcelso, lo cambiare en cuanto pueda y os cuento
Title: Re:problema con tipodefinidos (type) como parametros
Post by: alex on January 08, 2013, 02:54:23 PM
Lo siento por hacer esta pregunta tan tonta, ni siquiera me acordaba de que habia declarado el proceso para la variable publica, no puse en la cabecera del proceso el parametro por eso no compilaba. Gracias, ahora puedo seguir.
PD: Splinter no es por declarar el proceso, si no lo declaro tampoco pasa nada, es por el mal uso que hacia yo del declare, estaba engañando al compilador diciendo que no tenia parametros.
Title: Re:problema con tipodefinidos (type) como parametros
Post by: SplinterGU on January 08, 2013, 03:30:12 PM
bueno, cuando digo declararlo, me refiero a declararlo correctamente...