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

pomoć oko igre u delphi-u 7

[es] :: Pascal / Delphi / Kylix :: pomoć oko igre u delphi-u 7

[ Pregleda: 3315 | Odgovora: 19 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vladaboy93
Vladimir Makaric
Novi Sad

Član broj: 137777
Poruke: 376
*.041net.co.yu.

Sajt: vladimirmakaric.110mb.com


Profil

icon pomoć oko igre u delphi-u 711.03.2007. u 09:01 - pre 208 meseci
Već neko vreme pravim video igre u delphi-u 7 i treba mi pomoć oko jednog problema?

Kada pokrenem igru koju sam napravio svaki objekat koji se kreće
na bilo koji način (pomoću tajmera,pritiskom na dugme,..) secka (refreshuje se) to jest koči.
Ova pojava nema veze sa brzinom računara jer sam igricu pokretao
na raznim računarima i svuda je isto!!!!!

UNAPRED HVALA!!!!!



[Ovu poruku je menjao vladaboy93 dana 11.03.2007. u 15:38 GMT+1]
 
Odgovor na temu

Vladica Savić
Software Developer
Toronto, Canada

Član broj: 26699
Poruke: 654



+5 Profil

icon Re: pomoć oko igre u delphi-u 711.03.2007. u 12:37 - pre 208 meseci
Daj malo vise detalja...
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: pomoć oko igre u delphi-u 711.03.2007. u 12:38 - pre 208 meseci
> Kada pokrenem igru koju sam napravio svaki objekat koji se kreće
> na bilo koji način (pomoću tajmera,pritiskom na dugme,..) secka to jest koči.

Zapravo nisi ništa rekao, koji objekat, kako se iscrtava, kad se iscrtava... Mislim da se na netu mogu naći uputstva za pravljenje igrica u Delphiu, pretpostavljam da je tamo lepo opisano.

 
Odgovor na temu

Vladica Savić
Software Developer
Toronto, Canada

Član broj: 26699
Poruke: 654



+5 Profil

icon Re: pomoć oko igre u delphi-u 711.03.2007. u 13:16 - pre 208 meseci
Nije rekao ni sta koristi, DirektX, OpenGL, ili sta i kako vec...
 
Odgovor na temu

vladaboy93
Vladimir Makaric
Novi Sad

Član broj: 137777
Poruke: 376
*.041net.co.yu.

Sajt: vladimirmakaric.110mb.com


Profil

icon Re: pomoć oko igre u delphi-u 711.03.2007. u 13:54 - pre 208 meseci
Svi objekti se kreću pomoću tajmera na minimalnom interrvalu (1) radi se o kvadratima i pravougaonicima koji se kreću od jednog do drugog kraja i nazad.Kreću se za određeni broj piksela 1 ili 5 ili 8 zavisi od objekta.
Svaki put kada se objekat pomeri za par piksela on prvo nestane pa se ponovo pojavi i tako stalno bez obzira za koliko se piksela pomera i tako ostavlja utisak da igrica secka to jest koči.

Postoje crveni i zeleni objekti koji se kreću (preko tajmera) i jedan mali plavi objekat koji se kreće pomoću tastature.Cilj igre je da se pomoću plavog kvadrata pokupi što više zelenih objekata (jer oni vremenom nestaju)i stigne do cilja u vremenu od 100 sekundi.

Ne koristim ništa drugo osim delphi-a 7 (šta bi mi vi preporučili)

unapred hvala!

[Ovu poruku je menjao vladaboy93 dana 11.03.2007. u 15:06 GMT+1]

[Ovu poruku je menjao vladaboy93 dana 11.03.2007. u 15:07 GMT+1]

[Ovu poruku je menjao vladaboy93 dana 11.03.2007. u 15:37 GMT+1]
 
Odgovor na temu

bojan21
Bojan Zukic
Beograd

Član broj: 101113
Poruke: 251
194.106.165.*



+6 Profil

icon Re: pomoć oko igre u delphi-u 711.03.2007. u 13:56 - pre 208 meseci
Ako se ne varam, misli na sledece:

- ako recimo imamo slicicu loptice i hocemo da se ona dobija o ivice forme (tj, da se krece u prozoru) postavicemo tajmer koji ce je pomerati za nekoliko pixela na swakih 10-100ms.
- kad se radi o veoma maloj slicici swe ide glatko, medjutim ako je slicica malo veca (100*100px) kad god se pomeri na istek tajmera, program ce je refresh-ovati sto ce se primetiti kao treperenje.

Ja sam imao takaw problem (znaci, najprostija moguca igra bez koriscenja OpenGL-a ili DirectX-a), pa ako neko zna kako da se prevazidje to "widljivo" refresh-ovanje. Hvala
 
Odgovor na temu

vladaboy93
Vladimir Makaric
Novi Sad

Član broj: 137777
Poruke: 376
*.041net.co.yu.

Sajt: vladimirmakaric.110mb.com


Profil

icon Re: pomoć oko igre u delphi-u 711.03.2007. u 14:13 - pre 208 meseci
U pravu si slike jesu velike i stalno trepere to jest refreshuju se.Sa malim slikama je to slabo vidljivo ali sa velikim je to problem čak isa najbržim računarima.

Nije mi jasno kako bi DirektX pomogao ovom problemu.
Da li bi neko mogao da mi objasni.

[Ovu poruku je menjao vladaboy93 dana 11.03.2007. u 15:38 GMT+1]
 
Odgovor na temu

savkic
Igor Savkić

Moderator
Član broj: 92186
Poruke: 2739



+92 Profil

icon Re: pomoć oko igre u delphi-u 711.03.2007. u 15:07 - pre 208 meseci
> svi objekti se kreću pomoću tajmera na minimalnom interrvalu (1) radi se o kvadratima i pravougaonicima koji se kreću od jednog do drugog kraja i
> nazad.Kreću se za određeni broj piksela 1 ili 5 ili 8 zavisi od objekta.

TTimer (tj. windows timer) iako dozvoljava intervale od 1ms, zapravo ih ne podržava, najmanje što se može dobiti je 10ms ili više što zavisi od zauzetosti računara i programa. Naimer, timer poruke su poruke niskog nivoa i biće obrađene tek pošto se obrade sve ostale. Nisam se mnogo bavio igricama ali mi deluje da je bolje iscrtavanje prebaciti u Paint metodu. Kada stigne trenutak da se iscrta figura, to se uradi na osnovu njenih trenutnih pozicija, te trenutne pozicije se updejtuju protekom vremena, pritiskom na taster ili već prema zahtevima. Od izuzetne važnosti na skladno pomeranja figura je i način iscrtavanja, ali je to neka druga tema.
 
Odgovor na temu

vladaboy93
Vladimir Makaric
Novi Sad

Član broj: 137777
Poruke: 376
*.041net.co.yu.

Sajt: vladimirmakaric.110mb.com


Profil

icon Re: pomoć oko igre u delphi-u 711.03.2007. u 15:58 - pre 208 meseci
Za pravljenje video igara koji su mi sve programi potrebni (osim delphi-a)

HVALA!
 
Odgovor na temu

Vladica Savić
Software Developer
Toronto, Canada

Član broj: 26699
Poruke: 654



+5 Profil

icon Re: pomoć oko igre u delphi-u 711.03.2007. u 16:30 - pre 208 meseci
Mozes da koristis OpenGL za pravljenje igara koji je Srki_82 lepo obradio od nule, isto vazi i za DirektX, a u sustini, ne moras da koristis nista drugo sem Delphi-a za pravljenje video igara. Samo skini OpenGl za Delphi komponente, instaliraj, prouci Srkijeve tutoriale i uzivaj...
 
Odgovor na temu

Nemanja_666
Nemanja Tatic
Gradiska

Član broj: 116292
Poruke: 221
217.23.204.*



+19 Profil

icon Re: pomoć oko igre u delphi-u 711.03.2007. u 17:19 - pre 208 meseci
Moze se taj problem veoma lako rijesiti.
Prvo napravis virtuelni komptabilni canvas na koji iscrtavas sve pa zatim sa tog kopiras na pravi.

Pogledaj demo folderu igru EarthPong iz tog dema ja sam naucio. Inace za igra u delphiju je najlakse da se radi sa GLScene na ovom forumu imas tutorijal koje napisao Srki za pocetak
 
Odgovor na temu

Nemanja_666
Nemanja Tatic
Gradiska

Član broj: 116292
Poruke: 221
217.23.204.*



+19 Profil

icon Re: pomoć oko igre u delphi-u 711.03.2007. u 17:45 - pre 208 meseci
Ako ne uspijes sam resiti javi pa cu ti poslati jedan .dll koji sam radio koji ceto resiti. ali velike izmjene u tvojoj igri ce biti obavezne.
 
Odgovor na temu

Whois

Član broj: 92214
Poruke: 37
195.252.79.*



Profil

icon Re: pomoć oko igre u delphi-u 711.03.2007. u 17:48 - pre 208 meseci
Postavi property DoubleBuffered od forme na True.
 
Odgovor na temu

vlaiv
Vladimir Vlaisavljevic
Novi Sad

Član broj: 15993
Poruke: 352
212.200.249.*



+1 Profil

icon Re: pomoć oko igre u delphi-u 712.03.2007. u 10:50 - pre 208 meseci
Takodje izbegavati Timer za takve stvari ...

Imas komponentu TApplicationEvents ...

Postoji event OnIdle, u njemu imas parametar Done koji postavis na false i dobio si gotovu "petlju" odnosno
aplikacija ce zvati taj event nonstop (kada god ne radi nista drugo - tipa update akcija i sl ... - sto je dosta cesto)

E jedino sto treba da se pobrines je time sinhronizacija ...

Tu mozes da odradis nesto poput

Code:

begin
 if  (Now-LastFrame)>PetnaestMS then
  begin
   LastFrame:=Now;
   { ovde odradis animaciju i sve to ... :) }
  end;
 Done:=false; 
