GLBasic forum

Other languages => GLBasic - de => Topic started by: mull on 2007-Jun-05

Title: Simple Global - Local Frage !
Post by: mull on 2007-Jun-05
So stehts in der Hilfe

LOCAL var#$, var#$[]
GLOBAL var#$, var#$[]
LOCAL var#=wert#, var#=wert(), ...

a#$ = LOCAL var#$
LOCAL a#$ = GLOBAL a#$
...


und wieso geht das nicht :

LOCAL W# = 1024, H# = 768
GLOBAL Width# = 1024, Height# = 768
Title: Simple Global - Local Frage !
Post by: Schranz0r on 2007-Jun-05
Gute Frage, hab ich mich auch schon gefragt!
Title: Simple Global - Local Frage !
Post by: Kitty Hello on 2007-Jun-06
Weil '#' in der Hilfe ein Symbol dafür ist, das das eine nummernvariable ist. '#$' heisst: kann entweder nummer oder Zeichenfolge sein (a oder a$), '$$' muss eine Zeichenfolge sein und '##' muss eine Nummernvariable sein.
z.B.: GETFONTSIZE fx##, fy##
Da darf man eben nicht:
GETFONTSIZE 3,4
machen.
Title: Simple Global - Local Frage !
Post by: mull on 2007-Jun-06
Aber man derklariert doch vorher Variablen nach deren Type, also mit Global A# = 5, B$= "Wort".
A als Zahl B als String ?

Glaube einen Bug gefunden zu haben:

PRINT " " +Waffen[0].Name$, 0, 450
PRINT Waffen[0].Name$, 10,10


Die erste Zeile läuft wie es soll und Waffen[0].Name$ gibt den String aus.
Erst bei der 2. Zeile kommt der Compiler Fehler.

(72) error : wrong argument type : PRINT, arg no: 1
TYPE  is not declared
Title: Simple Global - Local Frage !
Post by: Kitty Hello on 2007-Jun-06
Nein! Zehlen haben kein '#'. Das ist nur in der Hilfe, damit man's erkennt was das für ein Argument ist.

GLOBAL A = 5, B$ ="Wort"

Ich hab ein Update hochgeladen. Solche Fehler sollten jetzt weg sein.
Title: Simple Global - Local Frage !
Post by: mull on 2007-Jun-06
Diese funktioniert auch mit V 4.21 nicht.

PRINT " " +Waffen[0].Name$, 0, 450
PRINT Waffen[0].Name$, 10,10


Die erste Zeile läuft wie es soll und Waffen[0].Name$ gibt den String aus.
Erst bei der 2. Zeile kommt der Compiler Fehler.

(72) error : wrong argument type : PRINT, arg no: 1
TYPE  is not declared
Title: Simple Global - Local Frage !
Post by: Schranz0r on 2007-Jun-06
Hi Gernot du hast im Update was vergessen!

Code (glbasic) Select
Echtzeit Schatten mit Stencil Buffer. Funktioniert so:
- die ganze Szene zeichnen
- X_SPOT_LT -3, 0, x,y,z, 0,0,0, 360
dieses Licht ist die Lichtquelle und Schattenrichtung
- X_DRAWOBJ für alle schattenwerfende Objekte
- X_MAKE2D/SHOWSCREEN/X_MAKE3D
Das zeichnet die Schatten letztendlich.
Stencil funzt doch nur in verbindung mit X_CULLMODE

Code (glbasic) Select
Echtzeit Schatten mit Stencil Buffer. Funktioniert so:
- X_CULLMODE 1
- die ganze Szene zeichnen
- X_SPOT_LT -3, 0, x,y,z, 0,0,0, 360
dieses Licht ist die Lichtquelle und Schattenrichtung
- X_DRAWOBJ für alle schattenwerfende Objekte
- X_MAKE2D/SHOWSCREEN/X_MAKE3D
Das zeichnet die Schatten letztendlich.
Dann halt fürs nächste update.
Mir wärs ja egal ich weiss es ja jetzt, aber ein "frischling"<--- (Kleines wortspiel) :D
der neu in 3D ist, oder noch nie Stencil benutzt hat, weiss sowas halt nicht.
Deshalb wärs sinnvoll wenns drine steht.
Title: Simple Global - Local Frage !
Post by: D2O on 2007-Jun-06
Hi, habe das Update heruntergeladen.
Da ist irgend was schief gelaufen ??
GLB läst sicht nicht mehr starten, muss neu installiert werden.
Title: Simple Global - Local Frage !
Post by: Kitty Hello on 2007-Jun-06
Bitte die neuen Runtimes installieren:
http://www.glbasic.com/main.php?lang=de&site=news
Title: Simple Global - Local Frage !
Post by: Kitty Hello on 2007-Jun-06
Quote from: mullDiese funktioniert auch mit V 4.21 nicht.

PRINT " " +Waffen[0].Name$, 0, 450
PRINT Waffen[0].Name$, 10,10


Die erste Zeile läuft wie es soll und Waffen[0].Name$ gibt den String aus.
Erst bei der 2. Zeile kommt der Compiler Fehler.

(72) error : wrong argument type : PRINT, arg no: 1
TYPE  is not declared
Ja.... wo ist denn Waffen definiert?
Code (glbasic) Select
TYPE WEAPON
Name$
ENDTYPE
LOCAL Waffen[] AS WEAPON

PRINT " " +Waffen[0].Name$, 0, 450
PRINT Waffen[0].Name$, 10,10
OK, der erste sollte auch einen Fehler melden ;)