[Flash] Winnend nummer

Pagina: 1
Acties:

  • Nibbz
  • Registratie: September 2001
  • Laatst online: 14:15

Nibbz

Postmaster General

Topicstarter
we hebben binnenkort een feestje, en voor wat vermaak, hebben we een aantal bonnentjes uitgeprint met wat nummers erop.
Nu moeten de mensen op dat feestje op een computer het nummer van het bonnentje in toetsen, en dan zal de computer weergeven of ze wat gewonnen hebben, of niet.

Ik heb in flash de hele lay-out al klaar, alleen ik loop vast op het stuk dat de nummers ingevoerd moeten worden. Moet ik ze dan als variable erin zetten ofzo waarna flash checkt of het goed is?

Misschien moet het dan zoiets worden

nummer invoeren
winnend getal?
ja: go to frame 50
no: go to frame 100

Weet iemand een howto voor iets soortgelijks? want ik zou niet weten waar ik op moet zoeken (zowel bij google als op got)


edit: ik werk hier thuis met Flash 6.0

13:37


  • lennartkocken
  • Registratie: September 2004
  • Laatst online: 13-02 12:42
maak een inputtextbox met instance naam 'txtgetal', maak een button geef die de AS mee:

code:
1
2
3
4
5
6
7
on (release){
if (txtgetal.text == '30'){
gotoAndStop(100);
} else {
gotoAndStop(50);
}
}


Waarbij 30 het winnende nummer is, 100 het frame waar de winnende boodschap getoond moet worden, en 50 waarbij de melding 'niets gewonnen' (oid) wordt weergegeven.

Wat je precies met variabelen wil doen snap ik niet, want die heb je niet echt nodig. Waar je ze wel voor kan gebruiken lees je Hier.

  • Nibbz
  • Registratie: September 2001
  • Laatst online: 14:15

Nibbz

Postmaster General

Topicstarter
alvast bedankt :p, maar het volgende probleem..

ik heb 10 button's (0 t/m 9) om de nummers in te vullen.

moet ik dan eerst op de buttons doen

(voorbeeld, button #1)
on release
set txtgetal.text 1

?

[ Voor 80% gewijzigd door Nibbz op 13-09-2006 15:24 ]

13:37


  • lennartkocken
  • Registratie: September 2004
  • Laatst online: 13-02 12:42
code:
1
2
3
on (release){
txtgetal.text = txtgetal.text add "1";
}

  • Nibbz
  • Registratie: September 2001
  • Laatst online: 14:15

Nibbz

Postmaster General

Topicstarter
Ik krijg 1 nummer in het tekstvak op deze manier

code:
1
2
3
on (release){
tekstvak.text = "1";
}


als ik het volgende op de button zet, gebeurd er niks

code:
1
2
3
on (release){
txtgetal.text = txtgetal.text add "1";
}


als ik de nummers naast elkaar krijg, dan zit ik goed (bv. 2341 (eerst op 2 drukken, dan op 3, dan op 4, dan op 1, en dan op "invoeren" of "enter")

13:37


  • Nibbz
  • Registratie: September 2001
  • Laatst online: 14:15

Nibbz

Postmaster General

Topicstarter
ja gelukt. Krijg nu alle nummers naast elkaar.

Is het nu mogelijk om alle winnende nummers in een tekst bestand te doen, en flash in het flash bestand te laten kijken of het ingevoerde nummer er tussen zit? (of in xml?)

code:
1
2
3
on (release) {
    tekstvak.text = tekstvak.text add "1";
}


zo ziet het action script eruit

edit: hoe dom ben ik, zie net pas, dat je hetzelfde poste, alleen de naam van het tekstveld was anders... 8)7

edit2:
Ik hoor van een vriend van mij, dat het ook mogelijk is om alle winnende getallen in een case te zetten.
code:
1
2
3
4
5
6
7
8
9
on (release)
if tekstvak.text = 
Case
aantal nummers
end case
then
..........
else
........

[ Voor 54% gewijzigd door Nibbz op 13-09-2006 16:28 ]

13:37


Verwijderd

Nibbz schreef op woensdag 13 september 2006 @ 16:15:

code:
1
2
3
4
5
6
7
8
9
on (release)
if tekstvak.text = 
Case
aantal nummers
end case
then
..........
else
........
een case ziet er als volgt uit:
code:
1
2
3
4
5
6
7
8
9
10
11
switch(var) {
  case 30:
    doe dit;
    break;
  case 40:
    doe dit;
    break;
  default:
    doe dit;
    break;
}

waar var dus de tekstvak.text is en die getallen achter case de winnende nummers.. maar dit is wel erg basic allemaal hoor, bekijk de help van Flash eens, die is erg goed.

  • Nibbz
  • Registratie: September 2001
  • Laatst online: 14:15

Nibbz

Postmaster General

Topicstarter
nou, ik kan in de help de hele 'case' niet terug vinden. maar als ik invul

code:
1
2
3
4
5
6
7
on (release){
switch(tekstvak.text){
    case 1234:
        gotoAndPlay(48);
    default:
        gotoAndPlay(80);
}}



gebeurd er weinig, krijg een paar foutmeldingen.


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Scene=Scene 1, Layer=Layer 38, Frame=1: Line 1: Mouse events are permitted only for button instances
     on (release){

Symbol=Symbol 166, Layer=Layer 1, Frame=1: Line 3: ';' expected
         goto frame '48';

Symbol=Symbol 166, Layer=Layer 1, Frame=1: Line 6: ';' expected
         doe dit;

Symbol=Symbol 166, Layer=Layer 1, Frame=1: Line 9: ';' expected
         doe dit;

Symbol=Symbol 166, Layer=Layer 1, Frame=1: Line 1: Statement must appear within on handler
     switch(tekstvak.txt) {

13:37


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 13-02 11:06

Janoz

Moderator Devschuur®

!litemod

De foutmeldingen die je daar krijgt zijn gewoon syntax errors. Heel simpel zelf te verhelpen.

Ik denk dat je, gezien je beperkte actionscript kennis, beter voor een andere aanpak kunt gaan.

Maak gewoon een movie met evenveel frames als dat de uitgedeelde nummers hebben. Deze maak je 2x. De ene laat je volgen door een 'we have a winner' filmpje en de ander niet. Degene die geen winner filmpje heeft maak je zo dat je, door op een willekeurige knop te drukken, naar het volgende frame gaat. De winner variant laat je enkel naar het volgende frame gaan wanneer het juiste cijfer ingedrukt is. Zodra daar op een ander cijfer wordt gedrukt spring je naar halverwege het 'losers' filmpje.

Hierdoor heb je nauwlijks 'ingewikkelde' actionscript nodig.

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


Verwijderd

ik heb je idee even uitgevoerd in flash 8, met comments erbij.. hoop dat je wat verder komt, het is ook allemaal gecomment, maar nog niet af, want je moet nog even zorgen dat hij bijvoorbeeld weer terug komt bij het invulveld enzo.. hoop iig dat je zo even verder kunt, en ziet hoe de syntax in elkaar zit.
clique

verder, verdiep je in coden en flash, want de dingen waar je tegen aanloopt zijn simpele syntax fouten, een vergeten ; etc.. dat voorkom je alleen maar door het vaker te doen en goed te lezen wat flash zegt..
Pagina: 1