Seite 4 von 5
Verfasst: 08.11.2004 16:06
von remi_meier
Also ich habs nochmals neu hochgeladen mit diesen 2 Funktionen um den Clipbereich herauszufinden:
Funktioniert leider auch nicht, sogar nicht mehr mit dem 1. Jump'n'run level. Wenn ich SpriteWidth() ausgebe, kommt da auch manchmal eine Zahl die grösser ist als der Bildschirm

. Was ich besonders komisch finde ist, dass die Y-Berechnung anscheinend um 16 (d.h. 0.5 * sizey) Pixel verschoben ist, man sieht also die eine Hälfte des richtigen und dann noch eine Hälfte von einem anderen

. Heute hab ich leider nicht so viel Zeit, aber ich werds weiter probieren!
Ich habe vor 2 Jahren auch noch BlitzBasic programmiert, hab jetzt aber leider schon vieles wieder vergessen... Aber ich glaube, die Berechnung für Clipping sollte stimmen.
greetz
remi
EDIT:
Hat jemand ne Ahnung wieso SpriteHeight(img) oft 32 ausgibt? Kein Tileset im Ordner hat diese Höhe

Ahh hat Nic getrickst?
Verfasst: 08.11.2004 17:22
von remi_meier
Puh! Habs nochmals hochgeladen! Die Proceduren oben sind abgeändert, da fehlerhaft!
Die Jump'n'run levels scheinen nun alle zu laufen, die RPG's jedoch noch nicht (@Nic, hast du dort etwas noch nicht eingebaut, oder muss ich noch n Fehler finden?). Aber immerhin laufen jetzt die einfacheren.
WICHTIG: Tiles dürfen wegen Purebasic nun standardmässig nur unter der Bildschirmgrösse sein!
greetz
remi
Verfasst: 08.11.2004 20:09
von TheShadow
Hm... das hat denke ich wenig mit PB zu tun... sondern mit Grafikkarte... Sole Limitationen gab es nur auf älteren Grafikkarten... Jetzt dürfen Grafiken normal bis zu einer Grenze längers ein...
Z.b. hab ich uralte grafikkarte und ein Tileset mit 2112 px Höhe... es geht... Aber eine Sperzielel Routine hatte ich auch nicht...

Verfasst: 09.11.2004 16:44
von NicTheQuick
@remi_meier: Wolltest du mich jetzt wirklich was fragen oder war das eher eine rhetorische Frage?
Ich glaube ich habe irgendwo eine Funktion drin, die Tiles, die in mehreren Zeilen im Tileset standen komplett in eine Zeile geschrieben hat, die dann wahrscheinlich auch mal länger als der Bildschirm geworden ist.
@TheShadow: Das mit der maximalen Sprite-Breite und -Höhe hat nichts mit der Grafikkarte zu tun, sondern viel eher mit DirectX. Zumindest weiß ich das aus einem Post von Danilo, der das in der entsprechenden SDK gefunden hat. Das war auch gar nicht so lange her als er das gesagt hatte.
Verfasst: 09.11.2004 18:00
von remi_meier
@Nic: Hat sich geklärt, hab diese Funktion entfernt und machs so wie in BlitzBasic. Nun noch keine rhetorische Frage: Bei der Tile-Struktur hast du nicht banka und bankd sondern nur bank. Ich habs mal auf banka und bankd erweitert, hatte das irgend einen Grund?
Bei mir gehen auf jeden Fall die Tiles ohne Probleme. Hab jetzt noch ein paar Fehler ausgemerzt und Kleinigkeiten geändert, die RPG Levels sind nun einfach schwarz
greetz
remi
Verfasst: 09.11.2004 18:45
von TheShadow
Es gibt neue Version 1.4... das wird vorest länger die aktuelle Version bleiben, da ich an sich alles drin habe, was ich haben wollte...
Verfasst: 09.11.2004 20:35
von NicTheQuick
Keine Ahnung, ob das von mir so gewollt war. Aber vermutlich nicht. Meine Vorgehensweise zum Portieren war immer folgende: (Kurzform)
- BB-Code in jaPBe kopieren
- Funktion für Funktion, Zeile für Zeile übersetzen
- Nach fertig übersetzter Procedure BB-Funktion löschen und nächste Funktion angehen.
- Wiederkehrende komplizierte nicht leicht übernehmbare Zeilen oder Berechnungen aus schon fertig gestellten Dateien kopieren und nochmal schnell vergleichen.
Hmjo... Da können schonmal Fehler auftreten.
Verfasst: 09.11.2004 20:55
von Kekskiller
[superflouoscomment]Es wäre sicher effektiver, sich einen Plan, oder
ähnliches von dem Grundsystem des Codes zu machen und danach es nach
Pb zu portieren. Ist zwar nervig, wenn man alles einzeln auf Papier festhalten
musst, ist aber Sprachen unabhängig. [/superflouoscomment]
Verfasst: 09.11.2004 21:12
von remi_meier
@Nic: Dieser Fehler / diese Vereinfachung muss schon gewollt sein, ist aber jetzt auch egal, denn es funktioniert alles bis auf etwas.
@Kekskiller: Ich denke nicht das es hier effektiver wäre, denn BB und PB sind sehr ähnlich und der Codingstyle von TheShadow ist auch nicht schlecht. Also ziemlich einfach.
Ich komm leider nicht dahinter, was die Animation auslöst. Layer\mode ist beim Einlesen immer 0 und bei der Procedure layer_image_draw() wird immer dieser Teil hier:
gewählt, so wird aber frame negativ und das Image wird nicht dargestellt
Aber ich bleib dran!
greetz
remi
Verfasst: 10.11.2004 19:59
von Kekskiller
Naja, Codingstil ist relativ, ich mag ihn zum Beispiel nicht so sehr

.
Aber irgendwie hast du schon recht, wird so sicher erinfacher zu lösen sein.