Java logo: pijltoetsen gebruiken

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • evanraalte
  • Registratie: December 2008
  • Laatst online: 21:18
Hallo,

Ik ben met NLT (een vak op school) met javalogo bezig. We hebben eigenlijk alleen maar saaie tekeningetjes gemaakt met dit systeem. Uiteindelijk moeten we een eindopdracht inleveren. Ik heb een 3D-model gemaakt wat ronddraaid en vervormbaar is.

Ook heb ik er voor gezorgd dat je het object met behulp van draaix, draaiy en draaiz van alle kanten kan bekijken. Ik verander op dit moment deze waardes met invoervariabelen. Het probleem hiervan is dat je de heletijd met de muis moet klikken en dat vind ik niet zo handig, want ik ben lui:).

Ik dacht toen aan een systeem met de pijltoetsen, zodat je snel en makkelijk (en vloeiend) de figuur van alle kanten kan bekijken. Maar omdat javalogo Nederlands is kun je er niet veel over vinden op internet, dus weet iemand misschien of pijltoetsbesturing mogelijk is? en zo ja, hoe?

Hopelijk kan ik met een beetje hulp van jullie nu een hoog cijfer halen:)

Bedankt _/-\o_


PS: java logo is een onderdeel van java, dus misschien is een niet-java logo achtige manier de oplossing, maar hoe regel ik dat dan met de pijltoetsen?

[ Voor 7% gewijzigd door evanraalte op 23-04-2010 21:44 ]


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Al eens gewoon gezocht en het geprobeerd? Ik ken "JavaLogo" niet maar 't lijkt me op je beschrijving afgaande niet meer dan een schil om Java die wat zaken uit je handen neemt?

[ Voor 38% gewijzigd door RobIII op 23-04-2010 22:01 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
RobIII schreef op vrijdag 23 april 2010 @ 22:01:
Ik ken "JavaLogo" niet maar 't lijkt me op je beschrijving afgaande niet meer dan een schil om Java die wat zaken uit je handen neemt?
offtopic:
Al eens gezocht en javalogo gevonden? :+ ;)

Tsja, wat je wil kan vast, aangezien javalogo een library voor java blijkt te zijn, als ik zo naar dit lesmateriaal kijk en naar de Visual J++ verwijzing. In een java-applet kan dit gewoon. Ik ben er enkel niet zo voor om je zonder werk een hoog cijfer te laten halen, dus succes hierbij. ;)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Hij heeft huiswerk, hij heeft een vraag. Ik niet. ;)

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Ik heb me trouwens bedacht. Toch even, analoog aan javalogo:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.applet.*;
import java.awt.event.*;
public class AppletTest extends Applet { //moet dus TekenApplet3D worden
    public void maakToetsActieMogelijk() { //net zoals maakMuisActieMogelijk()
        addKeyListener(new KeyListener() {
            public void keyPressed(KeyEvent e) {
                int code = e.getKeyCode();
                if (code == KeyEvent.VK_LEFT) {
                    toetsLinksActie();
                } else if (code == KeyEvent.VK_RIGHT) {
                    toetsRechtsActie();
                } else if (code == KeyEvent.VK_UP) {
                    toetsOmhoogActie();
                } else if (code == KeyEvent.VK_DOWN) {
                    toetsOmlaagActie();
                }
            }
            public void keyReleased(KeyEvent e) {
            }
            public void keyTyped(KeyEvent e) {
            }
        });
    }
    public void init() { //alleen om te testen
        super.init();
        maakToetsActieMogelijk(); //de test
    }
    public void toetsOmhoogActie() {
        showStatus("omhoog"); //hier kan dus iets anders
    }
    public void toetsOmlaagActie() {
        showStatus("omlaag"); //hier kan dus iets anders
    }
    public void toetsLinksActie() {
        showStatus("links"); //hier kan dus iets anders
    }
    public void toetsRechtsActie() {
        showStatus("rechts"); //hier kan dus iets anders
    }
}

Toch jammer, zo alles in het Nederlands, en closed source. Was alice niet leuker geweest? :p

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

