Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Delphi: Igra na foru Bounca

[es] :: Pascal / Delphi / Kylix :: Delphi: Igra na foru Bounca

Strane: 1 2

[ Pregleda: 4840 | Odgovora: 22 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Remo
Dejan Remetic
Beograd

Član broj: 88687
Poruke: 39
*.ptt.yu.



Profil

icon Delphi: Igra na foru Bounca19.03.2006. u 14:46 - pre 221 meseci
Treba mi pomoci ( kome ovde ne treba ), pravim igru u Delphiju, i to nesto na foru igre za mob Bounce, ali ne znam kako da uradim sledece stvari. U ovoj igri lopta nece skakutati, vec se samo kretati pomocu strelica na tastaturi, ali kao da uradim da kada Image2 ( Slika lopte ) dodje na odredjene kordinate da mi se npr. Image2 vrati na pocetnu poziciju?

[Ovu poruku je menjao Remo dana 19.03.2006. u 15:47 GMT+1]
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Delphi: Igra na foru Bounca19.03.2006. u 16:03 - pre 221 meseci
Ne bi trebalo da to bude tesko. Negde sacuvas koordinatu pocetne pozicije na koju zelis da vratis sliku. Recimo Pocetak: TPoint. Igras pomera sliku strelicama i Pozicija: TPoint se pomera. Kada se dodje do neke koorindate kada je potrebno vratiti sliku na pocetak uradis samo Pozicija := Pocetak i to je to.
 
Odgovor na temu

Remo
Dejan Remetic
Beograd

Član broj: 88687
Poruke: 39
*.ppp-bg.sezampro.yu.



Profil

icon Re: Delphi: Igra na foru Bounca20.03.2006. u 08:44 - pre 221 meseci
Znaci:
u private stavim:
Pozicija: TPoint
Pocetak: TPoint


I sada tamo gde su definisano kako se Image2 krece postavim
if Image2. TPoint:= Pozicija
then Image2. TPoint:= Pocetak


Nesto na ovu foru?
Kako da definisem Pozicija i Pocetak
 
Odgovor na temu

maricn
za tastaturom

Član broj: 42409
Poruke: 79
*.ptt.yu.



Profil

icon Re: Delphi: Igra na foru Bounca20.03.2006. u 11:14 - pre 221 meseci
Citat:
Remo: Znaci:
u private stavim:
Pozicija: TPoint
Pocetak: TPoint


I sada tamo gde su definisano kako se Image2 krece postavim
if Image2. TPoint:= Pozicija
then Image2. TPoint:= Pocetak


Nesto na ovu foru?
Kako da definisem Pozicija i Pocetak

ne, nego:
if (image2.left = pozicija.x) and (image2.top = pozicija.y)
then begin
image2.left := pocetak.x;
image2.top := pocetak.y;
end;
...
recimo
p.s. u if naredbu ne stavljas := nego samo = ...
p.p.s. pocetak.x (po x osi) jednak je nuli na pocetku ekrana, a ne prozora programa, i to treba da se ubaci u kod, ali moras i ti nesto da se pomucis...
 
Odgovor na temu

Remo
Dejan Remetic
Beograd

Član broj: 88687
Poruke: 39
*.dialup.sezampro.yu.



Profil

icon Re: Delphi: Igra na foru Bounca24.03.2006. u 10:31 - pre 221 meseci
Code:

begin
  if (Image2.Left = 401) and (Image2.Top = 401)
    then begin
    Image2.Left := 80;
    Image2.Top := 80;
end;


Ovo sam otkucao u kodu ( Postavio ga u Event - OnKeyPress ) pokrenem igru ali kada dodjem na te koordinate, Image2 nastavlja da se krece kao da nema koda. Sta da radim?
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Delphi: Igra na foru Bounca24.03.2006. u 11:21 - pre 221 meseci
Verovatno ti se slicica ne nalazi na koordinati 401, 401. Po ovom kodu koji si napisao nije dovoljno da slicica samo ode skroz desno ili skroz dole. Mora da se nalazi bas u uglu 401, 401 da bi kod proradio. Ako zelis da se pozicija resetuje bilo da slicica ode skroz desno ili skroz levo onda ovako napisi uslov:

Code:
if (Image2.Left = 401) or (Image2.Top = 401)...


Pisem iz glave pa sam mozda nesto prevideo, ali mislim da je ovo u pitanju.
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
195.252.99.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Delphi: Igra na foru Bounca24.03.2006. u 11:51 - pre 221 meseci
Mozda objekat ne pomeras po jedan piksel, pa se desi da preskochish koordinatu? Probaj da umesto = stavis >= odnosno:
Code:
begin
  if (Image2.Left >= 401) and (Image2.Top >= 401)
    then begin
    Image2.Left := 80;
    Image2.Top := 80;
end;

Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Remo
Dejan Remetic
Beograd

Član broj: 88687
Poruke: 39
*.dialup.sezampro.yu.



Profil

icon Re: Delphi: Igra na foru Bounca24.03.2006. u 13:52 - pre 221 meseci
Code:

if (Image2.Left >= 400) and (Image2.Top >= 400)
  then begin
    Image2.Left := 80;
    Image2.Top := 80;
  end;


Mislim da bi kod trebao ovako da glasi, ali gde da ga stavim, da li u OnKeyPress ili private...?
 
Odgovor na temu

badam

Član broj: 78553
Poruke: 97
*.stcable.co.yu.



+2 Profil

icon Re: Delphi: Igra na foru Bounca24.03.2006. u 20:00 - pre 221 meseci
Obavezno stavi 'or' umesto 'and' i '>=' umesto '=', a tu proveru postavi odmah nakon pomeranja (znas gde si pomerio image2?)

[Ovu poruku je menjao badam dana 24.03.2006. u 21:44 GMT+1]
 
Odgovor na temu

Remo
Dejan Remetic
Beograd

Član broj: 88687
Poruke: 39
*.dialup.sezampro.yu.



Profil

icon Re: Delphi: Igra na foru Bounca25.03.2006. u 16:13 - pre 221 meseci
Citat:
badam: (znas gde si pomerio image2?)


Na sta mislis, ne razumem pitanje?
 
Odgovor na temu

Srki_82
Srdjan Tot
Me @ My Home
Ljubljana

Član broj: 28226
Poruke: 1403
82.208.201.*

ICQ: 246436949


+10 Profil

icon Re: Delphi: Igra na foru Bounca27.03.2006. u 15:29 - pre 221 meseci
Mislio je da ti znas gde u kodu pomeras svoj objekta. I cim ga pomeris proveri da li je sve ok... znaci
Code:
Pomeri
Proveri poziciju i resetuj ako treba

 
Odgovor na temu

Remo
Dejan Remetic
Beograd

Član broj: 88687
Poruke: 39
*.dialup.sezampro.yu.



Profil

icon Re: Delphi: Igra na foru Bounca27.03.2006. u 19:56 - pre 221 meseci
Code:

begin
  Form1.DoubleBuffered:=true;
    case key of
    37: Image2.Left:=Image2.Left-5;{levo}
    38: Image2.Top:=Image2.Top-5;{gore}
    39: Image2.Left:=Image2.Left+5;{desno}
    40: Image2.Top:=Image2.Top+5;{dole}
  end;

end;

  if (Image2.Left = 401) and (Image2.Top = 401)
    then begin
    Image2.Left := 80;
    Image2.Top := 80;
end;

E ovako meni glasi kod, pokrenem igru, ali kao da nema ovog drugog dela
 
Odgovor na temu

badam

Član broj: 78553
Poruke: 97
*.stcable.co.yu.



+2 Profil

icon Re: Delphi: Igra na foru Bounca27.03.2006. u 20:42 - pre 221 meseci
Stavio si ga iza end od procedure (pretpostavljam).

Code:

begin
  Form1.DoubleBuffered:=true;
    case key of
    37: Image2.Left:=Image2.Left-5;{levo}
    38: Image2.Top:=Image2.Top-5;{gore}
    39: Image2.Left:=Image2.Left+5;{desno}
    40: Image2.Top:=Image2.Top+5;{dole}
  end;
  if (Image2.Left >= 401) or (Image2.Top >= 401)
    then begin
    Image2.Left := 80;
    Image2.Top := 80;
  end;

end;


Ponovo: obavezno or i >=.
 
Odgovor na temu

Bojan Kopanja
Bojan Kopanja
Senior Web Developer, ZeusSoftware
Stara Pazova

Član broj: 6155
Poruke: 507
80.93.238.*

ICQ: 346697685
Sajt: www.zeussoftware.rs


Profil

icon Re: Delphi: Igra na foru Bounca27.03.2006. u 22:17 - pre 221 meseci
Pa ne mora obavezno "or" moze i sa "and" ako hoce da mu se ova uslova obavezno ostvare pre resetovanja, ali ">=" svakako treba...
 
Odgovor na temu

badam

Član broj: 78553
Poruke: 97
*.stcable.co.yu.



+2 Profil

icon Re: Delphi: Igra na foru Bounca27.03.2006. u 22:54 - pre 221 meseci
U stvari mu treba (pretpostavljam):
Code:

  if Image2.Left >= 401 then 
    Image2.Left := 80;
  if Image2.Top >= 401 then 
    Image2.Top := 80;
 
Odgovor na temu

Remo
Dejan Remetic
Beograd

Član broj: 88687
Poruke: 39
*.ppp-bg.sezampro.yu.



Profil

icon Re: Delphi: Igra na foru Bounca28.03.2006. u 13:49 - pre 221 meseci
E bas mi je to trebalo sada radi!!!
Ali imam novo pitanje :)
Lopta kada ide nekim pravcem i naidje na neku koordinatu ( manju od 401 Left i Top ), dok se ona krece, na primer naleti na zid, e sada taj zid treba da je zaustavi i da se ona ne pomeri koliko god ja da pritiskam u desno ( ili levo ). Odnosno da ostane na istom polozaju gde udari i zid. Znam da je malo grubo objasnjenje, ako nije jasno pitajte!
 
