1. ActionScript 2

Re: ActionScript 2

  • http://www.tbeemster.nl/rekenspel/index.php

    Heb ik gemaakt met AS3 :)
  • Nou hij is af hoor, het enige wat ik nu nog heb is dat als ik vanuit het uitslag frame alle variabelen wis en weer naar frame 1 ga hij elke keer een vraag overslaat. Als ik dan nog een keer terug ga vanuit de nieuwe uitslag dan telt hij daar bij weer bij op en slaat hij er 2 over enz. :P

    Echt van die stomme dingetjes zijn dat die onnodig veel tijd kosten.
  • No problem, en voor de volgende keer: gewoon in AS3 doen aub :lol:
  • Zeker zeker, heb gister tijdens mijn werk en tijdens een verjaardag daar echt over lopen piekeren en zeker omdat het voor morgen af moet. :P Bedankt voor het meedenken man!
  • Heb mijn fout eindelijk te pakken! Had de var's binnen een functie gedeclareerd en ja dan kan je die in het tweede frame niet gebruiken hé. >< Toch bed

    Ben wel super blij nu. :D
  • Weet iemand hoe je in AS2 kunt checken of een variabele een getal is?
    Meestal geef je van te voren aan wat voor type een var is :)

    dus bv:

    private var cijfer&#58;int; private var number&#58;Number; private var string&#58;String;
    Dus hoe heb je deze var gedeclareerd?
  • Weet iemand hoe je in AS2 kunt checken of een variabele een getal is?
  • Ow das jammer, maar bedankt iig! Ik moet het voor maandag afhebben en ben eigenlijk met de laatste loodjes bezig en ben nog steeds er mee bezig, kan er echt niet tegen als iets mij niet lukt en kan dan echt niet iets anders gaan doen. Daar maak ik mezelf nog gekker mee, haha. :P
  • Ik kan je code technisch niet helpen. Heb al 2 jaar niks meer met Action Script gedaan dus het is behoorlijk weggezakt allemaal. Maar wat ik toen wel in veel projecten zag is dat mensen op allerlei frames, achter allerlei buttons aan het programmeren waren. Zo raak je echt het overzicht kwijt.

    Een aparte laag Actions zoals jij dit hebt is inderdaad erg prettig!

    Maar dat even terzijde. :P Succes met je project.
  • Mijn code staat voornamelijk op frame 1 en die staat idd in een aparte timeline die Actions heet. Ben alleen bang dat als ik mijn code naar frame 2 kopieer dat score weer 0 wordt, aangezien ik dat in frame 1 definieer, maar kan effe kijken wat er gebeurd. Thanks voor de tip!
  • Tip:
    Maak altijd een top layer aan met een lege frame waar je alle Action Script code in zet. Op die manier kun je de keyframe verplaatsen zodat de code altijd van toepassing is op je hele timeline.
    Ook al werk je met AS2 is het verstandig om alle code op één plaats te houden. Dit is makkelijk voor jezelf en voor andere die eventueel met je project gaan werken. (misschien niet nu van toepassing, maar voor later).
  • Op de timeline scripten is ook helemaal niet de way to go. OOP is idd veel beter, maar ja denk niet dat ik dat nu weer ook helemaal wil gaan uitzoeken en aanpassen, daarnaast moet ik AS2 gebruiken en daar is het door elkaar heen. :P
  • Ehm tja zoals ik al zei; ben AS3 gewend :P En ik programmeer in classes, niet op de frames zelf dus weet niet precies hoe dat werkt :)
  • Ja Frame 1. Op frame 2 staat nog niet zoveel

    //Softkeys,fullscreen aanzetten stop&#40;&#41;; _focusrect = false; fscommand2&#40;&quot;SetSoftKeys&quot;, &quot;Set Location&quot;, &quot;Exit&quot;&#41;; fscommand2&#40;&quot;SetQuality&quot;, &quot;high&quot;&#41;; fscommand2&#40;&quot;Fullscreen&quot;, &quot;true&quot;&#41; score_txt&#46;text = score;
    Ik zie in oude opdrachten van school dat die variabelen gewoon gepakt worden die gedefinieerd zijn in een ander frame of heb ik dat niet goed gezien?
  • Dit stukje dus:
    Hier&gt; if &#40;i == childItems&#46;length -1&#41; &#123; gotoAndStop&#40;2&#41;; &#125; Dan snap ik het denk wel :) Ik neem aan dat je nu al deze code op het eerste Frame hebt staan in de Timeline? Als je naar het tweede frame gaat, neem je dus niet alle vars mee en hun waardes, wat staat er precies op frame 2?
  • Ow waar in de code, heb er effe "hier>" voor gezet. :)

    //Softkeys,fullscreen aanzetten stop&#40;&#41;; _focusrect = false; fscommand2&#40;&quot;SetSoftKeys&quot;, &quot;Set Location&quot;, &quot;Exit&quot;&#41;; fscommand2&#40;&quot;SetQuality&quot;, &quot;high&quot;&#41;; fscommand2&#40;&quot;Fullscreen&quot;, &quot;true&quot;&#41;
    // XML-object instellen var DataXML&#58;XML = new XML&#40;&#41;; DataXML&#46;ignoreWhite = true; DataXML&#46;load&#40;&quot;Data&#46;xml&quot;&#41;;
    Key&#46;removeListener&#40;myListener3&#41; var myListener3&#58;Object = new Object&#40;&#41;; myListener3&#46;onKeyDown = function&#40;&#41; &#123; var keyCode = Key&#46;getCode&#40;&#41;; if &#40;keyCode == Key&#46;UP&#41; &#123; gotoAndStop&#40;3&#41;; &#125; else if &#40;keyCode == Key&#46;RIGHT&#41;&#123; &#125; &#125;; Key&#46;addListener&#40;myListener3&#41; //array instellen waarin de gegevens &#40;XML-knooppunten&#41; worden opgeslagen var childItems&#58;Array = new Array&#40;&#41;;
    DataXML&#46;onLoad = function &#40;succes&#58;Boolean&#41;&#58;Void &#123; if &#40;succes&#41; &#123; // array vullen met afzonderlijke takken van het XML-bestand childItems = DataXML&#46;firstChild&#46;childNodes; // teller instellen voor de array var i&#58;Number = 0; var a&#58;Number = 0; var tempScore&#58;Number = 0; var score&#58;Number = 0; var adviesScore&#58;Number = 0; // eerste item alvast op het scherm zetten vraag_txt&#46;text = childItems&#91;i&#93;&#46;attributes&#46;vraag; tijd_txt&#46;text = childItems&#91;i&#93;&#46;attributes&#46;tijd; nummer_txt&#46;text = childItems&#91;i&#93;&#46;attributes&#46;nummer; //functies voor de knoppen Vorig product en Volgende product instellen Key&#46;removeListener&#40;myListener&#41; var myListener&#58;Object = new Object&#40;&#41;; myListener&#46;onKeyDown = function&#40;&#41; &#123; var keyCode = Key&#46;getCode&#40;&#41;; Hier&gt; if &#40;i == childItems&#46;length -1&#41; &#123; gotoAndStop&#40;2&#41;; &#125; else if &#40;i!= childItems&#46;length&#41; &#123; //listener object voor linker en rechter-softkey if &#40;keyCode == ExtendedKey&#46;SOFT1&#41; &#123; if &#40;i++ &gt;= childItems&#46;length - 1&#41; &#123; i = childItems&#46;length -1; &#125; vraag_txt&#46;text = childItems&#91;i&#93;&#46;attributes&#46;vraag; tijd_txt&#46;text = childItems&#91;i&#93;&#46;attributes&#46;tijd; nummer_txt&#46;text = childItems&#91;i&#93;&#46;attributes&#46;nummer; //tijdelijke score tempScore = 2; //uiteindelijke score score = score + tempScore; trace &#40;score&#41;; &#125; else if &#40;keyCode == ExtendedKey&#46;SOFT2&#41; &#123; if &#40;i++ &gt;= childItems&#46;length - 1&#41; &#123; i = childItems&#46;length - 1; &#125; vraag_txt&#46;text = childItems&#91;i&#93;&#46;attributes&#46;vraag; tijd_txt&#46;text = childItems&#91;i&#93;&#46;attributes&#46;tijd; nummer_txt&#46;text = childItems&#91;i&#93;&#46;attributes&#46;nummer; //tijdelijke score tempScore = 1; //uiteindelijke score score = score + tempScore; trace &#40;score&#41;; &#125; &#125; &#125;; Key&#46;addListener&#40;myListener&#41;; Key&#46;removeListener&#40;myListener2&#41; var myListener2&#58;Object = new Object&#40;&#41;; myListener2&#46;onKeyDown = function&#40;&#41; &#123; var keyCode = Key&#46;getCode&#40;&#41;; if &#40;keyCode == key&#46;LEFT&#41; &#123; if &#40;i-- &lt;= 0&#41; &#123; i = 0; &#125; vraag_txt&#46;text = childItems&#91;i&#93;&#46;attributes&#46;vraag; tijd_txt&#46;text = childItems&#91;i&#93;&#46;attributes&#46;tijd; nummer_txt&#46;text = childItems&#91;i&#93;&#46;attributes&#46;nummer; score = score - tempScore; trace &#40;score&#41;; &#125; else if &#40;keyCode == key&#46;DOWN&#41; &#123; fscommand2&#40;&quot;Quit&quot;&#41;; &#125; &#125;; Key&#46;addListener&#40;myListener2&#41; &#125; else &#123; nummer_txt&#46;text = &quot;fout bij openen XML-bestand&quot;; &#125; &#125;;

    Thanks, zal daar ook eens mijn vraag eens stellen. :)
  • Doelde meer waar in de code zeg maar, je hebt nu 3 traces staan die elk de score laten zien. Echter weet je nu niet precies wat welke trace laat zien.

    Dus zul je de traces iets moeten laten verschillen, bv:
    trace&#40;&quot;trace 1 van Score = &quot;+score&#41;;En dan voor de tweede trace, trace 2 invullen :)

    Het is beetje lastig een probleem op te lossen als je het totale plaatje niet ziet :P

    Sowieso schijnt AS2 beetje een bitch te zijn qua programmeren… Mocht je er echt niet uitkomen, dan zou ik je vraag hier stellen:

    http://flashfocus.nl/

    Zit er zelf ook heel vaak en zitten een paar members tussen die zijn echt 'pro' qua Actionscript :)
  • De op één na laatste uit de array pakt hij nog en bij de laatste maakt hij score undefined. :( Ik dacht dat op te lossen door gewoon voor die laatste hem af te kappen, maar dat werkt blijkbaar niet zo. :P
  • Als iets undefined is dan betekent dat waarschijnlijk dat de var niet opgehaald kan worden. Maar zoals ik het nu bekijk hoort dit wel te kunnen.

    Welke trace zorgt voor die undefined? Tot waar doet hij het en wanneer kaptie ermee? Debuggen, vreselijk proces maar het resultaat mag er wezen :)
  • Dat overspringen had ik daarboven in een apart if-statement gedaan, heb jou idee effe geprobeerd en het werkt hetzelfde. Wat ik niet voor elkaar krijg is dat de score door de laatste in de Array undefined wordt. Daarvoor heeft de score nog gewoon een getal, ben hier al een uurtje of wat mee bezig. :(

Plaats reactie

Wanneer je een reactie plaatst ga je akoord
met onze voorwaarden voor reacties.

Log in om te reageren