include

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

 

Todeskop

Betreff: include

BeitragSa, Apr 07, 2007 11:26
Antworten mit Zitat
Benutzer-Profile anzeigen
ICh bin zurzeit mit meinem mapeditor dran klappt auch super(fas fertig) aber wie kann man bitte ein include mit einer variable machen also so z.B.:
Code: [AUSKLAPPEN]
Include "maps\"+name$+".Tmap"

wie man sieht es kommt ein error das er das nich öffnen könne also wie kann ich das ändern oder gibt es dazu eine alternative?!
Ich danke für jede hilfe!
MFG Todeskop

Cardonic

BeitragSa, Apr 07, 2007 11:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde nicht Include nehmen um Maps zu laden, da Include die Datei schon beim compillieren einbindet.

Eine Funktion die mit Datei- und Streambefehlen arbeitet wäre sicherlich sinnvoller.

mfg Cardonic
If you should go skating on the thin ice of modern life, dragging behind you the silent reproach of a million tear-stained eyes, don't be surprised when a crack in the ice appears under your feet.

FireballFlame

BeitragSa, Apr 07, 2007 13:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Dein Befehl müsste aber vom Prinzip her funktionieren (also ohne Error), solange es die Datei gibt.
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit
 

Todeskop

BeitragSa, Apr 07, 2007 13:53
Antworten mit Zitat
Benutzer-Profile anzeigen
@FBF: es geht wirklich nicht, ich denke es liegt daran wie Cardonic sagte das die variable beim komplieren noch nicht da ist.
@Cardonic: danke für die hilfe aber wie will ich das mit nem streabefehl machen? Ich erkläre am besten mal wie er so grob funktioniert.
1.er schreibt eine funktion in eine datei namens createobjekt + nötigen variablen.
2. beim laden kann ich es einfach includen...dachte ich mir, da die function und die objekte da sind.
D.h. im klartext ich muss BlitzBasic dazu kriegen eine Befehlstabelle auszuführen ohne zu includen, fragt sich nur wie.

maximilian

BeitragSa, Apr 07, 2007 14:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Das geht selbstverständlich NICHT, da die Variable nur zur Laufzeit bekannt ist.
Variety is the spice of life. One day ignore people, next day annoy them.
 

Todeskop

BeitragSa, Apr 07, 2007 15:00
Antworten mit Zitat
Benutzer-Profile anzeigen
und wie könnte man das lösen?
könnte man nicht theoretisch eine art Tabelle erstellen wo drin steht:
Code: [AUSKLAPPEN]

if name$="puselmukkel" include "puselmukkel"
....


ich meine das wäre zwar aufwändig aber wenns nich anders geht....
aber ich merke gerade das da z.B. case nichts bring da er es läd obwohl ich was anderes ausgewählt habe.....

Holzchopf

Meisterpacker

BeitragSa, Apr 07, 2007 15:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja es wäre aufwändig, aber es geht anders. Musst dir halt nur überlegen, wie du deine Levels sonst noch speichern könntest anstelle von Includes, in denen alle Create*-Funktionen hart drinstehen.
Du wirst wohl nicht drumrum kommen, einen Loader zu schreiben, der die Datei abarbeitet und auf bestimmte Steuerzeichen reagiert und anhand von denen Objekte erstellt und positioniert Wink

Levels per Include einbinden zu wollen geht einfach nicht. (Ausser man hat eine fest bestimmte Anzahl levels, die man nach dem Kompilieren des Programmes nicht mehr ändern will.)
Das liegt daran, dass Include "Datei" einfach beim Kompilieren durch den Inhalt der Datei ersetzt wird.

MfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm
 

Dreamora

BeitragSa, Apr 07, 2007 15:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Level nicht so includen sondern aufgrund einer "Level Listen Datei" laden

Mit reinpacken ist kein Problem, BBCruncher oder auch Molebox lässt freundlichst grüssen Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Todeskop

BeitragSa, Apr 07, 2007 15:58
Antworten mit Zitat
Benutzer-Profile anzeigen
nein mir gehts ja nicht un´ms packen sondern das ich include mit variablen und getimt einsetzten kann.

maximilian

BeitragSa, Apr 07, 2007 16:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:

CONST level=2

IF level=2 THEN
INCLUDE "lustiges_level2.bb"
ELSE
INCLUDE "lustiges_level1.bb"
ENDIF


Tipp kommt von: http://www.blitzbase.de/tutorials/shadow_5.htm

Das müsste gehen. Getimed lässt sich das ganze NICHT einsetzen. Du hast schon selbst darauf die Antwort gegeben: Die Variablen sind nur zur Laufzeit bekannt.

Übrigens ist das die blutigste Anfängerlösung überhaupt für Leveldesign. Ich empfehle dir, das anders zu lösen.
Variety is the spice of life. One day ignore people, next day annoy them.
 

Dreamora

BeitragSa, Apr 07, 2007 16:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Todeskop hat Folgendes geschrieben:
nein mir gehts ja nicht un´ms packen sondern das ich include mit variablen und getimt einsetzten kann.


Also nochmal und ganz langsam:

