problema con tipodefinidos (type) como parametros

Started by alex, January 08, 2013, 12:04:34 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

alex

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.

SplinterGU

Download Lastest BennuGD Release: http://www.bennugd.org/node/2

alex

#2
Asi es como llamaba osk en su tuto a los tipodefinidos, perdon por no ser muy exacto
Cambio el nombre si queres

KeoH

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

DCelso

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*/
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

DCelso

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).



Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

DCelso

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.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

SplinterGU

imgino que TDU = tipo (de datos) definido por el usuario.

TDA en la wiki (que paso DCelso) es otra cosa...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

SplinterGU

la funcion debe ser escrita antes de su uso, o previamente declarada.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2

alex

Muchas gracias Splinter y dcelso, lo cambiare en cuanto pueda y os cuento

alex

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.

SplinterGU

bueno, cuando digo declararlo, me refiero a declararlo correctamente...
Download Lastest BennuGD Release: http://www.bennugd.org/node/2