Anonymní profil Mafi – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Mafi – Programujte.comAnonymní profil Mafi – Programujte.com

 

Příspěvky odeslané z IP adresy 88.101.197.–

Mafi
C / C++ › Kolize čtverců
12. 1. 2013   #170125

#4 zlz
Jsou to čtverečky 20 x 20 které padají dolů a chci zjistit kdy došlo ke kolizi jestě jsem něco dopsal sice to detekuje ale někdy nesmyslně takže někde je ještě bota, jak by jsi to vyřešil ,nemáš nějaký fígl ? :D  

for(int i = 0; i < POCET_NEPRATEL ; i++)
	{
		if(PocetNepratel[i].y > 0 )  // Pokud už je na obrazovce
		{
			if(PocetNepratel[i].akt)
			{

				    float pos_x = PocetNepratel[i].x;
				    float pos_y = PocetNepratel[i].y;

					if(( PocetNepratel[i].x > pos_x - 20) &&
					   ( PocetNepratel[i].x < pos_x + 20) &&
					   ( PocetNepratel[i].x > pos_y - 20) &&
					   ( PocetNepratel[i].x < pos_y + 20))
					{
						PocetNepratel[i].akt = false;

						colision = true;
						break;
						
					}
					else{ }
					
					
			}    
			

	} 

Mafi
C / C++ › Kolize čtverců
12. 1. 2013   #170120

#2 zlz
Děkuji za radu :) 

Tento kod mi funguje na všechny strany , když mám samostatné 2 čtverce a pohybuji s nimi klávesama

if((pos_x > pos_x2 - 20) && ( pos_x < pos_x2 + 20) && 
   (pos_y > pos_y2 - 20 ) && (pos_y < pos_y2 + 20))

ale nefunguje to na pohyblivé čtverce nakreslil jsem si to ale jsem už z toho dneska magor :)

Mafi
C / C++ › Kolize čtverců
12. 1. 2013   #170117

Zdravím všechny zkouším kolize čtverců , problém není u dvou čtverců to funguje ale problém nastává když mám pole čtverců (obrázků v bmp ) které vykresluji v allegru od  shora dolů a snažím se detekovat kolizi.Mám strukturu

 struct Enemy {

	bool akt;
	float x; // souřadnice 
	float y; // souřadnice 
	float speed; // rychlost 
	float w;  // výška spritu 
	float h;  // šířka spritu 


}PocetNepratel[POCET_NEPRATEL];

A takhle zkouším kolizi ale dělám to blbě nevíte někdo jak by to bylo správně děkuji  .

  

for(int i = 1; i < POCET_NEPRATEL ; i++)
	{
	if( ( PocetNepratel[0].x >= PocetNepratel[i].x - PocetNepratel[i].h ) &&
	( PocetNepratel[0].x <= PocetNepratel[i].x + PocetNepratel[i].w ) &&
	( PocetNepratel[0].y >= PocetNepratel[i].y - PocetNepratel[i].w ) &&
	( PocetNepratel[0].y <= PocetNepratel[i].y + PocetNepratel[i].h )) 
          {	     
            colision = true;
			   
           }
          else{ colision = false;}
            }

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý