Bonjour a tous
J'essais d'utiliser ceci, pour créer une fenêtre d'importation (que je vais raccorder a un bouton cp5) mais cela me dit que "selectInput(string,string) is not avaible for the argument... etc
Je vous le copie ici (il n'est pas long):
PImage img; void setup() { size(600, 600); } void draw() { if (img!=null) image(img, 0, 0); } void mousePressed() { String loadPath = selectInput(); // Opens file chooser if (loadPath == null) { // If a file was not selected println("No file was selected..."); } else { // If a file was selected, print path to file println(loadPath); if(loadPath.substring(loadPath.length()-4).equals(".jpg")) img=loadImage(loadPath); } }
Je ne comprend pas...
Deuxième point, J'essais d'utiliser l'importeur OBJ (saito obj loader), et la en utilisant le code suivant j'ai un problème sur la ligne " hint( ENABLE_OPENGL_4X_SMOOTH ); ". Apparement ça ne calcul pas l'ONPENGL? J'utilise la version 2b3 de processing pour info.
import javax.media.opengl.*; import processing.opengl.*; import objimp.*; float aspectRatio = 1; ObjImpScene scene2; void setup() { size( 800, 600, OPENGL ); aspectRatio = width / (float)height; hint( ENABLE_OPENGL_4X_SMOOTH ); smooth(); frameRate( 60 ); scene2 = new ObjImpScene( this ); scene2.load( dataPath("sponza.obj"), 5 ); // scene2.load( dataPath("spheres.obj"), .5 ); } void draw() { float time = millis() * 0.001; background( 0.4*255 ); perspective( PI*.25, aspectRatio, 1, 1000 ); // camera( 10, -10, 10, 0, 0, 0, 0, 1, 0 ); camera( 0, -3, 0, -2*cos(time*.5), sin(time)*2-3, -2*sin(time*.5), 0, 1, 0 );//cam_pos.x, cam_pos.y, cam_pos.z, cam_tar.x, cam_tar.y, cam_tar.z, cam_up.x, cam_up.y, cam_up.z ); // setup light. to do correct lighting you need to set it before any world transformations GL _gl = ((PGraphicsOpenGL)g).beginGL(); setupLight( _gl, new float[]{0, 15, 0}, 1 ); ((PGraphicsOpenGL)g).endGL(); scale( 1, -1, 1 ); // make y axis points up // translate( 0, -10, 0 ); rotateY( radians(mouseX) ); scene2.draw(); } // val is 0 or 1. 0 = directional light, 1 = point light void setupLight( GL g, float[] pos, float val ) { float[] light_emissive = { 0.0f, 0.0f, 0.0f, 1 }; float[] light_ambient = { 0.0f, 0.0f, 0.0f, 1 }; float[] light_diffuse = { 1.0f, 1.0f, 1.0f, 1.0f }; float[] light_specular = { 1.0f, 1.0f, 1.0f, 1.0f }; float[] light_position = { pos[0], pos[1], pos[2], val }; g.glLightfv ( GL.GL_LIGHT1, GL.GL_AMBIENT, light_ambient, 0 ); g.glLightfv ( GL.GL_LIGHT1, GL.GL_DIFFUSE, light_diffuse, 0 ); g.glLightfv ( GL.GL_LIGHT1, GL.GL_SPECULAR, light_specular, 0 ); g.glLightfv ( GL.GL_LIGHT1, GL.GL_POSITION, light_position, 0 ); g.glEnable( GL.GL_LIGHT1 ); g.glEnable( GL.GL_LIGHTING ); g.glEnable( GL.GL_COLOR_MATERIAL ); } void stop() { super.stop(); }
Hors ligne
Je précise, a part le simplifier, je n'ai absolument pas modifier le code que j'ai trouver dans les librairies et le wiki !!!
Hors ligne
salut,
dans la liste des modifs du nouveau P5 il y a:
citation :
selectInput(), selectOutput(), and selectFolder() have all been modified. The old versions have been removed because they were problematic. The new versions use a callback scheme, meaning that you provide the name of a function that will be called after a file has been selected. This is because the file chooser window must operate in a separate thread from the rest of your sketch. The new methods are:
void selectInput(String prompt, String callback);
void selectInput(String prompt, String callback, File file);
void selectInput(String prompt, String callback, File file, Object callbackObject);
An example of using selectInput is below.
void setup() {
selectInput("Select a file to process:", "fileSelected");
}
void fileSelected(File selection) {
if (selection == null) {
println("Window was closed or the user hit cancel.");
} else {
println("User selected " + selection.getAbsolutePath());
}
}
Passing in a File object will provide a default file to be used. Passing in a callbackObject allows you to call a method in a class other than your primary sketch.
c'est mis à jour dans la page reference :
http://www.processing.org/reference/selectInput_.html
À première vue tu ne peux plus utiliser selectInput() sans arguments entre parenthèses...
J'ai l'impression que la page pour hint() a été modifiée également :
http://www.processing.org/reference/hint_.html
les pages du wiki n'ont surement pas été modifiée, tu peux peut être faire remonter le problème ?
+++
Dernière modification par oyster_twiter (2012-10-24 20:01:19)
Hors ligne
Pages: 1