Uso de la biblioteca de procesamiento de Tweak (3 / 4 paso)

Paso 3: Cómo modificar obras

Para los curiosos acerca de lo que está sucediendo detrás de las escenas aquí es un poco acerca de cómo funciona el Tweak.  Usted puede supuesto ver todo el código Tweak directamente (y modificar extender etc.) mediante la visualización de la fuente en el archivo Tweak.pde.

Expresiones Tweak se compone de dos partes: el Panel modificar (que muestra las variables y permite a los usuarios interactuar y cambiar) y una estructura de clase que permite para que tipos de variables comunes (o combinados y complejos) compartir un conjunto de métodos para la visualización de manipulación y límites de control.

El Panel de modificar se extiende un JFrame y permite una nueva ventana para crear donde se muestran las variables.  Hay un puñado en código de interacción que maneja clics arrastra y desplazamiento (en caso de tener un montón de variables!).

Ahora echemos un vistazo a cómo un tipo Tweak (como TweakInt TweakFloat TweakBool y TweakPoint) funciona.

Todos los tipos de Tweak extender y clase abstracta TweakParameter.  Esto asegura que todos los tipos de Tweak será capaces de trabajar con el Panel de modificar.  Un TweakParameter tiene una descripción una manera para incrementar o disminuir una variable límites control de y una cadena de valor.  Cada tipo de Tweak toma un poco de código pero todo es bastante sencillo.

Esto es lo que parece el TweakInt:

------------------------------

class TweakInt extends TweakParameter{
  int origVal;
  int val;
  int maxVal;
  int minVal;
  int step;
  public TweakInt(String desc int val int step int minVal int maxVal){
    this.val     = val;
    this.origVal = val;
    this.minVal  = minVal;
    this.maxVal  = maxVal;
    this.step    = step;
    this.desc    = desc;
    tweakParamList.add(this);
    tweak_initParamManagerIfNeeded();
  }
  public TweakInt(String desc int val int step){
    this(desc val step -Integer.MAX_VALUE Integer.MAX_VALUE);
  }
  public TweakInt(String desc int val){
    this(desc val 1);
  }
  boolean supportsX(){
    return true;
  }
  boolean supportsY(){
    return false;
  }
  void incX(){
    val += step;
  }
  void decX(){
    val -= step;
  }
  void incY(){
  }
  void decY(){
  }
  int equalToOriginalValue(){
    if(val < origVal){
      return -1;
    }
    else{
      if(val > origVal){
        return +1;
      }
      else{
        return 0;
      }
    }
  }
  String valString(){
    return ""+val;
  }
  void keepInBounds(){
    if(val > maxVal){
      val = maxVal;
    }
    if(val < minVal){
      val = minVal;
    }
  }
}

------------------------------

Usando esta misma estructura de usted puede crear sus propios tipos de Tweak.  Tipos básicos (como doble largo Char etc.) puede ser construido muy similar a la TweakInt pero no hay que parar allí.  Tipos más complejos pueden también crearse ese trabajo con múltiples variables y estado interno o comunican con otras variables del Tweak.

Si usted está interesado en la construcción de sus propios tipos de Tweak consulte el archivo Tweak.pde (algunos de los otros tipos también pueden ayudar a como el TweakPoint que controla dos variables X e Y al mismo tiempo).

Artículos Relacionados

Un sistema de visión incorporado apoyando el cuidado del hogar para convalecientes o ancianos personas

Un sistema de visión incorporado apoyando el cuidado del hogar para convalecientes o ancianos personas

Nuestro objetivo era implementar un sistema de visión software hardware destinado al cuidado del hogar de personas mayores o convalecientes.El proyecto se basa en el análisis visual del comportamiento de la persona. El sistema permite para detectar l
Proclipsing: Usando el IDE Eclipse para el procesamiento de proyectos

Proclipsing: Usando el IDE Eclipse para el procesamiento de proyectos

