jweber.dk - Design og programmering


Flash tutorial - Spil

Formålet med denne tutorial er at gennemgå et par af de vigtigste funktioner til hvis man ønsker at lave sine egne spil.

Der gennemgåes hvordan man kan flytte movieclips med piletasterne, og hvordan man tjekker om to movieclips rører hinanden, altså to funktioner som bruges i rigtig mange spil.

Tilbage

  1. Åben Flash og start et nyt dokument.

  2. Lav et nyt layer så du har to. Dobbelklik på det ene layer og kaldt det "indhold", det andet kalder du "action"

  3. Lav så to movieclip. Det ene klader du "firkant" og tegner en firkant i, det andet kalder du "bold" og tegner i cirkel i.

  4. Markér dit "indhold" layer og placér 5 instancer af dit "firkant" movieclip tilfældigt på scenen. Placér også 1 instance af dit movieclip "bold" på scenen.

    Markér en af firkanterne og giv den instance-navnet "boks1" nede i properties. Giv resten af firkanterne navnene "boks2", "boks3" osv.. Giv bolden instance-navnet "bold".

  5. Nu skal vi havet give bolden noget ActionScript så den kan bevæge sig. Markér bolden, åben dit Actionpanel(F9) og skriv følgende ActionScript.

    1. //Når der trykkes på højre piletast
    2. on (keyPress "<Right>") {
    3.     //flytter bolden 1 pixel til højre
    4.     _root.bold._x++;
    5. }
    6. on (keyPress "<Left>") {
    7.     _root.bold._x--;
    8. }
    9. on (keyPress "<Up>") {
    10.     _root.bold._y--;
    11. }
    12. on (keyPress "<Down>") {
    13.     _root.bold._y++;
    14. }


    NB. Hvis du ønsker at bolden skal bevæge sig hurtigere ændre du blot ++ til +=2 eller måske +=5 og ligeledes ved --.

    Tryk Ctrl+enter for at teste filmen.

  6. Vælg dit "action" layer og skriv stop(); i dit actionpanel(F9). Vælg så frame 2, tryk F7 for at lave en tom keyframe, og lav så også en stop() funktion der.

    Lav også en tom keyframe i frame 2 på dit "indhold" layer.

  7. På scenen i frame 2 på dit "indhold" layer skriver du "Game Over" og laver en knap som skal bruges til at starte spillet igen. Kanppen giver du følgende ActionScript.

    1. on(release) {
    2.     gotoAndStop(1);
    3. }


  8. Nu mangler vi blot at teste for om bolden rammer kasserne. Lav et nyt movieclip og kald det "action" og skriv "ActionScript" i det.

    Gå ud på scenen igen, vælg frame 1 på dit "Action" layer og træk en instance af movieclippet ud og placér det uden for scenen så det ikke blive vist under filmen. Når du har gjort det giver du det følgende ActionScript.

    1. onClipEvent (enterFrame) {
    2.     //et loop som tjekker om bolden rører en af boksene
    3.     for (i=1; i<6; i++) {
    4.         if (_root["bold"].hitTest(_root["boks"+i])) {
    5.             //hvis bolden rører en firkant går filmen videre til frame 2
    6.             _root.gotoAndPlay(2);
    7.         }
    8.     }
    9.     //Søgre for at bolden ikke kan bevæge sig ud af billedet
    10.     //hvis boldens placering på x-aksen er over 530
    11.     if (_root.bold._x > 530) {
    12.         //bliver placeringen ændret til 530
    13.         _root.bold._x = 530
    14.     }
    15.     if (_root.bold._x < 20) {
    16.         _root.bold._x = 20
    17.     }
    18.     if (_root.bold._y > 380) {
    19.         _root.bold._y = 380
    20.     }
    21.     if (_root.bold._y < 20) {
    22.         _root.bold._y = 20
    23.     }
    24. }


    Tryk Ctrl+enter for at teste filmen.



    Så er vi færdige

    NB. Dette var altså en gennemgang af to funktioner som forhåbentlig kan give dig mod til at begynde at lave dine egne små spil.

Tilbage


