Gamestudio Links
Zorro Links
Newest Posts
Zorro 2.70
by jcl. 09/29/25 09:24
optimize global parameters SOLVED
by dBc. 09/27/25 17:07
ZorroGPT
by TipmyPip. 09/27/25 10:05
assetHistory one candle shift
by jcl. 09/21/25 11:36
Plugins update
by Grant. 09/17/25 16:28
AUM Magazine
Latest Screens
Rocker`s Revenge
Stug 3 Stormartillery
Iljuschin 2
Galactic Strike X
Who's Online Now
1 registered members (TipmyPip), 18,633 guests, and 5 spiders.
Key: Admin, Global Mod, Mod
Newest Members
krishna, DrissB, James168, Ed_Love, xtns
19168 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
brauche hilfe beim panel #341350
09/15/10 01:44
09/15/10 01:44
Joined: Nov 2008
Posts: 46
D
DrBong Offline OP
Newbie
DrBong  Offline OP
Newbie
D

Joined: Nov 2008
Posts: 46
Hallo leute,

ich lerne lite-c und wollte ein menü coden wo man erstma nur die auflösung ändern kann...
Ich will das die aktuele auflösung im panel angezeigt wird, habe einen globalen string angelegt und eine funktion geschrieben die überprüft welche auflösung gerade gesetzt ist und in den string einen text speichert.. aber wie es aussieht wird der text nur innerhalb der funktion gespeichert und nicht global.. weswegen der text auch nicht im panel angezeigt wird..
und auch ein ähnliches problem hab ich beim zentrieren des panels, wen ich die auflösung ändere bleibt das panel auf der alten position..

hier mein vllt bisel verwierender und schlecht geschriebener code ^^
Code:
BMAP* bg_g_optionen = "m_grafik_optionen2.png";
BMAP* ok_off = "ok.png";
BMAP* ok_on = "ok_on.png";
BMAP* schliessen = "schließen.png";
BMAP* schliessen_on = "schließen_on.png";
BMAP* links = "links.png";
BMAP* rechts = "rechts.png";

STRING* zeige_aufloesung;

var desktop_size_x; // Horizontal
var desktop_size_y; // Vertikal
var aufloesung = 1;
var m_aufloesung = aufloesung;

PANEL* optionen_pan =
{
	bmap = bg_g_optionen;
	layer = 10;
	flags = SHOW;
	button(48, 168, ok_on, ok_off, ok_on, ok(), NULL, NULL);
	button(102, 168, schliessen_on, schliessen, schliessen_on, close(), NULL, NULL);
	button(50, 20, links, links, links, kleiner_aufloesung(), NULL, NULL);
	button(180, 20, rechts, rechts, rechts, groeser_aufloesung(), NULL, NULL);
	digits(75, 20, 10, "Arial#14bi", 0, zeige_aufloesung);
}

function screen()
{
	desktop_size_x = sys_metrics(0); // SM_CXSCREEN // System Bildschirm Auflösung (X)
	desktop_size_y = sys_metrics(1); // SM_CYSCREEN // System Bildschirm Auflösung (Y)
	

	if(aufloesung == 0)
	{
		video_set(desktop_size_x, desktop_size_y, 0, 1);
	}
	
	if(aufloesung == 1)
	{
		video_set(800, 500, 0, 2);
		video_window(NULL ,NULL ,16 ,"Grafik Einstellungen");
	}
	
	if(aufloesung == 2)
	{
		video_set(1024, 600, 0, 1);
	}
	
	if(aufloesung == 3)
	{
		video_set(0, 0, 0, 1);
	}
	
	if(aufloesung == 4)
	{
		video_set(0, 0, 0, 1);
	}
	
	if(aufloesung == 5)
	{
		video_set(0, 0, 0, 1);
	}
	
	if(aufloesung == 6)
	{
		video_set(0, 0, 0, 1);
	}
	
	if(aufloesung == 7)
	{
		video_set(0, 0, 0, 1);
	}
	
	if(aufloesung == 8)
	{
		video_set(0, 0, 0, 1);
	}
	
	if(aufloesung == 9)
	{
		video_set(0, 0, 0, 1);
	}
	
	if(aufloesung == 10)
	{
		video_set(0, 0, 0, 1);
	}
}

function screen_center()
{
	optionen_pan.pos_x = (screen_size.x - bmap_width(bg_g_optionen))/2;
	optionen_pan.pos_y = (screen_size.y - bmap_height(bg_g_optionen))/2;
}

function close()
{
	optionen_pan.flags &= ~SHOW;
}

function ok()
{
	aufloesung = m_aufloesung;
	screen_center();
	screen();
}

function z_aufloesung()
{
	if(aufloesung == 0)
	{
		zeige_aufloesung = "Standart";
	}
	
	if(aufloesung == 1)
	{
		zeige_aufloesung = "800x500(F)";
	}
	
	if(aufloesung == 2)
	{
		
	}
	
	if(aufloesung == 3)
	{
		
	}
	
	if(aufloesung == 4)
	{
		
	}
	
	if(aufloesung == 5)
	{
		
	}
	
	if(aufloesung == 6)
	{
		
	}
	
	if(aufloesung == 7)
	{
		
	}
	
	if(aufloesung == 8)
	{
		
	}
	
	if(aufloesung == 9)
	{
		
	}
	
	if(aufloesung == 10)
	{
		
	}
}

function groeser_aufloesung()
{
	m_aufloesung = m_aufloesung + 1;
	z_aufloesung();
}

function kleiner_aufloesung()
{
	m_aufloesung = m_aufloesung - 1;
	z_aufloesung();
}

function main()
{
	level_load ("");
	mouse_mode = 3;
	z_aufloesung();
	screen();
	screen_center();
}



ich hoffe mir kann einer helfen

Last edited by DrBong; 09/15/10 01:45.
Re: brauche hilfe beim panel [Re: DrBong] #341351
09/15/10 05:18
09/15/10 05:18
Joined: Jul 2009
Posts: 1,198
Berlin, Germany
L
Liamissimo Offline
Serious User
Liamissimo  Offline
Serious User
L

Joined: Jul 2009
Posts: 1,198
Berlin, Germany
NUr mal drüber geschaut, vllt. hilfts ja:

Ändere bei digits das hier

digits(75, 20, 10, "Arial#14bi", 0, zeige_aufloesung);

zu

digits(75, 20, 10, "Arial#14bi", 1, zeige_aufloesung);


"Ich weiss nicht genau, was Sie vorhaben, aber Sie können keine Triggerzonen durch Ihr Level kullern lassen."
-JCL, 2011
Re: brauche hilfe beim panel [Re: Liamissimo] #341352
09/15/10 07:21
09/15/10 07:21
Joined: Dec 2008
Posts: 271
Saturnus Offline
Member
Saturnus  Offline
Member

Joined: Dec 2008
Posts: 271
Momentan verwendest du einen STRING-Pointer und weist diesem char-Arrays zu - das funktioniert nicht. Weise dem Pointer stattdessen ein STRING-Objekt zu und benutze die str_-Funktionen, um den STRING zu verändern:

STRING* zeige_aufloesung;
STRING* zeige_aufloesung = "";

zeige_aufloesung = "Standart";
str_cpy(zeige_aufloesung, "Standard");


Man beachte auch das "d" am Ende von "Standard". wink

Für die digits müsstest du als format-Parameter "%s" übergeben, damit der als var-Parameter angegebene String auch angezeigt wird:

digits(75, 20, 10, "Arial#14bi", 0, zeige_aufloesung);
digits(75, 20, "%s", "Arial#14bi", 1, zeige_aufloesung);


Rufe screen_center() nach jedem Ändern der Auflösung auf, damit die Zentrierung aktualisiert wird.

Re: brauche hilfe beim panel [Re: Saturnus] #341361
09/15/10 11:27
09/15/10 11:27
Joined: Sep 2007
Posts: 62
Germany
B
bodden Offline
Junior Member
bodden  Offline
Junior Member
B

Joined: Sep 2007
Posts: 62
Germany
Bisher zentrierst du erst und stellst dann eine neue Auflösung ein. Tausche mal in der Funktion ok() die beiden Zeilen
screen();
screen_center();

dann sollte das mit dem Zentrieren immer funktionieren.

Außerdem solltest du bei den button-Definitionen die Klammern hinter den Funktionen entfernen (z.B. "kleiner_aufloesung" statt "kleiner_aufloesung()"). Das könnte ansonsten zu ungewollten Ergebnissen führen (Funktionen würden bei der Definition der Buttons ausgeführt anstatt verknüpft).

Last edited by bodden; 09/15/10 11:28.
Re: brauche hilfe beim panel [Re: bodden] #341363
09/15/10 12:58
09/15/10 12:58
Joined: Nov 2008
Posts: 46
D
DrBong Offline OP
Newbie
DrBong  Offline OP
Newbie
D

Joined: Nov 2008
Posts: 46
Ich danke euch leute, es funktioniert alles so wie es sollte =)


Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1