Javalogo 3D Kubus met inputvelden en muisinteracti
Auteur: Ruud - 13 juni 2005 - 21:13 - Gekeurd door: XenoX - Hits: 11141 - Aantal punten: 4.86 (7 stemmen)
Javalogo is een vereenvoudige versie van JAVA. Volgens mij wordt deze versie veelal door scholen gebruikt. Hieronder post ik het script dat ik gemaakt hebt voor het vak informatica. Dit script dien je nog te compileren met een java-compiler. Wanneer je java installeert kun je dit doen:"
1. start > uitvoeren > cmd
2. cd c:/<java root>/bin
3. javac <path naar je .java bestand>
Waarbij de variabelen tussen <> nog verandert moeten worden. Het makkelijkste is om jcreator te downloaden www.jcreator.com, je dient hiervoor wel eerst de sdk te installeren.
Om javalogo te gebruiken dien je ook de classfiles te downloaden dat kan op:
http://www.edu-actief.nl/javalogo/download.htm
De API beschrijving van javalogo kun je hier vinden:
http://informat...kenap3dAPI/
Verder wens ik je veel succes als je een gelijke opdracht als mij moet uitvoeren. Als er iemand addons heeft of gewoon tips hoor ik dit héél graag!!
MVG
Ruud Stelder
|
Code: |
import logotekenap3d.*;
import java.applet.*;
import java.awt.*;
import java.net.*;
import java.awt.Polygon;
public class t32 extends TekenApplet3D
{
InvoerVariabele zijdeInv; //ribben van kubus lenget input veld
SchuifInvoerVariabele groenInv, roodInv, blauwInv; //schuifregelaars kleuren
//variabelen definiëren
double zijde, beginX, beginY, Xdraai, Ydraai,s,beginX1, beginY1, beginX2,
beginY2, beginX3, beginY3;
//Variabele integers definiëren
int blauw,groen,rood,i;
Polygon vlak1,vlak2,vlak3;
boolean raak1,raak2,raak3;
Font f; //font variabele definiëren in klasse
AudioClip muziek;//variabelen aanmaken voor afspelen sound
public void initialiseer()
{
//schuifregelaars initialiseren
roodInv = new SchuifInvoerVariabele("rood",0,255,255);
blauwInv = new SchuifInvoerVariabele("blauw",0,255,255);
groenInv = new SchuifInvoerVariabele("groen",0,255,255);
//zichtbaar maken
maakZichtbaar(roodInv);
maakZichtbaar(blauwInv);
maakZichtbaar(groenInv);
//beginwaarde schuifregelaars instellen
rood = 255;
groen = 255;
blauw = 255;
//invoervariabele zijde defniëren
zijdeInv = new InvoerVariabele("zijde",0,400,150);
maakZichtbaar(zijdeInv);
zijde = 20; //basis zijde definiëren
//muisinteractie regelen
maakMuisActieMogelijk();
beginX = 0;
beginY = 0;
//standaardfont instellen
f = new Font("ZapjDingbats",Font.BOLD,20);
//animatie
maakAnimatieMogelijk();
play();
}
public void tekenprogramma()
{
penUit(); stap(beginX, beginY); penAan();
for(i=0; i<3; i++) //met for lus meerdere objecten genereren
{
xdraai(Xdraai); ydraai(Ydraai); //basisaanzicht definiëren
//voorvlak tekenen
vulAan(rood,blauw,groen); // rgb waarden vlak instellen
stapy(zijde);stapx(zijde);stapy(-zijde);stapx(-zijde);
vulUit();
//benedenvlak tekenen
vulAan(groen,rood,blauw);
stapx(zijde);stapz(zijde);stapx(-zijde);stapz(-zijde);
vulUit();
//linkervlak
vulAan(blauw,groen,rood);
stapz(zijde);stapy(zijde);stapz(-zijde);stapy(-zijde);
vulUit();
//tussenstap
stapx(zijde);
//rechtervlak
vulAan(blauw,groen,rood);
stapy(zijde);stapz(zijde);stapy(-zijde);stapz(-zijde);
vulUit();
//tussenstap
stapz(zijde);
//achtervlak
vulAan(rood,blauw,groen);
stapy(zijde);stapx(-zijde);stapy(-zijde);stapx(zijde);
vulUit();
stapy(zijde); //tussenstap
//bovenvlak
vulAan(groen,rood,blauw);
stapz(-zijde);stapx(-zijde);stapz(zijde);stapx(zijde);
vulUit();
if(i==1) //als het 1 is geef dan vlak 1
{
vlak1 = geefVlak();
}
if(i==2)
{
vlak2 = geefVlak();
}
if(i==3)
{
vlak3 = geefVlak();
}
}
}
public void schuifInvoerVarActie(SchuifInvoerVariabele z)
{
if(z==roodInv) //opvragen stanpunt schuifreglaars kleuren
{
rood = roodInv.geefWaarde();
tekenOpnieuw();
}
if(z==groenInv)
{
groen = groenInv.geefWaarde();
tekenOpnieuw();
}
if(z==blauwInv)
{
blauw = blauwInv.geefWaarde();
tekenOpnieuw();
}
}
public void invoerVarActie(InvoerVariabele x)
{
if(x==zijdeInv)
{
zijde = zijdeInv.geefWaarde();
tekenOpnieuw();
}
}
public void muisDrukActie()
{
int x = geefDrukx();
int y = geefDruky();
raak1 = vlak1.contains(x,y);
raak2 = vlak2.contains(x,y);
raak3 = vlak3.contains(x,y);
}
public void muisSleepActie() //bij slepen standpunt bepalen
{
if(raak1)
{
beginX1 = beginX1 + geefSleepdx();
beginY1 = beginY1 + geefSleepdy();
tekenOpnieuw();
}
if(raak2)
{
beginX2 = beginX2 + geefSleepdx();
beginY2 = beginY2 + geefSleepdy();
tekenOpnieuw();
}
if(raak3)
{
beginX3 = beginX3 + geefSleepdx();
beginY3 = beginY3 + geefSleepdy();
tekenOpnieuw();
}
beginX = beginX + geefSleepdx();
beginY = beginY + geefSleepdy();
tekenOpnieuw();
}
public void animatie() //het daaiende effect, de animatie
{
while(animatieLopend())
{
Xdraai = Xdraai + 0.1;
Ydraai = Ydraai + 0.3;
tekenOpnieuw();
}
}
public void play() // continue afspelen muziek
{
muziek = getAudioClip (getCodeBase(), "spacemusic.au");
muziek.loop();
}
}
// voorbeeld
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Javalogo 3D kubus</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<applet code="t32.class" width="500" height="500" alt="ruud2" title="ruud2">
</applet>
</body>
</html>
import logotekenap3d.*; import java.applet.*; import java.awt.*; import java.net.*; import java.awt.Polygon; public class t32 extends TekenApplet3D { InvoerVariabele zijdeInv; //ribben van kubus lenget input veld SchuifInvoerVariabele groenInv, roodInv, blauwInv; //schuifregelaars kleuren //variabelen definiëren double zijde, beginX, beginY, Xdraai, Ydraai,s,beginX1, beginY1, beginX2, beginY2, beginX3, beginY3; //Variabele integers definiëren int blauw,groen,rood,i; Polygon vlak1,vlak2,vlak3; boolean raak1,raak2,raak3; Font f; //font variabele definiëren in klasse AudioClip muziek;//variabelen aanmaken voor afspelen sound public void initialiseer() { //schuifregelaars initialiseren roodInv = new SchuifInvoerVariabele("rood",0,255,255); blauwInv = new SchuifInvoerVariabele("blauw",0,255,255); groenInv = new SchuifInvoerVariabele("groen",0,255,255); //zichtbaar maken maakZichtbaar(roodInv); maakZichtbaar(blauwInv); maakZichtbaar(groenInv); //beginwaarde schuifregelaars instellen rood = 255; groen = 255; blauw = 255; //invoervariabele zijde defniëren zijdeInv = new InvoerVariabele("zijde",0,400,150); maakZichtbaar(zijdeInv); zijde = 20; //basis zijde definiëren //muisinteractie regelen maakMuisActieMogelijk(); beginX = 0; beginY = 0; //standaardfont instellen f = new Font("ZapjDingbats",Font.BOLD,20); //animatie maakAnimatieMogelijk(); play(); } public void tekenprogramma() { penUit(); stap(beginX, beginY); penAan(); for(i=0; i<3; i++) //met for lus meerdere objecten genereren { xdraai(Xdraai); ydraai(Ydraai); //basisaanzicht definiëren //voorvlak tekenen vulAan(rood,blauw,groen); // rgb waarden vlak instellen stapy(zijde);stapx(zijde);stapy(-zijde);stapx(-zijde); vulUit(); //benedenvlak tekenen vulAan(groen,rood,blauw); stapx(zijde);stapz(zijde);stapx(-zijde);stapz(-zijde); vulUit(); //linkervlak vulAan(blauw,groen,rood); stapz(zijde);stapy(zijde);stapz(-zijde);stapy(-zijde); vulUit(); //tussenstap stapx(zijde); //rechtervlak vulAan(blauw,groen,rood); stapy(zijde);stapz(zijde);stapy(-zijde);stapz(-zijde); vulUit(); //tussenstap stapz(zijde); //achtervlak vulAan(rood,blauw,groen); stapy(zijde);stapx(-zijde);stapy(-zijde);stapx(zijde); vulUit(); stapy(zijde); //tussenstap //bovenvlak vulAan(groen,rood,blauw); stapz(-zijde);stapx(-zijde);stapz(zijde);stapx(zijde); vulUit(); if(i==1) //als het 1 is geef dan vlak 1 { vlak1 = geefVlak(); } if(i==2) { vlak2 = geefVlak(); } if(i==3) { vlak3 = geefVlak(); } } } public void schuifInvoerVarActie(SchuifInvoerVariabele z) { if(z==roodInv) //opvragen stanpunt schuifreglaars kleuren { rood = roodInv.geefWaarde(); tekenOpnieuw(); } if(z==groenInv) { groen = groenInv.geefWaarde(); tekenOpnieuw(); } if(z==blauwInv) { blauw = blauwInv.geefWaarde(); tekenOpnieuw(); } } public void invoerVarActie(InvoerVariabele x) { if(x==zijdeInv) { zijde = zijdeInv.geefWaarde(); tekenOpnieuw(); } } public void muisDrukActie() { int x = geefDrukx(); int y = geefDruky(); raak1 = vlak1.contains(x,y); raak2 = vlak2.contains(x,y); raak3 = vlak3.contains(x,y); } public void muisSleepActie() //bij slepen standpunt bepalen { if(raak1) { beginX1 = beginX1 + geefSleepdx(); beginY1 = beginY1 + geefSleepdy(); tekenOpnieuw(); } if(raak2) { beginX2 = beginX2 + geefSleepdx(); beginY2 = beginY2 + geefSleepdy(); tekenOpnieuw(); } if(raak3) { beginX3 = beginX3 + geefSleepdx(); beginY3 = beginY3 + geefSleepdy(); tekenOpnieuw(); } beginX = beginX + geefSleepdx(); beginY = beginY + geefSleepdy(); tekenOpnieuw(); } public void animatie() //het daaiende effect, de animatie { while(animatieLopend()) { Xdraai = Xdraai + 0.1; Ydraai = Ydraai + 0.3; tekenOpnieuw(); } } public void play() // continue afspelen muziek { muziek = getAudioClip (getCodeBase(), "spacemusic.au"); muziek.loop(); } } // voorbeeld <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Javalogo 3D kubus</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <applet code="t32.class" width="500" height="500" alt="ruud2" title="ruud2"> </applet> </body> </html>
Download code (.txt)
|
|
|
Stemmen |
Niet ingelogd. |
|