játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5511
FZoli:    4894
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2529

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2198
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1654
syam:    1491
> 1 <
Birmacher - Guests | hsz       Online status #5254   2005.08.04 02:37 GMT+1 óra  
azt hittem,h az origótol tol, és nem mászkál közben...eszembe se jutott volna

KÖSZÖNÖM Eagle_lor

gotoAndPlay()

[url="http://10e-tmg.uw.hu" target="_blank">oszt honlapom[/url]

   
Eagle_Lor - Guests | hsz       Online status #5253   2005.08.03 19:09 GMT+1 óra  
A glTranslatef-nél van a hiba: először f-el tolod el majd az eltolt mátrixot még 2f-el, és így tovább. A helyes kód:
glLoadIdentity();
glTranslatef(x, y, z);
for (int i=0; i < 5; i++)
{
  //Egy kocka 2f széles(-f-től f-ig) ezért ennyivel kell arrébb rakni a következőt
  glTranslatef(2*f, 0, 0);
  glBegin(GL_QUADS);
  if (terkep==TRUE) {
    glColor3f(1.0f,1.0f,0.5f);
    glVertex3f( f, f,-f);
    glVertex3f(-f, f,-f);
    glVertex3f(-f, f, f);
    glVertex3f( f, f, f);
  }
  glEnd();
}

Ha optimalizálni akarsz érdemes lesz az egész pályát egy glBegin/glEnd között elküldeni az OpenGLnek.(Módosította Eagle_Lor 2005.08.04. 03:13-kor)

   
nagyy - Guests | hsz       Online status #5252   2005.08.03 15:02 GMT+1 óra  
Még egy 5let:

Először inicializálod az x, y, z változókat, azután kirajzolod az első objektumot, és utána az y, z változókat visszaállítod 0 ra, és utána a többi kocka már ezeket használja. Ez is lehet baj, igaz ahhoz most elég kómás vagyok , hogy magam elé képzeljem, hogy ez 3D ben hogy is nézne ki, de biztos, hogy a kockák sorban kirajzolását megtöri.


nagyy

   
Birmacher - Guests | hsz       Online status #5251   2005.08.03 14:58 GMT+1 óra  
a poén az, h 1. 2. 3. ig ok aztán a 3. és a 4. között van 1 fél kockányi rés, majd a 4. 5. között 1 1kockányi rész...
Kész ez kifog rajtam

gotoAndPlay()

[url="http://10e-tmg.uw.hu" target="_blank">oszt honlapom[/url]

   
Birmacher - Guests | hsz       Online status #5250   2005.08.03 14:49 GMT+1 óra  
glColor3f(1.0f,1.0f,0.5f);
glVertex3f( f, f,-f);
glVertex3f(-f, f,-f);
glVertex3f(-f, f, f);
glVertex3f( f, f, f);

a squerben ennyi van(persze minden oldalra... ez csak 1 részlet...)

gotoAndPlay()

[url="http://10e-tmg.uw.hu" target="_blank">oszt honlapom[/url](Módosította Birmacher 2005.08.03. 22:50-kor)

   
nagyy - Guests | hsz       Online status #5249   2005.08.03 14:43 GMT+1 óra  
Igen. Az If után nem vettem észre a zárójelet.

ui.: Azóta módosítottam az előző írásomat.

nagyy

   
Birmacher - Guests | hsz       Online status #5248   2005.08.03 14:37 GMT+1 óra  
ezt nem értem mér kéne utána tenni?? benne van a ciklusban... lehet, h az ifet nem vetted észre, v én nem értem mit akarsz mondani...
a squareben pedig csak a kocka lapjai és színei vannak...ezt lehet h mondanom kellett volna

gotoAndPlay()

[url="http://10e-tmg.uw.hu" target="_blank">oszt honlapom[/url]

   
nagyy - Guests | hsz       Online status #5247   2005.08.03 14:29 GMT+1 óra  
Ha a Square() függvényben vannak transzformációk, akkor lehet, hogy azok okozzák a bajt.

nagyy(Módosította nagyy 2005.08.03. 22:40-kor)

   
Birmacher - Guests | hsz       Online status #5246   2005.08.03 13:40 GMT+1 óra  
hy...
fájlból szerettem volna beolvasni 1 pac-manhez a térképet, de vmi nem jött össze, szal fájl nélkül állítgatva próbáltam megoldani, de nem gyün össze...
Azt szeretném megoldani, h kirajzoljon kockákat 1más mellé, esetleg lukakat hagyva, de 1 ideig jól működik aztán folyton túlugrál...
itt a kód 1 része:

int DrawGLScene(GLvoid)
{
Map map;
//először csak 1más mellé, aztán majd likazom
BOOL terkep[5] = {TRUE, TRUE, TRUE, TRUE, TRUE};

float f = 0.1f;
float x = 0.0f;
float y = -0.5f;
float z = -3.0f;

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();

for (int i=0; iKISSEBBMINT5; i++)
{
glTranslatef(x, y, z);
glBegin(GL_QUADS);
if (terkep==TRUE) {
Square(f);
}
glEnd();

x += f;
z = 0.0f;
y = 0.0f;
}

return TRUE;
}

és a kép:
(Módosította Birmacher 2005.08.03. 21:42-kor)(Módosította Birmacher 2005.08.03. 21:44-kor)

   
Birmacher - Guests | hsz       Online status #5245   2005.07.25 04:37 GMT+1 óra  
nem mondtam, h oopban van a kód, csak próbáltam kicsit átláthatobbá tenni... én is még csak most foglalkozom vele... a válaszokat köszi, és bocs, h csak most tudtam válaszolni, de csak most jutottam nyet közelébe

gotoAndPlay()

[url="http://10e-tmg.uw.hu" target="_blank">oszt honlapom[/url]

   
ShAdeVampirE - Guests | hsz       Online status #5244   2005.07.23 02:03 GMT+1 óra  
Dev-c++ tényleg elég jó, csak nagyon kevés hozzá a dok. Így pl. én se nagyon tudom, h hogyan kell használni a debugot, csak amire magamtól rájöttem, pedig már lassan fél éve használom...

[off]
Sokan azt hiszik, attól h osztályokkal és objektumokkal játszanak már egyből oop zsenik is lesznek. Engem már régóta érdekel a téma (oop), így olvastam már róla tucatnyi cikket, meg Delphi szemszögű könyvet, most pedig egy teljesen elméletes könyvet mégse mondanám magamat OOP használónak, mert még mindíg sok hibám van.
Ja és ez nem a hozzászóláshoz tartozik, mert asszem nem mondta, h ő oop-ban programoz (vagy igen? lusta vagyok visszanézni ), hanem úgy általánosságban...
[/off]

----------------------------------------
Gondolkozz, dokumentálj, tervezz, dokumentálj, kódolj, dokumentálj, szigorúan ebben a sorrendben, így nem érhet meglepetés...
--------------------------
([url="http://shadevampire.uw.hu">ShAdeVampirE otthona a neten...[/url])

   
Eagle_Lor - Guests | hsz       Online status #5243   2005.07.22 23:28 GMT+1 óra  
Idézet
Birmacher írta:
elindítom benyomja fullscreenbe, aztán kilép azzal, h hibát észlelt, és le kivánkozik állni... A SZEMÉÉT!!!

gotoAndPlay()

Érdemes a debug gombot is használni néha, nem véletlenül építették a dev-c++ba . Bár közel sem olyan jó mint a Visual C++ debuggere, azért ezt is lehet használni. Két hibát találtam gyors átnézés közben:

Az 1. hiba a WndProcban van, GWL_USERDATA-val akarod lekérdezni az objektum címét, azonban ezt nem állítja be CreateWindowEx. A megoldás, hogy egy static GLWindow* window = NULL; sort raksz a WndProc elejére, ami egy statikus változót hoz létre, majd a WM_CREATE-ben kapott CREATESTRUCT segítségével hozzárendeled a WinMainben létrehozott objektum címét: window = (GLWindow*)((LPCREATESTRUCT) lParam)->lpCreateParams;

A 2. hiba, hogy nem inicializálod a keys osztályt így a KeyIsDown tömbbe memóriszemét kerül, azonban az input ellenőrzésnél feltételezed, hogy 0 az értéke, ezt egy memset(keys.KeyIsDown, 0, sizeof(keys.KeyIsDown)); sorral meg lehet oldani.

A kód designján is van még mit finomítani, azon kívül h. classokat használsz nem sok köze van az objektum orientált programozáshoz.

(Módosította Eagle_Lor 2005.07.23. 07:35-kor)

   
Birmacher - Guests | hsz       Online status #5242   2005.07.22 14:16 GMT+1 óra  
elindítom benyomja fullscreenbe, aztán kilép azzal, h hibát észlelt, és le kivánkozik állni... A SZEMÉÉT!!!

gotoAndPlay()

[url="http://10e-tmg.uw.hu" target="_blank">oszt honlapom[/url]

   
gymisi - Guests | hsz       Online status #5241   2005.07.22 14:13 GMT+1 óra  
hol száll el kb????

Akkor tudsz valamit,ha tudod, hogy mit nem tudsz!

   
Birmacher - Guests | hsz       Online status #5240   2005.07.22 14:10 GMT+1 óra  
hy, megint itt
átírtam a nehe ablakozós tutorját 1 classossá, de vmi hibát jelez ki futtatás közben és leáll(fordítás ok)
itt a forráskód:
[url="http://10e-tmg.uw.hu/window/window.cpp" target="_blank">cpp[/url]
[url="http://10e-tmg.uw.hu/window/window.h" target="_blank">h[/url]
1*űen nem jövök rá mi lehet a hiba

gotoAndPlay()

[url="http://10e-tmg.uw.hu" target="_blank">oszt honlapom[/url]

   
ShAdeVampirE - Guests | hsz       Online status #5239   2005.05.22 21:53 GMT+1 óra  
1ébként van még egy megoldás => Alt + (Num)59
Ez is ; -t tesz.

____________________
/ ShAdeVampirE /
([url="http://shadevampire.uw.hu">ShAdeVampirE otthona a neten...[/url])

   
Birmacher - Guests | hsz       Online status #5238   2005.05.22 04:29 GMT+1 óra  
kösz mostmár működik, pedig 1 altGres sem volt, csak kitörültem 1et, mer nem teccet

gotoAndPlay()

[url="http://10e-tmg.uw.hu" target="_blank">oszt honlapom[/url]
[url="http://10e-tmg.uw.hu/vivo/index.php" target="_blank">Vivo games honlapja (grafika nuku)[/url](Módosította Birmacher 2005.05.22. 12:29-kor)

   
Lazarus - Guests | hsz       Online status #5237   2005.05.22 03:43 GMT+1 óra  
Eszközök > Gyorsbill. konfiguráláa. És minden AltGr-es kombinációt törölj ki

netspirit.srv.hu

   
Birmacher - Guests | hsz       Online status #5236   2005.05.22 00:54 GMT+1 óra  
köszi!!, már indítom is a dev-c++t, hogy ki tudjam próbálni
Ha bárkinek vmi más ötlete van, hogy mit kell még beállítani 1 ablaknál az szóljon
ja és még1...fullscreenesre csináltam meg, mer nem gondoltam, hogy túl sok értelme lenne 1 játékot ablakosan futtatni...(remélem nem mondtam hülyeséget, meg 1 nagyobb játékra gondoltam)
és sztetek, ha a játék indítás előtt feljön egy ablak, hogy állítsa be a neki kivánkozó cuccosokat, az mennyire rontja az öszképet?
és vki megtudja mondani, hogy a dev-c++ban, a ";"-jelet h a csudába lehet kitenni, mer nekem erre - altgr+,- nem csinál semmit, és optiont se nagyon találtam, ahol be tudnám állítani... és igen idegesítő folyton ctrl+v-zni...

gotoAndPlay()

[url="http://10e-tmg.uw.hu" target="_blank">oszt honlapom[/url]
[url="http://10e-tmg.uw.hu/vivo/index.php" target="_blank">Vivo games honlapja (grafika nuku)[/url](Módosította Birmacher 2005.05.22. 12:30-kor)

   
Eagle_Lor - Guests | hsz       Online status #5235   2005.05.21 15:57 GMT+1 óra  
A windowsban több módszer is van a beállítások lekérdezésére, a következő kódrészlet két lehetőséget mutat be:
HDC DesktopDC = GetDC(GetDesktopWindow());
//Lekérdezzük a desktop tulajdonságit
int ScreenWidth = GetDeviceCaps(DesktopDC, HORZRES);
int ScreenHeight = GetDeviceCaps(DesktopDC, VERTRES);
int ScreenBits = GetDeviceCaps(DesktopDC, BITSPIXEL);
//Lekérdezzük az elsődleges megjelenítő tulajdonságait
int PrimaryWidth = GetSystemMetrics(SM_CXSCREEN);
int PrimaryHeight = GetSystemMetrics(SM_CYSCREEN);

A desktop mérete elvileg nem mindig egyezik az elsődleges monitor méretével, több monitoros rendszerekben a desktop nagyobb lehet, bár ezt még nem próbáltam.(Módosította Eagle_Lor 2005.05.22. 00:04-kor)

   
Birmacher - Guests | hsz       Online status #5234   2005.05.21 12:24 GMT+1 óra  
és olyan lehetőség nincsen, ami megpróbálja lekérni a windows beállításait - figyelembe véve a videókártyát, stbt... -, és azokat elmenti egy fájlba, ha meg nem sikerült a lekérés akkor megy az amit mondtál

gotoAndPlay()

[url="http://10e-tmg.uw.hu" target="_blank">oszt honlapom[/url]
[url="http://10e-tmg.uw.hu/vivo/index.php" target="_blank">Vivo games honlapja (grafika nuku)[/url]

   
fabo - Guests | hsz       Online status #5233   2005.05.21 11:24 GMT+1 óra  
sztem úgy csináld, hogy csinálsz 1 külön config.exe-t ahol be lehet állítani ezeket, és elemented 1 file-ba, aztán a játék meg betölti az a config által mentett infókat. De lehet úgy is , h először elindul a progi 640*480-ba és majd a menüben beállítja, azután minden indításnál ez használja.


   
Birmacher - Guests | hsz       Online status #5232   2005.05.21 11:03 GMT+1 óra  
hy,

Elkezdtem írni 1 OpenGles engine-t... A NeHe ablakos cuccát átírogattam nézegettem, és csináltam belőle 1 fullscreenes alkalmazást...
Minden jól működik,csak lenne 1-2 kérdésem...
Amikor készítek 1 képernyőt, be állítom a width, height, és bitteket (plusz még a title-t de ez lényegtelen)
Ugyebár minden játék beállításainál ezt be lehet állítani, és onnan változnak, ez természetesen tiszta, de az első futtatásnál, hogyan lehet azt megoldani, hogy a páciens gépének beállításait vegyem alapul és úgy induljon be az ablak...

gotoAndPlay()

[url="http://10e-tmg.uw.hu" target="_blank">oszt honlapom[/url]
[url="http://10e-tmg.uw.hu/vivo/index.php" target="_blank">Vivo games honlapja (grafika nuku)[/url]

   
> 1 <
Zárolt téma, újabb hozzászólás nem lehetséges.