Gamestudio Links
Zorro Links
Newest Posts
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 05:41
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
2 registered members (AbrahamR, AndrewAMD), 1,278 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Hanky27, firatv, wandaluciaia, Mega_Rod, EternallyCurious
19051 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 2 1 2
panel zur laufzeit erstellen #186326
02/28/08 23:27
02/28/08 23:27
Joined: Mar 2006
Posts: 35
T
ThelT0r Offline OP
Newbie
ThelT0r  Offline OP
Newbie
T

Joined: Mar 2006
Posts: 35
hi,
mein problem ist folgendes:

ich will im spiel zur laufzeit viele panels erstellen die ich nicht vorher angelegt habe. Und ich muss denen auch eine pos_x/y zuweisen können.

ich habe nun alles abgesucht und finde nix was ich NICHT vorher schon erstellen muss -.-

danke für eure hilfe


--------------------------------------------- ^^ Habt spass beim proggen^^
Re: panel zur laufzeit erstellen [Re: ThelT0r] #186327
02/28/08 23:44
02/28/08 23:44
Joined: Aug 2007
Posts: 1,922
Schweiz
Widi Offline
Serious User
Widi  Offline
Serious User

Joined: Aug 2007
Posts: 1,922
Schweiz
Du musst die Panels zuerst definieren, das kannst du aber mit einem Array lösen.

Erst mal diesen Code:
Code:
 
PANEL* your_pan[100];
PANEL* My_create(char* content, var pos_x, var pos_y, var layer, char* bitmap, long flags)
{
PANEL* Temp_pan = pan_create(content, layer);
if (bitmap != 0)
{
Temp_pan.bmap = bmap_create(bitmap);
Temp_pan.size_x = bmap_width(Temp_pan.bmap);
Temp_pan.size_y = bmap_height(Temp_pan.bmap);
}
Temp_pan.pos_x = pos_x;
Temp_pan.pos_y = pos_y;
set(Temp_pan,flags);
return (Temp_pan);
}


Danach wird das Panel create in einer Funktion aufgerufen:
Code:
 
void main
{
....
your_pan[x] = My_create("button (0,0,dein.tga,dein.tga,dein_ok.tga,NULL,NULL,deine_func);",x,y,lay,NULL,TRANSLUCENT);
....
}



Wenn du keinen Button brauchst, kannst du alles in den Anführungszeichen mit NULL ersetzen, dafür musst du das letzte NULL mit "dein.tga" ersetzen.

Last edited by Widi; 02/28/08 23:51.
Re: panel zur laufzeit erstellen [Re: Widi] #186328
02/29/08 20:45
02/29/08 20:45
Joined: Mar 2006
Posts: 35
T
ThelT0r Offline OP
Newbie
ThelT0r  Offline OP
Newbie
T

Joined: Mar 2006
Posts: 35
ich danke dir 1000 mal supper danke


--------------------------------------------- ^^ Habt spass beim proggen^^
Re: panel zur laufzeit erstellen [Re: ThelT0r] #186329
03/01/08 08:50
03/01/08 08:50
Joined: Mar 2006
Posts: 35
T
ThelT0r Offline OP
Newbie
ThelT0r  Offline OP
Newbie
T

Joined: Mar 2006
Posts: 35
-.-, leider geht es nicht, es ruft schon fehler auf bei
panel* you_pan[100];

da sagt er "panel unknown 100", also er kennt er panels in verbindung mit array nicht an.
schade hast du noch ne idee ?


--------------------------------------------- ^^ Habt spass beim proggen^^
Re: panel zur laufzeit erstellen [Re: ThelT0r] #186330
03/01/08 09:42
03/01/08 09:42
Joined: Jul 2007
Posts: 959
nl
F
flits Offline
User
flits  Offline
User
F

Joined: Jul 2007
Posts: 959
nl
var[100] == 0-99 != 1-100
so 100 isnt in the row you need to add more to the panel
PANEL* your_pan[101];


"empty"
Re: panel zur laufzeit erstellen [Re: flits] #186331
03/01/08 11:24
03/01/08 11:24
Joined: Jan 2003
Posts: 4,615
Cambridge
Joey Offline
Expert
Joey  Offline
Expert

Joined: Jan 2003
Posts: 4,615
Cambridge
?

arrays von engine-objekten kennt lite-c nicht. aber es gibt ja einen umweg...

Code:
typedef struct {
PANEL* panel;
} PANEL_X;

PANEL_X panels[100];



ich weiß nicht, ob es mit einem direkten typedef funktioniert, bezweifle es aber.

joey.

Re: panel zur laufzeit erstellen [Re: Joey] #186332
03/01/08 22:45
03/01/08 22:45
Joined: Aug 2007
Posts: 1,922
Schweiz
Widi Offline
Serious User
Widi  Offline
Serious User

Joined: Aug 2007
Posts: 1,922
Schweiz
PANEL* muss gross geschrieben werden !!!!

Gruss

Re: panel zur laufzeit erstellen [Re: Widi] #186333
03/02/08 13:44
03/02/08 13:44
Joined: Jan 2003
Posts: 4,615
Cambridge
Joey Offline
Expert
Joey  Offline
Expert

Joined: Jan 2003
Posts: 4,615
Cambridge
arrays von engine-objekten gehen deshalb meines wissens immer noch nicht ^^

Re: panel zur laufzeit erstellen [Re: Joey] #186334
03/02/08 15:27
03/02/08 15:27
Joined: Aug 2007
Posts: 1,922
Schweiz
Widi Offline
Serious User
Widi  Offline
Serious User

Joined: Aug 2007
Posts: 1,922
Schweiz
Bei mir klappt es ohne Probleme, ohne Struct...

Es ist ja auch kein Array von einer Enginefunction, sondern nur von einem Pointer ! Die Panels werden erst später in "PANEL* my_create" erstellt und dann unserem Array - Pointer zugewiesen.

Last edited by Widi; 03/02/08 17:16.
Re: panel zur laufzeit erstellen [Re: Widi] #186335
03/13/08 21:48
03/13/08 21:48
Joined: Nov 2007
Posts: 60
D
darci Offline
Junior Member
darci  Offline
Junior Member
D

Joined: Nov 2007
Posts: 60
kann es sein das bei der free version von lite-c die anzahl der parameter beschrankt ist

var[10] == 0-9 != 1-10

BMAP* pBmap10[10];

er sagt mir dazu too many parameter : /
und dabei muss ich irgendwie an die 200 panels erstellen konnen

Page 1 of 2 1 2

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

Gamestudio download | chip programmers | 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