GTK+
Re: GTK+
von wegen cairo.h:
wegen Vorder- und Hintergrund:
War auch ganz leicht. Das was zuerst in die Tabelle kommt kommt in den Vordergrund. Also erst Ball und dann das Feld in die Tabelle.
Jetzt kommt das Problem mit dem Rechteck um den Ball, aber ich habe da schon eine Idee:
Gimp hat eben bei dem Bearbeiten von einem Bild gesagt, dass das Format .jpg keine Transparenz kennt. Also müsste ich nur ein anderes Format nehmen, und dann die Teile des Rechtecks Transparent machen, oder?
dann noch eine Frage an die GTK+ Spezies:
gibt es in GTK+ mehrere "Ebenen"???
MfG Fuss
Code: Alles auswählen
gtk_image_new_from_file("ball.jpg");
War auch ganz leicht. Das was zuerst in die Tabelle kommt kommt in den Vordergrund. Also erst Ball und dann das Feld in die Tabelle.
Jetzt kommt das Problem mit dem Rechteck um den Ball, aber ich habe da schon eine Idee:
Gimp hat eben bei dem Bearbeiten von einem Bild gesagt, dass das Format .jpg keine Transparenz kennt. Also müsste ich nur ein anderes Format nehmen, und dann die Teile des Rechtecks Transparent machen, oder?
dann noch eine Frage an die GTK+ Spezies:
gibt es in GTK+ mehrere "Ebenen"???
MfG Fuss
Re: GTK+
So, ich komme nicht weiter.
Das mit der Tabelle gibt nichts, weil ich den Ball ja verschieben können muss, wenn der Button geklickt wird.
Ich habe jetzt in dem Fenster eine Tabelle, in dem Mittleren Feld der Tabelle eine Box und in der Box habe ich das Bild von dem Fußballfeld, aber ich krieg den Fußball nicht da drauf und weiß auch nicht wie das gehen soll, dass sich der Ball bewegt.
Habt ihr da eine Idee?
MfG Fuss
Das mit der Tabelle gibt nichts, weil ich den Ball ja verschieben können muss, wenn der Button geklickt wird.
Ich habe jetzt in dem Fenster eine Tabelle, in dem Mittleren Feld der Tabelle eine Box und in der Box habe ich das Bild von dem Fußballfeld, aber ich krieg den Fußball nicht da drauf und weiß auch nicht wie das gehen soll, dass sich der Ball bewegt.
Habt ihr da eine Idee?
MfG Fuss
- Xin
- nur zu Besuch hier
- Beiträge: 8859
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: GTK+
Ich würde das Spielfeld als feststehende Grafik im Hintergrund halten, sie kopieren und darauf den Ball draufkopieren.+Fuss+ hat geschrieben:Habt ihr da eine Idee?
Diese Grafik würde ich ins Widget geben.
Beim Update würde ich den Bereich, den der Ball überschrieben hat wieder aus der Originalgraphik holen, den Ball an die neue Position kopieren und die neue Grafik wieder an das Widget geben.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: GTK+
Noch eine wichtige Frage:
Wenn ich diesen Code habe:
Wie übergebe ich dann eine Variable und eine Box an die Funktion?
MfG Fuss
Wenn ich diesen Code habe:
Code: Alles auswählen
g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK (reset), NULL);
...
void reset(GtkWidget *button)
{...}
MfG Fuss
Re: GTK+
Gar nicht Das ist eine Callbackfunktion. Ihre Signatur ist durch GTK festgelegt - Du kannst sie also nicht ändern. Auf das betreffende Widget kannst du natürlich mit 'button' zugreifen. Alles andere musst du über globale Variablen bzw. Funkionen lösen.+Fuss+ hat geschrieben:Wie übergebe ich dann eine Variable und eine Box an die Funktion?Code: Alles auswählen
g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK (reset), NULL); ... void reset(GtkWidget *button) {...}
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
Re: GTK+
+Fuss+ hat geschrieben:Das ist ja sche**e...
Nein, was ich weiß gibt es keine anderen Callbacks. Aber irgendwo hab ich gelesen, dass man sich auch eigene Widgets anlegen kann. Bei denen könnte man dann ja auch andere Variablen hinzufügen. Die Frage ist ob das das richtige für dein Problem ist...+Fuss+ hat geschrieben:gibt es keine Anderen Callbacks, in denen das möglich ist?
Fällt jemandem noch eine andere Art ein, als ! Widget und 1 Variable Global anzulegen?
"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
Re: GTK+
Also:
Ich habe jetzt für jeden Spielstand ein Bild. Jetzt soll ja bei klick auf einen Button von Bild eins zu Bild zwei gewechselt werden. Wenn ich auf einen anderen Button klicke soll wieder auf Bild eins gewechselt werden. Wenn ich nochmal auf diesen Button klicke wird auf Bild 0 gewechselt und so weiter.
Jetzt brauche ich ja in den Funktionen eine Variable, die sich den Spielstand merkt (Global, weil ich sie ja in zwe Funktion bei zwei Buttons brauche.)
Das Problem ist, dass ich das Bild nicht wechseln kann, weil ich 1. nicht weiß wie ich in der Funktion auf die Box zugreifen kann und 2. keine Möglichkeit finde, das alte Bild zu löschen.
MfG Fuss
Ich habe jetzt für jeden Spielstand ein Bild. Jetzt soll ja bei klick auf einen Button von Bild eins zu Bild zwei gewechselt werden. Wenn ich auf einen anderen Button klicke soll wieder auf Bild eins gewechselt werden. Wenn ich nochmal auf diesen Button klicke wird auf Bild 0 gewechselt und so weiter.
Jetzt brauche ich ja in den Funktionen eine Variable, die sich den Spielstand merkt (Global, weil ich sie ja in zwe Funktion bei zwei Buttons brauche.)
Das Problem ist, dass ich das Bild nicht wechseln kann, weil ich 1. nicht weiß wie ich in der Funktion auf die Box zugreifen kann und 2. keine Möglichkeit finde, das alte Bild zu löschen.
MfG Fuss