[Monkey] Lösung: Artefakte beim Scrollen und Scallieren

Übersicht Andere Programmiersprachen FAQs und Tutorials

Neue Antwort erstellen

Dottakopf

Betreff: Lösung: Artefakte beim Scrollen und Scallieren

BeitragSa, Mai 06, 2017 17:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Mitstreiter!

da ich mich jetzt min. eine Stunde mit dem oben beschriebenen Thema geärgert habe möchte ich euch hier eine kurze Step by Step Anleitung geben wie Ihr nervige Artefakte(Schwarze Linien) auf manchen Targets bei virtuellen Auflösungen/Scallieren oder dem Scrollen beheben könnt.


Von mir eingesetztes Modul: IGNITION X(mindestens 1 Jahr alter Softwarestand)
Jeder der neu bei Monkey ist kann ich nur die Jungle IDE und IGNITION X von Playniax empfehlen.
(Hier: http://www.playniax.com/ignition.html)

Als Tile Editor verwende ich den empfohlenen "Tiled" Editor(Plug n Play Support mit oben gennanten Modul)
Der ist aber nicht unbedingt notwendig.. aber ich zeige es mit diesem Editor..
Zusätzlich benötigt Ihr das Tool TileSet Padder(Frei) (Von Playniax, Bitte via Mail Anfragen da DL im Moment tot: http://www.playniax.com/downlo..._v1.00.zip)

So klappts:
- euer fertiges Tileset mit Tileset Padder öffnen(Anleitung siehe ReadMe)
- Euer Tileset hat nun einen Rand mit fix Spacing=2 Margin=1
- Dieses Tileset kann nun mit Tiled bearbeitet werden. (Achtung die Tiles sind ja jetzt größer..)
- Wunsch TileMap erstellen und die .tmx Datei und das bearbeite TileSet in euren Projekt .data Ordner schmeißen.
- die .tmx datei mit einem Texteditor bearbeiten. Spacing und Margin auf die Fixen werte: Spacing=2 Margin=1 ändern.
- Im Quellcode beim Laden der Tilemap muss nun padding aktiviert werden Beispeil:
Code: [AUSKLAPPEN]

      KampainTileMap = New iTiledWorldCreator
         KampainTileMap.Padding(True, True)
         KampainTileMap.Load("KampainMap.tmx")
         KampainTileMap.importer = Null 'No XML Data vom Editor laden


Das wars !

sollte das immer noch nicht funktionieren.. dann habt Ihr wohl noch einen Bug in der Tileengine von IGNITION X.

Bitte prüft in der Datei: " tileset.monkey "
Code: [AUSKLAPPEN]

C:\MonkeyX77a\modules\playniax\ignitionx\tilesystem\tileengine


ob in der Funktion:
Code: [AUSKLAPPEN]

Method CreateTilesFromBitmap:Void(image:Image, tileWidth:Int, tileHeight:Int, margin:Int, spacing:Int, xPadding:Bool = False, yPadding:Bool = False, tileSetName:String = "")


Code: [AUSKLAPPEN]

   Local width:Int=image.Width() / tw
   Local height:Int=image.Height() / th


bereits durch den richtigen code:
Code: [AUSKLAPPEN]

      Local width:Int = image.Width() / (tw + spacing)
      Local height:Int = image.Height() / (th + spacing)


ersetzt wurde.

Mit dieser Anpassung sollte es dann wirklich klappen Smile


Wodurch entsteht dieses Problem: Es ist ein allgmeinens Problem der genutzen Grafik Engine nicht von Monkey. Hier ganz toll beschrieben:

Zitat:
Zitat:

On some targtes you may experience line artefacts between each tile especially when scrolling or using virtual resolutions.

You can solve this by disabling image filtering, round positions to integers and/or not use virtual resolutions, but that would be far from ideal or even quite useless.

You can solve this by enabling padding and by adding an extra pixel to the border of each tile (where the border itself is only a copy of the neighbour pixel).

And don't forget setting the right margin and spacing.

Loading a tiled map and enable padding would look something like this:



tileWorldCreator=New iTiledWorldCreator()
tileWorldCreator.Padding(True,True)
tileWorldCreator.Load("mymap.tmx")





Weite externe Posts zu diesem Thema:
http://www.monkey-x.com/Commun...topic=9169
http://www.monkey-x.com/Commun...=all#59672
Rechtschreibfehler gelten der allgemeinen Belustigung!
  • Zuletzt bearbeitet von Dottakopf am Sa, Mai 06, 2017 18:02, insgesamt 4-mal bearbeitet

Xeres

Moderator

BeitragSa, Mai 06, 2017 17:55
Antworten mit Zitat
Benutzer-Profile anzeigen
~VERSCHOBEN~

Beginners-Corner -> FAQs und Tutorials
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)

Neue Antwort erstellen


Übersicht Andere Programmiersprachen FAQs und Tutorials

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group