Malzeit
Ich habe ein Problem mit Alphamode. Gebe ich positive Werte an, wird mein Sprite Hell was OK ist. Ich will es aber abdunkeln also negativer Wert passiert nichts.
Danke
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Show posts MenuQuote
// Diese Funktion Liest die Daten einer Map
FUNCTION loaddata:
IF OPENFILE (1,mapname$+".map",0)
//READWORD 1,MaxTX;READWORD 1,MaxTY;READWORD 1,TS
// FILESEEK 1,100,0 // Ab Pos 100 folgen die Map Infos
FOR i=0 TO 80
FOR ii=0 TO 80
READWORD 1,info0%
READWORD 1,info1%
READWORD 1,info2%
quad[ii]
- =info0%
quad[ii][1]=info1%
quad[ii][2]=info2%
NEXT
NEXT
CLOSEFILE 1
ENDIF
ENDFUNCTION
// Diese Funktion Speichert die Daten einer Map
FUNCTION savedata:
IF OPENFILE (1,mapname$+".map",0)
//WRITEWORD 1,MaxTX;WRITEWORD 1,MaxTY;WRITEWORD 1,TS
// FILESEEK 1,100,0 // Ab Pos 100 folgen die Map Infos
FOR i=0 TO 80
FOR ii=0 TO 80
info0%=quad[ii]
info1%=quad[ii][1]
info2%=quad[ii][2]
WRITEWORD 1,info0%
WRITEWORD 1,info1%
WRITEWORD 1,info2%
NEXT
NEXT
CLOSEFILE 1
ENDIF
ENDFUNCTION
QuoteFUNCTION loaddata:Verursacht das da:
IF OPENFILE (1,mapname$+".map",0)
READWORD 1,testy//READWORD 1,MaxTX;READWORD 1,MaxTY;READWORD 1,TS
FILESEEK 1,100,0 // Ab Pos 100 folgen die Map Infos
FOR i=0 TO MaxTY
FOR ii=0 TO MaxTX
// READWORD 1,quad[ii]
// READWORD 1,quad[ii][1]
// READWORD 1,quad[ii][2]
NEXT
NEXT
CLOSEFILE 1
ENDIF
ENDFUNCTION
Quote_______________________________________
*** Configuration: WIN32 ***
precompiling:
GPC - GLBasic Precompiler V.10.104 SN:60390fbf - 2D, WIN32
"mapED.gbas"(315) warning : probably unassigned variable : testy
Wordcount:851 commands
compiling:
C:\Users\JRN~1\AppData\Local\Temp\glbasic\gpc_temp0.cpp: In function `DGInt __GLBASIC__::loaddata()':
C:\Users\JRN~1\AppData\Local\Temp\glbasic\gpc_temp0.cpp:2611: error: invalid initialization of reference of type 'DGNat&' from expression of type 'DGInt'
C:/Program Files (x86)/GLBasic/Compiler/platform/Include/glb.h:1110: error: in passing argument 2 of `void __GLBASIC__::READWORD(DGNat, DGNat&)'
*** FATAL ERROR - Bitte die Compiler-Ausgabe ins Forum kopieren
_______________________________________
*** Fertig ***
Dauer: 1.8 sek. Zeit: 19:13
Erstellen: 0 erfolgreich.
*** 1 FEHLGESCHLAGEN ***
QuoteOpen your Project then you userlib (gbal of other gbas) then rightclick and add to project. thats all. now you can use functions from userlibs and other source files.
// --------------------------------- //
// Project: Map Ed
// Start: Sunday, May 08, 2011
// IDE Version: 10.159
// Globale Variablen
GLOBAL mainscreenx%,mainscreeny%
GLOBAL GraphX%,GraphY%
GLOBAL gox%,goy% // Wird für Mapscrolling benötigt
GLOBAL MaxTX% // Tileanzahl in der Horizontalen
GLOBAL MaxTY% // Tileanzahl in der Vertikalen
GLOBAL TS% // Tilegrösse
GLOBAL level%[]
GLOBAL scroll_speed% // Scrollspeed
GLOBAL x%,y%,startx%,starty%,endx%,endy% // Var für forschleife
GLOBAL posx%,posy% // Var für die scollposition
GLOBAL vposx%,vposy% // Virtuelle Karten Koordinaten
// Dimensionieren der Speicherfelder
DIM quad[100][100][50][50]
// Werte der Konfiguration auslesen
GOSUB Konfig
// Daten Auslesen
GOSUB Daten
// Screen und Fonts und Maus Konfigurieren
SETSCREEN mainscreenx, mainscreeny, mainscreenfull
LOADFONT "Grafik/fonts/smalfont.png", 1
SETFONT 0
SYSTEMPOINTER TRUE
// Laden der Grafiken in den Grafik Puffer
// RGB 255/0/128 <--- (Diese Farbe ist für GL Basic transparent)
LOADSPRITE "Grafik/map/64x64.bmp", 0 //Title Set
LOADSPRITE "Grafik/map/highlight.bmp",2 //Highligt
@Hauptschleife:
//-------------------------------------------------------------------------------------------------------------------------------------
// Hauptschleife Ende mit Esc ---------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------------
REPEAT
updatefor()
scroll()
scrollmap(gox,goy)
FOR y = starty TO endy
FOR x = startx TO endx
DRAWSPRITE 0,posx+TS*x,posy+TS*y
SETFONT 0
PRINT "H:"+INTEGER(posx+TS*x),posx+TS*x,0+posy+TS*y // Nur zum austesten die Titles Beschriften
PRINT "V:"+INTEGER(posy+TS*y),posx+TS*x,8+posy+TS*y // Nur zum austesten die Titles Beschriften
NEXT
NEXT
virtualkoord()
SETFONT 1
MOUSESTATE mx, my, br, bl // Aktuelle Mausposition speichern
mmx=mx ; mmy=my // Mausposition in zweitem Wert zwischenspeichern
vposx=INTEGER(ABS(posx)-TS*startx) // Pixel Anzahl um die der Bildschirm verschoben ist in der X Achse
vposy=INTEGER(ABS(posy)-TS*starty) // Pixel Anzahl um die der Bildschirm verschoben ist in der Y Achse
mx=mx-MOD(mx,TS);my=my-MOD(my,TS) // Rasterung für die Markierung
PRINT "mmx"+mmx,100,30
PRINT "mx-vposx"+mx,100,42
mx=mx-vposx ; my=my-vposy // Rasterung mit Korrigiertem Nullpunkt
PRINT "mx-vposx"+mx,100,54
DRAWSPRITE 2,mx,my
SHOWSCREEN
UNTIL KEY (01)
END
//-------------------------------------------------------------------------------------------------------------------------------------
// Hauptschleife Ende mit Esc ---------------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------------------------------------------
// Variablen für Forschleife updaten, enthält Globale variablen
FUNCTION updatefor:
//Startwert für die forschleife
startx = ABS(posx/TS)
starty = ABS(posy/TS)
//endwerte für die forschleife
endx = startx +(GraphX/TS)
IF endx > MaxTX THEN endx = MaxTX
endy = starty +(GraphY/TS)+1 //+1 da man hier in einen Kommabereich reinkommt!
IF endy > MaxTY THEN endy = MaxTY
ENDFUNCTION
FUNCTION virtualkoord:
// MOUSESTATE mx, my, br, bl
// mx=mx-MOD(mx,64);my=my-MOD(my,64)
// vposx=INTEGER(ABS(posx)-TS*startx) // Virtueller Nullpunkt Multiplikator in der X Achse
// vposy=INTEGER(ABS(posy)-TS*starty) // Virtueller Nullpunkt Multiplikator in der Y Achse
// vposx=mx-vposx
// vposy=my-vposy
ENDFUNCTION
// Für das scrolling mit der Maus und mit den Pfeiltasten
FUNCTION scroll:
MOUSESTATE mx, my, br, bl
IF mx < 1 AND posx < 0 // Nach Links mit der Maus
gox = 1
ENDIF
IF mx > mainscreenx - 2 AND posx > GraphX-(TS*MaxTX) // Nach Rechts mit der Maus
gox = 2
ENDIF
IF my > mainscreeny - 2 AND posy > GraphY-(TS*MaxTY) // Nach Unten mit der Maus
goy = 2
ENDIF
IF my < 1 AND posy < 0 // Nach Oben mit der Maus
goy = 1
ENDIF
IF KEY(203) // Links mit Pfeiltasten
gox = 1
ENDIF
IF KEY(205) // Rechts mit Pfeiltasten
gox = 2
ENDIF
IF KEY(208) // Runter mit Pfeiltasten
goy = 2
ENDIF
IF KEY(200) // Hoch mit den Pfeiltasten
goy = 1
ENDIF
ENDFUNCTION
FUNCTION scrollmap:l_x%,l_y%
IF l_x = 1 THEN INC posx,scroll_speed
IF l_x = 2 THEN DEC posx,scroll_speed
IF l_y = 1 THEN INC posy,scroll_speed
IF l_y = 2 THEN DEC posy,scroll_speed
IF posx > 0 THEN posx = 0
IF posy > 0 THEN posy = 0
IF posx < (0-(TS*MaxTX)) + GraphX THEN posx = (0-(TS*MaxTX)) + GraphX
IF posy < (0-(TS*MaxTY)) + GraphY THEN posy = (0-(TS*MaxTY)) + GraphY
gox = 0
goy = 0
ENDFUNCTION
FUNCTION getfps:
STATIC fps_time%,fps_counter%,fps%,fps_temp%
fps_time = GETTIMERALL()
fps_counter = fps_counter + 1
IF (fps_time-fps_temp)>1000
fps_temp = fps_time
fps = fps_counter
fps_counter = 0
ENDIF
RETURN fps
ENDFUNCTION
SUB Konfig:
mainscreenx=1280 // breite des Bildschirms
mainscreeny=800 // höhe des Bildschirms
mainscreenfull=1 // Vollbild=1, Fenster=0
GraphX=1280 // Bildschrim auflösung in die Variablen speichern
GraphY=800 // Bildschrim auflösung in die Variablen speichern
LIMITFPS -1 // Max Bildwiederholungsrate
MaxTX = 40 // Title Anzahl (also Karten Größe) in der X Achse
MaxTY = 40 // Title Anzahl (also Karten Größe) in der Y Achse
scroll_speed = 1 // Scroll Geschwindigkeit (1 = Weich)
TS = 64 // Größe der Titles (Quads)
ENDSUB
SUB Daten:
ENDSUB
QuoteREPEAT
MOUSESTATE mx, my, br, bl
x=mx-MOD(mx,64);y=my-MOD(my,64)
DRAWSPRITE 0,x, y
SHOWSCREEN
UNTIL KEY (01)
END