Laden...

Forenbeiträge von EggaPauli Ingesamt 29 Beiträge

11.06.2007 - 15:59 Uhr

Hi!

@ el Diablo: kannst nochn paar von diesen geilen links posten, ich find di herrlich

thx

EggaPauli

09.06.2007 - 20:20 Uhr

Ich habn paar Icons vom Vista! Die sehen schon ziemlich edel aus! Und die Standardhintergrundbilder von Vista sind auch nicht mehr so fad wie de vom XP!

mfg EggaPauli

09.06.2007 - 18:42 Uhr

wow echt nicht schlecht! zum glück war ich nicht vorbelastet g

09.06.2007 - 12:26 Uhr

Hi!

Ich glaub dein "rais" in der Listbox schreibt man "raise" klugscheiss

09.06.2007 - 11:53 Uhr

OK, ich glaub ich weiss jetzt, dass man mit FindWindowEx andere Fenster manipulieren bzw. kontrollieren kann, aber wie ich herausfinde, ob das andere Fenster jetzt FullScreen ist oder nicht hab ich nirgends gefunden!

mfg EggaPauli

09.06.2007 - 10:56 Uhr

Hi!

Hab gerade das gleiche Problem, jedoch weiß ich nicht mal wie man die API-Funktion FindWindowEx aufruft!

Hat sonst vlt. jemand schon ne Lösung?

mfg EggaPauli

09.06.2007 - 10:10 Uhr

Ups, habs mir wohl nicht ordentlich genug angesehen, sry!

mfg EggaPauli

09.06.2007 - 08:23 Uhr

Morgen Leute!

Weiß jemand, wie man Events abfängt, die außerhalb der Form stattfinden? Mit dem KeyPreview=true kann man zwar Tastenanschläge außerhalb abfangen, es funktioniert jedoch auch nur, wenn die Form aktiv ist!
In der Suche hab ich was von Mouse Hooks geunden, hab ich dann auch probiert, is aber irgendwie ein bisschen was anderes glaub ich!

Also mein Problem:

Ich möchte nen Sound für jegliche Events (Klicken, Doppelklicken, anderen Prozess starten,...), die so auf meinem Rechner ablaufen, angezeigt bekommen, wenn diese stattfinden! Die Form ist dabei versteckt (this.Hide) und hat in der Taskleiste ein TrayIcon!

Danke im Voraus
EggaPauli

08.06.2007 - 15:43 Uhr

Hab das jetzt mal versucht zu programmieren, weils mich selbst interessiert:


int schritt=5;
Rectangle left, right;
private System.Windows.Forms.Button button1;
SolidBrush b = new SolidBrush(Color.Red);
	
private void Form1_Load(object sender, System.EventArgs e)
{
	this.Width = 600, this.Height=700
	this.SetStyle(ControlStyles.DoubleBuffer | ControlStyles.AllPaintingInWmPaint | 	ControlStyles.UserPaint,true);
	left = new Rectangle(new Point(-this.Width/2,0),new Size(this.Width/2,this.Height));
	right = new Rectangle(new Point(this.Width,0),new Size(this.Width/2,this.Height));
}

private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
	left.X+=schritt;
	right.X-=schritt;
	e.Graphics.FillRectangle(b,left);
	e.Graphics.FillRectangle(b,right);
}

private void button1_Click(object sender, System.EventArgs e)
{
	while(left.X<0)
	{
		this.Invalidate();
		Application.DoEvents();
	}
}

hat aber ruckel- und flimmerfrei funktioniert!

mfg EggaPauli

08.06.2007 - 15:13 Uhr

Hi!

WIe meinst "jetzt tut sich gar nix mehr"?
Hängt er sich auf, is die Sanduhr da, zeichnet er einfach so nichts?

mfg EggaPauli

08.06.2007 - 14:05 Uhr

Hi!

Hab auch meine Dekstopsymbole ausgeblendet da extrem geheime Daten (lol ich kann einfach nicht gut lügen) oben sind!

mfg EggaPauli

PS.: Widescreen is endgeil

08.06.2007 - 13:50 Uhr

Hi!

Ich versteh nicht wieso man für sowas auch noch Geld bezahlt (den Webspace)!
Aber na ja, is ja zum Glück nicht mein Homepage!

mfg EggaPauli

08.06.2007 - 13:00 Uhr

Hi Mystics!

Probier mal folgendes:


while(!fertig)
{
//Zeichnen
Application.DoEvents();
}

Wenn beide Rectangles beisammen sind setzt fertig=true.
Dann brauchst keinen Timer und ich glaub es müsste ganz gut laufen!

