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.
que es un TDU?
Asi es como llamaba osk en su tuto a los tipodefinidos, perdon por no ser muy exacto
Cambio el nombre si queres
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
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*/
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).
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.
imgino que TDU = tipo (de datos) definido por el usuario.
TDA en la wiki (que paso DCelso) es otra cosa...
la funcion debe ser escrita antes de su uso, o previamente declarada.
Muchas gracias Splinter y dcelso, lo cambiare en cuanto pueda y os cuento
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.
bueno, cuando digo declararlo, me refiero a declararlo correctamente...