Verwijderd

pedorus schreef op zaterdag 24 april 2010 @ 14:23:
Toch jammer, zo alles in het Nederlands, en closed source. Was alice niet leuker geweest? :p
AAAARGH
dat programma crasht echt te vaak, gelukkig maakt het programma elke 15 minuten een backup, want dat heb je echt (heel erg vaak) nodig.

plus, voor diegene onder ons die al C/php/whatver kunnen is alice veel te beperkt, je kan niets eens de wortel trekken 8)7

Acties:
  • 0 Henk 'm!

  • Bozozo
  • Registratie: Januari 2005
  • Laatst online: 20-02 16:10

Bozozo

Your ad here?

...maar waarschijnlijk wel verheffen tot de macht 1/2 ;)

TabCinema : NiftySplit


Acties:
  • 0 Henk 'm!

Verwijderd

nee, zelfs dat niet 8)7

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 01:47
Als ik de voorbeeldcode zo zie, dan is die LogoApplet een subklasse van Java's eigen Applet. Daarvan is gelukkig wél documentatie beschikbaar (in het Engels). Je kunt in je LogoApplet alle methoden van Applet gebruiken en je kunt dus ook een keylistener registreren.

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
offtopic:
Tsk, een echte tweaker gebruikt dan gewoon een algoritme.. :+

Ik heb verder geen ervaring met Alice, het zag er wel leuk uit en stond in de comments van nieuws: Microsoft wil kinderen laten programmeren met Boku. Het maakte in ieder geval een betere indruk op me dan dit javalogo.. :p
Soultaker schreef op zaterdag 24 april 2010 @ 17:05:
Als ik de voorbeeldcode zo zie, dan is die LogoApplet een subklasse van Java's eigen Applet. Daarvan is gelukkig wél documentatie beschikbaar (in het Engels). Je kunt in je LogoApplet alle methoden van Applet gebruiken en je kunt dus ook een keylistener registreren.
Van JavaLogo is ook javadoc beschikbaar: http://vaklokalen.develst...avalogo/logotekenap3dAPI/

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • evanraalte
  • Registratie: December 2008
  • Laatst online: 21:18
Bedankt voor de reacties:)

Over dat javalogo, ik weet dat het een bagger systeem is en dat het nederlands is. Maar ik bepaal niet wat ik moet doen op school.

Verder hoef ik jullie hulp ook niet met het maken van de opdracht, dat doe ik zelf namelijk al. :) ik wil alleen weten hoe dat met die pijltoetsen werkt. Maar even een vraagje. Aan gezien javalogo nederlands is en java engels, en ik gooi die toetscombinaties van java in mijn javalogo project. Gaat dat dan niet fout?

Ik ga nu alvast proberen het pijltoetssyteem werkend te krijgen. :P

Mr ik snap helemaal dat jullie het een slecht systeem vinden. Zelf vind ik PHP ook logisher in elkaar zitten (en je kan sterkere berekeningen uitvoeren)

Acties:
  • 0 Henk 'm!

  • evanraalte
  • Registratie: December 2008
  • Laatst online: 21:18
Kben net ff aan het prutsen geweest om de code voor de pijltoetsen erin te krijgen. hij geeft bij build-output geen errors aan:D maar bij General Output(als ik het progje run):

java.lang.NoSuchMethodError: main
Exception in thread "main"
Process completed.


Aangezien ik geen pro ben op dit vak snapte ik hier niet veel van, maar toch besloot ik te zoeken op google om gezeur hier te voorkomen :).

Na goed zoeken kwam ik tot de conclusie dat er ergens een parameter mist. Ik ben vervolgens gaan zoeken naar de boosdoener, maar door mijn noob-java skills kon ik eigenlijk niks vinden. Het javalogo script werkte zonder de pijltoetsen wel namelijk.

Misschien heb ik het script wat hier op de site stond verkeerd in mijn script gezet( ik weet het eigenlijk wel zeker:P). Ik wil graag weten wat er fout is zodat ik ik komende situaties ook weet wat ik moet doen. Dit met die pijltoetsen is gewoon EXTRA voor mijn opdracht. het hoefde eigenlijk helemaal niet erin, maar toch zou het leuk zijn als ik het draaiend kreeg.

