Dim Array nicht in einer Funktion aufrufbar?
Übersicht BlitzBasic Beginners-Corner
CykidBetreff: Dim Array nicht in einer Funktion aufrufbar? |
Do, Jan 15, 2015 14:00 Antworten mit Zitat |
|
---|---|---|
Hallo liebe Community
Ich möchte in meinem Spiel die typische GTA2 Steuerung einbauen. Die Problematik ist: Ich habe das Bild des Spielers in einem Dim Array geladen, das Problem ist das sobald ich meine playerDraw() Funktion aufrufe, wird mir mitgeteilt das dass Bild nicht existiert. Wenn ich während des Ladevorgangs stichprobenartig Zeichne, kann ich jedoch ohne Probleme drauf zugreifen. Im Anhang ist der Code auf alles relevante gekürzt, könnt Ihr mir vlt. sagen wo mein Fehler liegt? Ein Dim ist ja immer Global, warum kann die Funktion aber nicht auf den Inhalt zugreifen? main.bb BlitzBasic: [AUSKLAPPEN] ;Main Settings; main.bb des Levelmodules BlitzBasic: [AUSKLAPPEN] ;Init und das Player modul BlitzBasic: [AUSKLAPPEN] ;grafik einladen Vielen Dank für eure Hilfe |
||
Sir Gauss der IIIBetreff: Re: Dim Array nicht in einer Funktion aufrufbar? |
Do, Jan 15, 2015 15:22 Antworten mit Zitat |
|
---|---|---|
Cykid hat Folgendes geschrieben: Hallo liebe Community
BlitzBasic: [AUSKLAPPEN] ;grafik einladen Hi, Du haste einen Tippfehler in der Ladeschleife. es wird die Var "wimkel" hochgezählt, genutzt aber Var "winkel" (D.H. du überschreibst immer playerImage(0) mit einem neuen Bild) Solche Fehler am besten mit Debuglog suchen (Z.B. ob die Variable auch wirklich hochzählt) |
||
Eingeproggt |
Do, Jan 15, 2015 15:25 Antworten mit Zitat |
|
---|---|---|
Sir Gauss war schneller, denke auch dass es daran liegt.
Und falls es das Programm noch gibt und falls es heutzutage noch läuft, empfehle ich IDEal als Programm-Editor. Der hebt undeklarierte Variablen (Variablen in denen man sich vertippt hat) im Strict Modus hervor und man sieht solche Fehler auf Anhieb mfG, Christoph |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
Cykid |
Do, Jan 15, 2015 15:56 Antworten mit Zitat |
|
---|---|---|
Das ist allerdings peinlich :O
Das Problem besteht jedoch weiterhin. |
||
XeresModerator |
Do, Jan 15, 2015 20:06 Antworten mit Zitat |
|
---|---|---|
BlitzBasic: [AUSKLAPPEN] playerWinkel# = ((ATan2((y#-my),(x#-mx)) + 360) Mod 360) Die zwei Bedingungen sind redundant, da nach ATan2 der Winkel garantiert Positiv (+360) und garantiert kleiner als 360 (modulo) ist. BlitzBasic: [AUSKLAPPEN] playerImage(playerWinkel#) Das wird BB hoffentlich immer richtig casten - aber vielleicht liegt da dein Problem. Ich würde gleich Ganzzahlen benutzen, was anderes macht bei Array-indizies keinen Sinn. |
||
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 THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Cykid |
Fr, Jan 16, 2015 0:19 Antworten mit Zitat |
|
---|---|---|
Selbst wenn ich fix "5" eintrage bekomme ich die Meldung...komische kiste | ||
XeresModerator |
Fr, Jan 16, 2015 0:43 Antworten mit Zitat |
|
---|---|---|
Es kann natürlich immer noch sein, dass das Bild nicht unter dem Pfad zu finden ist - wenn "bekannte dateiendungen ausblenden" aktiviert ist und es "char.png.png" heißt zum Beispiel.
Ist die Variable nach dem laden des Bilds noch gleich 0? |
||
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 THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Cykid |
Fr, Jan 16, 2015 2:12 Antworten mit Zitat |
|
---|---|---|
var > 0 beim ausgeben via Print | ||
HolzchopfMeisterpacker |
Fr, Jan 16, 2015 20:51 Antworten mit Zitat |
|
---|---|---|
Du musst Graphics aufrufen, bevor du irgendwelche Bilder lädst. Denn bei BlitzBasic gehen dabei sämtliche geladenen Grafiken verloren. Die Bild-Handles werden dabei übrigens nicht auf 0 gesetzt, weshalb ein Print playerImage(5) durchaus einen Wert > 0 ausgeben kann, sich an dieser Adresse aber dennoch kein Bild befinden muss.
MfG Holzchopf Edit Ah und übrigens: Du hast zwei Hauptschleifen verschachtelt. Das ist unschön und wird dir Probleme bereiten. |
||
Cykid |
Sa, Jan 17, 2015 14:57 Antworten mit Zitat |
|
---|---|---|
Genau das hab ich grade ausprobiert und es hat funktioniert ^^
Vielen vielen Dank! |
||
Übersicht BlitzBasic Beginners-Corner
Powered by phpBB © 2001 - 2006, phpBB Group