Blitz 3D zu Blitzmax convertieren

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

pile

Betreff: Blitz 3D zu Blitzmax convertieren

BeitragDo, Mai 27, 2010 11:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, ich wollte nur eben mal wissen, ob es möglich ist, einen Blitz 3D - Code in BMax zu convertieren. Manuell, Zeile für Zeile natürlich, nicht automatisch mit gegebenenfalls abgeändertem Code. Also ich möchte später eventuell ein Spiel, welches ich unter B3D geschrieben habe, auch unter Linux lauffähig machen, ist das möglich?
MfG. Pile
Aktuelles Projekt: Irgendwas in den BlitzEditor eintippen und sehen ob was dabei rauskommt. Fortschritt: ca. 3.141592653589793238%

Silver_Knee

BeitragDo, Mai 27, 2010 11:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Brauchst halt eine Ensprechende 3D Engine MiniB3D zB oder Softpixel.

Fensterfunktionen und Mathe un so liefert BMax ja mit

BladeRunner

Moderator

BeitragDo, Mai 27, 2010 11:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Per se ja, aber es wird nur wenig performant sein, da es sich für BMax anbietet gleich objektorientiert an die Sache ranzugehen.
Erst dann kann Max richtig schön die Muskeln spielen lassen.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

pile

BeitragDo, Mai 27, 2010 22:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Also das Spiel, ist nicht in 3D, es wurde lediglich in B3D programmiert, aber ohne 3D Befehle.
Naja klar ich müsste mich erstmal in BMax einarbeiten (von diesem objektorientierten Sachen hab ich keine Ahnung Smile ) aber wenn es grundsätzlich möglich wäre, ist ja ok. Kann man dann so in etwa vorgehen: In B3D heißt der Syntax so und so, also heißt er in BMax so und so usw., oder ist das situationsabhängig?
MfG. Pile
Aktuelles Projekt: Irgendwas in den BlitzEditor eintippen und sehen ob was dabei rauskommt. Fortschritt: ca. 3.141592653589793238%

BladeRunner

Moderator

BeitragDo, Mai 27, 2010 22:23
Antworten mit Zitat
Benutzer-Profile anzeigen
ca. 80-90% sind ohne größere Änderung zu übernehmen wenn es um reines 2D geht.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Midimaster

BeitragFr, Mai 28, 2010 1:21
Antworten mit Zitat
Benutzer-Profile anzeigen
als ich neulich ein 2000 Zeilen Programm von B3D nach BlitzMax konvertieren musste (wegen MAC), habe ich schon mal mit dem Gedanken gespielt, alle Erfahrungen und Probleme, die dabei aufgetreten sind in einem Tutorial umzusetzen. Aber ich hatte dann zu wenig Zeit, um sofort zu beginnen.

Deshalb hier nur ein paar Tipps:

Ich habe mit die Mühe gemacht, den Code Zeile für Zeile umzuändern und erst später ist mir die Idee gekommen, man hätte auch die Befehle einfach "wrappen" können.

z.b. der Befehl

BlitzBasic: [AUSKLAPPEN]
Text 100,200,"Hallo"


aus B3D sieht in BlitzMax so aus:

BlitzMax: [AUSKLAPPEN]
DrawText "Hallo", 100,200



Natürlich kannst du alle betroffenen Zeilen von Hand ändern, aber so ginge es auch:

BlitzMax: [AUSKLAPPEN]
Text 100,200,"Hallo"

Function Text(X%,Y%,Inhalt$)
DrawText Inhalt, X, Y
End Function



So kannst du alle TEXT Befehle stehen lassen. In BMax werden sie die neue Funktion Text() aufrufen und dort wird der Inhalt BMax-konform behandelt. In dieser Art brauchst Du dann auch...

BlitzMax: [AUSKLAPPEN]
Function Color(R%, G%, B%)
SetColor R,G,B
End Function


...und etwa ein Dutzend andere Functionen. Damit dürfte viel Schreibarbeit wegfallen.
  • Zuletzt bearbeitet von Midimaster am Fr, Mai 28, 2010 3:02, insgesamt einmal bearbeitet

Noobody

BeitragFr, Mai 28, 2010 2:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Du könntest ja auch einfach die Ersetzen-Funktion aufrufen, die in jedem Editor vorhanden ist, und dir alle Vorkommen von 'Text ' durch 'DrawText ' ersetzen lassen Wink

Es gibt sogar einen automatischen B3D->BMax Konverter von BRL, der bei der BMax-Installation mitgeliefert wird. Der übersetzt aber, soweit ich mich erinnern kann, nur die Sprachunterschiede ( . statt \ etc.), die Befehle selbst bleiben aber unberührt.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun
 

Ava

Gast

BeitragFr, Mai 28, 2010 4:31
Antworten mit Zitat
Noobody hat Folgendes geschrieben:
Du könntest ja auch einfach die Ersetzen-Funktion aufrufen, die in jedem Editor vorhanden ist, und dir alle Vorkommen von 'Text ' durch 'DrawText ' ersetzen lassen Wink


Die Funktionen haben aber auch unterschiedliche Parameter (bzw. in diesem Fall eine andere Reihenfolge), daher würde ich auch eher den einfacheren Weg mit den Ersatzfunktionen empfehlen, wenn es nur darum geht, schnell mal eben was auf eine andere Platform zu bringen. Vorallem bei umfangreicheren Code entgeht man damit der Gefahr, sich in den Parametern zu verhaspeln und Fehler zu produzieren.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group