Hieronder mijn script, ik heb geprobeerd de structuur wat te verbeteren door vaak // te gebruiken. Ga alstublieft niet zeuren dat ik jullie met het werk laat zitten want dat is echt niet mijn bedoeling. Ik wil het echt zelf uitzoeken maar dat kan ik gewoon nog niet :). Dus als er hier mensen bij zitten die zo zien wat er fout is, bedankt :D


Java: eindopdracht
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
import logotekenap3d.*;
import java.awt.Polygon;
import java.applet.*;
import java.awt.event.*;


public class eindopdracht extends TekenApplet3D
{


    //invoervariablen van kleuren
       InvoerVariabele roodInv;
       InvoerVariabele groenInv;
       InvoerVariabele blauwInv;
       InvoerVariabele draaixInv;
       InvoerVariabele draaiyInv;
       InvoerVariabele draaizInv;
       //double variabelen (geen kleuren)
       double beginX, beginY;
       double zijde, hoek, hoek1, hoogte, breedte;
       double draaix;
       double draaiy;
       double draaiz;

       //kleuren
       int rood, groen, blauw;
       //raakvlak variablen
       Polygon vlak;
       boolean   raak;

       //einde variabelen

public void maakToetsActieMogelijk(){

addKeyListener(new KeyListener() {
            public void keyPressed(KeyEvent e) {
                int code = e.getKeyCode();
                if (code == KeyEvent.VK_LEFT) {
                    toetsLinksActie();
                } else if (code == KeyEvent.VK_RIGHT) {
                    toetsRechtsActie();
                } else if (code == KeyEvent.VK_UP) {
                    toetsOmhoogActie();
                } else if (code == KeyEvent.VK_DOWN) {
                    toetsOmlaagActie();
                }
            }
            public void keyReleased(KeyEvent e) {
            }
            public void keyTyped(KeyEvent e) {
            }
        });
    }




public void initialiseer()
      { super.init();
        maakToetsActieMogelijk();


        //achtergrondkleur
        achtergrondkleur("zwart");


        hoogte = 100;
        //muis verplaats actie
        maakMuisActieMogelijk();
        beginX = 0;
        beginY = 0;

        //animatie
        maakAnimatieMogelijk();


        //kleuren (RGB)
        roodInv = new InvoerVariabele("rood",0,255,100);
                 maakZichtbaar(roodInv);
                   rood = 255;

        groenInv = new InvoerVariabele("groen",0,255,100);
                 maakZichtbaar(groenInv);
                   groen = 255;

        blauwInv = new InvoerVariabele("blauw",0,255,100);
                 maakZichtbaar(blauwInv);
                   blauw = 255;


        // draai mogelijkheid (x,y,z)
        draaixInv = new InvoerVariabele("x-draai",-90,90,0);
                 maakZichtbaar(draaixInv);
                   draaix = 0;

        draaizInv = new InvoerVariabele("z-draai",-90,90,0);
                 maakZichtbaar(draaizInv);
                   draaiz = 0;

      }
      //tekenprogramma full
      public void tekenprogramma()
      {
        penUit();stap(0,-50,0);penAan(rood,groen,blauw);
        xdraai(draaix);
        zdraai (draaiz);


        draairad(hoogte, breedte);
        draairad2();

      }



      //draairad tekenprogramma
            void draairad(double h, double b)
            {       ydraai(hoek);

                     for(int i=0 ; i<36 ; i++)
              {      stapx(b);
                     stapy(h);
                     stapx(-b);
                     stapy(-h);

                     ydraai(10);
              }


            }