INCLUDE IST EINE ANWEISUNG DIE ZUR COMPILE ZEIT AUSGEFÜHRT WIRD!
In dem Moment wo die Exe existiert gibt es innerhalb der EXE KEINEN BEFEHL INCLUDE MEHR!!

Wenn du dann etwas "includen" willst musst du entweder mit dem Cruncher oder was ähnlichem arbeiten oder du liest die Daten halt einfach aus einer Konfigurations- bzw. Levelfile aus.

Am besten Mal auf www.robsite.de die RPG Tutorials machen, das sollte die Probleme die du offensichtlich hast, lösen und das scheinbar umfassende Fehlverständnis beseitigen.


Verschoben da offensichtlich im falschen Board
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Todeskop

BeitragSa, Apr 07, 2007 16:41
Antworten mit Zitat
Benutzer-Profile anzeigen
ihr versteht das immer noch nicht......
1.der mapeditor erstellet maps indem er daten der funktion speichert.
2. dann soll er sie laden: und zwar so:
namemap$=input("mapname: ")
Include "maps\"+namemap$+".Tmap"
3.dann kommt der fehler das es das nich gäbe........(ist ja klar wegen dem oben erklärten)


so:
@LC: deins geht nicht weil er versucht beide zu includen.
@Dreamora: wass bitte soll mir dein bringen ich brauche keinen daten packer, außerdem ändert das nichts an meinem problem einfach eine nach variable gewähltes include zu öffnen.
und ich will ja nicht nur 1 level sondern mehrere.
MFG Todeskop

hamZta

Administrator

BeitragSa, Apr 07, 2007 16:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Scheinbar verstehst du das immer noch nicht.

Mit Include kannst du nur statisch inkludieren. BEVOR dein Code in ein Programm umgewandelt wird, geht der Compiler durch und ersetzt ALLE Include-Anweisungen durch den Code aus der jeweiligen Datei.

Wenn er also sowas wie "Include "maps\"+namemap$+".Tmap"" findet, wird er versuchen die Datei maps\"+namemap$+" zu inkludieren, die verständlicherweise nicht existiert.

hamZta
Blog.

Hagbard

BeitragSa, Apr 07, 2007 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Mal ne andere Frage:
Ich hoffe, dass ich nicht einfach was nicht richtig durchgelesen habe.

Kann Include nicht eh nur ".bb" Dateien einbinden oder irre ich mich?
 

Todeskop

BeitragSa, Apr 07, 2007 17:34
Antworten mit Zitat
Benutzer-Profile anzeigen
nein das stimmt nicht Hagbard.
aber ahtzta da mir das am anfan des therdes aufgefallen ist fragte ich ja wie man das so machen kann das es geht?
MFG Todeskop
 

Dreamora

BeitragSa, Apr 07, 2007 17:57
Antworten mit Zitat
Benutzer-Profile anzeigen
garnicht mit include.

Schreib alle Maps in eine Datei und zu beginn des Spielst liest du diese Datei aus und Lädst die Daten.

Sprich du schreibst dir sowas wie ein eigenes Levelformat. Das ist nicht gross ander als dein Include Ansatz mit dem Unterschied das er funktioniert.

Darum hab ich ja darauf verwiesen das du die RPG tutorials machen sollst, denn RPG nutzen Tilemaps und die müssen auch irgendwoher kommen. Will heissen da lernst du einiges an elementaren Grundlagen die dir aktuell fehlen.


Bevor du überhaupt einen Level Editor schreiben beginnen solltest, solltest du vielleicht dann doch erst Mal lernen wie die File Befehle funktionieren, ohne wirds keine Level geben denn Blitz kann ohne nix speichern, gibt keinen "Save Mesh" befehl.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Hagbard

BeitragSa, Apr 07, 2007 18:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Alles klar,

ich habe mich schon gewundert, wie das funktionieren soll, kenne es nämlich auch nur mit eigenem Format...

Smily

BeitragSa, Apr 07, 2007 18:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe grade den Verdacht, dass du in eine ganz andere richtung denkst.

Wie soll so eine Wie so eine "maps\"+namemap$+".Tmap"-datei denn aussehen? (Schreib einfach mal ein Beispiel ^^)

Gruß, Smily0412
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

LukasBanana

BeitragSa, Apr 07, 2007 18:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Dreamora hat Folgendes geschrieben:
garnicht mit include.

Ja, das stimmt! Include ist dafür nicht gemacht, denn beim compilieren "includiert" dieser Befehl die angegebene Datei in dein BB Programm ein, sie wird also an dieser Stelle in dein Programm Code eingefügt denn das ist konstant und nicht variabel.

In C++ ist das auch deutlich zu sehen: alles was mit einem Gitter (#) anfängt wird später vom C++ Compiler in dem ProgrammCode erstetzt. Wink
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana
Meine Projekte auf github.com: https://github.com/LukasBanana
Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana
 

Todeskop

BeitragSa, Apr 07, 2007 18:57
Antworten mit Zitat
Benutzer-Profile anzeigen
soo ich habe mir jetzt das RPG-tutorial angesehen und kann nur sagen danke Dreamora, jetzt versteh ich wie du das meinst und so wirds auch recht simpel das ganze zu machen.....
MFG Todeskop

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group