Musst dich nur mit der Geschwindigkeit der Rectangles spielen!

mfg EggaPauli

06.06.2007 - 09:50 Uhr

Morgen!

man kann Invalidate mit Parametern aufrufen, so das nur der tatsächlich geänderte Bereich neu gezeichnet wird

Hm cool, hab ich auch nicht gewusst.

Aber wenn du das Flackern wegbringen willst, kannst doch DoubleBuffer auch einfach nehmen oder?

mfg EggaPauli

05.06.2007 - 15:39 Uhr

Hi ed-wards!

Danke für deinen Beitrag, hab mich jedoch schon für DoubleBuffer entschieden, da es für so ein simples 2D-Spiel wie meins die beste Lösung ist denke ich! Mit xna hab ich mich noch überhaupt nicht beschäftigt!

Hab vorher noch nichts vom DoubleBuffer gehört, deswegen wollt ichs mit DirectX probieren, aber ich hab mir schon vorgenommen, dass ich xna mal durchkaue!

mfg EggaPauli

05.06.2007 - 09:03 Uhr

Morgen yngwie!

Geht das nicht, dass du statt dem Invalidaten des Rechtecks nur ein paar Pixel ersetzt? So meinte ich das eigentlich, weiß aber auch nicht ob das geht!

mfg EggaPauli

04.06.2007 - 22:22 Uhr

Hallo yngwie,

vielleicht suchst du nach dem:

GetPixel und SetPixel um Längen geschlagen. 800 mal schneller

mfg EggaPauli

04.06.2007 - 20:13 Uhr

Ne ehrlich gesagt hab ich keine Ahnung von welchem Kasten du sprichst und wie/wann/warum du welchen Style in diesen Kasten machen willst!

EggaPauli

04.06.2007 - 19:55 Uhr

Original von daniel.is
gibt es auch vorlagen die ich dann in Fireworks mit meiner eigenen Farbe versehen kann??

