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
3 registered members (TipmyPip, AndrewAMD, NewbieZorro), 16,655 guests, and 7 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
Syntaxproblem bei Entityabfragen #210854
06/13/08 12:32
06/13/08 12:32
Joined: Oct 2007
Posts: 11
U
Usche Offline OP
Newbie
Usche  Offline OP
Newbie
U

Joined: Oct 2007
Posts: 11
Hallo liebe 3DGS Community,

ich habe 2 kleine Probleme bei einem kleinen Spiel.
1.:

In einem bmap eines PANELS soll beim überfahren einer Sprite-Entity, das Bild des Sprites angezeigt werden (also Vegrößert sozusagen).

Ansatz:
Jede Entity in Spiel ist ein Sprite. Das Bild des Sprites wird ja durch den File angegeben. Ergo müsste das Bild des bmap Element sozusagen aus dem File ausgelesen werden.

Quote:
PANEL sidebar
{
...
bmap = mouse_ent.file // geht natürlich nicht, da .file kein Entity Attribut ist, aber so wäre erstmal das Gedankenmuster
}


Für die richtige Syntax, oder falls es so nicht geht für einen anderen Code wäre ich sehr dankbar.

2.:
Für das Spiel ist es wichtig, dass von den Sprites verschiedene Eigenschaften abgefragt werden können, also Entity spezifische Attribute (Also auf Deutsch Skills und Flags). Jedoch können Skills anscheinend nur Zahlen annehmen und Flaggs nur 0,1 (ON/OFF). Was ich bräuchte wären Entity spezifische Arrays, also sowas wie: my.type(farbe,zahl,ort,...). Ist dies genrell möglich? Oder muss ich das über die Zahlen der Skills realisieren?

Auch hier schonmal danke für die Lösung des Problems.

MfG Usche

Re: Syntaxproblem bei Entityabfragen [Re: Usche] #210861
06/13/08 13:26
06/13/08 13:26

M
mercuryus
Unregistered
mercuryus
Unregistered
M



für 1.: bmap_for_entity liefert den Pointer auf die Textur (auch bei sprites) -> sidebar.bmap=bmap_for_entity(me, 1);

2. geht soweit ich weiß bei c-script nicht

Re: Syntaxproblem bei Entityabfragen [Re: ] #210989
06/14/08 10:37
06/14/08 10:37
Joined: Oct 2007
Posts: 11
U
Usche Offline OP
Newbie
Usche  Offline OP
Newbie
U

Joined: Oct 2007
Posts: 11
Also ich habe jezt mehrere Varianten ausprobiert, aber keine hat bisher funktioniert, hier die Syntaxbeispiele:

1.
Code:
PANEL sidebar
{
 flags = visible;
 if (mouse_ent != NULL)
 {
  bmap = bmap_for_entity(mouse_ent,1);
 }
}


FEHLER:
Quote:
<bmap=^bamp_for_entity(mouse_ent,1);>
GAME.WDL 37:2 Error(137): Bitmap unknown bmap_for_entity

Syntax Error sidebar


2.
Code:
function mouse_move()
{
 MOUSE_POS.X = POINTER.X;
 MOUSE_POS.Y = POINTER.Y;
 if (mouse_ent != NULL)
 {
  sidebar.bmap = bmap_for_entity(mouse_ent,1);
 }
 RETURN;
}


FEHLER:
Quote:
<sidebar.bmap=bmap_for_entity(mouse_ent,1)>
GAME:WDL 22:0 Error(58): Parameter unknown sidebar Keyword


Bin für jede Hilfe dankebar smile

MfG Usche

Re: Syntaxproblem bei Entityabfragen [Re: Usche] #210991
06/14/08 10:51
06/14/08 10:51
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Xarthor Offline
Expert
Xarthor  Offline
Expert

Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
Zu 1.
Innerhalb einer panel definition kann man meines Wissens nach keine if verzweigungen oder sonstiges ausführen.
Es ist ein reines objekt definitions konstrukt, das heißt bestimmten parametern werden werte zugewiesen, mehr nicht.
Andere parameter mittels if oder sonstigem auszuwerten funktioniert dort nicht.

Zu 2.
Ist sidebar als panel objekt definiert?
Schon mal: bmap_for_entity(mouse_ent,0); probiert?