end;


LastFrame je TDateTime ...
PetnaestMS je TDateTime i ima vrednost od 15 milisekundi (to ti je za recimo nekih 60tak "frejmova u sekundi" - ovo je pod navodnicim
zato sto nema realne veze sa fps-om nego ima veze sa frekvencijom osvezavanja tvoje simulacije odnosno igre) ...
 
Odgovor na temu

_v!rus_
BGD

Član broj: 40451
Poruke: 313
*.zaslon-telecom.si.



+1 Profil

icon Re: pomoć oko igre u delphi-u 712.03.2007. u 16:56 - pre 208 meseci
Nemas potrebe za Application.OnIdle, slobodno koristi tajmer jer ta tvoja aplikacija ne koristi nikakve ne-znam-kakve procesorske resurse za proracun, sve sto taj kod radi (pa jos x100) moze da stane u nekih 10ms procesorskog vremena.

Stavi doublebuffered property forme na True i postavi obavezno tajmer na 1000ms/RefreshRate monitora (refresh rate citaj iz ini fajla ili ga pokupi nekako od windowsa).
Tajmer koji pokrece logiku u igri i na kraju crta novo stanje mora biti celobrojno deljiv sa refresh rate-om monitora da bi dobio tecnu animaciju. Znaci, ako ti je refresh 60Hz, to je 60x za 1000ms, znaci tajmer mora biti 1000/60 = 16.67ms. Posto je ~16 najniža rezolucija normalnog tajmera na windows platformi, onda koristi duplo vecu, znači 33, a onda sve brzine objekata (tih tvojih 4, 8 pixela...) pomnozi sa 2.
 
