Avatar billede aquafisken Nybegynder
01. februar 2006 - 02:00 Der er 12 kommentarer og
1 løsning

3. klasse spil

Jeg sidder og er igang med et projekt i skolen, hvor jeg skal lave et spil i flash for en 3. klasse.
Mit problem er at jeg ikke kan få lavet et actionscript som virker.
Det der skal ske er at der skal komme et billede, barnet skal så stave til billedet, trykke enter, hvorefter barnet så skal indtaste en vokal (til dansk undervisning) som er i ordet som lige er blevet tastet ind. Er det hele rigtigt får barnet så et point for det og går så videre til næste opgave.
Er der nogen der kan hjælpe mig med et actionscript som både laver den "submit_btn.onRelease = function()" funktion og en optælning af point?
Det actionscript jeg har fået lavet er til matematik, og det virker:
stop();
submit_btn.onRelease = function() {
    if (text1.text < "5" || text1.text > "5" || text2.text < "6" || text2.text > "6") {
        gotoAndStop("FejlFrame");
    } else {
        if (text1.text == "5" || text2.text == "6") {
        gotoAndStop("TillykkeFrame");
        }
    }
};

Det eneste der mangler til den er bare et point-optælningssystem.
Avatar billede alexander_j Nybegynder
02. februar 2006 - 07:50 #1
Øh - det lyder uhyre simpelt det du mangler - faktisk så simpelt at jeg undrer mig over at du kan lave ovenstående script og ikke det til pointene.

Hvis alt du behøver er et point system der tæller en op hver gang de svarer rigtigt, så kan du vel gøre følgende:
1. i frame 1 definere du en variabel der hedder _root.point = 0;
2. i frame TillykkeFrame smider du et udtryk der hedder _root.point++;
3. i det frame hvor pointsne skal gøres op laver du et textfield og i properties for dette textfield, i den property der hedder Var eller Variabel skriver du _root.point

Jeg har lavet lidt forskellige flashspil til dansk for en rum tid siden - de kan ses her: http://www.vestermarie-skole.dk/venskab/dansk.php
Jeg vil blive vældig glad hvis jeg må se resultatet af dit spil, når du bliver færdig.
Avatar billede aquafisken Nybegynder
02. februar 2006 - 22:28 #2
Hej, mange tak for svaret. Jeg havde simpelthen siddet og søgt efter hvad jeg lige kunne gøre fordi jeg er stadig forholdsvis ny til actionscript i flash, men mange tak for hjælpen, jeg vil lige vende tilbage hvis/når jeg har fået det til at virke.
Avatar billede aquafisken Nybegynder
03. februar 2006 - 00:17 #3
Så, nu fik jeg det point system til at virke, troede ikke det var så simpelt at lave :)
Nu sidder jeg med det problem at når man har tastet noget i et felt og skal trykke på en knap, så skal man bruge musen. Hvad skal jeg sætte ind i min kode for at man også kan bruge enter knappen på tastaturet?
Min kode i første frame:
stop();
_root.point=0;
submit_btn.onRelease = function() {
            if (input.text == "test") {
        gotoAndPlay("Tillykkeframe");
        }else {
        if (input.text == "" || input.text == input.text) {
        gotoAndPlay("Fejlframe");
        }
    }
};
Avatar billede maqhem Nybegynder
03. februar 2006 - 15:38 #4
hvis input.text lige pludselig ikke er lig med sig selv er der godt nok noget galt! :)

input.text == input.text returnerer ALTID true.

For at enter kan bruges så skriv følgende i stedet for:

stop();
_root.point = 0;
submit_btn.onRelease = function(){
    go();
}
onEnterFrame = function(){
    if(Key.isDown(13)){
        go();
    }
}
function go(){
    if(input == "test"){
        gotoAndPlay("Tillykkeframe");
    }else if(input == ""){
        gotoAndPlay("Fejlframe");
    }
}
Avatar billede maqhem Nybegynder
03. februar 2006 - 15:40 #5
og lige en ting til: tal, der er sat i "" bliver klassificeret som strings, og kan give problemer nogle gange - så: fjern "" omkring dine tal, medmindre du har implementeret en string der er fast typet som String :)
Avatar billede maqhem Nybegynder
03. februar 2006 - 15:41 #6
mangler lige lidt:

... og at den string du arbejder med nogle gange skifter til Number, men så kan man jo i den givne situration fast type stringen til Number
Avatar billede aquafisken Nybegynder
04. februar 2006 - 17:29 #7
Hej Maghem!
Tak for svaret, jeg vil se om jeg kan få det til at virke. Siden jeg satte input.text == input.text var fordi at hvis man skrev forkert skulle den jo kunne finde ud af at det er forkert, hvor input == "" vel bare søger for, hvis man ikke har indtastet noget i feltet at man så får fejl alligevel?
Hvordan kan jeg lave en kode som siger at hvis man til sidst i spillet har mellem fx 0-15 point så skal den figur jeg har sige det ene, hvor hvis man har 16-25 siger figuren noget andet. Jeg havde tænkt lidt i retningen af dette:
if (_root.point < "15" || root.point > "0") {
        gotoAndStop("Figur_tale1");
    } else {
        if (_root.point < "25" || root.point > "16") {
        gotoAndStop("Figur_tale2");
    }
          else {
        if (_root.point < "34" || root.point > "26") {
        gotoAndStop("Figur_tale3");
    }
          else {
        if (_root.point < "40" || root.point > "35") {
        gotoAndStop("Figur_tale4");
    }
}

Problemet med den kode er vel at der ikke er nogen function(){
Avatar billede maqhem Nybegynder
11. februar 2006 - 00:18 #8
igen: fjern dine "" rundt om tal :) det er vidst bare en vane, og giver som regel problemer.
for det andet kan du i stedet for dette:

}else{
if(){

skrive

}else if(){

Så:

if(_root.point <= 15 && root.point >= 0){
        gotoAndStop("Figur_tale1");
    }else if(_root.point <= 25 && root.point >= 16){
        gotoAndStop("Figur_tale2");
    }else{
        if (_root.point <= 34 && root.point >= 26){
        gotoAndStop("Figur_tale3");
    }else{
        if (_root.point <= 40 && root.point >= 35"){
        gotoAndStop("Figur_tale4");
    }
}

og lige til sidst:

|| betyder ELLER, mens && betyder OG :)
Avatar billede maqhem Nybegynder
11. februar 2006 - 00:19 #9
HOV! Der er lige et " for meget efter 35 :)
Avatar billede aquafisken Nybegynder
11. februar 2006 - 00:27 #10
Hej!
Tak for det, jeg fandt selv ud af hvordan koden skulle være fordi spillet skulle være nogenlunde færdigt til i torsdags fordi der skulle vi teste det på vores målgruppe, men jeg kom nogenlunde frem til det, du har skrevet der ved hjælp af den hjælp i Flash.
I får begge point.
Avatar billede alexander_j Nybegynder
11. februar 2006 - 09:38 #11
Så kommer jeg da med et svar :-)

Ps. Jeg vil stadig gerne se resultatet ;-)
Avatar billede aquafisken Nybegynder
12. februar 2006 - 02:24 #12
Maghem, du må også gerne give et svar, så du også kan få point for din hjælp.

Resultatet af spillet kan ses på denne adresse:
http://www.x-itin.dk/computerspil.htm
Avatar billede aquafisken Nybegynder
24. februar 2006 - 12:02 #13
I må lige dele pointene mellem jer. Men tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester