27. september 2001 - 12:17Der er
81 kommentarer og 1 løsning
Hjælp til bevægelse
Jeg har den her figur nederest i billedet, som kan skyde når man trykker på venstre musse tast. Man kan flytte figuren med pil V og H.
Når man skyder opstår problemet.
Figuren hopper tilbage og det kan jeg også godt forstå for det har jeg jo selv valgt. Men mit problem er at det skal den jo ikke. Den skal jo blive hvor den er når jeg skyder. Det røde der kommer efter skudet er insekten som splatter, og den skal blive hvor den er blevet splattet selv om man rykker med figuren.
Du har et script til at gå over de første par frames, den skal du skubbe, så den først starter i frame 2! I frame 1 indsætter du scriptet:
on enterframe sprite(3).visible = FALSE end
Dit script fra frame 2 skal se sådan her ud:
on exitFrame me go to the frame end on keyDown if the key = \"v\" then sprite(1).locH = sprite(1).locH + 3 end if if the key = \"h\" then sprite(1).locH = sprite(1).locH - 3 end if on mouseUp if the clickOn = 0 then sprite(3).loc = sprite(2).loc sprite(3).visible = TRUE go to \"spray\" end if -- member(spray).picture
--pictHolder = member(\"spray\").picture end
Jeg har rettet key kommandoen jeg kunne ikke få det til at virke med den anden (:
I den sprite hvor \"spray\" ligger (SKAL være sprite 3) trækker du den hen så den starter i den frame, hvor bug slutter, så de overlapper hinanden!
Så skal du sørge for at \"splash\" ikke ligger i samme sprite som \"spray\"! \"spray\" trækker du hen så den slutter samme sted som \"splash\"!
I den frame hvor \"splash\" begynder skal du indsætte scriptet:
on exitFrame me set the member of sprite 3 = \"splash\" end
Ok jeg skal lige se lidt på det sådan lige nu virker det ikke jeg kan ikke engang flytte min fuigur selv om jeg har rettet v og h til 123 og 124. Men jeg ser lidt mere på det...tak ind til videre
123 og 124 er venstre og højre piltast det står der i hjælp og det virkede i min egen version men nu virker det ikke... Jeg skal lige have lidt tid til at tykke på det. Når jeg trykker på mussen komme denne fejl:
Script error \"Frame not deiened\" go to \"spray\"
hvorfor det når jeg i sprite 3 har \"spray\" helt fram til frame 20?
Jeg skrev at du skulle indsætte en marker, der hedder spray, i den frame hvor \"spray\" -spriten begynder!
Ok! så er det mig der har lavet rod i det, sådan skal det se ud:
on exitFrame me go to the frame end on keyDown if the keycode = 123 then sprite(1).locH = sprite(1).locH + 3 end if if the keycode = 124 then sprite(1).locH = sprite(1).locH - 3 end if on mouseUp if the clickOn = 0 then sprite(3).loc = sprite(2).loc sprite(3).visible = TRUE go to \"spray\" end if -- member(spray).picture
--pictHolder = member(\"spray\").picture end
Det var også for dårligt, at jeg ikke forstod den :)
Ja spray overlapper bug og spray slutter i frame 7 og splash starter i frame 7 og slutter i fame 9 har i første frame denne kode on exitFrame me set the member of sprite 3 = \"splash\" end
\"mann\" startet i frame 1 og slutter i frame 10 med kode i frame 1 og 2 som du skrev tideliger
on exitFrame me go to the frame end on keyDown if the keyCode = 124 then sprite(1).locH = sprite(1).locH + 3 end if if the keyCode = 123 then sprite(1).locH = sprite(1).locH - 3 end if on mouseUp if the clickOn = 0 then sprite(3).loc = sprite(2).loc sprite(3).visible = TRUE go to \"spray\" end if end
hvordan ser dit ud, for mit virker altså ik! \"snøft\"
on exitFrame me set the member of sprite 3 = \"splash\" end
Sådan skal det se ud i frame 7 ja!
Så tror jeg næsten at det er rigtigt!
Nu skal du bare ligge \"splash\" ned i sprite 4 og derefter trække slutpunket på spray hen så den ligger i frame 10, så \"splash\" og \"spray\" slutter samtidig! Derefter kan slette \"splash\" fra sprite 4!
Jeg begyndte med lingo for 3 dage siden og så programmet Director for første gang for 5 dage siden så jeg er ikke helt med på disse fag udtryk. Bare vi forstår hinanden, så er det perf. Jeg er rigemiligt lost lige nu og ved ikke hvad jeg skal gøre, med det her lille spil. Skal jeg prøve at oploade det som jeg har lavet så du kan se det?
prøv at rykke \"mann\" helt ud af skærmen, og så tryk på musse tasten. Hvad sker der så. Hos mig kommer selve skuddet og splash midt på skærmen og ikke ud af skærmen hvor mann nu er.
jag har slettet \"splash\" og så komme den ikke frem mere. Spray slutter nu i frame 10 og starter i frame 3 channel 4, men den følger stadig ikke \"mann\".. Jeg tror at jeg er blevet godt forviret eller så virker det bare hos dig og ikke hos mig..
Hvis vi siger at i Score ude til venstre står der 123456 og så vider dem kalder vi channel. så der hvor man trække sine billeder ind i hedder frames. Så ser mit således ud nu.
channel 1 frame 1 ligger den har kode.... on enterframe sprite(3).visible = FALSE end
i channel 1 frame 2 ligger \"mann\" den har kode.... on exitFrame me go to the frame end on keyDown if the keyCode = 124 then sprite(1).locH = sprite(1).locH + 3 end if if the keyCode = 123 then sprite(1).locH = sprite(1).locH - 3 end if on mouseUp if the clickOn = 0 then sprite(3).loc = sprite(2).loc sprite(3).visible = TRUE go to \"spray\" end if end og den slutter først i frame 10.
i channel 2 frame 1 til 2 ligger \"bug\" i frame 3 til 7 ligger \"spray\". og i fame 7 ligger den her kode... on exitFrame me set the member of sprite 3 = \"splash\" --splash end
i channel 3 frame 7 til 9 ligger \"splash\" som du siger jeg skal slette ? det forstår jeg ikke.
Jeg har lavet den men friserverplads.dk er gået ned, så der går lige et stykke tid, før der kommer et link!
Problemet er nok at vi ikke rigtig har forstået hinanden, jeg vidste ikke før til sidst, at basicq var helt ny i Director! Så vi har haft et problem med hvad der var sprites og frames!
basic -> Når jeg siger frames mener jeg dem der der ligger vandret (x-aksen hvis man kan se det som et kordinatsysmtem). Og sprites dem der ligger lodret nedad (y-aksen).
Som sagt ligger jeg et link ud så du kan hente den, lige så snart friserverplads.dk kommer op igen!
Jeg skal nok lige komme med en forklaring på hvad det er jeg har gjort, så du forstår det, ellers kan du jo ikke bruge det til så meget ;)
Ok tino bh jeg skulle måske have gjordt det klart fra starten at jeg var helt ny med director, men nu er vi på tale fod ang. sprites og frames. Men det er ikke så underligt at jeg bliver forviret for i den bog som jeg har læst i hedder (sprites) channel. Men nu er det på plads.
Jeg glæder mig til at se hvad du har lavet og så tage ved lære.
Det ser da godt ud, men min ide var at \"spray\" skal komme frem ud fra den arm som sidder på \"mann\" for det er ikke et skud men en spray dåse som han holder i hånden. Og så skal \"bug\" kun kunne dø når \"spray\" rammer \"bug\". Og når \"spray\" rammer \"bug\" skal \"bug\" blive til \"splash\".
Håber det er forståligt, og jeg kigger på hvad du har sendt mig og prøver at se om jeg kan finde ud af det.
Hvis du kan hjælpe mig med det som jeg har beskrevt her. Vil der naturligvis komme en del flere point til dig.
Så lig splash lig splash ind i sprite 4! Den skal starte i frame 2 og slutte i frame 10!
Og så skal du ændre scripter i frame 1! Til i stedet for sprite 3 skal der stå sprite 4! Sådan her:
on enterframe sprite(4).visible = FALSE end
scriptet i sprite 2 ændrer du også, så det bliver sprite 4 i stedet for 3:
on exitFrame me go to the frame end on keyDown if the keyCode = 124 then sprite(1).locH = sprite(1).locH + 3 end if if the keyCode = 123 then sprite(1).locH = sprite(1).locH - 3 end if on mouseUp if the clickOn = 0 then sprite(4).loc = sprite(2).loc go to \"spray\" end if end
Scriptet i frame 7:
on exitFrame me sprite(4).visible = TRUE end
til sidst skal du ændre spray, så den starter i frame 3 og slutter frame 6!
on exitFrame me go to the frame end on keyDown if the keyCode = 124 then sprite(1).locH = sprite(1).locH + 3 end if if the keyCode = 123 then sprite(1).locH = sprite(1).locH - 3 end if on mouseUp if the clickOn = 0 then sprite(4).loc = sprite(2).loc go to \"spray\" end if end
tino bh du må virkelig have en tålmodighed som er utrolig stor og det sætter jeg pris på.
Men det der sker nu er at når jeg sprayer så dør bug lige meget hvor den er, og det skal den ikke. Den skal kun dø når den bliver ramt af spray, og spray skal kun komme frem ved manns arm, da det er en spray-dåse som han holder i hånden.
Det med at spray kun skal komme frem ved manns arm har jeg løst ved at sætte et transparant billede over armen og så sprite det billede med spray. Nu mangler jeg at få buggen til at dø når den rammes af spray.
nå ja men det kan jeg jo godt se, men kan det ikke lade sig gøre på en anden måde. Vent jeg spørger lige om der er nogle af lærerne der kan skaffe 8.5. ellers tror jeg vi er kommet på bølgelængde hvad fagudtryk angår, så måske kan du guide mig igennem.
Hvis du sætter det her ind i scriptet i frame 2, så virker det med én bug!
on exitFrame me go to the frame if the mousedown then sprite(3).visible = TRUE if sprite(3).locH - sprite(2).locH < \"30\" and sprite(3).locH - sprite(2).locH > \"-30\" then if sprite(3).locV - sprite(2).locV < \"30\" and sprite(3).locV - sprite(2).locV > \"-30\"then sprite(3).visible = TRUE sprite(4).loc = sprite(2).loc go to \"spray\" end if end if end if if the mouseup then sprite(3).visible = FALSE end if end on keyDown if the keyCode = 124 then sprite(1).locH = sprite(1).locH + 5 sprite(3).locH = sprite(3).locH + 5 end if if the keyCode = 123 then sprite(1).locH = sprite(1).locH - 5 sprite(3).locH = sprite(3).locH - 5 end if end
on exitFrame me go to the frame if the mousedown then sprite(3).visible = TRUE if sprite(3).locH - sprite(2).locH < \"30\" and sprite(3).locH - sprite(2).locH > \"-30\" then if sprite(3).locV - sprite(2).locV < \"30\" and sprite(3).locV - sprite(2).locV > \"-30\"then sprite(2).visible = FALSE sprite(3).visible = TRUE sprite(4).loc = sprite(2).loc go to \"spray\" end if end if if sprite(3).locH - sprite(5).locH < \"30\" and sprite(3).locH - sprite(5).locH > \"-30\" then if sprite(3).locV - sprite(5).locV < \"30\" and sprite(3).locV - sprite(5).locV > \"-30\"then sprite(5).visible = FALSE sprite(3).visible = TRUE sprite(4).loc = sprite(5).loc go to \"spray\" end if end if if sprite(3).locH - sprite(6).locH < \"30\" and sprite(3).locH - sprite(6).locH > \"-30\" then if sprite(3).locV - sprite(6).locV < \"30\" and sprite(3).locV - sprite(6).locV > \"-30\"then sprite(6).visible = FALSE sprite(3).visible = TRUE sprite(4).loc = sprite(6).loc go to \"spray\" end if end if end if if the mouseup then sprite(3).visible = FALSE end if end on keyDown if the keyCode = 124 then sprite(1).locH = sprite(1).locH + 5 sprite(3).locH = sprite(1).locH + 68 updatestage end if if the keyCode = 123 then sprite(1).locH = sprite(1).locH - 5 sprite(3).locH = sprite(1).locH + 68 updatestage end if end
tino_bh: Jeg har været hemmelig i hulen i et par dage det er jeg ked af, men jeg skulle lige have fat i det grundlæggende og jeg tror jeg er ved at være der. Du har været til en stor hjælp og det takker jeg mange gange for. Du kan lige se hvad jeg har lavet, for jeg har naturligvis lavet det hele om så jeg selv kan tage æren for at have lavet det. Jeg fandt også ud af at hvis man laver sit spil i kun 1 frame kommer det hele til at virke meget bedere så det har jeg gjordt med et godt resultat.
Hvis du har lyst til at se hvad jeg er kommet frem til er du velkommen til det, jeg skal aflevere mit projekt fredag en uge. Men du kan jo lige starte med at se min nye kode. Det er jo dig som satte mig i gang med det, så du skal da se hvad din (elev) er kommet frem til... Det her ligger i 1. frame i script channel. ------------------------------------------------ on exitFrame me go to the frame sprite(6).visible = FALSE sprite(8).visible = FALSE sprite(9).visible = FALSE -- sprite(10).visible = FALSE --Får sprite 11 (spider00) til at falde ned. if sprite(11).locV > 480 then --(sprite 11 slut i stageBottom 480) sprite(11).locV = 81 --(sprite 11 start i stageTop 81) else sprite(11).locV = sprite(11).locV +5 -- sætte fart på sprite 11 if sprite(11).locV = 480 then -- sætter død bug lig levende bug når stagebottom 480 nåes set the member of sprite(11) = \"spider00\" end if end if --slut på sprite 11(spider00)
--Får sprite 12 (spider01) til at falde ned. if sprite(12).locV > 480 then --(sprite 11 slut i stageBottom 480) sprite(12).locV = -50 --(sprite 11 start i stageTop 81) else sprite(12).locV = sprite(12).locV +5 -- sætte fart på sprite 12 if sprite(12).locV = 480 then -- sætter død bug lig levende bug når stagebottom 480 nåes set the member of sprite(12) = \"spider01\" end if end if --slut på sprite 12 (spider01) on keyDown if the keyCode = 124 then -- Gå til højre sprite(3).locH = sprite(3).locH + 3-- boy sprite(4).locH = sprite(4).locH + 3-- H-arm sprite(5).locH = sprite(5).locH + 3-- spraydåse sprite(6).locH = sprite(6).locH + 3-- spry sprite(7).locH = sprite(7).locH + 3-- V-arm sprite(8).locH = sprite(8).locH + 3-- Øje sprite(9).locH = sprite(9).locH + 3-- mund end if if the keyCode = 123 then -- Gå til venstre sprite(3).locH = sprite(3).locH - 3-- boy sprite(4).locH = sprite(4).locH - 3-- H-arm sprite(5).locH = sprite(5).locH - 3-- spraydåse sprite(6).locH = sprite(6).locH - 3-- spry sprite(7).locH = sprite(7).locH - 3-- V-arm sprite(8).locH = sprite(8).locH - 3-- Øje sprite(9).locH = sprite(9).locH - 3-- mund end if if the key = SPACE then sprite(6).visible = TRUE-- spray klat sprite(8).visible = TRUE-- Øjene på boy sprite(9).visible = TRUE-- mund på boy -- til spider00 if sprite(6).locH - sprite(11).locH < \"15\" and sprite(6).locH - sprite(11).locH > \"-15\" then if sprite(6).locV - sprite(11).locV < \"15\" and sprite(6).locV - sprite(11).locV > \"-15\" then --sprite(11).loc = sprite(10).loc -- sprite 10 lig \"splat\" set the member of sprite(11) = \"dødbug\" else -- til spider01 if sprite(6).locH - sprite(12).locH < \"30\" and sprite(6).locH - sprite(12).locH > \"-30\" then if sprite(6).locV - sprite(12).locV < \"30\" and sprite(6).locV - sprite(12).locV > \"-30\" then --sprite(12).loc = sprite(10).loc -- sprite 10 lig \"splat\" set the member of sprite(12) = \"dødbug1\" end if end if end if end if end if end ----------------------------------------------- Det er det eneste kode jeg har lavet, nu mangler jeg bare en tæller der viser hvor mange bugs man har slået ihjel. Men det tror jeg at jeg selv kan hitte ud af nu.. Så en sidste meget stor tak til dig... hej hej
Jeg vil som sagt gerne give dig nogle flere point, men kan jeg gøre det uden at oprette en nyt spørgsmål..
hmm... nå! Det er nok kun når der er mere end én der har svartet (:
Synes godt om
Ny brugerNybegynder
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.