Odgovor na temu

badam

Član broj: 78553
Poruke: 97
*.stcable.co.yu.



+2 Profil

icon Re: Delphi: Igra na foru Bounca28.03.2006. u 14:00 - pre 221 meseci
Code:

  if Image2.Left >= 401 then 
    Image2.Left := 401;
  if Image2.Top >= 401 then 
    Image2.Top := 401;
  if Image2.Left <= 80 then 
    Image2.Left := 80;
  if Image2.Top <= 80 then 
    Image2.Top := 80;
 
Odgovor na temu

badam

Član broj: 78553
Poruke: 97
*.stcable.co.yu.



+2 Profil

icon Re: Delphi: Igra na foru Bounca28.03.2006. u 14:08 - pre 221 meseci
Pardon. Sad sam video da pomeras lopticu za po pet pixela. Sa prethodnim kodom dobio bi skakutanje loptice u mestu,
potrebna je provera pre pomeranja.
Code:

begin
  Form1.DoubleBuffered:=true;
  case key of
    37: if (Image2.Left-5)>80 then
            Image2.Left:=Image2.Left-5
          else
            Image2.Left:=80;          
    38: if (Image2.Top-5)>80 then
            Image2.Top:=Image2.Top-5
         else
            Immage2.Top:=80
    39: if (Image2.Left+5)<401 then
            Image2.Left:=Image2.Left+5
         else
            Image2.Left:=401;
    40: if (Image2.Top+5)<401 then
            Image2.Top:=Image2.Top+5
         else
            Image2.Top:=401
  end;
 
