Ergebnis 1 bis 10 von 10

Thema: [VX Ace] Alpha-Channel durch externes Picture?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Okay, ich komme definitiv nicht weiter. ._.

    Die ganzen Befehle sind ja schön und gut, aber ich habe keinen blassen Schimmer was ich jetzt damit machen muss (bzw. wie ich das, was ich machen muss, umsetze. Davon abgesehen war mein Beispielbild vermutlich etwas irreführend, da mir ein rechteckiger Viewport nicht weiterhelfen würde - ich müsste den schon in deutlich komplexeren Formen haben (bspw. eine unebene Horizontlinie, ein Haus, etc.).
    Da ich da aber alternativ ja einfach mit verschiedenen z-Werten arbeiten könnte ist das jetzt nicht das Problem - bloß wie kriege ich jetzt einem bestimmten Bild einen Viewport bzw. z-Wert zugewiesen (oder von mir aus auch umgekehrt)?

    Google hat mir bislang nur begrenzt geholfen (da ich auch nicht ganz weiß wonach genau ich googeln soll), außer mit kompletten Ruby-Tutorials. Die werde ich mir auch sicher ansehen, allerdings stehe ich etwas unter Zeitdruck (Contestprojekt) und habe noch einige andere Baustellen in dem Projekt.
    Wäre jemand von euch so nett mir da zu helfen? Entweder über eine Erklärung oder mir dem Script selbst? Ich kann im Gegenzug allerdings nicht viel bieten, von Charsets bzw. Edits in 2k/3-Größe und anderen grafischen Arbeiten abgesehen (Karten, Himmel, Menüs, etc.). :/

  2. #2
    Du weisst schon das man Pictures über oder unter anderen Pictures anzeigen kann anhand der Picture ID?
    Was man bei dir nicht versteht ist:
    Was soll es bringen Pictures über dem Parallax aber unter der Map anzuzeigen?
    Kannst du in einem Grafikprogramm mal ein Bild mit Ingame Grafiken anfertigen um zu erkennen was das soll?
    Ich gehe davon aus das du bei dem was du willst einen Denkfehler hast und das ganze irgendwie anders zu machen geht.
    Sofern wir rausfinden was du überhaupt erreichen willst.

    Bisher sieht das für mich aus wie ein Stealth Picture, man sieht ein Picture und wenn es sich unter das Stealth Picture schiebt sieht man das Picture nichtmehr, aber man sieht trotzdem
    die Map dadrunter.Oder in anderen Worten:
    Du willst ein Picture mit einem anderen Picture abdecken aber das abdeckende Picture ist wie ein Transparentes Picture und man sieht die Map dadrunter? (Kein Plan wie man sowas erstellt)
    Nun sagst du aber du brauchst die in Form eines Hauses, wo ich mir nun wieder denke: Der will das doch nicht so wie ichs mir oben zusammengedacht habe.

    Geändert von Bex (26.12.2012 um 12:18 Uhr)

  3. #3
    Ingame-Screen geht leider nicht, da a) Contestprojekt und b) ja eben ingame noch nicht umsetzbar.

    Ich versuch's trotzdem mal zu erklären:
    Ich verwende Panorama-Mapping (bzw. Parallax-Mapping mit den post-2k/3-Begriffen?), habe aber einige Bilder (die sich unabhängig voneinander bewegen) noch einmal hinter der eigentlichen (durch einen Parallax-BG dargestellten) Map. Das kann ich jetzt zwar theoretisch alles wunderbar mit Pictures machen, allerdings sind dann die ganzen Chars ja auch unter den Pictures.

    Die Charsets prinzipiell über die Pics zu setzen würde da zwar auch gehen, allerdings habe ich auch wieder Pictures die über den Chars angezeigt werden sollen. Das Ende vom Lied: Ich muss entweder den Pics eine Maske spendieren (s. Grafik im EInleitungspost) um zu verhindern, dass mein Hintergrund auf einmal über der Map liegt oder die z-Werte für einzelne Pictures runtersetzen.
    Da es um eine komplette Map geht könnte ich mir vorstellen, dass die Sache mit der Maskierung problematisch wird, da das Bild welches die Transparenz definieren soll rund 1000px+ breit wäre. Daher scheint mir das einfachste zu sein, diesen ominösen z-Wert zu verändern - bloß eben nur für einzelne Pictures. Die Pic-ID ist klar, aber ich muss einzelne Pics eben unter den Charsets anzeigen und das am besten auch ad hoc im Eventcode benutzen können.

    Geändert von BDraw (26.12.2012 um 12:36 Uhr)

  4. #4
    Wenn es dir um ein fertiges Script geht könntest du es mit folgendem versuchen:
    (In Zeile 12 kannst du die IDs der betroffenen Pictures festlegen)

    Code:
    class Sprite_LowPriorityPicture < Sprite_Picture
      
      def update_position
        super
        self.z -= 100
      end
    end
    
    
    class Spriteset_Map
      
      PICTURES_BELOW_MAP = [1, 2, 3, 4, 5, 6]
      
      def update_pictures
        $game_map.screen.pictures.each do |pic|
          @picture_sprites[pic.number] ||= 
          begin
            if PICTURES_BELOW_MAP.include?(pic.number)
              Sprite_LowPriorityPicture.new(@viewport1, pic)
            else
              Sprite_Picture.new(@viewport2, pic)
            end
          end
          @picture_sprites[pic.number].update
        end
      end
    end
    Zum Aufbau der Pictures im VXAce:

    Du kannst über $game_screen.pictures auf die "Datenobjekte" der Pictures zugreifen, in denen Bildname, Position u.A. gespeichert werden (siehe Game_Picture - Script). Diese Klasse hat selbst nichts mit der Anzeige zu tun, jedoch kann aus den gespeicherten Informationen jederzeit das Picture wiederhergestellt werden (z.B. nach dem Laden eines Spielstandes).

    Die Anzeige selbst geschieht über Sprite_Picture - Objekte, die von einem Spriteset_Map erzeugt und aktualisiert werden.
    Sprite_Picture übernimmt dabei in jedem Frame die aktuellen Daten. Die z-Koordinate bestimmt sich dabei aus der ID des Pictures (s. Zeile 64 in Sprite_Picture).
    Zudem legt Spriteset_Map die Picture-Sprites in einem zusätzlichen Viewport an, der über den anderen liegt (s. Zeile 251 in Spriteset_Map).

    Geändert von ETeCe (27.12.2012 um 15:16 Uhr)

  5. #5
    Vielen, vielen Dank!
    Ich musste noch einen Behelfs-Viewport zwischen Viewport1 und Viewport2 einführen dem Map, Charsets und Parallax zugewiesen werden, da auf Viewport1 Pictures immer noch über dem Parallax angezeigt wurden, aber jetzt funktioniert es.

    Muchas gracias!

  6. #6
    Heute hatte jemand beim RPG-Studio ein Fix Picture Skript für den Ace gesucht.
    Folgendes Skript erlaubt aber auch die von dir gesuchten Anzeigen mit dem Z-Wert und die Möglichkeit Pictures auch unter dem Parallax anzuzeigen.
    (Getestet habe ich es nicht, da ich nicht die Vollversion habe)
    http://rmrk.net/index.php/topic,44837.0.html

    Gruß Bex

Berechtigungen

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