C++ Draw texture - úkol – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C++ Draw texture - úkol – C / C++ – Fórum – Programujte.comC++ Draw texture - úkol – C / C++ – Fórum – Programujte.com

 

Kenvelo+2
Super člen
6. 8. 2018   #1
-
0
-

Zdravím mám za úkol dodělat hru a opravit kód.  


struct CUSTOMVERTEX
{
    FLOAT x, y, z, rhw; // The transformed position for the vertex
    DWORD color;        // The vertex color
float u,v;
};

void *LoadSprite(const char *fname);
void DrawSprite(void *sprite, float xcentre, float ycentre, float xsize, float ysize, float rotate_angle_radians=0, DWORD tint_col_argb = 0xffffffff);


void *LoadSprite(const char *fname)
{
	IDirect3DTexture9 *tex = NULL;
	D3DXCreateTextureFromFile(g_pd3dDevice,fname,&tex);
	return tex;
}

void SetCurrentTexture(void *tex )
{
	IDirect3DTexture9 *t = (IDirect3DTexture9 *)tex;
	g_pd3dDevice->SetTexture(0,t);
}

void DrawSprite(void *sprite, float xcentre, float ycentre, float xsize, float ysize, float angle, DWORD col )
{
	SetCurrentTexture(sprite);
	float c=cosf(angle);
	float s=sinf(angle);
#define ROTATE(xx,yy) xcentre+(xx)*c+(yy)*s,ycentre+(yy)*c-(xx)*s 
	CUSTOMVERTEX tea2[] =
	{

		///{ xcentre+xsize*c+ysize*s,ycentre+ysize*c-xsize*s , 0.5f, 1.0f, col, 0,0, }, // x, y, z, rhw, color
		
		{ ROTATE(-xsize,-ysize), 0.5f, 1.0f, col, 0,0, }, // x, y, z, rhw, color
		{ ROTATE( xsize,-ysize), 0.5f, 1.0f, col, 1,0, },
		{ ROTATE(-xsize, ysize), 0.5f, 1.0f, col, 0,1, },
		{ ROTATE( xsize, ysize), 0.5f, 1.0f, col, 1,1, },
	};
	g_pd3dDevice->DrawPrimitiveUP(D3DPT_TRIANGLESTRIP, 2, tea2, sizeof(CUSTOMVERTEX));
}


int main()
{
...
void *Enemy = LoadSprite("gfx/Enemy.png");

DrawSprite(Enemy, x[n] + xo, y[n] + yo, (10 + ((n) % 17)), (10 + ((n) % 17)), 0, 0xffffffff);
}

potřeboval bych pomoc tohle nějak zjednodušit nejlépe mít v jedné funkci  ale jak mile se o něco pokusím nikdy to nefunguje . Děkuji za jakoukoliv radu

Nahlásit jako SPAM
IP: 89.177.200.–
Díky bohu, že počítače vymysleli muži. Kdyby to byly ženy, tak binární soustavu reprezentují jedničky, nuly a "možná"
Jerry
~ Anonymní uživatel
512 příspěvků
8. 8. 2018   #2
-
0
-

#1 Kenvelo
...obávám se že tenhle tvuj přístup nikam nepovede. naučit se programovat v DirectX trvá cca 5 let

Dělá se to tak, že si koupíš knížku (třeba P.Pokorný DirectX - začínáme programovat) nebo si vyhledáš info na internetu a ... začneš. Ale na druhou stranu je potřeba říct, že kdyš se takhle necháš jak opacholek úkolovat od někoho, tak .. je to divný no ... Ty chceš dělat programátora v DirectX ? jde o to, že to trvá spoustu let a je to v podstatě "koníček" na min. na pulku života ...

Nahlásit jako SPAM
IP: 2a00:1028:83be:235a:c0ba:...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 88 hostů

Podobná vlákna

Texture mixer, tvoření masky — založil Mutagen

Corel Draw 12 — založil Mindax

Android draw on top — založil hráč

Moderátoři diskuze

 

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