Med hjälp av Tweak bearbetning biblioteket (3 / 4 steg)

Steg 3: Hur justera verk



För de nyfikna om vad som pågår bakom kulisserna här är lite om hur Tweak fungerar. Kan du ju Visa alla Tweak koden direkt (och ändra förlänga etc.) genom att Visa källan i filen Tweak.pde.

Begreppsmässigt Tweak består av två delar: den Tweak Panel (som visar variabler och tillåter användare att interagera och byta dem) och en klass struktur som möjliggör gemensamma (eller kombinerad/komplexa) variabeltyper att dela en uppsättning metoder för visning manipulation och gränserna kontroll.

Panelen Justera sträcker sig en JFrame och möjliggör ett nytt fönster skapas där variabler visas. En handfull på interaktion koden som hanterar musen klickar drar och rullning (om du har massor av variabler!).

Nu låt oss ta en titt på hur en Tweak typ (till exempel TweakInt TweakFloat TweakBool och TweakPoint) fungerar.

Alla typer i Tweak förlänga och abstrakt klass TweakParameter. Detta säkerställer att alla Tweak typer kommer att kunna arbeta med panelen Justera. En TweakParameter har en beskrivning ett sätt att öka/minska en variabel gränser kontroll och en sträng värde. Varje Tweak typ tar en bit kod men allt är ganska rakt framåt.

Här är vad TweakInt ser ut:

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

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;
}
}
}

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

Här samma strukturen kan du skapa din egen Tweak typer. Grundläggande typer (såsom dubbel lång Char etc.) kan byggas mycket lik TweakInt men det finns ingen anledning att stanna där. Mer komplexa typer kan också skapas som fungerar med flera variabler och har inre tillstånd eller kommunicera med andra Tweak variabler.

Om du är intresserad av att bygga din egen Tweak typer finns i filen Tweak.pde (några av de andra typerna kan också hjälpa som den TweakPoint som kontrollerar två variabler X och Y på samma gång).

Se Steg
Relaterade Ämnen

Hur man skapar en CD med låtar från iTunes-biblioteket att lyssna på i bilen?

Om du någonsin velat ha en CD med din favoritmusik från iTunes-biblioteket, så du kan enkelt lyssna dem medan du är på en lång resa med din bil, till exempel är detta sätt att göra det.Steg 1: Öppna iTunes När programmet är öppet, sätt in en tom CD/D...

Remote control 4 relä med Arduino via WIFI (touchOSC + bearbetning)

Hej, jag är inte engelsk tal så du förstår mina misstag.Min var bara en idé, jag var nyfiken, jag googlade några timmar men det var ett problem: Jag har inte hittat en färdiga script :)Jag startade från ett skript på en webbsida, men det gjordes för...

Sex ansikte Skanna kamerarigg (med 123DCatch / Sony för bearbetning)

jag ombads nyligen att bygga "något roligt" för en science museum.Eftersom jag var redan midjan djupt i världen av fotogrammetri på arbete (rekonstruktion av 3D-data från fotografier), jag bestämde mig att bygga en kamerarigg för att fånga ansik...

Arduino / bearbetning - HC-SR04 RADAR med bearbetning & Arduino

Hej världen! Idag gjorde jag en cool liten MiNi RADAR upptäcker objekt och visar den på datorn med hjälp av den bearbetning IDE & Arduino. Kolla in nästa steg för den schematiska reservdelslista & koder.Du behöver 2 IDE.Arduino IDEBearbetning IDEI...

Bearbetning med hjälp av proteus arduino modell

Denna ansökan Obs beskriver hur du använder bearbetning medLabCenter Proteus programvara för att simulera Arduino genom en virtuell COMPort.Det förutsätts att användaren är bekant med Proteus, ArduinoIDE och bearbetning IDE.Vad du behöver:LabCenters...

Hur man gör en fjärrkontroll kännande web-docka av hacka Twitter, Google, Skype, Arduino och bearbetning!

Hur att manipulera ett fysiskt objekt över webben bara genom att använda gemensamma webbtjänster och tillgängliga data feeds, med några lagt till öppen källkod grejer att avkoda och manipulera data, och slutligen använda data för att flytta och styra...

Pan / Tilt ansiktsspårning med raspberry pi

