Steuerungsfuntion --> Access Memory

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

Golden Age

Betreff: Steuerungsfuntion --> Access Memory

BeitragMo, Dez 08, 2008 16:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Immer wnen ich die Funtion steuerung() auslösen will bekomme ich die im Titel genannte Meldung...
Code: [AUSKLAPPEN]
Function Steuerung()
If KeyDown (203)       
      TurnEntity Player_Anim, 0,1+(shift_speed/2),0
      amb_speed = 0
      Animate Player_Anim, 1,amb_speed,Player_Amb
EndIf
If KeyDown (200)       
      MoveEntity Player_Anim, 0,0,1+shift_speed
      amb_speed = 0
      Animate Player_Anim, 1,amb_speed,Player_Amb
EndIf
If KeyDown (208)       
      MoveEntity Player_Anim, 0,0,-1-shift_speed
      amb_speed = 0
      Animate Player_Anim, 1,amb_speed,Player_Amb
EndIf
If KeyDown (205)       
      TurnEntity Player_Anim, 0,-1-(shift_speed/2),0
      amb_speed = 0
      Animate Player_Anim, 1,amb_speed,Player_Amb
EndIf

End Function


Später im code hab ich einfach steuerung() geschrieben und da bekomme ich im Spiel die Meldung.
Ich hab bisher immer meinen gesamten Code nacheinander geschrieben, ohne Functions, aber das wird ja viel zu unübersichtlich, deshalb will ich das jetzt ändern....

Xeres

Moderator

BeitragMo, Dez 08, 2008 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Du weißt, das Variablen die nicht Global deklariert wurden, in Funktionen andere Variablen mit dem Wert 0 (wenn nicht anders deklariert) sind?
Sprich, Player_Anim könnte damit kein Objekt sein, das bewegt/gedreht werden kann.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Eingeproggt

BeitragMo, Dez 08, 2008 16:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn es funktionierte, bevor du den Code in Funktionen gepackt hast würde cih mal schätzen, dass "Player_Anim" nicht global ist, folglich in der Funktion nicht verfügbar. Sollte ich falsch liegen, schalt mal den Debugger ein und sag uns was er dir sagt.

mfG, Christoph.

EDIT: Wie immer, einer ist immer zu langsam mit dem Antworten Smile
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Golden Age

BeitragMo, Dez 08, 2008 17:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Jep, davor ging der Code. Okay, dann ist das Problem tatsächlich das, dass die Variablen noch nicht Global definiert sind. Müssen also alle Variablen in der Funktion, auch amb_speed, Player_Amb und shift_speed in Globals definiert werden?

DAK

BeitragMo, Dez 08, 2008 17:38
Antworten mit Zitat
Benutzer-Profile anzeigen
alle variablen aus dem hauptprogramm, die du der funktion nicht als parameter übergibst, müssen als global deffiniert werden, wenn du sie in funktionen verwenden willst.
Gewinner der 6. und der 68. BlitzCodeCompo

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group