    //2e grotere draairad
    void draairad2()
    {
                     for(int i=0 ; i<18 ; i++)
              {      stapx(200);
                     stap(-200,200);
                     stapy(-200);


                     ydraai(20);
              }


            }
    //animatie programma
    public void animatie()
       {       while(animatieLopend())
               {       hoek = hoek + 0.25;













                       tekenOpnieuw();
               }
       }









public void invoerVarActie(InvoerVariabele iv)
           {      draaix = draaixInv.geefWaarde();

                  draaiz = draaizInv.geefWaarde();
                  rood   = roodInv.geefWaarde();
                  groen   = groenInv.geefWaarde();
                  blauw   = blauwInv.geefWaarde();
                   tekenOpnieuw();
             }


public void muisSleepActie(){

                hoogte = hoogte +  geefSleepdy();
                breedte = breedte + geefSleepdx();



              tekenOpnieuw();

}
public void toetsOmhoogActie() {
         xdraai(1);

         tekenOpnieuw();
    }
    public void toetsOmlaagActie() {
         xdraai(-1);

         tekenOpnieuw();
    }
    public void toetsLinksActie() {
         zdraai(1);

         tekenOpnieuw();
    }
    public void toetsRechtsActie() {
         zdraai(-1);

         tekenOpnieuw();
    }



}

Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 01:47
evanraalte schreef op zaterdag 24 april 2010 @ 21:35:
Aan gezien javalogo nederlands is en java engels, en ik gooi die toetscombinaties van java in mijn javalogo project. Gaat dat dan niet fout?
Het taalverschil zit 'm alleen in de naamgeving van klassen en methoden. Dat maakt voor de Java VM helemaal niets uit.
Ik ga nu alvast proberen het pijltoetssyteem werkend te krijgen. :P
Wellicht is een zinnig alternatief om het object te roteren door de muis te slepen. Daar wordt wel ondersteuning voor geboden, als ik de muisSleepActie methode zo zie.
Mr ik snap helemaal dat jullie het een slecht systeem vinden. Zelf vind ik PHP ook logisher in elkaar zitten (en je kan sterkere berekeningen uitvoeren)
PHP is logischer dan Java?! We zullen het maar aan de onervarenheid van beginnende programmeur wijten. Java is mijns inziens een stuk beter doordacht en veel consistenter dan PHP, waarschijnlijk doordat Java als taal daadwerkelijk ontworpen is, terwijl PHP ontstaan is door alle features die developers in andere talen wel handig vonden er in te plempen zonder bijster veel over de achterliggende concepten na te denken. Java is ook verre van perfect (en de toewijding aan backward compatibility maakt de standard library er niet mooier op) maar het is stukken beter dan PHP. Voor zover je Java en PHP kunt vergelijken tenminste, want het zijn conceptueel verschillende talen met andere ontwerpdoelen en grotendeels andere toepassingen.

[ Voor 5% gewijzigd door Soultaker op 24-04-2010 22:22 ]


Acties:
  • 0 Henk 'm!

  • evanraalte
  • Registratie: December 2008
  • Laatst online: 21:18
PHP is in ieder geval logischer dan java logo dan. Verder is PHP veel sneller in gebruik, en vind ik het $ voor een variabele wel zo handig. want als je bij javalogo bijvoorbeeld "zwart"bij een opdracht plaats, dan kan deze dit als kleur en variabele zien. Maar ik ben onervaren, dat durf ik echt wel toe te geven, maar ooit moet ik het leren:)


Een muissleep actie is inderdaad een optie, maar ik gebruik al een muis sleep optie om het figuur aan te passen (grootte enzo).

Ik post anders het script wel even in een html, (zonder de pijltoetsen). dan heb je enig idee wat voor iets ik aan het maken ben. Het stelt niet veel voor, maar ik vind het wel een geinig ding. (ik ben 5 dagen met Java Logo bezig en ik was er best trots op :D)

linkje: http://erikdevelopment.site90.net/javaproject/eindopdracht.html

[ Voor 45% gewijzigd door evanraalte op 24-04-2010 23:29 ]


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 01:47
Ziet er netjes uit, maar er zit wel een typefout in je link. ;)