Für Buttons? Mhm im Fireworks integriert wüsste ich nichts, aber irgendwelche Buttons bzw. Symbole o.a. gibts ja in Hülle und Fülle zum Gratis-download (http://www.meine-erste-homepage.com/button.php)

Was meinst du mit vorgemachte Styles?

EggaPauli

03.06.2007 - 15:33 Uhr

Ich glaub nicht dass es für sowas ein Tutorial gibt, da es selbsterklärend ist:

Im Fireworks:
Bearbeiten -> Einfügen -> neue Schaltfläche

Dann kannst für jeden Zustand des Buttons (Up, Over, Down, Over bei Down) ein eigenes Bild erzeugen, wie das dann aussehen soll!

Dann exportierst du es noch als HTML-Code, fügst es in deine Seite ein und fertig ist die Gaudi!

mfg EggaPauli

02.06.2007 - 15:07 Uhr

Ich nehm Macormedia (jetzt Adobe) Fireworks, mit dem ist das kinderleicht!

mfg EggaPauli

01.06.2007 - 10:25 Uhr

Morgen!

Das PNG hat ne Form wo ich wahrscheinlich 5 Stunden sitzen würde, damit ich die 200 vertices bestimme, geht das nicht irgendwie schneller?

Wenn ich die Textur lade müsste er doch das richtige haben, oder? Das heisst es liegt irgendwie daran dass ich die Ecken nicht richtig mache! Stimmt das soweit?

mfg EggaPauli

PS.: Das Bild is das Logo von H&M

31.05.2007 - 23:41 Uhr

Hi!

Ne billige Lösung wäre, dass du die Form auf 0% Opazität stellst und das Panel darauf mit der Hintergrundfarbe "Transparent" festlegst!
Das ganze maximieren! Wenn du dann darauf zeichnest siehts vlt. so aus wie wenn man aufm Desktop zeichnen würde!

mfg EggaPauli

31.05.2007 - 20:35 Uhr

Hidiho!

Wollte grad ein Bild in mein DirectX Spiel integrieren, das vom Format PNG ist!
Das Bild ist nicht rechteckig sondern hat eine bestimmte Form! Wenn ich jetzt die Textur von meinem Bild in meinem Programm hineinlade und es anzeigen lasse, bekomme ich ein rechteckiges Bild!
Das schaut einfach nicht gut aus...

Hier noch ein bisschen Code:
in der InitializeGraphics() - Methode:

Element = new Mesh(2,vertshm.Length,MeshFlags.WriteOnly,CustomVertex.PositionTextured.Format,device);
Element.VertexBuffer.SetData(vertshm,0,LockFlags.None);
Element.IndexBuffer.SetData(indices,0,LockFlags.None);
t_element = TextureLoader.FromFile(dev,b);

in der Render() - Methode:


world = Matrix.RotationX((float)Math.PI*3/2);
world *= Matrix.Translation(el.Xpos,el.Ypos, 0.0f);
device.SetTexture(0, t_element);
device.Transform.World = world;
Element.DrawSubset(0);

Danke im Voraus!
mfg EggaPauli

30.05.2007 - 19:16 Uhr

Sehr gut, danke, das funtkioniert jetzt alles!

Allerdings sind schon weitere Fragen aufgetaucht, allerdings werd ich dazu nen neuen Thread aufmachen, wenn ichs nicht mehr hinkriege 😉

Ein herzliches Dankeschön für deine Hilfe, Mystique!

mfg EggaPauli

30.05.2007 - 11:14 Uhr

Hi!

Also mit itsWidth und itsHeight hatte ich kein Problem (glaub ich ejdenfalls 🤔 )

"itsCameraPosition" und "itsProjectionWidth" weiß ich allerdings nicht, woher ich bekomme.
Hat das was mit folgenden Vektoren zu tun:

device.Transform.View = Matrix.LookAtLH(new Vector3(0.0f, 0.0f, -50.0f), new Vector3(0.0f, 0.0f, 0.0f),new Vector3(0.0f, 1.0f, 0.0f));

bzw.


device.Transform.Projection = Matrix.PerspectiveFovLH((float)Math.PI / 4, 1.0f, 1.0f, 100.0f);

Ich hab itsCameraPosition.X=0 und itsProjectionWidth=1 (weiß nicht ob da stimmt)! Hab anschliend nen Punkt zur Überprüfung ausrechnen lassen (this.ClientSize.Width=500; this.ClientSize.Height=500):

PointF rechtsunten = AdaptPoint(new Point(this.ClientSize.Width,this.ClientSize.Height));

Als Punkt mit den Weltkoordinaten krieg ich jetzt:
rechtsunten.X = 0.5
rechtsunten.Y = -0.48

Es sollte jedoch für X und Y so um die 18 herauskommen (hab ich durch probieren herausgefunden)!

mfg EggaPauli

29.05.2007 - 17:00 Uhr

Hi!

Danke für deine (wirklich leicht verständliche) Erklärung! Aber ehrlich gesagt geht mir die Weltmatrix bei meinem Programm ein bisschen auf die Nerven, da das Spiel ja nur 2D ist und nichts rotiert translatiert und skaliert wird! Ich will nur den Vorteil des Nichtflimmerns von DirectX gegenüber GDI+ nutzen!
Trotzdem Danke!
Ich hoffe du findest die Umrechnung noch 👍

mfg EggaPauli

27.05.2007 - 14:14 Uhr

Hi Leute!
Bin ein blutiger Anfänger im Umgang mit DirectX!
Kann mir wer sagen, wie man die Mauskoordinaten vom Koordinatensystem von DirectX herausfindet bzw. wie man die Größe des Koordinatensystem genau einstellen kann?
Und wieso braucht die Methode "DrawText" die noralen Bildschirmkoordinaten als Eingabeparameter und ein Mesh-Objekt nicht?

Vielleicht noch zum besseren Verständnis:
Ich will so ein ähnliches Spiel wie das Pilsner Urquell (kennt hoffentlich jeder) programmieren, wo die Bierkiste, mit der man die Flaschen von oben aufsammeln muss, immer an der X-Position der Maus ist!

Danke im Voraus
mfg EggaPauli

02.05.2007 - 13:39 Uhr

Hi Leute!
Folgendes Problem:

Ich hab in eine Excel-Datei eine Liste mit meinen Filmen abgespeichert!
Ich habs jetzt hinbekommen, neu Einträge über ein C#-Programm einzufügen, nur hab ich das Problem, dass der Eintrag ans Ende der Liste angehängt wird!
Ich hätte jedoch beabsichtigt, die Liste nach Namen zu führen!

2 Lösungswege schweben mir vor:

1.) Eintrag direkt an die beabsichtigte Stelle einfügen
2.) Excel-Datei anschließend nach Namen sortieren

Bei beiden habe ich keine Ahnung wie ich das angehen soll!

Vlt. kann mir einer von euch helfen!
Danke im voraus!

mfg EggaPauli

PS.: Als 3. Möglichkeit gäbe es natürlich noch, eine neue Datei zu schreiben, doch dadurch würden meine Formatierungen verloren gehen --> sollte nicht sein!