Bienvenido(a), Visitante. Favor de ingresar o registrarse.

Ingresar con nombre de usuario, contraseña y duración de la sesión

 
Búsqueda Avanzada

2306 Mensajes en 1173 Temas- por 424 Usuarios - Último usuario: Alcestis

Septiembre 09, 2010, 17:55 h.
.: visualp5.net :. la comunidad de processing en castellanoprocessingtrucos setLocation en 2D y setUndecorated
Páginas: [1]
Imprimir
Autor Tema: setLocation en 2D y setUndecorated  (Leído 4577 veces)
albagcorral
administrador
Hero Member
*****
Mensajes: 418


:: cárgame en tu imaginación :.

janebeta7@hotmail.com
Ver Perfil WWW Email
« en: Marzo 10, 2008, 23:05 h. »

Inauguro este tema del foro. Creía conveniente que hubiera un apartado para todas aquellas cosillas que pueden ayudar a otros.

Llevaba tiempo intentando poder localizar el sketch con setLocation sin utilizar el OPENGL. - mi trasto portatil no lo soporta bien -

Con OPENGL -librería para utilizar 3D y las funcionalidades del sistema gráfico OPENGL  es bastante sencillo

Marius Watz lo explica en su blog

http://workshop.evolutionzone.com/2007/01/10/code-framesetundecoratedtrue/


import processing.opengl.*;

void setup(){
  size(400,400,OPENGL);
  background(0);
  frame.setLocation(0,0); // needs to be in setup(), not init()
}

void draw(){
  stroke(255);
  line(0,0,200,200);


public void init() {
  frame.setUndecorated(true); // works.

  // call PApplet.init() to take care of business
  super.init();
}


El problema era si queríamos hacer esto mismo pero sin utilizar OPENGL.

Tenía primero que colocar el sketch en la pantalla reproduciendolo desde el IDE, comentando la línea de arriba, y luego descomentándola. Fatal,porque solo podía ejecutar los skecth desde el programa.

NEcesitaba saber la manera de localizar el sketch directamente, y así poder crearme una aplicacion EXE, sin borde y situada donde yo quisiera. En mi caso

frame.setLocation(1024,0)

El ancho de píxeles de mi pantalla primaria: 1024.

Y encontré la solución:

import processing.opengl.*;
void setup(){
  size(400,400);
  background(0);
 // An undecorated frame
 frame.setUndecorated(true);
}

void draw(){
 frame.setLocation(0,0); // se coloca en el draw()
  stroke(255);
  line(0,0,200,200);
}



- Hay que importar la librería OPENGL aunque no se utilice 
- frame.setLocation() se pone en el draw();

encontré aquí la solución

http://itp.nyu.edu/varwiki/BigScreens/FullScreenHacks

nota:todo esto probado en pc.

Alguien más tiene truquillos que mostrar?


   
« Última modificación: Marzo 10, 2008, 23:06 h. por albagcorral » En línea

albagcorral
administrador
Hero Member
*****
Mensajes: 418


:: cárgame en tu imaginación :.

janebeta7@hotmail.com
Ver Perfil WWW Email
« Respuesta #1 en: Noviembre 01, 2008, 03:51 h. »

Hola! estoy actualizando mis skecthes de proyección para la versión 0154 y me encuentro el error siguiente:

Exception in thread "Animation Thread" java.awt.IllegalComponentStateException: The frame is displayable.
at java.awt.Frame.setUndecorated(Unknown Source)


al igual que les pasa a otrossojamo ha dado la solución. Magnífico!

salu2




public void init(){
  // to make a frame not displayable, you can
  // use frame.removeNotify()
  frame.removeNotify();
 
  frame.setUndecorated(true);
 
  // addNotify, here i am not sure if you have 
  // to add notify again. 
  frame.addNotify();
  super.init();
}
En línea

Páginas: [1]
Imprimir
Ir a: