Ergebnis 1 bis 6 von 6

Thema: Pixelmovement Terrain-Kollisionsabfrage

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #3
    Ich habe mich wohl etwas missverständlich ausgedrückt, tut mir sehr leid, natürlich hatte ich niemals vor für jede Karte eine eigene Pathing Map zu zeichnen sondern für das Tileset welches die Karte benutzt und mit diesem Tileset dann eine Karte vom Editor zeichnen zu lassen, als würde ich eine Schwarz-Weiß Kopie erstellen lassen.

    was ich bis jetzt erreicht habe ist folgendes Script:
    (In Bezug auf meinen ersten Post ist die Möglichkeit Nummer 3) welche ich in Betracht ziehe.)
    [Edit: Dieser Code funktioniert nicht!]

    [Edit: Hier die verbesserte Version.]
    Code:
    def pathing_test(real_x,real_y)
        int_x = real_x / 32
        int_x -= 1 if real_x % 32 == 0 && real_x != 0
        int_y = real_y / 32
        int_y -= 1 if real_y % 32 == 0 && real_y != 0
        tile = Bitmap.new(32,32)
        for i in [2, 1, 0]
          tile_id = data[int_x, int_y, i] - 383
          next if tile_id < 1
          ry = tile_id / 8
          ry -= 1 if tile_id % 8 == 0
          rx = tile_id - (ry * 8) -1
          rect = Rect.new(rx*32,ry*32,32,32)
          tile.blt(0,0,RPG::Cache.tileset("PathingMap-"+@tileset_name),rect)
        end
        return tile.get_pixel(real_x - (int_x * 32), real_y - (int_y * 32)) == Color.new(0,0,0,0)
      end
    #real_x / real_x sind die tatsächlichen x und y Werte des Characters auf  der Map
    gibt es hierfür Verbesserungsvorschläge? Erkennt jemand Fehler?

    Edit: Ich habe selbst einige, teilweise kritische, Fehler im ersten Code entdeckt und ausgemergelt. Ich bitte weiterhin um Kommentare und Kritik.

    Vielen Dank.
    Cornix.

    Geändert von Cornix (14.06.2010 um 21:34 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •