Gamestudio Links
Zorro Links
Newest Posts
How to Change Multiplier
by vicknick. 06/02/23 03:27
How to buy tomorrow at open?
by vicknick. 06/02/23 03:19
Adding Position to Current Trade
by vicknick. 06/02/23 03:09
Unable to change multiplier of contract
by vicknick. 05/30/23 06:56
Wrong Definition of Sharpe Ratio in Zorro?
by vicknick. 05/29/23 06:32
Backtest strategy on bitcoin/crypto
by JamesHH. 05/26/23 04:36
AUM Magazine
Latest Screens
SHADOW (2014)
DEAD TASTE
Tactics of World War I
Hecknex World
Who's Online Now
3 registered members (vicknick, 7th_zorro, Quad), 990 guests, and 12 spiders.
Key: Admin, Global Mod, Mod
Newest Members
BInnacle, androsa, XquicksnowX, danishinvest, Trail
18942 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 3 1 2 3
button panel mehrmals benutzen #417743
02/16/13 19:23
02/16/13 19:23
Joined: Oct 2008
Posts: 341
R
ratz Offline OP
Senior Member
ratz  Offline OP
Senior Member
R

Joined: Oct 2008
Posts: 341
Hallo

ich mache mir schon seit einiger zeit gedanken wie man
folgendes bewerkstelligt:

ein panel mit mehreren function..

Code:
// ein einfaches gui fenster

PANEL* hWnd_win1 =
{
 bmap=hwnd_win_1;
 	
 pos_x = 100;
 pos_y = 100;
 
 flags = SHOW | TRANSLUCENT;
 layer = 10;
}



//ein einfacher knopf//

PANEL* hWnd_b_small =
{
 	
 //pos_x = 100; -> gui panel pos
 //pos_y = 100; -> gui panel pos
 
 button (334,103,"small_b_up.bmp","small_b_up.bmp","small_b_down.bmp",NULL,NULL,NULL);
 
 flags = SHOW ;
 layer = 30;
}


es handelt sich um ein Knopf/schalter
den ich gerne mehrmals verwenden will und
das gleiche möchte ich auch gerne für mein gui fensters machen

aber:

ich möchte nicht jedesmal ein neues Panel für jedes
Fenster erstellen sonst würde der code unendlich lang werden


ich finde aber überhaupt keine lösung für mein Problem

Re: button panel mehrmals benutzen [Re: ratz] #417745
02/16/13 19:25
02/16/13 19:25
Joined: Oct 2008
Posts: 341
R
ratz Offline OP
Senior Member
ratz  Offline OP
Senior Member
R

Joined: Oct 2008
Posts: 341
achja -> würde man alles in ein panel setzen, dann hat jedes fenster die gleiche function.

z.b.

-wenn ich es schließen würde dann würden sich alle schließen


ich glaube dass liegt damit zusammen dass man ein panel nur einmal aufrufen kann frown

Last edited by ratz; 02/16/13 19:28.
Re: button panel mehrmals benutzen [Re: ratz] #417748
02/16/13 20:06
02/16/13 20:06
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Kartoffel Offline
Expert
Kartoffel  Offline
Expert

Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Ich weiß nicht genau worauf du hinaus willst, aber du musst kein neues Panel erstellen, nur um einen Button auf ein Fenster zu legen.

Mit den Standart-Paneln zu arbeiten ist oft ziemlich umständlich, aber wenn man sich einen Code schreibt, den man einfach benutzen kann,
und der das Ganze gefummel mit Panels und Buttons selbst erledigt geht das eigentlich recht gut.


Achja, könntest du eventuell erklären was dein sog. "panel mit mehreren function.." ist.

Last edited by Kartoffel; 02/16/13 20:06.

POTATO-MAN saves the day! - Random
Re: button panel mehrmals benutzen [Re: Kartoffel] #417749
02/16/13 20:16
02/16/13 20:16
Joined: Oct 2008
Posts: 341
R
ratz Offline OP
Senior Member
ratz  Offline OP
Senior Member
R

Joined: Oct 2008
Posts: 341
was ich damit meine ist folgendes:

ich möchte das Panel "Fenster" (hwnd_win_1)
mehrmals darstellen ohne immer wieder neue Panels schreiben zu müssen

wenn es dann dargestellt ist dann soll man auch jedes einzelnde schlißen
können -> wie beim "OS: Windows"

IN AUM 83 ist ein 2d spacegame tutoiral
aber ich werde aus dem code nicht schlau, wie man es
schaft ein panel mehreremale anzuzeigen





ich hoffe ihr wisst was ich meine,
und das gleiche möchte ich mit mein Fenster machen
nur sollen diese einfach nur dargestellt werden

- WIE GEHT DAS ???

Last edited by ratz; 02/16/13 20:25.
Re: button panel mehrmals benutzen [Re: ratz] #417750
02/16/13 20:23
02/16/13 20:23
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Kartoffel Offline
Expert
Kartoffel  Offline
Expert

Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Um ein vollständiges, Fenster-basierendes Gui-System zu erstellen braucht man einiges an Erfahrung und auch etwas Zeit.

Meines ist beispielsweise ~2700 Zeilen lang und noch nicht mal soo umfangreich.

