Avatar billede ysubhi Nybegynder
12. april 2001 - 13:17 Der er 37 kommentarer og
2 løsninger

8-?

Hej,

Jeg vil prøve og lave en såkaldt \"Tank\" spil.

Jeg har en Button1, Image1, Edit1 og Edit2. Det er meningen at man skal kunne indtaste en vinkel fra 0-180 i Edit1, og indtaste \"styrke\" fra 1-1000 i Edit2 og til sidst skal man kunne klikke på Button1 som får Image1 til at skyde med den bestemte vinkel og styrke i Edit1 og Edit2.

Hvordan gør jeg det?
Avatar billede nico26 Nybegynder
13. april 2001 - 00:12 #1
Spørger du om hvordan man bereger projektilets kurve, eller hvordan man animerer det?
Avatar billede subcover Nybegynder
14. april 2001 - 01:54 #2
Jeg tror, at du skal prøve noget andet end et Image object. Samtidig skal du have en timer inbygget. Da du sikkert også render ind i yderligere problemer senere i forløbet, vil jeg forslå dig at downloade DelphiX: prøv det her link:
http://users.cybercity.dk/~bbl6194/delphi3dx.htm
:-)
Avatar billede ysubhi Nybegynder
15. april 2001 - 10:34 #3
Nico22 > Begge dele

Subcover > Jeg har DelphiX men jeg aner ikke hvordan man programmere i det.

M.H.V
ysubhi
http://fotx.net/ysubhi
Avatar billede ysubhi Nybegynder
15. april 2001 - 10:39 #4
Subcover > Der er mange gode ting i http://users.cybercity.dk/~bbl6194/delphi3dx.htm men jeg har desværre kun Delphi 3.

M.H.V
ysubhi
http://fotx.net/ysubhi
Avatar billede subcover Nybegynder
15. april 2001 - 15:09 #5
Jeg bruger også Delphi 3, og der skulle ikke være noget problem heri. Giv mig et øjeblik, så vil jeg vende tilbage
Avatar billede ysubhi Nybegynder
15. april 2001 - 17:17 #6
Jeg tænkte mere på om man kunne gøre det med canvas, men hvis du kan finde en løsning med DelphiX ville det være meget bedre.
Avatar billede nico26 Nybegynder
15. april 2001 - 17:34 #7
du kan sagtens lave pæn og hurtig grafik med et canvas og BitBlt
Avatar billede ysubhi Nybegynder
15. april 2001 - 17:36 #8
Nico22 > hvordan?
Avatar billede nico26 Nybegynder
15. april 2001 - 18:25 #9
du skal bruge en teknik der hedder double-buffering. dvs. du har et offscreen bitmap, hvor du laver de ændringer der skal foretages til næste frame f.eks. flytte projektiler og tanks en smule, så du får noget bevægelse. Når du så har lavet de ændringer blitter du hele offscreenen over på skærmen. Til det kan du enten bruge bitblt funktionen eller canvas\' draw
Avatar billede ysubhi Nybegynder
15. april 2001 - 18:29 #10
Nico22 > Kan du ikke lave et eksempel, eller sende det til mig ysubhi@hotmail.com.

M.V.H.
ysubhi
http://fotx.net/ysubhi
Avatar billede nico26 Nybegynder
15. april 2001 - 18:32 #11
Det kan jeg godt. Jeg ved ikke om jeg får tid i dag, men ellers i løbet af mandag. Det bliver være med beregningen af projektilets bane, det hedder vist nok en ballistisk kurve, men jeg kan ikke finde nogen formel
Avatar billede subcover Nybegynder
16. april 2001 - 03:07 #12
Her har du en mulighed lavet med DelphiX i Delphi 3:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, DXDraws, Spin, DXClass, DIB, DXSprite;

