Tjaaa... Du kan jo starte med at tegne en rund ost i et tegneprogram. Gemme som et *.bmp - billede. Indsætte dette på en form i en TImage og i første omgang prøve at få 'osten' til at bevæge sig rundt... Dette kan du gøre ved at ændre på TImagens, left og top- properties...
Men det er et ret voldsomt projekt, hvis du ikke har spor programmeringserfaring. Måske skulle du prøve at lave nogle mindre programmer først...
Kan du ikke forklare mig hvordan man skriver selve programmet alså alle de koder man skal skrive når man har tegnet en rundt ost og har placeret alle de nødvendige ting på formen.
Som sagt... Det er meget mere kompliceret end det! Og hvad er der sjovt ved at kompilere en andens kode??? Desuden gider jeg ikke til at programmere et pacman-spil for 30 points(eller 10.000 points for den sags skyld).
Men hvis du går i gang med at lave det selv, vil jeg, og en masse andre, meget gerne hjælpe til undervejs, med enkelte spørgsmål. Jeg tror ikke du får nogen til at skrive et helt program til dig.
Som nævnt synes jeg du skal starte med at sætte en TImage på din form. Dobbeltklikke på den og loade et billede. Derefter kan du sætte fire knapper på din form til at bevæge dit billede henholdsvis op, ned, højre og venstre...
Knappernes's onclick-event's kunne f.eks. lyde:
image1.left := image1.left - 1;
og
image1.left := image1.left + 1;
og
image1.top := image1.top - 1;
og
image1.top := image1.top + 1;
Så er du da kommet igang med at bevæge et billede rundt på en form...
Ja, og hvis du tegner flere "oste" som retep kalder dem, f.eks. en hvor munden er lidt åben og et til hvor den er helt åben, skifter du billedet ud under vejs:
Når du har 3 billeder gemmer du dem i et array f.eks. ost : array[1..4] of Timage; og gemmer billedet med osten med lukket mund i array 1, billedet med lidt åben mund i array 2 OG 4 og billedet med helt åben mund i array 3.
Med en global variabel (f.eks. A_ost)holder du styr på hvilket der er vist og med en timer skifter du billederne ud. Timeren sætter du til f.eks. 300 eller 500 og i timerens ontimer event skriver du:
inc(a_ost ); // læg en til værdien if a_ost > 4 then a_ost := 1; image1.picture.assign(ost[a_ost].picture);
Jeg skulle måske lige nævne at du skal starte dit program med at udføre en create for hvert Timage i Array (for i := 1 to 4 do ost[i].create(form1); og derefter loade billedet ind i arrayet med ost[1].loadfromfile(billede), men du kan selvfølgeligt også bare droppe 4 images på formen, sætte visible to false og så i design loade de 4 billeder ind i dem. Så kan du flytte dem herfra over i arrayet når du starter programmet.
På denne måde udskiftes billedet hele tiden med et andet og det ser ud som om osten åbner og lukker munden.
Og med reteps eksempel på at få dem til at bevæge sig kan du få en pacman til at fise rundt og åbne og lukke munden.
Derefter er det et spm. om at definere hvor på skærmen osten må være, og til det bruger du "rect" for formen der angiver hvilket område der er til rådighed og så er det bare at definere hvor den må være og hvor den ikke må være.
Prøv det og spørg så igen når du har fået gang i osten.
>>sejesen og retep Jeg kan ikke få osten til a bevæge sig. Som jeg fortælte før har jeg ikke særlig maget programmerings afering. Vil en af jer være sød og skrive en trin for trin eksempel, alså kilde koden og de ting der skal være på formen.
Den som skriver eksemplen får 60 point
p.s Jeg har en englisk version af (Delphi4/client server)
Jeg har allerede skrevet at du skulle placere en TImage og fire TButtons på din form, og hvad du skulle skrive i dem. Bemærk at billedet ikke bevæger sig ret meget for hver gang du trykker... Men hver ting til sin tid.
Stadig!!! Hvis du ikke forstår ovenstående, får du aldrig lavet et PacMan-spil! Læs en begynderbog først. Jeg vil anbefale Per Amdal Steffensens 'Delphi Programmering', da den starter helt fra bunden, og starter meget praktisk med små eksembler, i modsætning til mange bøger, der kører en masse teori igennem før de kommer til 'det sjove'.
Desuden tror jeg også at dette spørgsmål er ved at være besvaret. Mvh Retep
Du indsætter en TImage. Dobbeltklik på den for at loade et billede (billedet af pacman). Sæt en knap på formen. Dobbeltklik på knappen. Delphi skriver nu noget kode for dig.
procedure TForm1.Button1Click(Sender: TObject); begin image1.top := image1.top - 1; end;
Skriv som jeg har gjort mellem begin og end. Kør programmet, og tryk på knappen. Billedet vil nu bevæge sig en tand opad. Lav derefter de tre andre knapper...
Når jeg tryker på min Keybord's piltaster så sker der ikke noget, billedet bevæger sig ikke. Er der ikke en kode der gør sådan så man kan styre billedet med en keybordens piltaster.
Jo. Du kan bruge formens onkeydown-event. I objektinspektoren vælger du formen, trykker over til events, og dobbeltklikker 'onKeyDown'.
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin case key of 37:image1.Left := image1.Left - 1; 38:image1.Top := image1.Top - 1; 39:image1.Left := image1.Left + 1; 40:image1.Top := image1.Top + 1; end; end;
Men nu får du heller ikke mere hjælp i denne omgang. Idéen er at du stiller ét spørgsmål for ét problem (specifikt). Ikke at du bliver ved med at spørge videre på et spørgsmål i en uendelighed!
Arbejd selv lidt videre. Og stil nye spørgsmål når du ikke kan komme videre!
Hej Jeg har helle pacman På en Applet .class fil vis du vil ha den så skriv tilbage
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.