Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 12:33

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



D3D Crosshair Problem

Discussion on D3D Crosshair Problem within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
germanhacker's Avatar
 
elite*gold: 0
Join Date: May 2010
Posts: 84
Received Thanks: 13
D3D Crosshair Problem

Hallo, ich bins mal wieder =D

Ich wollte ein D3D Crosshair machen, das funzt auch bis auf die DrawCircle und die DrawLine Funktion :/
Bei denen crasht das game immer

Hier die Funktionen:

Code:
void DrawCircle(int X, int Y, int radius, int numSides, DWORD Color) 
{
	D3DXVECTOR2 Line[128]; 
	float Step = PI * 2.0 / numSides; 
	int Count = 0; 
	for (float a=0; a < PI*2.0; a += Step) 
	{ 
		float X1 = radius * cos(a) + X; 
		float Y1 = radius * sin(a) + Y; 
		float X2 = radius * cos(a+Step) + X; 
		float Y2 = radius * sin(a+Step) + Y; 
		Line[Count].x = X1; 
		Line[Count].y = Y1; 
		Line[Count+1].x = X2; 
		Line[Count+1].y = Y2; 
		Count += 2; 
	} 
	pLine->Begin(); 
	pLine->Draw(Line,Count,Color); 
	pLine->End(); 
}
void DrawLine(float x, float y, float x2, float y2, float width, DWORD color)
{
    D3DXVECTOR2 vLine[2];
    pLine->SetWidth( width );
    pLine->SetAntialias( false );
    pLine->SetGLLines( true );
    vLine[0].x = x;
    vLine[0].y = y;
    vLine[1].x = x2;
    vLine[1].y = y2;
    pLine->Begin();
    pLine->Draw( vLine, 2, color );
    pLine->End();
}
Ich hab schon ausgetestet, nur einen kreis und nur einen strich zeichnen zu lassen, aber bei beidem stürzt das game ab. Ich schätz mal in beiden Funktionen ist der selbe Fehler vorhanden :S
germanhacker is offline  
Old 02/14/2011, 21:04   #2
 
P-a-i-n's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 1,258
Received Thanks: 396
Denke du machst wieder den selben Fehler wie im letzten Thread wo dir Smith viel gesagt hat

Deklaration

Code:
ID3DXLine   *pLine;
bool Init = false;
Code:
void MeineInit(LPDIRECT3DDEVICE9 pDevice)
{

		if(pLine   == NULL) D3DXCreateLine  ( pDevice, &pLine );
		Init= true;

}
In die Endscene
Code:
	if(!Init )MeineInit(pDevice);
kleiner Trick für zeichnen der Linie das sie gleich in der Mitte ist

Das in die Deklaration
Code:
D3DVIEWPORT9 Viewport;

Das in die EndScene
Code:
	
        float Bildx = (float)Viewport.Width / 2 ;
	float Bildy = (float)Viewport.Height / 2 ;
	pDevice->GetViewport(&Viewport);

		DrawLine(Bildx - 20, Bildy, Bildx + 20, Bildy, 2,  D3DCOLOR_ARGB( 255, 255, 000, 000 ));
Und schon hast du eine schöne horizontale Linie in der mitte, nicht das du alles mit den integern machen willst.
P-a-i-n is offline  
Thanks
1 User
Old 02/14/2011, 21:34   #3
 
germanhacker's Avatar
 
elite*gold: 0
Join Date: May 2010
Posts: 84
Received Thanks: 13
man danke für die schnelle Hilfe ! Klappt jetzt. Hab mir schon gedacht, dass sich wieder son kleiner fehler eingeschlichen hat.

Und danke für den kleinen Tipp, um die Linie gleich in der mitte zu haben !
germanhacker is offline  
Old 02/14/2011, 21:42   #4
 
P-a-i-n's Avatar
 
elite*gold: 0
Join Date: Nov 2009
Posts: 1,258
Received Thanks: 396
Das geht mehr darum ich denke mal du willst es für Games nutzen.
Also holste dir dir die Auflösung weil sie immer unterschiedlich ist, wenn es mit z.B 400x400 ist ja die Mitte 200x200 aber nu spielt einer das Game auf 1200x800 auflösung da kannste dir vorstellen wo die Linie sonst gezeichnet werden würde.

Also geht man von der mitte aus und nicht vom linken oberen Rad und beim Kreis auch aufpassen die numSides da auch aufpassen am besten immer 4er schritte eintragen
Das auf jeder Seite dann ein neuer Fangpunkt gemacht wird also z.B 4 oder 8 oder 12 oder 16 u.s.w dann wird er auch richtig Rund.
P-a-i-n is offline  
Old 02/14/2011, 21:59   #5
 
germanhacker's Avatar
 
elite*gold: 0
Join Date: May 2010
Posts: 84
Received Thanks: 13
ja jetzt ist es auch bei cod4 in der mitte cool x)
germanhacker is offline  
Reply


Similar Threads Similar Threads
Crosshair problem?? hier kommt hilfe!!!
11/18/2010 - WarRock Hacks, Bots, Cheats & Exploits - 6 Replies
ganz einfach und kurz klebt ein kreutz oder was kleines in der mitte des bildschirms nimmt aber kein flüssig kleber :) ich weiß ist sinnloser thread habe aber lw
CrossHair Problem
08/03/2010 - WarRock - 9 Replies
Hallo Com, ich erstelle(bin eigl. schon fertig) ein CrossHair Tool so und jetzt hab ich ein Problem hier in Screens: also am anfang is des noch so: http://i27.tinypic.com/290ssgi.jpg aber dann wenn ich das CrossHair verschieben möchte mit dem hier: http://i27.tinypic.com/ao5nrd.jpg dann wird dass CrossHair kleiner: http://i27.tinypic.com/2dhbbwn.jpg



All times are GMT +1. The time now is 12:33.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.