type
  TForm1 = class(TForm)
    DXDraw: TDXDraw;                                              // Alle disse objekter
    DXTimer: TDXTimer;                                            // skal du selv sætte ind
    AngleSpinEdit: TSpinEdit;                                      // husk at navngiv dem rigtigt
    PowerSpinEdit: TSpinEdit;
    BFire: TButton;
    Label1: TLabel;
    Label2: TLabel;
    DXImageList: TDXImageList;
    DXSpriteEngine: TDXSpriteEngine;
    procedure BFireClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure DXTimerTimer(Sender: TObject; LagCount: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  FPower: integer;
  FAngle: integer;
  X, Y: integer;
  BullitSprite: TImageSprite;
  Fire: Boolean;
  FAngleX, FAngleY: Double;

implementation

{$R *.DFM}

procedure TForm1.BFireClick(Sender: TObject);
begin
  FPower := PowerSpinEdit.Value;
  FAngle := AngleSpinEdit.Value;
  Fire := True;
  FAngleX := FPower*(90-FAngle)/900;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  BullitSprite := TImageSprite.Create(DXSpriteEngine.Engine);    // Create en sprite
  with TImageSprite(BullitSprite) do begin
    Image := DXImageList.Items[0];                  // få fat i billedet
    Height := Image.Height;                        // Sprite Højde
    Width := Image.Width;                          // Sprite Bredde
    X := 0;                                        // Start X pladsering (venstre)
    Y := DXDraw.SurfaceHeight-Height;              // Start Y placering (nederst)
  end;
end;

procedure TForm1.DXTimerTimer(Sender: TObject; LagCount: Integer);
begin
  if Fire then begin                                    // Hvis der skydes
    if FAngle > -90 then FAngle := Fangle - 1;          // Tyngdekraft effect
    with TImageSprite(BullitSprite) do begin
      if X < DXDraw.SurfaceWidth then                    // Hvis X ikke går ud af skærmen
        X := X + FAngleX                                // bevæg i X retning
      else Fire := False;                                // ellers stop
      if Y >0 then                                      // Hvis Y ikke går ud af skærmen
        Y := Y - (FAngle/90)*(FPower/10)                // bevæg i Y retning
      else Fire := False;                                // ellers stop
    end;
  end
  else with TImageSprite(BullitSprite) do begin          // Ellers Reset
    X := 0;
    Y := DXDraw.SurfaceHeight-Height;
  end;
  DXSpriteEngine.Move(LagCount);                        // ingen aning men det skal stå der
  DXSpriteEngine.Dead;                                  // ditto
  DXDraw.Surface.Fill(0);                                // farv hele skærmen sort

  DXSpriteEngine.Draw;                                  // Draw Sprites
  DXDraw.Flip;                                          // Updater Skærmbillede

end;

end.
Avatar billede ysubhi Nybegynder
16. april 2001 - 19:00 #13
Subcover > Jeg har prøvet din eksempel, men den virker ikke! Jeg kan ikke se noget som helst andet end de komponenter der er. Håber du kan finde en bedre løsning.

M.V.H.
ysubhi
http://fotx.net/ysubhi
Avatar billede subcover Nybegynder
16. april 2001 - 20:01 #14
Det var vist lige en UPS!. Der er lige nogle små ting jeg glemte at skrive. Du skal sætte et image ind i din DXImageList, og så skal du huske at DX komponenterne skal linkes, hvilket vil sige, at din DXSpriteEngine og din DXImageList skal referere til DXDraw. Alt sammen noget du sætte i din object inspector. Hvis du gerne vil have mig til at sende mit eksempel til dig, kan du bare sige til :-)
Avatar billede ysubhi Nybegynder
18. april 2001 - 09:45 #15
Subcover > Den virker! Men kan du ikke lave en \"grund\" som \"tank\"ene kan stå på? og kan du ikke lave 2 tanks som kan skyde til hinanden? og når man rammer hinanden skal modstanderen dø. Jeg afsætter gerne flere point.

M.V.H.
ysubhi
http://fotx.net/ysubhi
Avatar billede subcover Nybegynder
18. april 2001 - 10:25 #16
Jo, men det kan jeg først være færdig med lidt senere idag :-)
Avatar billede subcover Nybegynder
19. april 2001 - 22:41 #17
ysubhi > Jeg har ikke glemt dig, jeg har bare drøn travlt. Der kommer noget imorgen eller Lørdag
Avatar billede ysubhi Nybegynder
20. april 2001 - 22:52 #18
subcover > Det er i orden 8-)
Avatar billede ysubhi Nybegynder
26. april 2001 - 17:27 #19
Subcover > Der er gået flere dage, er du ikke snart færdig?

M.V.H.
ysubhi
http://fotx.net/ysubhi
Avatar billede ysubhi Nybegynder
04. maj 2001 - 21:33 #20
Subcover > Jeg lukker spørgsmålet hvis du ikke snart svarer.

M.V.H.
ysubhi
http://fotx.net/ysubhi
Avatar billede ysubhi Nybegynder
13. maj 2001 - 12:01 #21
Jeg nedtæller, hvis du ikke svarer så lukker jeg spørgsmålet.

20!
Avatar billede ysubhi Nybegynder
13. maj 2001 - 12:02 #22
19!
Avatar billede ysubhi Nybegynder
13. maj 2001 - 12:02 #23
18!
Avatar billede ysubhi Nybegynder
13. maj 2001 - 12:03 #24
17!
Avatar billede ysubhi Nybegynder
13. maj 2001 - 12:03 #25
16!
Avatar billede ysubhi Nybegynder
13. maj 2001 - 12:03 #26
15!
Avatar billede ysubhi Nybegynder
13. maj 2001 - 12:03 #27
14!
Avatar billede ysubhi Nybegynder
13. maj 2001 - 12:04 #28
13!
Avatar billede ysubhi Nybegynder
13. maj 2001 - 12:04 #29
12!
Avatar billede ysubhi Nybegynder
13. maj 2001 - 12:04 #30
11!
Avatar billede ysubhi Nybegynder
13. maj 2001 - 12:05 #31
10!!!
Avatar billede ysubhi Nybegynder
13. maj 2001 - 12:05 #32
9!!!
Avatar billede ysubhi Nybegynder
13. maj 2001 - 12:05 #33
8!!!
Avatar billede ysubhi Nybegynder
13. maj 2001 - 12:06 #34
7!!!
Avatar billede ysubhi Nybegynder
13. maj 2001 - 12:06 #35
6, 5, 4!!!!!!!!
Avatar billede ysubhi Nybegynder
13. maj 2001 - 12:06 #36
3!!!!!!
Avatar billede ysubhi Nybegynder
13. maj 2001 - 12:07 #37
2!!!!!!
Avatar billede ysubhi Nybegynder
13. maj 2001 - 12:07 #38
1!!!!!!
Avatar billede ysubhi Nybegynder
13. maj 2001 - 12:07 #39
0!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
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
Kurser inden for grundlæggende programmering

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