med viss ansträngning har jag funnit att styra två servomotorer för att tillåta en webbkamera för att pan/tilt vid spårning av ett ansikte i realtid med raspberry pi inte så omöjligt som det först verkar. Med vissa försiktiga tweaking och kod optimer...

Ansluter en Kinect till datorn (med hjälp av Ubuntu)

Jag har tittat Kinect hacks online för de senaste månaderna och gillade dem verkligen. Jag började nyligen att tänka att jag skulle typ av vilja arbeta med det själv, se vilka typer av saker jag skulle kunna göra och göra, och bestämde mig för att få...

Prototyping trolldom med SPACEBREW

de största prototyping utmaningarna är att skapa ett robust nätverk som möjliggör kommunikation över många produkter (Arduino, iPhone, bearbetning, OpenFrameworks, web browser, etc).SPACEBREW är en extremt kraftfull socked-baserade verktyg som skapat...

Arduino lins Controller - synkroniseras Zoom/fokus med Wii Classic Controller

min Lumix GH2 Micro Four Thirds kamera skjuter inte bara fantastiskt hög definitionen video, men med billiga adaptrar kan jag använda den med äldre manuella objektiv som är billig och ofta mycket hög kvalitet. Jag skjuter en hel del prestanda videor...

Levande ISS tracker med Raspberry Pi med en SenseHat (uppdaterad)

Uppdatering: en annan funktion har lagts till: nästa gång ISS kommer att flyga över platsen för RPI.Beskrivning av funktionen läggs till i steg 2.--------------------------------------------------------------------------------------------------------...

TV KONTROLLERBAR fjärrdatorn MP3 spelare använder ARDUINO och bearbetning

Hej var och en. här visar jag min projekt TV kontrollerbar fjärrdatorn MP3 spelare med bearbetning programvara och arduino ombord. Denna projektidé är baserad på att kontrollera datorn med TV-fjärrkontrollen. I detta projekt skapade jag egna MP3-spel...

SimpleTweet_00 bearbetning

Arduino bearbetning TwitterSkicka en tweet när sensorn ändras stater, med hjälp av Arduino, bearbetning och twitter4j.Obs: Jag har en Python version av projektet här:I videon ser du två rader visas. De ser ut så här:ny tweet--: {öppnade dörren vid 14...

3a variabel bänk PSU med digital avläsning på färgskärmen med ATMEGA8

Jag spelar med elektronik sedan jag var barn och gjort många kretsar. Men fortfarande nu, jag gjort inte någon strömförsörjning för allmänna ändamål använda. Så trött på att göra PSU för varje krets, beslöt jag att göra en stabil bänk PSU för allmänn...

Skapa din egen Simon Says game med DIY Electro degen och Arduino!

Komma igångMålet med detta Instructable är att förvandla din electro degen till en kapacitiv touch-knapp med Arduino med hjälp av CapSense arduino biblioteket och sedan använde för att skapa en Simon Says spel. Vi kommer att använda en kapacitiv star...

Hur du skapar din egen kapacitiv touch flygplan med electro deg!

Komma igångMålet med detta Instructable är att förvandla din electro degen till en kapacitiv touch-knapp med Arduino med hjälp av CapSense arduino biblioteket.Du behöver:Start Arduino KitInuti din startar Arduino Kit hittar du:Hoppare ledningar8 x LE...

Arcrylic geodetisk kupol med LDR belysningssystem

Geodetisk kupol - IntroÄr en av de starkaste strukturerna i världen.Uppfanns av en amerikansk man kallas R.Buckminister Fuller.Det definieras som den lättaste, starkaste och mest kostnadseffektiva struktur någonsin utarbetats. Det bildas av ett nätve...

Experiment i avancerade dataloggning (med Python)

Det finns en hel del uppgifter loggar instructables, så när jag ville bygga ett loggning projekt av min egen jag tittat runt på ett gäng. Några var bra, några inte så mycket, så jag bestämde mig att ta några av de bättre idéerna och göra min egen ans...

Marknadsföring med enkel IoT enheter

Detta instructable kommer att omfatta skapandet av Inno, en trä robot-sett idol, som fungerar som ett Sakernas Internet marknadsföring medium, för ett nytt pedagogiska initiativ på programmet programvaruteknik och förvaltning, i Göteborgs universitet...