Had je die cursortoetsen daar al in ingebouwd? Want die lijken het hier niet te doen.

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
evanraalte schreef op zaterdag 24 april 2010 @ 22:17:
java.lang.NoSuchMethodError: main
Exception in thread "main"
Process completed.
Je probeert nu je java-progje te runnen als een losstaande applicatie, maar dit moet als een applet. Dit is je daarvoor ook gelukt, dus je moet even op zoek naar de juiste manier van starten in je IDE.

Verder moet je niet die super.init() overnemen (gewoon weghalen), want dat zorgt waarschijnlijk voor een stack overflow. Waarschijnlijk roept super.init() jouw initiliseer() aan, en die roept dan weer super.init() aan, enz.
evanraalte schreef op zaterdag 24 april 2010 @ 22:24:
, en vind ik het $ voor een variabele wel zo handig. want als je bij javalogo bijvoorbeeld "zwart"bij een opdracht plaats, dan kan deze dit als kleur en variabele zien.
Die $ voor je variabele is niet erg nuttig als je het al aan de kleur kan zien in je IDE, en ook aan de plaats natuuurlijk...

Kijk trouwens eens of je de code automatisch kan laten opmaken (ctrl-shift-f in eclipse). Nu staat er witruimte op de gekste plekken. :p

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten


Acties:
  • 0 Henk 'm!

  • evanraalte
  • Registratie: December 2008
  • Laatst online: 21:18
@SoulTaker: Nee, die zitten er nog niet, dit is het progje wat nog werkt. de pijltoetsen zitten hier nog niet bij.

EDIT:

Ik begin nu wel te denken aan een muis sleep actie, omdat logo dit ondersteund. het probleem is dat ik deze optie al gebruik:). Toch wil ik dit scriptje even werkend krijgen voor eventueel andere toepassingen.

Edit2:

Wat bedoel je precies met eclipse? gewoon ctrl+shift+ F doen werkt niet iig :)

[ Voor 66% gewijzigd door evanraalte op 24-04-2010 23:08 ]


Acties:
  • 0 Henk 'm!

  • evanraalte
  • Registratie: December 2008
  • Laatst online: 21:18
Ik heb de nieuwe java file geupload, hij start wel nu inderdaad:D. Alleen doen de pijltoetsen het nog niet.

hieronder de vernieuwde code:
Java: beta 2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
 
import logotekenap3d.*;
import java.awt.Polygon;
import java.applet.*;
import java.awt.event.*;


public class eindopdracht extends TekenApplet3D
{


    //invoervariablen van kleuren
       InvoerVariabele roodInv;
       InvoerVariabele groenInv;
       InvoerVariabele blauwInv;
       InvoerVariabele draaixInv;
       InvoerVariabele draaiyInv;
       InvoerVariabele draaizInv;
       //double variabelen (geen kleuren)
       double beginX, beginY;
       double zijde, hoek, hoek1, hoogte, breedte;
       double draaix;
       double draaiy;
       double draaiz;

       //kleuren
       int rood, groen, blauw;
       //raakvlak variablen
       Polygon vlak;
       boolean   raak;

       //einde variabelen

public void maakToetsActieMogelijk(){

addKeyListener(new KeyListener() {
            public void keyPressed(KeyEvent e) {
                int code = e.getKeyCode();
                if (code == KeyEvent.VK_LEFT) {
                    toetsLinksActie();
                } else if (code == KeyEvent.VK_RIGHT) {
                    toetsRechtsActie();
                } else if (code == KeyEvent.VK_UP) {
                    toetsOmhoogActie();
                } else if (code == KeyEvent.VK_DOWN) {
                    toetsOmlaagActie();
                }
            }
            public void keyReleased(KeyEvent e) {
            }
            public void keyTyped(KeyEvent e) {
            }
        });
    }




public void initialiseer()
      {
        maakToetsActieMogelijk();


        //achtergrondkleur
        achtergrondkleur("zwart");


        hoogte = 100;
        //muis verplaats actie
        maakMuisActieMogelijk();
        beginX = 0;
        beginY = 0;

        //animatie
        maakAnimatieMogelijk();


        //kleuren (RGB)
        roodInv = new InvoerVariabele("rood",0,255,255);
                 maakZichtbaar(roodInv);
                   rood = 255;

        groenInv = new InvoerVariabele("groen",0,255,255);
                 maakZichtbaar(groenInv);
                   groen = 255;

        blauwInv = new InvoerVariabele("blauw",0,255,255);
                 maakZichtbaar(blauwInv);
                   blauw = 255;


        // draai mogelijkheid (x,y,z)
        draaixInv = new InvoerVariabele("x-draai",-90,90,0);
                 maakZichtbaar(draaixInv);
                   draaix = 0;

        draaizInv = new InvoerVariabele("z-draai",-90,90,0);
                 maakZichtbaar(draaizInv);
                   draaiz = 0;

      }
      //tekenprogramma full
      public void tekenprogramma()
      {
        penUit();stap(0,-50,0);penAan(rood,groen,blauw);
        xdraai(draaix);
        zdraai (draaiz);


        draairad(hoogte, breedte);
        draairad2();

      }