Odgovor na temu

Remo
Dejan Remetic
Beograd

Član broj: 88687
Poruke: 39
*.dialup.sezampro.yu.



Profil

icon Re: Delphi: Igra na foru Bounca28.03.2006. u 15:22 - pre 221 meseci
Ne, ne, nisi shvatio ( ja sam kriv - lose sam objasnio )

npr.
Loptica ide

----> | ( crtica je zid, a strelica je loptica )

kada loptica dodje do zida...
------->|
...tu da stane i da ne ide dalje u desno, nadam se da si shvatio. ( naravno da se loptica normalno krece u ostalim pravcima )

npr2.
_ _ _ _ _ _
|_|_|_|_|_|
|_|_|_| <--(loptica)---------
|_|_|_ _ _
|_|_|_|_|_|




------------


_ _ _ _ _ _
|_|_|_|_|_|
|_|_|_|<--(loptica)---------
|_|_|_ _ _
|_|_|_|_|_|

Kada je lopta dosla da ne moze da prelazi preko kockica ( kockice su kao zid ), ali da moze da se vrati dole, ili ide gore...
 
Odgovor na temu

badam

Član broj: 78553
Poruke: 97
*.stcable.co.yu.



+2 Profil

icon Re: Delphi: Igra na foru Bounca28.03.2006. u 15:47 - pre 221 meseci
Da, problem je verovatno u tome što nisam igrao Bounce (ne znam ni kako izgleda). Taj problem bi mogao da rešiš tako što ćeš pri pomeranju levo proveriti boju pet pixela u levo od loptice (pretpostavke: boja zida je bela; image2 se krece preko image1 koji je lavirint)
Code:

var i,KolkoMoze:integer;
begin
  KolkoMoze:=0;
  case Key of
     37: begin
            for i:=1 to 5 do
              if Image1.Canvas.Pixels[Image2.Canvas.Left-i,Image2.Canvas.Top]<>clWhite then
                KolkoMoze:=i
              else
                break;
            Image2.Left:=Image2.Left-KolkoMoze
          end;
     38:...;
     39:...;
     40:...;
     41:...
  end
end;

Kuco sam u direktno ovde, pa nije isprobano, ali trebalo bi da radi.
Pozdrav

[Ovu poruku je menjao badam dana 28.03.2006. u 16:49 GMT+1]
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Delphi: Igra na foru Bounca

Strane: 1 2

[ Pregleda: 4840 | Odgovora: 22 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.