Schau dir am Besten mal die Funktionen für das Managen von Panels zur Laufzeit an.
Hauptsächlich:

pan_create
pan_setbutton / -_digits / -_string


--- EDIT ---
zur Theorie dahinter:

Du hast am ende zwar trotzdem mehrere Panels, diese erstellst du aber durch (Helper-)Funktionen,
wodurch es ermöglicht wird sehr viele Panels ohne mehrere definitionen zu erstellen.
Solange deine Helperfunktionen leicht zu bedienen sind, ist es dann auch sehr leicht die Panels
zu erstellen. Am schwierigsten is es, die Funktionen, die die Panels erstellen zu schreiben.

Last edited by Kartoffel; 02/16/13 20:29.

POTATO-MAN saves the day! - Random
Re: button panel mehrmals benutzen [Re: Kartoffel] #417753
02/16/13 20:28
02/16/13 20:28
Joined: Oct 2008
Posts: 341
R
ratz Offline OP
Senior Member
ratz  Offline OP
Senior Member
R

Joined: Oct 2008
Posts: 341
okey soweit war ich auchschonmal
ich hatte das problem bei pan_setbutton, dass ich dort keine x,y pos angeben kann, zudem muss man es an ein main_panel binden und wie lasse ich die darstellung wieder verschwinden -> reset(...); klapt nur mit Panels

Last edited by ratz; 02/16/13 20:32.
Re: button panel mehrmals benutzen [Re: ratz] #417754
02/16/13 20:34
02/16/13 20:34
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Kartoffel Offline
Expert
Kartoffel  Offline
Expert

Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Bei pan_setbutton kann man x und y position des buttons angeben ( im Manual mal genauer anschauen )

Um ein, wie beschrieben erstelltes Panel unsichtbar zu machen, funktioniert reset(panel, SHOW); genauso, wie mit normalen Panels.

Beim kompletten entfernen zur Laufzeit wird das schon kniffliger, vor Allem, wenn ein Fenster bei dir aus mehr als nur einem einfachen Panel besteht.
(z.B. zusätzliche informationen über das fenster)

Abgesehen davon musst du auch mit Pointern arbeiten.
Es ist - wie gesagt - nicht allzu einfach...

Last edited by Kartoffel; 02/16/13 20:36.

POTATO-MAN saves the day! - Random
Re: button panel mehrmals benutzen [Re: ratz] #417755
02/16/13 20:36
02/16/13 20:36
Joined: Jan 2002
Posts: 4,225
Germany / Essen
Uhrwerk Offline
Expert
Uhrwerk  Offline
Expert

Joined: Jan 2002
Posts: 4,225
Germany / Essen
Originally Posted By: ratz
ich hatte das problem bei pan_setbutton, dass ich dort keine x,y pos angeben kann

Wie wärs denn mit dem 3. und 4. Parameter?
Quote:
zudem muss man es an ein main_panel binden und wie lasse ich die darstellung wieder verschwinden
Erstelle doch einfach ein Panel pro Gegner.


Always learn from history, to be sure you make the same mistakes again...
Re: button panel mehrmals benutzen [Re: Uhrwerk] #417763
02/16/13 21:55
02/16/13 21:55
Joined: Oct 2008
Posts: 341
R
ratz Offline OP
Senior Member
ratz  Offline OP
Senior Member
R

Joined: Oct 2008
Posts: 341
so ich hab mal den code aus dem aum genommen und alles bis auf die pan_create function weggelassen und bearbeitet
verändert

Code:
//////////////////////////////////////////////////////////////////////////////

#include <acknex.h>
#include <default.c>

var i = 0; 

BMAP* enemy_tga = "enemy.tga";

PANEL* enemies[3]; 

function start_test(i);

//////////////////////////
function create_test()
{
 while (i < 3) 
 {
  wait (-1); 
  enemies[i] = pan_create("bmap = enemy.tga; flags = VISIBLE;", 20); 
  enemies[i].pos_x = 100; 
  enemies[i].pos_y = 100;
  start_test(i);
  i += 1; 
 }
}

function start_test(i)
{
 while(1)
 {	
  enemies[i].pos_x += 5;
  wait(1);
 }	   	
}

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

function main()
{
	fps_max = 60; 
	video_mode = 6; 
	vec_set(screen_color, vector(0, 0, 0));
	create_test(); // create the enemies
}



okey das hat jetzt überhauptnichts mit damit zutun
aber ich finde die function so fastinierend

ich möchte nur noch folgendes wissen:
warum hinterläst der panel eine schmierspur beim bewegen ?



Last edited by ratz; 02/16/13 21:56.
Re: button panel mehrmals benutzen [Re: ratz] #417764
02/16/13 22:02
02/16/13 22:02
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Kartoffel Offline
Expert
Kartoffel  Offline
Expert

Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
Ich hab' mir vor einiger Zeit die Zähne an diesem Problem ausgebissen, bis ich gemerkt habe, dass es am sky color liegt.

verwende nie 100% schwarz (0, 0, 0) als sky- oder screen-color.

Benutze anstatt dessen:
vec_set(screen_color, vector(1, 1, 1));
bzw.
vec_fill(screen_color, 1); // bewirkt das gleiche, ist aber kürzer laugh


POTATO-MAN saves the day! - Random
Page 1 of 3 1 2 3

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