      //draairad tekenprogramma
            void draairad(double h, double b)
            {       ydraai(hoek);

                     for(int i=0 ; i<36 ; i++)
              {      stapx(b);
                     stapy(h);
                     stapx(-b);
                     stapy(-h);

                     ydraai(10);
              }


            }

    //2e grotere draairad
    void draairad2()
    {
                     for(int i=0 ; i<18 ; i++)
              {      stapx(200);
                     stap(-200,200);
                     stapy(-200);


                     ydraai(20);
              }


            }
    //animatie programma
    public void animatie()
       {       while(animatieLopend())
               {       hoek = hoek + 0.25;
                       tekenOpnieuw();
               }
       }









public void invoerVarActie(InvoerVariabele iv)
           {      draaix = draaixInv.geefWaarde();

                  draaiz = draaizInv.geefWaarde();
                  rood   = roodInv.geefWaarde();
                  groen   = groenInv.geefWaarde();
                  blauw   = blauwInv.geefWaarde();
                   tekenOpnieuw();
             }


public void muisSleepActie(){

                hoogte = hoogte +  geefSleepdy();
                breedte = breedte + geefSleepdx();



              tekenOpnieuw();

}
public void toetsOmhoogActie() {
         xdraai(1);

         tekenOpnieuw();
    }
    public void toetsOmlaagActie() {
         xdraai(-1);

         tekenOpnieuw();
    }
    public void toetsLinksActie() {
         zdraai(1);

         tekenOpnieuw();
    }
    public void toetsRechtsActie() {
         zdraai(-1);

         tekenOpnieuw();
    }



}

Acties:
  • 0 Henk 'm!

  • pedorus
  • Registratie: Januari 2008
  • Niet online
Ik vermoed dat het verkeerd gaat met de focus, omdat je ook wat andere controls hebt (zoals de knop animatie) waar dan de event heen gaat. Ik heb hier geen java, maar iets als:
Java:
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
    public void maakToetsActieMogelijk(){         
        Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() {
            public void eventDispatched(AWTEvent event) {
                KeyEvent ke = (KeyEvent) event;
                if (ke.getID() != KeyEvent.KEY_PRESSED)
                    return;
                int code = ke.getKeyCode();
                if (code == KeyEvent.VK_LEFT) {
                    toetsLinksActie();
                } else if (code == KeyEvent.VK_RIGHT) {
                    toetsRechtsActie();
                } else if (code == KeyEvent.VK_UP) {
                    toetsOmhoogActie();
                } else if (code == KeyEvent.VK_DOWN) {
                    toetsOmlaagActie();
                }
            }
        }, AWTEvent.KEY_EVENT_MASK);
        enableEvents(AWTEvent.KEY_EVENT_MASK);
    }

lost dit misschien op, samen met een 'import java.awt.*;' bovenaan. Dit kan enkel wel rare interacties geven met tekstboxen enzo, dus misschien wil je iets selectiever te werk gaan. Wanneer moeten de pijltjes eigenlijk werken?
offtopic:
We geloven het trouwens ook wel zonder 300 regels ;)

Vitamine D tekorten in Nederland | Dodelijk coronaforum gesloten

Pagina: 1