es una herramienta fantástica para conseguir no programadores cómodos con la programación. Con él, usted puede crear fácilmente aplicaciones de dibujos interactivos y mucho, mucho más. Su fuerza es que puede ser usado multiplataforma (Mac, Win, Linux
Procesamiento de controles R/C coche con módulos XBee

Procesamiento de controles R/C coche con módulos XBee

este instructable es una modificación de mi presentación a la comunidad de Chicago de procesamiento en el laboratorio de visualización electrónica (EVL), Universidad de Illinois en Chicago el 01 de octubre de 2012. En el tema de laSerie de la bibliot
Cómo hacer un control remoto inteligente web-títere por hacking Twitter, Google, Skype, Arduino y procesamiento!

Cómo hacer un control remoto inteligente web-títere por hacking Twitter, Google, Skype, Arduino y procesamiento!

Cómo manipular un objeto físico en la web sólo mediante el uso de servicios comunes de la web y sus datos de acceso se alimenta, con alguno añadido abrir cosas fuente para decodificar y manipular los datos y, en definitiva, utilizar los datos para mo
Secuencias de comandos de procesamiento con MIDI

Secuencias de comandos de procesamiento con MIDI

Procesamiento es quizás mejor conocido como un generador de gráficos y sonido, pero sus bocetos no sólo crear mensajes MIDI pero Escuchar para ellos también.Los mensajes MIDI pueden venir de no solo un teclado MIDI estándar, sino de otras aplicacione
Cómo instalar una biblioteca en MPIDE

Cómo instalar una biblioteca en MPIDE

MPIDE es un entorno de programación para los microcontroladores de 32 bits compatible Arduino en la línea de chipKIT. Para agregar funcionalidad a estos microcontroladores, puede utilizar Pmods o tiras de LED. Para hacerlos más fácil de usar las bibl
Cómo obtener una tarjeta de la biblioteca de San Francisco

Cómo obtener una tarjeta de la biblioteca de San Francisco

Libros gratis! Películas gratis! Música gratis! Clases gratuitas y eventos! Conocimiento libre!¿Donde? En su biblioteca pública local por supuesto.Un montón de recursos están disponible si solo vestidor, pero para poder tomar cosas Inicio o utilizar
Cómo escribir una biblioteca de manera fácil

Cómo escribir una biblioteca de manera fácil

Lo primero es primero no soy un programador o tiene mucho de experiencia programación soy apenas un principiante. Hay muchas maneras de hacer las cosas este es que mi camino es tal vez el camino equivocado pero funciona para mí. Esto es para principi
Lámpara RGB con Custom Moodlamp biblioteca

Lámpara RGB con Custom Moodlamp biblioteca

quería tener una luz RGB fácilmente programable a dejar en un Jack ' O Lantern de Halloween. Quien quiere un mate de calabaza en estos días de calabaza proxenetismo locura. Así que me puse a trabajar construyendo una lata de bolsillo tamaño lámpara R
Uso de XML en la frambuesa Pi con Python

Uso de XML en la frambuesa Pi con Python

Este Instructable discutirá el uso de XML en las aplicaciones de la Raspberry Pi. Paso uno cubre lo que es el formato de las estructuras de datos y XML. Paso dos cubrirá construcción y análisis de XML en Python y paso tres muestra cómo se utiliza XML
Diseño, montaje y verificación de una nanoestructura de Origami de ADN 2D

Diseño, montaje y verificación de una nanoestructura de Origami de ADN 2D

Origami de ADN es un método de usar ADN como material de construcción para crear dos y tres dimensiones estructuras a escala nanométrica. Este método consiste en tomar una larga hebra de ADN como material de base y el uso de muchos filamentos más peq
Rakshak uno: un rover para recopilación de datos y vigilancia con funciones de registro de datos, alertas de voz y medición de la distancia.

Rakshak uno: un rover para recopilación de datos y vigilancia con funciones de registro de datos, alertas de voz y medición de la distancia.

I ntroducciónEste sistema robótico puede controlarse utilizando un GUI usando procesamiento. El rover puede controlarse mediante el envío de comandos a través de la GUI en el portátil. Utiliza los módulos de xbee serie 2 para la comunicación inalámbr
MPU6050: Acelerómetro de Arduino 6 ejes + Gyro - GY 521 prueba y simulación 3D

MPU6050: Acelerómetro de Arduino 6 ejes + Gyro - GY 521 prueba y simulación 3D

¿Está usted buscando para hacer tu propio quadcopter abejón o RC avión con Arduino pero no sabes cómo conseguir el giro de trabajo? ¿Quizás usted ya compró algunos módulos de 6 eje MPU6050 (en las tablas de desglose de GY-521) sólo para descubrir que
Adivino psíquica - un robot que lee la mente de Twitter

Adivino psíquica - un robot que lee la mente de Twitter

Parque de atracciones espeluznante atracción y App de Twitter!El adivino de mente grupal psíquica es una atracción de Feria tipo arcade que puede decirle a su fortuna. Incluso mejor que aunque - también es una aplicación de Twitter conectado a la red