Voici mon code source :
Action Script
function f1():void
{
f2("int","support_swf_1");
}
function import_support_swf(id_tg_support:int,type_support_swf:* = null):void
{
support_swf_list[id_tg_support] = new Array();
//Creation du transformgroup et ajout dans le transformgroup principal
var tg_contener:TransformGroup = new TransformGroup("tg_contener");
support_swf_list[id_tg_support][0] = tg_contener;
tg_p.addChild(support_swf_list[id_tg_support][0]);
//Import du fichier 3D support_swf et set apparance
//appel fictif de l'instance pour qu'elle soit compilé
support_swf_1;
//Pourkoi ce if? Car comme sa pour l'instant je continu de coder sans donner de valeur à type_support_swf
var contener:* = new support_swf_1("contener");
if (type_support_swf !== null)
{
contener = new (getDefinitionByName(type_support_swf));
}
//... modifications
Donc à savoir que si je ne précise pas de valeur pour le deuxième argument, tous ce passe bien, mais si je mets "support_swf_1", sa marche pas. Sa me met:
Citation
ReferenceError: Error #1065: La variable support_swf n'est pas définie.
at global/flash.utils::getDefinitionByName()
at principal/::import_support_swf()
at principal/::D_init()
at principal$iinit()
at global/flash.utils::getDefinitionByName()
at principal/::import_support_swf()
at principal/::D_init()
at principal$iinit()
Puisque tout marche si ma class n'est pas celle que j'utilise ici, je me demande bien d'ou sa peu venir.
Merci d'avance pour votre aide. Je pense surtout à toi kikourou qui a peut être une idée d'où sa peu venir.
Je poste aussi le début de mon model.as si sa peu aider :
Action Script
internal class support_swf extends Shape3D implements Primitive3D
{
private var l:Geometry3D ;
private function v(x:Number,y:Number,z:Number):void
{
l.setVertex(l.getNextVertexID(),x,y,z );
}
private function vn(nx:Number,ny:Number,nz:Number):void
{
l.setVertexNormal(l.getNextVertexNormalID(),nx,ny,nz );
}
private function uv(u:Number,v:Number):void
{
l.setUVCoords(l.getNextUVCoordID(),u,v);
}
private function f(vn0:int, vn1:int, vn2:int, uvn0:int, uvn1:int,uvn2:int):void
{
l.setFaceVertexIds(l.getNextFaceID(), vn0, vn1,vn2);
l.setFaceUVCoordsIds( l.getNextFaceUVCoordID(), uvn0,uvn1,uvn2);
}
public function support_swf( p_Name:String=null )
{
super( p_Name ) ;
geometry = generate() ;
}
public function generate(... arguments):Geometry3D
{
l = new Geometry3D();
v(-12.9731,-1.01495,-7.79588);
v(20.8459,-1.01499,-7.79588);
v(-12.9731,-1.01493,7.73014);
v(20.8459,-1.01498,7.73014);
//...//
return (l);
}
}