Odgovor na temu

Nemanja_666
Nemanja Tatic
Gradiska

Član broj: 116292
Poruke: 221
217.23.204.*



+19 Profil

icon Re: pomoć oko igre u delphi-u 713.03.2007. u 13:20 - pre 208 meseci
Ovako ce se uvek dobiti treperenje objekata(slika), jer koliko sam ja svatio ti ih direkno iscrtavas na formin Canvas i zbog toka dolazi
 
Odgovor na temu

vlaiv
Vladimir Vlaisavljevic
Novi Sad

Član broj: 15993
Poruke: 352
212.200.249.*



+1 Profil

icon Re: pomoć oko igre u delphi-u 714.03.2007. u 14:19 - pre 208 meseci
Mislim da tajmer nije dovoljno precizan (razlika postoji u intervalima, pogotovu kada windows nesto cacka po resursima), mada je pitanje da li ce se to primetiti ...

DoubleBuffered:=True; //ovo obavezno za TForm ...

I nemoj koristiti TImage ili slicno za objekte ... overrajduj paint metodu za TForm, pa direktno iscrtavaj na canvas slike sa draw metodama (da li stretch draw
ili obican ako je u pitanju bmp ili ga crtaj "rucno" ako je jednostavan oblik).

Treperenje moze u ovom slucaju lako da bude zbog toga sto si koristio TImage u koji si ucitao Jpeg ... a ako se ne varam on se dekodira svaki put na taj
nacin i uzima vreme procesora ...
 
Odgovor na temu

bojan21
Bojan Zukic
Beograd

Član broj: 101113
Poruke: 251
194.106.165.*



+6 Profil

icon Re: pomoć oko igre u delphi-u 715.03.2007. u 14:15 - pre 208 meseci
Ili josh bolje, skini neki free engine i uzivaj (recimo Game Maker) !
 
Odgovor na temu

vladaboy93
Vladimir Makaric
Novi Sad

Član broj: 137777
Poruke: 376
*.137.eunet.yu.

Sajt: vladimirmakaric.110mb.com


Profil

icon Re: pomoć oko igre u delphi-u 715.03.2007. u 21:05 - pre 208 meseci
Da li postoji neki dobar engine za pravljenje video igrica koji podržava Delphi to jest paskal?
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
194.106.174.*

Sajt: https://avramovic.info


+46 Profil

icon Re: pomoć oko igre u delphi-u 715.03.2007. u 23:13 - pre 208 meseci
Postoji, GLScene.
Laravel Srbija.

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

[es] :: Pascal / Delphi / Kylix :: pomoć oko igre u delphi-u 7

[ Pregleda: 3315 | Odgovora: 19 ] > FB > Twit

Postavi temu Odgovori

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