Skriv din kommentar til denne tutorial  (eller gå til forummet)
Navn
Kodeflet
Kodeflet

 
rapporter som useriøs kommentar kommentar 16Skrevet af :( 19/8-2009

kan ma få firkanterne til at bevæge sig???
 

rapporter som useriøs kommentar kommentar 15Skrevet af carl bordum 23/11-2008

hvis der er nogen der mangler et sted til spil så send en email til carl@bordum.dk også kommer de ind på bordum.dk
 

rapporter som useriøs kommentar kommentar 14Skrevet af =__= 21/3-2008

Hvordan laver man et madspil ved hjælp af hittest ?
 

rapporter som useriøs kommentar kommentar 13Skrevet af Søren 19/1-2008

Hej alle sammen, jeg sidder lige og prøver at lave et stickman spil ud fra nogen af de her ting. Men så var det jeg stødte ind i et problem, jeg vil nemlig gerne have min stickman til at kunne rotere. så hvis der er nogen der ved hvordan man gør det så vær venlig at skrive.
Hilsen Søren.
 

rapporter som useriøs kommentar kommentar 12Skrevet af jonas 4/8-2007

hej.. jeg vil gerne høre om der er nogle der ved hvordan man kan gøre så når bolden røre boksen istedetfor at dø så at stoppe bolden ligesom en slags mur .. hivs i ved det så skriv til mig min mail er: \"jonas@thuroebageri.dk\" tak.
 

rapporter som useriøs kommentar kommentar 11Skrevet af Joakim 13/5-2007

Prøv at skidte koden til bold-moviklippet ud med følgende:

onClipEvent(enterFrame){
if(Key.isDown(Key.LEFT)){
this._x--;
}

if(Key.isDown(Key.RIGHT)){
this._x++;

}

if(Key.isDown(Key.DOWN)){
this._y++;
}


if(Key.isDown(Key.UP)){
this._y--;
}
}

det vil gøre det muligt også at gå skråt.


 

rapporter som useriøs kommentar kommentar 10Skrevet af William Bach 24/3-2007

Min mail er wgb@wgb.dk og min msn er wgb@wgb.dk......
hvis det er nemmere at forklare i chat istedet for forum.. hvis der er andre der har spørgsmål til hvad jeg har gjordt for at få denne tutorial bedre, er i da oss velkomne til at skrive til mig!!

William Bach :-D
 

rapporter som useriøs kommentar kommentar 9Skrevet af William Bach 24/3-2007

Hej!
God tutorial!
Jeg blev lidt træt af at de der røde bokse ikke bevægede sig og det har jeg så fået dem til nu.. ret simpelt.. i burde vise det her på siden, det ville bare være for fedt.. men nok om det.. jeg har så lavet 9 instances af \"boks\" ude på min time line i samme frame og de bevæger sig og man dør når man rammer dem osv..
men problemet ligger så i at jeg gerne vil lave en lille hvid bold som man skal fange for at gå vidre til level 2 eller mål eller game over.. bare så når man rammer den går man til en ny frame.. har oss kaldt min figur, jeg styrer, for bold og prøvet at bruge den samme hit test some med de bokse.. ved boksene ik jeg ind og ændrede den kode some hedder
for (i=1; i<6; i++) {
til
for (i=1; i<9; i++) {
fordi at jeg jo har 8 instances af \"boks\" og ikke 5.. jeg formoder at man skal være mindre end en mere end man har af den instance man er igang med..altså når jeg har 5 instances, skal i være mindre end 6 og når jeg har 8 skal i være mindre end 9 osv..
men når jeg så har en hvid bold, som jeg har kaldet \"goal\" og jeg har mind figur kaldet \"bold\".. så ændrede jeg bare hit testen til goal istedet for boks og i til at være mindre end 2..
her er koden jeg ændrede:


onClipEvent (enterFrame) {
//et loop som tjekker om bolden rører en af boksene
for (i=1; i<9; i++) {
if (_root[\"bold\"].hitTest(_root[\"boks\"+i])) {
_root.gotoAndPlay(2);
}
}


og den ændrede jeg til:

onClipEvent (enterFrame) {
//et loop som tjekker om bolden rører en af boksene
for (i=1; i<9; i++) {
if (_root[\"bold\"].hitTest(_root[\"goal\"+i])) {
//hvis bolden rører en firkant går filmen videre til frame 2
_root.gotoAndPlay(2);
}
}

jeg har selvfølgelig kaldt min hvide ting for goal i mit instance name.. og jeg ved simpelthen ikke hvad der er galt.. har oss spurgt min far.. som har arbejdet med flash i 4 år og han ved det heller ikke..(det er 7 år side at han stoppede, såe..)
Jeg er sådan ok godt inde i flash8 og jeg har oss styr på actionscript, sådan da, men aner ikke hvad jeg skal gøre her..
Tænkte på om i ikke lige gider skrive en actionscript til hvordan man får sådan et mål til at virke så når man rammer den, kommer man til næste level eller mål eller whatever..
Gider i ikke oss godt lige forklare denne script.. var nemlig ret lost ved den.. ellers kunne jeg alt det andet..
Hvad betyder den ?

for (i=1; i<6; i++) {

har prøvet at ligge hele den der hit test ind i et movieklip kaldet goal.. ligesome vi gjorde med den vi har kaldet action, hvor vi har lavet en hit test i..

MVH william bach!!!
Håber sq at i skriver hurtigt til mig.. er nemlig rimelige vild efter at komme igang med det her flash, men mangler lige lidt hjælp her..
Farvel.. ;-D
 

rapporter som useriøs kommentar kommentar 8Skrevet af jweber 17/2-2007

Med hensyn til at lave en kanp kan jeg henvise til min knap tutorial. Men det er højest sandsynligt ikke det der gør at du ikke dør. Husk at det er instance navnene på movieclippene du skal bruge og ikke bare det navn dine movieclip har ude i dit library, men ikke om det måske er der problemet ligger.
 

rapporter som useriøs kommentar kommentar 7Skrevet af oliver 15/2-2007

jeg har fulgt vejledningen, men når jeg spiller det dør jeg ikke når jeg rammer ind i kasserne.jeg tror det har noget at gøre med at jeg ikke helt kan finde ud af 7. det der med at lave en knap. hvis der er nogen der ved det vil de så ikke svare mig? mvh oliver

 

rapporter som useriøs kommentar kommentar 6Skrevet af ?

Helt vildt fedt ;D
 

rapporter som useriøs kommentar kommentar 5Skrevet af ?

Rigtigt god artikel.
Har en ide om at jeg kan bruge noget af det her til en slags \"Pacman\" lookalike når jeg engang bliver bedre :-)

Mvh. Andreas
 

rapporter som useriøs kommentar kommentar 4Skrevet af ?

så virker det... der var én stavefejl eller to der blev rettet efter sammenligningen. Tak
SRP
 

rapporter som useriøs kommentar kommentar 3Skrevet af ?

ActionScriptet som laver hit testen skal ligger på MovieClippet "action" (ikke i frame 1 inde i MovieClippet). Ved ikke om det er det du har gjort, men ellers prøv at downloade FLA filen og kig på den.

Håber det vil hjælpe dig.
Mvh. jweber
 

rapporter som useriøs kommentar kommentar 2Skrevet af ?

Jeg mener jeg har gjort som der stå men man dør ikke hvis bolden rammer kasserne! Den glider bare ind over. Hvad gør jeg forkert?
SRP
 

rapporter som useriøs kommentar kommentar 1Skrevet af ?

Mange tak, nu har jeg fundet stedet! Det er svært at finde gode steder om flash-spil på nettet. Men har fundet det nu :D

Ps: Du må gerne lave en tutorials om hvordan man laver skydespil i flash...
 

Tutorial info


   Få hjælp i forummet Få hjælp i forummet

   Download Download FLA

    Vurdering (38 stemmer) 3.6

   

Optimeret til Internet Explorer og Firefox min. 1024x768 | Designet og programmeret af jweber

Partnere
Officeguide.dk PageRank Google Gratis spil Gamle Online Spil mySiteChart.dk AGF svømning IT-Corner.dk Tilskudsbasen.dk

DanskeLinks.dk | Tilmeld dit link