Hallo,

habe mein Projekt mit nem Panel angefangen das das Hauptmenü darstellen soll, doch habe damit schon Probleme, da das im Handbuch und in der Hilfedatei des 3dgs nicht, oder nicht direkt beschrieben wird.

Ich habe 2 Panels gemacht: 1 Hauptpanel und eins das per button geöffnet werden sollte und hier ist auch schon das erste Problem: wie kann ich ein zweites Panel und einen Text per Button öffnen ?

Dann habe einem Button eine Funktion zugewiesen die eigentlich das erste Level laden soll, aber auch das funktioniert nicht, egal wie oft ich das klicke.

Panels und Texte per Buttonklick wieder schließen wird auch niergendwo erklärt.

Wenn ich das zweite Panel und den Text auf VISIBLE stelle wird der Text und das Panel angezeigt und es funktioniert nur die quit Funktion

Ich arbeite gerade mit 3D Gamestudio 7,5 Extra Edition von Sybex (falls das wichtig ist)

Habe hier mal das Script soweit wie ich gekommen bin.
Der Button ist nur aus Testzwecken immer der selbe, weil ich erstmal sehen wollte obs überhaupt funktioniert.

Code:
//////////////////////////////////////////////////////////////////
#include <acknex.h>
#include <default.c>

//////////////////////////////////////////////////////////////////

BMAP* haupt_pan_bmp = "pan.bmp"; //Das erste Bild
BMAP* ende_pan_bmp = "pan2.bmp";
BMAP* maus_pcx = "mouse.pcx";

FONT* panelfont = "font.tga";

STRING* beenden = " Spiel beenden ?";

//////////////////////////////////////////////////////////////////

function main()
{
	video_set(1280,720,32,2); // Bildauflösung
	mouse_map = maus_pcx; // Mauszeiger
	mouse_mode = 4; // Mausfunktion
	
}

function quit() // Beendet das Programm
{
	sys_exit(NULL);
}

function neu(); // Sollte Level 1 Laden
{
	level_load("project.wmb");
}
//////////////////////////////////////////////////////////////////

PANEL* haupt_pan = // Das Hauptmenü
{
	pos_x = 0;
	pos_y = 0;
	layer = 1;
	bmap = haupt_pan_bmp;
	button_neu (40, 50, "neuc.bmp", "neu.bmp", "neuo.bmp", neu, NULL, NULL); // Dieser Button soll das Level Laden
	button_ende (40, 100, "neuc.bmp", "neu.bmp", "neuo.bmp", ende_pan, NULL, NULL); // Dieser Button soll das Panel "ende_pan" und den Text "pantext" einbelden
	flags = OVERLAY | VISIBLE;
}


PANEL* ende_pan = // Spiel Beenden ? JA - NEIN
{
	pos_x = 200;
	pos_y = 310;
	layer = 1;
	bmap = ende_pan_bmp;
	button_ja (60, 50, "neuc.bmp", "neu.bmp", "neuo.bmp", quit, NULL, NULL); // Programm wird beendet
	button_nein (280, 50, "neuc.bmp", "neu.bmp", "neuo.bmp", exit_ende_pan, NULL, NULL); // Soll das Panel "ende_pan" und den Text "pantext" schließen
	flags = OVERLAY;
}

TEXT* pantext = // Dieser Text soll mit dem Panel "ende_pan" eingebeldet werden
	{
		pos_x = 300;
		pos_y = 320;
		font = (panelfont);
		layer = 2;
		string (beenden);
	}



Last edited by witzdestages; 12/18/11 12:59.