Toon posts:

[JAVA] De ene applet de ander iets vertellen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Goedenmiddag op deze vrijdag de 13e :*)

Ik ben met nog wat andere mensen bezig aan een educatief spelletje voor kids van 10-12 jaar. http://knowledge.now.nu voor wat meer info daarover

Nu is het zo dat we in ons spel meerdere applets gebruiken ivm verdeling van taken.

De speler volgt de volgende "lijn" door ons programma:
code:
1
2
3
4
5
6
7
8
1. Naam van het spel intro (producers e.d.)
2. Hoofdmenu                            _
     |                                  |
3. Na het kiezen van nieuw spel:        |
    Introfilmpje                        |
4. Het spel zelf.                speler kan ook kiezen voor "laden" 
5. Na het uitspelen van het spel:
    eindanimatie.


De applet "menu" moet dus op een of andere manier een signaal geven aan stap 4 (het spel zelf) zodat deze de juiste dingen weergeeft.

Wat ik dus wil weten is hoe je de ene applet de andere iets kunt overzenden. De programma code op zich (in het menu en in het spel zelf) is geen probleem.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 27-08 15:51

Janoz

Moderator Devschuur®

!litemod

In principe is het niet zomaar mogenlijk om 2 applets met elkaar te laten babbelen (vanwege wat security restricties afaik). Maar, volgens mij is dit probleem wel op te lossen door gebruik te maken van javascript. Het is dacht ik mogenlijk om je java applet javascript in die pagina aan te laten roepen. javascript kan vervolgens functioneren als de middle man. Zorg wel dat je geen raceproblemen krijgt! Het zou heel lullig zijn waneer het ene applet info probeert op te vragen terwijl het andere nog niks heeft weggeschreven.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Via AppletContext kan je alle applets in hetzelfde document benaderen. Als de applets na elkaar komen zal je het met parameters moeten doen en dus met dynamische opbouw van HTML. Ook kan je natuurlijk nog overwegen om 1 applet te maken ;) .

edit:
Reageer ik een keer op 'normale' vraag, wil ACM ook reageren ;) .

[ Voor 15% gewijzigd door mbravenboer op 13-12-2002 12:53 ]

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

In principe kan dat wel ;)
Kijk bijvoorbeeld eens naar de getApplet methode van de AppletContext.

Bij mijn weten kunnen applets op dezelfde page gewoon met elkaar communiceren. Het is natuurlijk niet zo dat je domweg de variabelen ervan kan wijzigen. Maar het lijkt me dat je prima public methoden en waardes van andere applets daarmee kan bereiken.

edit:

Bah, mbravenboer. Wist ik een keer het antwoord! Kom jij voor me langs :/

[ Voor 12% gewijzigd door ACM op 13-12-2002 12:51 ]


Verwijderd

Topicstarter
Geen ruzie maken meneer de moderators :)

2 applets die elk in een ander bestand staat kunnen zowiezo niet met elkaar communiceren? Of in ieder geval applet1 applet2 iets laten weten?

Applet1 ---> applet2
variableX ---> X

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Dan wordt het idd dynamisch html genereren, hetzij serverside (php, jsp, asp, etc) hetzij clientside (javascript). Met je menu-applet kan je iig prima een url met query-variabelen meesturen: bla.html?variabeleX=X als url ipv domweg bla.html

Verwijderd

Topicstarter
Ik heb ACM opgevolgd en ben even op zoek gegaan naar een Javascriptje. Zelf beheers ik ASP, en daar had ik al aan gedacht, echter zitten er aan de opdracht restricties zoals:

- De website (waar het spel draait) moet op de webserver van school draaien

Tsja, die ondersteunen geen ASP dus dat was geen optie. PHP, daar beschik ik over onvoldoende kennis en aangezien we het project in JAVA moeten maken is JAVAscript natuurlijk helemaal geweldig.

Hier is de code die de truuk zou moeten doen, daarbij heb ik het antwoord gegeven op m'n vraag (heheh) en dank ik bij deze iedereen die heeft meegedacht.

code:
1
2
3
4
5
6
7
<script language="JavaScript">
var variable = location.search;
variable = variable.substring(1, variable.length);
document.write ("<applet ... >");
document.write ("<param name=some_param value=" + variable + ">");
document.write ("</applet>");
</script>
Pagina: 1