XML Feeds

.

[javascript-dev] error returned in max window

Derrick Giscloux derrickgiscloux at free.fr
Sun Oct 28 05:23:32 MDT 2007


Hi JSlist !

I'm new in JS.
It's really hard to start and I try to see clear.
Goal of my script is to change the color and shape of a jit.gl.gridshape object named "geometrie" when I clic on it through the jit.window named "visu".

I put a JitterListener and a callback function.

Max return an error that seems incorrect to me :
? error: js: gltest4.js: Javascript ReferenceError: visu is not defined, line 49

Sure "visu" is defined.

Please could you have a look at my script.

Thanks


//JS
// //////////instantiation des objets jitter///////////////

//objet jit.window
var win = new JitterObject("jit.window", "visu");
win.depthbuffer = 1;
win.floating=1;
win.size = [320,240];

//objet jit.gl.render
var ren = new JitterObject("jit.gl.render","visu");

//objet jit.gl.gridshape
var geometrie = new JitterObject("jit.gl.gridshape","visu");
geometrie.scale =[1.,  1., 1.];
geometrie.depth_enable = 1;
geometrie.smooth_shading = 1;
geometrie.color =[.2, .6, .3];
geometrie.lighting_enable = 1;
geometrie.shape = "cube";


/////////implantation de la fonction du métronome : rendre////////////
function bang()
{
	ren.erase();
	ren.drawswap(); // necessaire pour rafraichir...semble-t-til!
	
}


// //////////////////////ajout de fonctions//////////////////////


function forme(a)
{
geometrie.shape= [a];
}


function taille(x,y,z)
{
geometrie.scale =[x,y,z];
}



function couleur(r,g,b)
{
geometrie.color=[r,g,b];
}





/////////Instanciation d'un listener des actions de la souris sur "visu"////////
//getregisteredname() est la  propriété qui nous renvoie le nom par lequel l'objet cliqué sera accessible par le listener (ici "visu")
//moncallback = fonction qui sera appelée lorsqu'une action a effectivement lieu

	var listener = new JitterListener(visu.getregisteredname(),moncallback);



//création de la fonction de callback = capturer les clic de la souris 

function moncallback(event)
{
		var monbouton;  //déclaration de la variable button
		if (event.eventname=="mouse")  //lorsque je clic dans la window  le prefix mouse va précéder x, y ou 1/0 pour clic. La propriété event se charge de ce mot clé. On attribut au mot clé "mouse" la méthode "eventname".

		{
		monbouton = event.args[2]; //je ne veux que le 2ème argument (0=x,1=y et 2=clic)
			if (button) // Si on a cliqué...alors
				{ 
				geometrie.color =[.6, .2, .2]; // changer la couleur
				geometrie.shape = "torus"; // changer en anneau
				} 
				
			else // Si on a relaché
				{ 
				geometrie.color = [.2, .7, .3]; // revenir à la couleur d'origine
				geometrie.shape = "cube"; // revenir à la forme d'origine : un cube
				} 
		} 
}



//

here's the patch :

max v2;
#N vpatcher 658 72 1153 398;
#P origin -20 -39;
#P window setfont "Sans Serif" 9.;
#P newex 20 97 80 196617 prepend symbol;
#P user ubumenu 21 78 94 196617 0 1 1 0;
#X add sphere;
#X add torus;
#X add cylinder;
#X add opencylinder;
#X add cube;
#X add opencube;
#X add plane;
#X add circle;
#X prefix_set 0 0 <none> 0;
#P message 20 117 52 196617 forme \$1;
#P message 16 213 65 196617 autowatch 1;
#P user swatch 233 47 128 32;
#P newex 233 103 81 196617 vexpr $i1/255.;
#B color 2;
#P newex 233 82 51 196617 pak 0 0 0;
#P newex 233 125 61 196617 pak 0. 0. 0.;
#P message 233 145 88 196617 couleur \$1 \$2 \$3;
#P flonum 267 175 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 242 197 61 196617 pak 0. 0. 0.;
#P message 242 217 78 196617 taille \$1 \$2 \$3;
#P number 137 175 35 9 0 0 0 3 0 0 0 221 221 221 222 222 222 0 0 0;
#P toggle 90 175 15 0;
#P newex 90 197 57 196617 qmetro 20;
#P newex 90 248 66 196617 js gltest4.js;
#P comment 252 233 100 196617 change scale;
#P fasten 15 1 16 0 68 95 25 95;
#P connect 16 0 14 0;
#P connect 3 0 2 0;
#P connect 14 0 1 0;
#P fasten 13 0 1 0 21 232 95 232;
#P connect 2 0 1 0;
#P fasten 5 0 1 0 247 240 95 240;
#P connect 8 0 1 0;
#P connect 4 0 2 1;
#P connect 12 0 10 0;
#P connect 10 0 11 0;
#P connect 11 0 9 0;
#P connect 9 0 8 0;
#P connect 7 0 6 0;
#P connect 6 0 5 0;
#P connect 7 0 6 1;
#P connect 7 0 6 2;
#P pop;



More information about the javascript-dev mailing list