Brauche Hilfe zu Variabeln
Übersicht

![]() |
WaveblueBetreff: Brauche Hilfe zu Variabeln |
![]() Antworten mit Zitat ![]() |
---|---|---|
hallo, ich bins mal wieder, euer Blitz3d- Dauerpatient ![]() ich brauch mal wieder hilfe! Code: [AUSKLAPPEN] Graphics 800, 600
SetBuffer=BackBuffer Global held=LoadImage("ball.bmp") Global level=LoadImage("level.bmp") Global helda=100 Global heldb=300 Global heldc=100 Global heldd=300 Global a=0 Repeat Cls DrawImage level,1,1 DrawBlock held,helda,heldb keys collide setzen debug a=0 Flip b=b+1 Forever Function keys() If KeyDown(200) Then heldd=heldb-1 If KeyDown(208) Then heldd=heldb+1 If KeyDown(203) Then heldc=helda-1 If KeyDown(205) Then heldc=helda+1 End Function Function collide() If ImagesCollide(held,heldc,heldd,0,level,1,1,0) Then a=1 End Function Function setzen() If a=1 Then Goto i heldb=heldu helda=helde .i End Function Function Debug() Locate 100,1 Print helda Print heldb Print heldc Print heldd Print a End Function die Variablen helda und heldb werden 0, warum???? (level.bmp is nix weiter, als ein 800*600 großes Bitmap, auf dem die möglichen Wege schwarz gemalt sind!) |
||
This is 10% luck
20% skill 15% concentrated power of will 5% pleasure, 50% pain and 100% reason to remember the name |
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mann Rück mal die Zeilen ein bisschen ein, so kann man den Fehler ja wirklich nicht finden....
Code: [AUSKLAPPEN] Function setzen() If a=1 Then Goto i heldb=heldu helda=helde .i End Function Ich denke es liegt hier an heldU und helde, die sind nämlich immer null. Aber nicht getestet |
||
![]() |
MoochBetreff: ... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Probiers mal damit!
Code: [AUSKLAPPEN] Graphics 800, 600, 32 SetBuffer BackBuffer() Global held=LoadImage("ball.bmp") Global level=LoadImage("level.bmp") MaskImage Level, 0,0,0 Global helda=100 Global heldb=300 Global heldc=100 Global heldd=300 Global a=0 Repeat Cls DrawImage held,heldc,heldd DrawImage level,1,1 keys() collide() setzen() debug() a=1 Flip b=b+1 Forever Function keys() If KeyDown(200) Then heldd=heldd-1 If KeyDown(208) Then heldd=heldd+1 If KeyDown(203) Then heldc=heldc-1 If KeyDown(205) Then heldc=heldc+1 End Function Function collide() If ImagesCollide(held,heldc,heldd,0,level,0,0,0) Then a=0 EndIf End Function Function setzen() If a=1 Then Goto i Heldd = 300 Heldc = 100 .i End Function Function Debug() Locate 100,1 Print helda Print heldb Print heldc Print heldd Print a End Function Ciao, Tristan. PS: Simi hat recht! Wenn du deine Zeilen etwas einrückst, wird der Code übersichtlicher! |
||
Pentium IV 3.0Ghz; nVidia Geforce 6800;
Microsoft Windows XP Home SP2; BlitzBasic 3D .:: Sites ::. .:: http://www.fl4sh-clan.de/ ::. |
![]() |
Waveblue |
![]() Antworten mit Zitat ![]() |
---|---|---|
naja, mooch, jetzt setzt es die Figur wieder an den ausgangspunkt zurück!
Ich will aber, das er an den Wänden stehen bleibt! hat jemand einen Tipp für mich? Edit: Heureka!!! ich hab nur heldu und helde.....quasi..im Code vergessen! Habs repariert und nu funzts! 1Frage noch: das läuft irgendwie nich flüssig,woran liegt das? |
||
This is 10% luck
20% skill 15% concentrated power of will 5% pleasure, 50% pain and 100% reason to remember the name |
![]() |
MoochBetreff: ... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ach so,
dann lass die bewegung weg wenn er kollidiert! Pseudocode: Code: [AUSKLAPPEN] Graphics 800, 600, 32 SetBuffer BackBuffer() Global held=LoadImage("ball.bmp") Global level=LoadImage("level.bmp") MaskImage Level, 0,0,0 Global helda=100 Global heldb=300 Global heldc=100 Global heldd=300 Global a=0 Repeat Cls DrawImage held,heldc,heldd DrawImage level,1,1 collide() if a=1 Then keys() setzen() debug() a=1 Flip b=b+1 Forever Function keys() If KeyDown(200) Then heldd=heldd-1 If KeyDown(208) Then heldd=heldd+1 If KeyDown(203) Then heldc=heldc-1 If KeyDown(205) Then heldc=heldc+1 End Function Function collide() If ImagesCollide(held,heldc,heldd,0,level,0,0,0) Then a=0 EndIf End Function Function setzen() If a=1 Then Goto i Heldd = 300 Heldc = 100 .i End Function Function Debug() Locate 100,1 Print helda Print heldb Print heldc Print heldd Print a End Function nicht getestet! |
||
Pentium IV 3.0Ghz; nVidia Geforce 6800;
Microsoft Windows XP Home SP2; BlitzBasic 3D .:: Sites ::. .:: http://www.fl4sh-clan.de/ ::. |
![]() |
Waveblue |
![]() Antworten mit Zitat ![]() |
---|---|---|
nächstes Problem:
Die Functions nehmen keine Variablen an! ich lad den derzeitigen Status mal hier rein! Code: [AUSKLAPPEN] Graphics 800, 600
SetBuffer=BackBuffer Global held=LoadImage("ball.bmp") Global level=LoadImage("level.bmp") Global helda=100 Global heldb=300 Global heldc=100 Global heldd=300 Global a=0 Global anzahl Global geg=LoadImage("gegner.bmp") Dim gegner (3,2) gegner(0,0)=1 gegner(1,1)=400 gegner(1,2)=400 anzahl=gegner(0,0) SeedRnd Repeat ;Hauptschleife Cls DrawImage level,1,1 DrawBlock held,helda,heldb collide If a=0 Then keys setzen debug a=0 For w=1 To anzahl wertx=gegner(w,1) werty=gegner(w,2) Gegner(wertx,werty) ;<----hier sagt Blitz "expecting variable assignment"!!!!!!!! next Flip Forever ;Funktionen: Function keys() If KeyDown(200) Then heldd=heldb-1 If KeyDown(208) Then heldd=heldb+1 If KeyDown(203) Then heldc=helda-1 If KeyDown(205) Then heldc=helda+1 End Function Function collide() If ImagesCollide(held,heldc,heldd,0,level,1,1,0) Then a=1 End Function Function setzen() If a=1 Then Goto i heldb=heldd helda=heldc .i End Function Function Debug() Locate 100,1 Print helda Print heldb Print heldc Print heldd Print a End Function Function Gegner(positionx,positiony) DrawImage geg,positionx,positiony ;hier wird der gegner gemalt Wuerfel=Rand(1,4) x=0 y=0 If Wuerfel=1 Then y=1 If Wuerfel=2 Then X=1 If Wuerfel=3 Then y=-1 If Wuerfel=4 Then x=-1 If ImagesCollide(geg,positionx+x,positiony+y,0,level,1,1,0) Then End End Function es ist so gedacht, das die Gegner mithilfe der Tabelle durch die Gegner-Function gezeichnet und kontrolliert wird! Dazu sollten die Positionsangaben im Hauptprogramm an die Function Gegner übergeben werden! klappt aber nich, warum? |
||
This is 10% luck
20% skill 15% concentrated power of will 5% pleasure, 50% pain and 100% reason to remember the name |
- Zuletzt bearbeitet von Waveblue am Mo, Nov 15, 2004 16:29, insgesamt einmal bearbeitet
![]() |
eXceptION |
![]() Antworten mit Zitat ![]() |
---|---|---|
du kriegst so viel hilfe, dass du dich daran gewöhnst... guck dir doch einfach die code noch einmal nach... | ||
Norweger...
Spreche aber verdammt gut 8086 |
![]() |
Waveblue |
![]() Antworten mit Zitat ![]() |
---|---|---|
hab ich, exception!
Da sind gar keine probleme mit dem Datenübergeben! außerdem frag ich nur zeug, das ich und sämtliche Anleitungen mir nich erklären können! wo soll ich sonst erfahren, warum Blitz3d "Expecting variable assignment" ausspuckt! Ich brüte schon Stunden über dem Code, aber ich find keinen logischen Grund für den Fehler! so ein mist nimmt einem den ganzen Spaß am proggen! Is mir selbstverständlich auch peinlich, das der vorige Fehler so simpel war! ![]() |
||
This is 10% luck
20% skill 15% concentrated power of will 5% pleasure, 50% pain and 100% reason to remember the name |
- Zuletzt bearbeitet von Waveblue am Mo, Nov 15, 2004 16:22, insgesamt einmal bearbeitet
![]() |
eXceptION |
![]() Antworten mit Zitat ![]() |
---|---|---|
selbsgebaute functionen die du aufrufst MUSS klammern haben:
Code: [AUSKLAPPEN] ...
collide If a=0 Then keys setzen debug ... stattdessen:Code: [AUSKLAPPEN] ...
;Global a=0 ist weggenommen . . . If (Not collide()) Then keys() setzen() debug() End If . . . Function collide() Return ImagesCollide(held, heldc, heldd, 0, level, 1, 1, 0) End Function Function setzen() heldb = heldd helda = heldc End Function |
||
Norweger...
Spreche aber verdammt gut 8086 |
![]() |
Waveblue |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke exeption, jetzt sieht die Sache schon etwas besser aus, löst das Problem aber irgendwie nicht!
ich hab die Stelle im Code markiert, an der die Meldung kommt! bitte helft mir, das macht einen echt wahnsinnig! |
||
This is 10% luck
20% skill 15% concentrated power of will 5% pleasure, 50% pain and 100% reason to remember the name |
Edlothiol |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du musst die Funktion anders nennen, es gibt nämlich schon ein Array mit diesem Namen. | ||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group