Instanz des Tyes als Global in Function

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

buja

Betreff: Instanz des Tyes als Global in Function

BeitragDo, Jun 26, 2008 14:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, wie kann ich mehrere Instanzen eines Types in einer Schleife erzeugen, und das als Global, aber in einer Function?

Hier ist der Code, ich glaube die erklärung ist nicht so gut.

Code: [AUSKLAPPEN]


Function loadlevel(levelnumber)
;Lädt das Level aus dem .space Format Datei
   datei = OpenFile ("levels/" + levelnumber + ".space")
   If datei = 0 Then RuntimeError "Fehler beim laden des Levels"
   
   
   
   For zaehlen = 0 To count-9 Step 9       ;Es gibt 9 Zeilen pro Block, also Alle Zeilen durch 9 pro Block
      
      stein.baustein=New baustein
      
      temp_x$ = ReadLine (datei) : stein\x# = Float temp_x
      temp_y$ = ReadLine (datei) : stein\y# = Float temp_y
      temp_z$ = ReadLine (datei) : stein\z# = Float temp_z
      temp_xpos$ = ReadLine (datei) : stein\xpos# = Float temp_xpos
      temp_ypos$ = ReadLine (datei) : stein\ypos# = Float temp_ypos
      temp_zpos$ = ReadLine (datei) : stein\zpos# = Float temp_zpos
      stein\mesh = ReadLine (datei)
      stein\meshtype = ReadLine(datei)
      stein\turbo = ReadLine(datei)
      
      Text 1,1,stein\meshtype
   Next
   
   
   For stein.baustein =  Each baustein
      If stein\meshtype = 1 Then stein\mesh = LoadMesh ("models/4x4.b3d")
      If stein\meshtype = 2 Then stein\mesh = LoadMesh ("models/2x4.b3d")
      If stein\meshtype = 3 Then stein\mesh = LoadMesh ("models/1x4.b3d")
      
      
   Next
   
End Function
[/quote]
...

Xeres

Moderator

BeitragDo, Jun 26, 2008 14:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Keinen Schimmer was du genau willst, aber: Types sind per se Global. d.h. wenn du irgendwo in einer Funktion beispielsweise "stein.baustein=New baustein" einen baustein erzeugst, wirst du ihn überall im Programm per "For...Each baustein" wiederfinden können.
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)
 

buja

BeitragDo, Jun 26, 2008 14:18
Antworten mit Zitat
Benutzer-Profile anzeigen
ok, das war genau meine frage Smile
...
 

buja

BeitragDo, Jun 26, 2008 14:22
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hoffe ich darf diesen Thread weiterverwenden für ein Problem wo ich schon seit stunden dran sitze und irgendwie nicht hinkriege Sad

also in dem CodeBlock, wie er oben steht, müssten eigentlich aus der Datei heraus die Daten der Entities gelesen werden (was auch passiert, habs geprüft) und dann werden für jeden Baustein eine Instanz des Types Baustein erstellt.

Dann werden die Werte wie in der Tabelle aus der Datei übernommen.

Allerdings werden die Meshes nicht angezeigt.

Ich habe versucht, eventuelle Ladefehler abzufangen mit If stein\mesh = 0 then runtimeerror("Fehler")
aber das ändert nichts.

Sieht jemand an dem Code Fehler?
...

D2006

Administrator

BeitragDo, Jun 26, 2008 14:25
Antworten mit Zitat
Benutzer-Profile anzeigen
bujacassa hat Folgendes geschrieben:
Ich hoffe ich darf diesen Thread weiterverwenden für ein Problem wo ich schon seit stunden dran sitze und irgendwie nicht hinkriege Sad


An sich kein Problem, solange du aber keinen Doppelpost fabrizierst, welche bei uns nicht erwünscht sind. Benutze den Edit-Button rechts über deinen älteren Beitrag und füge deine neue Frage an. Fühl dich ermahnt. Wink
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2

Xeres

Moderator

BeitragDo, Jun 26, 2008 14:38
Antworten mit Zitat
Benutzer-Profile anzeigen
bujacassa hat Folgendes geschrieben:
Allerdings werden die Meshes nicht angezeigt.

1. Mesh Positioniert?
2. Die Kamera ist auf die Position ausgerichtet (und nicht zu nah dran oder zu weit weg)?
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)
 

buja

BeitragDo, Jun 26, 2008 14:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Funktioniert mit PositionEntity auch nicht, außerdem müssten die geladenen Objekte ja so oder so auf 0,0,0 sein oder?

Naja, die Kamera ist auch nicht zu na oder so


Wenn ich die Manuell positionieren, allerdings ohne Types und so, nur die MEshes laden und anzeigen, an der selbsn Position, dann sieht man die.



Ich möchte ungern den ganzen Code hier schreiben, falls sich jemand bereit erklärt sich den code mal genau anzuschauen (sind 100 zeilen oder so) dann schreibt mir bitte eine PN oder bei ICQ: 487123402

Ansonsten kann ich den hier auch schreiben als letzte rettung Very Happy
...

Xeres

Moderator

BeitragDo, Jun 26, 2008 15:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Die 100 Zeilen kannst du auch noch reineditieren... btw:
Code: [AUSKLAPPEN]
temp_x$ = ReadLine (datei) : stein\x# = Float temp_x
stein\x# = Float(ReadLine (datei))
Es spricht nichts dagegen, Funktionen zu verschachteln.

Edit: Archiv -> CodePasting gibts auch noch.
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)
 

buja

BeitragDo, Jun 26, 2008 19:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Hm.. okay, dann poste ich mal den ganzen Code:

https://www.blitzforum.de/upload/code.php?show=980




Sorry, aber ich komme nicht dahinter, vielleicht ist es auch ein banaler fehler =(
...

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group