Re: Syntaxproblem bei Entityabfragen [Re: Usche] #210997
06/14/08 11:19
06/14/08 11:19

M
mercuryus
Unregistered
mercuryus
Unregistered
M



Was ist "mouse_ent"?

Re: Syntaxproblem bei Entityabfragen [Re: Xarthor] #211000
06/14/08 11:21
06/14/08 11:21
Joined: Oct 2007
Posts: 11
U
Usche Offline OP
Newbie
Usche  Offline OP
Newbie
U

Joined: Oct 2007
Posts: 11
Danke für die Antwort,
zu 1. Ich habe es sowohl mit, als auch ohne If-Block probiert, der Effekt war aber der selbe.

zu 2. Ja mit 0 habe ich es auch probiert, selbe Fehlermeldung. Sidebar ist auch als Panel definiert, ich habe das gefühl, dass er panelname.bmap nicht als Syntax anerkennt, hier nochmal der ganze Code:

Edit:

mouse_ent ist ein Pointer, der auf eine Entity zeigt, die sich unmittelbar unter dem Mauszeiger befindet.

Code:
BMAP mouse <cursor.pcx>;

// Mauszeigerimplementierung
function mouseini()
{
	MOUSE_MAP = mouse;
	MOUSE_MODE = 2;
	MOUSE_RANGE = 20000;
	MOUSE_SPOT.X = 12;
	MOUSE_SPOT.Y = 12;
}


//aktion Mauszeiger
action  mouse_move
{
	MOUSE_POS.X = POINTER.X;
	MOUSE_POS.Y = POINTER.Y;
	sidebar.bmap = bmap_for_entity(mouse_ent,0);
	RETURN;
}


PANEL sidebar
{
	flags = visible;	
}

function main()
{
	level_load ("game.wmb"); 
        wait(2);      
        mouseini();
	while(1)
	{
		mouse_move();
		wait(1);
	}
}


Last edited by Usche; 06/14/08 11:22.
Re: Syntaxproblem bei Entityabfragen [Re: Usche] #211003
06/14/08 11:31
06/14/08 11:31

M
mercuryus
Unregistered
mercuryus
Unregistered
M



So geht's:

Code:
// Panel "sidebar"
PANEL pam_sidebar {	
	flags=VISIBLE | OVERLAY;		
}

// event
function event_mouseover{
	pam_sidebar.bmap=bmap_for_entity(me,1);
	wait(1);
}

// action von Bild (sprite-entity)
action react_on_mouseover{
	
	my.event=event_mouseover;
	my.ENABLE_TOUCH = on;
	
}

// main function
function main {
	
	level_load(NULL);
	ent_create("bild.bmp", vector(800,0,0), react_on_mouseover);
	
	mouse_mode=1;
	mouse_pointer=1;
	mouse_range=5000;
	
	while(1){
 		MOUSE_POS.X = POINTER.X;
 		MOUSE_POS.Y = POINTER.Y;
 		wait(1);
	}
	
	
}


Re: Syntaxproblem bei Entityabfragen [Re: ] #211143
06/15/08 08:54
06/15/08 08:54
Joined: Oct 2007
Posts: 11
U
Usche Offline OP
Newbie
Usche  Offline OP
Newbie
U

Joined: Oct 2007
Posts: 11
Danke dir für den Code Mercuryus, hat super funktioniert. Habe ihn nochmal umgeschrieben, also mit mouse_ent und aufeinmal geht es auch. Hier mal der neue Code:

Code:
// Panel "sidebar"
PANEL pam_sidebar {	
	flags=VISIBLE ;	
}
function main {
	
	level_load ("magic.wmb");
	mouse_mode=1;
	mouse_pointer=1;
	mouse_range=5000;
	
	while(1){
 	 MOUSE_POS.X = POINTER.X;
 	 MOUSE_POS.Y = POINTER.Y;
 	 If (mouse_ent != NULL)
 	 {
 	  pam_sidebar.bmap=bmap_for_entity(mouse_ent,1);	
	  }
 	 wait(1);
	}
	
	
}


Das einzige was also anders ist, sind die Mauskonfigurationen
mouse_mode=1;
mouse_pointer=1;
ich denke daran hat es gelegen.

Dann danke ich nochmal für die Lösung meines Problemes und Wünsche allen noch ein schönes WE.

MfG Usche


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