| |
|
|
| Hallo Mit dem Pathfinder von Moritz Kersten habe ich einen Pfad erstellt und dieses als Koordinaten.pst sowie als KoordinatenExport.pff gespeichert und Exportiert. Nun will ich mit der SpeedDll diese Pathdatei nutzen. MoveSpriteWithTable(sprite&,werte#,14,0,0,1).
Meine Frage wie werden derartige Dateien eingelesen ? Kann mir einer mit einem Codestück helfen !
Mit freundlichen Grüßen Reinhard
PS. Wenn es gehen sollte ist der Phatfinder.exe ebenso gut wie die ProSpeed.Dll |
|
|
| |
|
|
|
| |
|
| |
|
|
|
| Hallo Reinhard und danke Sebastian,
hier noch etwas ausführlicher. ProSpeed und Pathfinder sind extra aufeinander abgestimmt. Verwenden mußt du die Pst-Dateien. Das Beispiel nutzt Profan 7 und geht davon aus, das bereich# deklariert und ausreichend dimensioniert ist: KompilierenMarkierenSeparierentext$="Koordinaten.pst"
x&=FileSize(text$)
ReadFileFast(addr(text$),bereich#,0,x&) Pst-Datei in Bereich# laden
ChangeLongSequence(bereich#,x&) Wenn du dies einbaust, fliegt das Sprite anders herum
xx&=Word(bereich#,0)
yy&=Word(bereich#,2)
SetSpritePos(sprite&,xx&,yy&,xx&,yy&) Sprite auf Anfangs-Position der Tabelle setzen
MoveSpriteWithTable(sprite&,bereich#,(x&/4),0,0,0) Sprite starten
SetSpriteMovingMode(sprite&,1) Linienmodus ein
Achtung, wenn du den Linienmodus benutzt, ich habe noch einen kleinen Bug entdeckt. Wenn der Linienmodus benutzt wird, müßen mindestens zwei Sprites generiert sein. Wenn nur ein Sprite aktiv ist, wird ein Fehler gemeldet. Ich versuche den Fehler so schnell wie möglich zu finden.....
Der Pathfinder ist wirklich toll. Sollten hier noch Fragen auftreten, könnt ihr sie auch im ProSpeed-Forum stellen. Der Autor, Moritz Kersten hat darum gebeten, weil er einige Monate im Ausland sein wird und nicht erreichbar ist.
Gruß, Frank |
|
|
| |
|
|
|
| Nachtrag,
ProSpeed und Pathfinder verarbeiten auch negative Tabellenwerte. Weil die Tabellenwerte aber Words sind, wird Profan hierbei Fehler produzieren, denn Profan arbeitet nicht mit negativen Words! Um auf Nummer sicher zu gehen, wenn ihr die XY-Position eines Sprites auf den Anfang der Tabelle setzt, solltet ihr schreiben: KompilierenMarkierenSeparieren Gruß, Frank |
|
|
| |
|
|
|
| Hallo
Zunächst einen Dank an alle die eine Lösung angeboten haben, vor allem im ProSpeed Forum. Habe natürlich sofort einen Test gemacht und es funktioniert wirklich. Deshalb der Rat für Spielerprogrammierer - Besorgt euch die SpeedDll und den Pathfinder -
Genau die Beschreibung vom Frank sollte in die Hilfe der SpeedDll und auch in den Pathfinder aufgenommen werden. den Bug im Linienmodus konnte ich nachvollziehen, bei 2 und mehr Sprites klappt es aber erst mal.
mfg Reinhard |
|
|
| |
|
|
|
| Hallo Reinhard,
danke für deine Worte. Der Pathfinder ist ja jetzt Teil des ProSpeed-Pakets.
Ich hatte seinerzeit den Moritz gefragt, ob er seinen Cordmaker nicht erweitern will. Und so haben wir im Laufe der Zeit den Pathfinder entwickelt, wobei Moritz die Profan-Programmierung übernommen hat und ich einige Assembler-Funktionen hinzugesteuert habe, was halt gebraucht wurde. Immer mehr Ideen kamen hinzu und heute steht ein Werkzeug zur Verfügung, das sich sehen lassen kann. Moritz ist momentan im Ausland, seine Homepage ist offline oder wird es bald sein, weil er den Provider wechseln möchte, wenn er wieder da ist. Aber eine an ProSpeed speziell angepaßte Version des Pathfinders ist ja im ProSpeed-Paket, und jeder Benutzer sollte rege davon Gebrauch machen...
Das Beispiel werde ich in die ProSpeed-Anleitung übernehmen.
Den Fehler konnte ich noch nicht finden. Da er irgendwo innerhalb des Sprite-Threads auftritt (denke ich zumindest), ist er schwer zu lokalisieren. Aber ich bin voller Hoffnung. Momentan muß halt noch ein Pseudosprite (z.B. 1x1 Pixel) als Erstes eingebaut werden, bis ein Update erfolgt ist.
Gruß, Frank |
|
|
| |
|
|