• Login

Josey

Storyteller

  • "Josey" started this thread

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

1

Saturday, February 2nd 2019, 10:01am

[Erledigt] Verdeckte Charas umranden

Dieser Threadt begann unverfänglich im Smalltalk XD

Hier, was bisher geschah:
Josey:
Ich such mich grad im Forum dumm und dämlich- es gab doch mal dieses schicke Script, dass der Player, wenn er hinter einem Gegenstand verschwindet, mit einem "Umriss" versehen wird, der über dem Gegenstand ist?
Und ein Script, dass Gegenstände durchsichtig macht, wenn man dahinter ist.
Eigentlich will ich aber lieber dem Player einen Umriss verpassen, man, wo steckt das denn? D:

Habs gefunden XD
VerdeckenScript V0.02
Wer kommt denn auf 'Verdecken'? XD
Jetzt muss ich das irgendwie umschreiben, ich will keine Shilhouette, sondern einen Umriss >_>
Edit: Es geht nicht so einfach XD *seufz*

Mai- herzlichen Glückwunsch! :D
Ich hab bei der Prüfung damals Blut und Wasser geschwitzt und es knapp geschafft XD
Die Simpsons - Helicopter Homer hebt ab [HD] - YouTube XD


Revito:
@Josey
Das Skript zeichnet auch nur den Charakter halbtransparent nochmal über den normalen Charakter.
Ich wüsste jetzt nicht, wie man den Umriss im Maker nachzeichnet. Man könnte das Skript abändern, dass ein zweites Charset drüber gezeichnet wird, welches nur aus dem Umriss besteht.
Dann hast du mit dem Skript aber das Problem, dass du den Umriss immer siehst.
Und allgemein... Zeichnet das Skipt nicht auch über angezeigte Fenster und Bilder?


Josey:
Ah, das durchsichtige Charset ist also immer da? Verstehe XD So funktioniert das also XD
Zumindest Bilder überlagern es, habs ausprobiert. Das durchsichtige Charset ist nicht zu sehen.


Revito:
Ah, natürlich. Viewports gab es ja auch.
Aber nur den verdeckten Teil anzuzeigen ist trotzdem etwas schwerer.
Es muss ja bei Tiles und auch bei Events funktionieren.


Josey:
Ich denke ich kann zufrieden sein, dass ich überhaupt was hab, um den Char hinter einem Haus anzeigen zu lassen, das ist bei dem HM-Spiel wichtig XD
Wenn du magst, kannst du mir gern noch erklären, was "Viewports" sind und wieso das Wort alles erklärt XD


Revito:
Wie beschreibt man das am besten? Hmm...

Du weißt ja, dass mit den Z-Koordinaten angegeben wird, in welcher Reihenfolge ein Sprite gezeichnet wird.
Also ob der Sprite vor oder nach anderen Sprites gezeichnet wird und damit z.B. überzeichnet wird.

Stell dir jetzt vor, dass ein Viewport eine Folie ist, auf die du alles drauf zeichnest.
Was passiert jetzt wohl, wenn du mehrere Folien hast, auf denen was drauf ist und du die übereinander legst?

Edit:
Ok, den Umriss von einem Char zu zeichnen ist sau leicht.
Aber der Prototyp ist hässlich und ich weiß immernoch nicht wie ich das Regel, dass nur der verdeckte Teil umrandet wird. :/



Josey:
Die oberste Folie wär dann natürlich trotzdem drüber, egal welches z-Level die Grafiken auf der unteren Folie haben.
Also liegen die Pictures auf einem anderen Viewport, als die Charsets?

Ich glaub, wir sollten uns in einen Threadt auslagern XD
Zeig mal, was du hast XD
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

This post has been edited 2 times, last edit by "Josey" (Apr 19th 2019, 2:07pm)


Revito

Rekrut

Motto: Verschwendet ist das Leben viel zu kurz.

  • Send private message

2

Saturday, February 2nd 2019, 12:21pm

Genau, Bilder werden in einen anderen Viewport gezeichnet.

Zum Thema umranden:
Die Grundidee ist, dass du eine Bitmap mit den gleichen Maßen erstellst, wie die des Charsets.
Anschließend gehst du beim Charset über jeden Pixel und überprüfst ob einer der benachbarten Pixel transparent ist.
Wenn ja, setzt du an der Stelle im Bitmap einen Pixel auf z.B. weiß.
Ausnahme ist, wenn der Pixel selber transparent ist, dann machst du einfach mit dem nächsten Pixel weiter.
Und ein Sonderfall ist, wenn sich Pixel am Rand befinden.

Möglich wäre auch direkt im Viewport zu schauen, ob die Pixel vom Charakter verdeckt werden und dann jeden Frame die Pixel zu zeichnen.
Hmm...

Edit:
Auf den ersten Blick müsste man dann aber die komplette Methode update in der Klasse Spriteset_Map abändern, da Wetter und Nebel im gleichen Viewport gezeichnet werden.
Enslaved - Von Sklaverei und Freiheit

Josey

Storyteller

  • "Josey" started this thread

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

3

Saturday, February 2nd 2019, 2:00pm

Das klingt echt kompliziert, lohnt sich sowas denn zu basteln? :/
Wenn man die Umrandung immer komplett macht, sobald der Char von etwas überdeckt wird, wird es dann einfacher? (also die komplette Umrandung wird gezeichnet, egal wieviel oder wiewenig hinter einem Baum verschwindet). Oder vielleicht nur dann, wenn der "obere Teil" des Charsets von etwas verdeckt wird? Finds albern, die Füße nachzuzeichnen, wenn man hinter einem Fass steht XD
Vlt könnte die Umrandung nur auf Priority 2 reagieren?

Was mich an der halbtransparenten Sache auch stört, ist, dass das Bushflag dadurch "verdichtet" wird. Also esist etwas weniger transparent, als es sollte (weil das zusätzliche transparente Charset drüberliegt).
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Revito

Rekrut

Motto: Verschwendet ist das Leben viel zu kurz.

  • Send private message

4

Saturday, February 2nd 2019, 5:40pm

Ich weiß nicht, Josey. Würde sich das für dich lohnen?

Es wird nicht einfacher. Wäre ja z.B. blöd, wenn die komplette Umrandung erscheint, wenn man hinter einem fast komplett leeren Tile steht.
Sei es meinetwegen eine Lampe an der Decke, die Aluxes Toupee verdeckt.
Enslaved - Von Sklaverei und Freiheit

This post has been edited 1 times, last edit by "Revito" (Feb 2nd 2019, 5:40pm)


Josey

Storyteller

  • "Josey" started this thread

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

5

Sunday, February 3rd 2019, 12:42pm

Vom praktischen Nutzen her reicht theoretisch die Version mit dem durchsichtigen Charset, auch, wenn es Nachteile hat. Persönlich fände ich eine Umrandung schöner, die nur auftaucht, wenn der Spieler von etwas verdeckt würde. Das wirkt weniger "unordentlich" XD
Also für mich persönlich lohnt es sich. Ich fände es so viel schöner für mein Spiel und es passt mMn auch besser bei mir ins restliche Setting.
Hier kommts jetzt drauf an, ob du Lust drauf hast, sowas zu basteln, weil ich das auf keinen Fall könnte. :3

Wenn man Spriteset_Map abändert, inwieweit würde das das Orginal-Script und andere Scripts beeinflussen? Ich hab mal nachgesehen und ich hab ein paar Scripts, die auch mit Spriteset_Map arbeiten (zB Dynamik Footprints, ein Wetterscript, mein HUD, usw). Müsstest du die alle vorher einsehen oder würdest du einfach mal auf gut Glück das Script basteln und dann Kompatibilitätsprobleme im Nachhinein anpassen?
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Playm

RPG Studio Webmaster

  • Send private message

6

Sunday, February 3rd 2019, 12:51pm

Quoted from "Revito"

Möglich wäre auch direkt im Viewport zu schauen, ob die Pixel vom Charakter verdeckt werden
Wie?

Meiner Meinung nach lohnt es sich nicht. Wenn wir annehmen, dass das Charset n viele Pixel Rand hat. Also n ist die Anzahl der Pixel die benötigt werden, um den Rand des Charset zu zeichnen. Und wir nehmen an uns interessiert nur der Rand des Game_Player-Sprites. Dann müssen wir trotzdem pro Frame mindestens für jeden der n Randpixel prüfen, ob sie gerade verdeckt sind, um in diesem Fall eben jeden verdeckten Randpixel auf den Bildschirm zu bringen.
Somit verlängert sich die Berechnung des Frame-Updates um die Berechnungen, die wir für obiges Problem brauchen. Hat man nun also einen langsameren Computer, der nicht so schnell rechnen kann, könnte es passieren, dass die Framerate sinkt. Und da sich der Player jedes Frame bewegen kann - und wenn er einen MoveCommand hat auch tut - müssen wir in jedem Frame obige Berechnungen ausführen. Deswegen denke ich, dass es sich nicht lohnt. Im Folgenden noch zwei Überlegungen zur Thematik. Ich weiß nicht, was Revito vor hat, aber hier halt meine 2ct zum Thema.

Warum können andere (zum Beispiel AgeOfEmpires) sowas, aber ich nicht?

Wir haben keinen Zugriff auf die im Hintergrund ablaufenden Zeichen-Operationen. Wir können Sprites erstellen, aber wie RGSS diese ins Fenster zeichnet ist für uns weder sichtbar, noch können wir in dieses Prozess uns einklinken.
Wenn wir das könnten, könnten wir auf einem 640x480-Buffer-Bitmap alle Charset-Sprites als rote Flächen zeichnen, und dann wenn wir Tile-Sprites zeichnen, zeichnen wir diese zusätzlich auch als blaue Flächen auf den Buffer. Wenn im Buffer ein Pixel dann Magenta (Blau und Rot) ist, wissen wir, dass wir an dieser Stelle jetzt nochmal Rand-Pixel zeichnen müssen. Würde man dieses Verfahren direkt in die Verarbeitung der Sprites einbauen, würde das auch ausreichend schnell laufen. Aber das ganze im Nachhinein rein zu wurschteln ist halt rechenaufwändiger.

Wie könnte es aussehen, wenn ich es trotzdem probieren möchte? (Playm-Variante)

Schritt 1 wäre für das gewünschte Charset sich zu notieren, wo die Randpixel sind. Um die Randpixel zu finden, kann man einen Kantenfilter verwenden.
Spoiler: Beispiel eines Kantenfilters

Ruby Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# Implementierung eines einfachen Edge-Filters [ 1, -2, 1]
# der auf den Alpha-Value eines Charsets angewendet wird.
# Zusätzlich haben wir eine Step-Function auf dem Alpha-Wert,
# die erst ab einem Grenzwert von 128 auf Eins springt.
charset = RPG::Cache.character("001-Fighter01",0)
bitmap = Bitmap.new( charset.width, charset.height )
 
for x in 1..charset.width-2
  for y in 0..charset.height-1
    pixel = [ charset.get_pixel(x-1, y).alpha > 128 ? 1 : 0, # StepFunction
              charset.get_pixel(x,   y).alpha > 128 ? 1 : 0,
              charset.get_pixel(x+1, y).alpha > 128 ? 1 : 0
            ]
    value = pixel[0] - 2 * pixel[1] + pixel[2] # Filter
    bitmap.set_pixel(x,y,Color.new(255*value, 255*value, 255*value)) # draw output
  end
end
 
# Visualisierung des Filter-Ergebnisses
s1 = Sprite.new
s1.bitmap = charset
s2 = Sprite.new
s2.bitmap = bitmap
 
s1.y = s2.y = 128
s1.x = 32
s2.x = 32+160
 
loop do
  Graphics.update
  Input.update
end
highlight to read
Hat man erstmal die Rand-Pixel beginnt der zweite Spaß. Wir müssen schauen, wo das Charset verdeckt wird. Hier auch wieder eine Annahme: Uns interessieren nur Überdeckungen durch Tiles und nicht durch andere Charsets. Und wir nehmen an, dass unser Charset-Frame (einzelne Pose im Charset) maximal 96x96 Pixel groß ist. Mit diesen Vorbedingungen können wir dann ein Buffer-Bitmap in der Größe 96x96 Pixel anlegen. Jetzt nehmen wir uns die screen_x, screen_y, screen_z Koordinaten des Game_Players. Anschließend suchen wir uns in der 1-Tile weite Umgebung des Players alle Tiles aus der Game_Map, deren Z-Layer größer als der des Game_Players ist. Dieses Tiles zeichnen wir auf unser Buffer-Image. Man kann es sich vorstellen, dass wir mit den screen_x, screen_y Koordinaten des Players auch noch ein auf ihn zentriertes Bitmap mitziehen, was alle Tile-Grafiken an diesen Positionen auf dem Bildschirm erneut abbildet.
Dann beginnt der dritte Schritt: Wir gehen unsere gefundenen Rand-Pixel durch, und schauen nach, ob an entsprechender Stelle im Buffer-Image keine Transparenz ist. In diesem Fall, haben wir im vorherigen Schritt ein Tile gesehen, was diesen Rand-Pixel verdeckt. Wir zeichnen auf ein extra Bitmap dann diesen einzelnen Randpixel. Und so verfahren wir für alle Randpixel. Anschließend haben wir ein extra Bitmap, auf das wir all die Randpixel gezeichnet haben, die gerade von Tilegrafiken verdeckt werden. Dieses extra Bitmap kann jetzt mit einem extra Sprite auf erhöhter Z-Position (wieviel erhöht muss man sich überlegen, es ist wahrscheinlich falsch z=9999 zu verwenden) angezeigt werden.

Der Kantenfilter muss nur einmal initial ausgeführt werden. Aber das Buffer-Bitmap zeichnen wir jedes Frame einmal. Das ist sehr rechenaufwändig und auch das Buffer-Image auszuwerten, da wir keinen direkten Zugriff auf den Color-Array haben, sondern immer get_pixel.alpha aufrufen müssen.

Josey

Storyteller

  • "Josey" started this thread

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

7

Sunday, February 3rd 2019, 3:17pm

Wie wäre es, wenn man einfach ein Charset (das eine grobe Umrandung ist) über den Chara legt, sobald er von einem Priotity 2 Tile überdeckt wird (statt dem durchsichtigen Dings immer)? :<
Dann ist es zwar nicht exakt die Umrandung des aktuellen Charsets, aber für den Zweck würde es reichen, oder?

@Playm: Sieht alles unglaublich kompliziert aus, verbraucht es viel Rechenleistung?
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Playm

RPG Studio Webmaster

  • Send private message

8

Sunday, February 3rd 2019, 3:26pm

Quoted from "Josey"

Wie wäre es, wenn man einfach ein Charset (das eine grobe Umrandung ist) über den Chara legt, sobald er von einem Priotity 2 Tile überdeckt wird

Dieser Lösungsweg wäre kein Problem. Wäre halt nicht der Effekt, den Du dir ursprünglich gewünscht hast.


Quoted

@Playm: Sieht alles unglaublich kompliziert aus, verbraucht es viel Rechenleistung?
Soo kompliziert ist es am Ende nicht. Ich habe es nur sehr detailiert und mit einigen Fachwörtern aufgeschrieben, falls Revito das ganze programmieren möchte, dass er meine Idee versteht. Ob die Umsetzung zu einer geringeren Framerate führt, müsste man ausprobieren. Lässt sich schwer abschätzen.

Josey

Storyteller

  • "Josey" started this thread

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

9

Sunday, February 3rd 2019, 5:42pm

Das nicht, aber für mich besser als der immer-anwesende-halbdurchsichtige Char :3
Natürlich wäre eine "richtige" Umrandung kuhler :D
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Josey

Storyteller

  • "Josey" started this thread

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

10

Tuesday, April 16th 2019, 8:42pm

Ich stupps mal, falls einer Bock hat :3

*rüttelt am Threadt*
Wer hat Lust mir zu helfen, folgendes zu basteln:
"Wenn der Char ein Prio 2 Tile berührt, lege Charset (Umriss) drauf"
Wäre es klug, das einfach in den IGC einzubauen? ([Erledigt] In-Game-Charset-Generator) Das legt ja schon Charsets aufs Charset. Da bräuchte ich dann nur die Abfrage nach "Prio 2 Tile" oder?

Okay okay, ich hab jetzt dank Revito das hier gebastelt:

Ruby Source code

1
2
3
4
5
6
7
8
    x = $game_player.x
    y = $game_player.y
    i = 1
        if $game_map.priorities[$game_map.data[x, y, i]] >= 2
 
        else
 
        end

Ich will jetzt einbauen, dass ein Charset (eine Umrandung) die Always on Top steht, auf dem Chara ist XD
Wie mache ich das? :P
Ich hab versucht, den ICG dafür zu verwenden, aber der updatet nur auf Befehl. Ich müsste also was bauen, das ständig kontrolliert. Wie mach ich das? Game_Map-Klasse? :<
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

This post has been edited 2 times, last edit by "Josey" (Apr 16th 2019, 8:42pm)


Revito

Rekrut

Motto: Verschwendet ist das Leben viel zu kurz.

  • Send private message

11

Wednesday, April 17th 2019, 4:52pm

Warte, ich hatte dir vor 2 Monaten was geskriptet, müsstest du dann nur auf deine Bedürfnisse anpassen, da das Skript bedingungslos Umrandungen zeichnet.
Sehr rudimentär und nicht aufgeräumt:

Spoiler

Ruby Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#==============================================================================
# ** Character_Outline
#==============================================================================
 
class Sprite_Character 
 
  alias trans_chars_sprite_character_initialize initialize 
  alias trans_chars_sprite_character_update update 
 
  def initialize(viewport, character = nil) 
    trans_chars_sprite_character_initialize(viewport, character) 
 
    @outline_sprite = Outline_Character.new(viewport, character) 
    @outline_sprite.z = 9999 
  end 
 
  def update 
    trans_chars_sprite_character_update 
 
    return if @outline_sprite == nil 
    @outline_sprite.update 
    @outline_sprite.z = 9999 
  end 
 
end
highlight to read
Spoiler

Ruby Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#==============================================================================
# ** Sprite_Character
#------------------------------------------------------------------------------
#  This sprite is used to display the character.It observes the Game_Character
#  class and automatically changes sprite conditions.
#==============================================================================
 
class Outline_Character < RPG::Sprite
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :character                # character
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     viewport  : viewport
  #     character : character (Game_Character)
  #--------------------------------------------------------------------------
  def initialize(viewport, character = nil)
    super(viewport)
    @character = character
    self.bitmap = RPG::Cache.character(@character.character_name, @character.character_hue)
    @outline_bitmap = self.bitmap.dup
    @outline_bitmap.clear
    self.bitmap.width.times do |x|
      self.bitmap.height.times do |y|
        next if self.bitmap.get_pixel(x, y).alpha == 0
        if self.bitmap.get_pixel(x-1, y).alpha == 0 || self.bitmap.get_pixel(x+1, y).alpha == 0 || self.bitmap.get_pixel(x, y-1).alpha == 0 || self.bitmap.get_pixel(x, y+1).alpha == 0
          @outline_bitmap.set_pixel(x, y, Color.new(255, 255, 255))
        end
      end
    end
    self.bitmap = @outline_bitmap
    update
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
 
    @cw = self.bitmap.width / 4
    @ch = self.bitmap.height / 4
    self.ox = @cw / 2
    self.oy = @ch
 
    # Set visible situation
    self.visible = (not @character.transparent)
    # If graphic is character
 
      # Set rectangular transfer
      sx = @character.pattern * @cw
      sy = (@character.direction - 2) / 2 * @ch
      self.src_rect.set(sx, sy, @cw, @ch)
 
    # Set sprite coordinates
    self.x = @character.screen_x
    self.y = @character.screen_y
    self.z = 9999
    # Set opacity level, blend method, and bush depth
    self.opacity = @character.opacity
    self.blend_type = @character.blend_type
    self.bush_depth = @character.bush_depth
    # Animation
    if @character.animation_id != 0
      animation = $data_animations[@character.animation_id]
      animation(animation, true)
      @character.animation_id = 0
    end
  end
end
highlight to read

Vielleicht will Playm da einmal rüber gehen und was dazu sagen.
Ein paar Zeilen dürften z.B. auch überflüssig sein.
Ich mache da aber heute nichts mehr dran, sonst gibt mir meine Migräne den Rest.
Enslaved - Von Sklaverei und Freiheit

Josey

Storyteller

  • "Josey" started this thread

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

12

Wednesday, April 17th 2019, 7:00pm

Migräne ist übel, erhol dich gut!
Ich probier ein bisschen herum, aber momentan ist noch schwierig, dass nicht nur der Player son Ding bekommt, sondern alle Events XD
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Revito

Rekrut

Motto: Verschwendet ist das Leben viel zu kurz.

  • Send private message

13

Wednesday, April 17th 2019, 7:37pm

Jetzt geht es gerade wieder einigermaßen.

Ruby Source code

1
2
3
4
if @character == $game_player then
  @outline_sprite = Outline_Character.new(viewport, character) 
  @outline_sprite.z = 9999
end
Enslaved - Von Sklaverei und Freiheit

Josey

Storyteller

  • "Josey" started this thread

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

14

Wednesday, April 17th 2019, 11:09pm

Freut mich, dass es besser geht :3

Okay, es funktioniert, hier ist die aktuelle Version:

Spoiler

Ruby Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
#==============================================================================
# ** Character_Outline
# by Revito
#==============================================================================
 
class Sprite_Character 
 
  alias trans_chars_sprite_character_initialize initialize 
  alias trans_chars_sprite_character_update update 
 
  def initialize(viewport, character = nil) 
    trans_chars_sprite_character_initialize(viewport, character) 
 
    if @character == $game_player then
     @outline_sprite = Outline_Character.new(viewport, character) 
     @outline_sprite.z = 9999
    end
  end 
 
  def update 
    trans_chars_sprite_character_update 
 
    return if @outline_sprite == nil 
    @outline_sprite.update 
    @outline_sprite.z = 9999 
  end 
 
end
 
 
#==============================================================================
# ** Sprite_Character
#------------------------------------------------------------------------------
#  This sprite is used to display the character.It observes the Game_Character
#  class and automatically changes sprite conditions.
#==============================================================================
 
class Outline_Character < RPG::Sprite
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :character                # character
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     viewport  : viewport
  #     character : character (Game_Character)
  #--------------------------------------------------------------------------
  def initialize(viewport, character = nil)
    super(viewport)
    @character = character
    self.bitmap = RPG::Cache.character(@character.character_name, @character.character_hue)
    @outline_bitmap = self.bitmap.dup
    @outline_bitmap.clear
    self.bitmap.width.times do |x|
      self.bitmap.height.times do |y|
        next if self.bitmap.get_pixel(x, y).alpha == 0
        if self.bitmap.get_pixel(x-1, y).alpha == 0 || self.bitmap.get_pixel(x+1, y).alpha == 0 || self.bitmap.get_pixel(x, y-1).alpha == 0 || self.bitmap.get_pixel(x, y+1).alpha == 0
          @outline_bitmap.set_pixel(x, y, Color.new(255, 255, 255))
        end
      end
    end
    self.bitmap = @outline_bitmap
    update
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
 
    @cw = self.bitmap.width / 4
    @ch = self.bitmap.height / 4
    self.ox = @cw / 2
    self.oy = @ch
 
    # Set visible situation
    self.visible = (not @character.transparent)
    # If graphic is character
 
      # Set rectangular transfer
      sx = @character.pattern * @cw
      sy = (@character.direction - 2) / 2 * @ch
      self.src_rect.set(sx, sy, @cw, @ch)
 
    # Set sprite coordinates
    self.x = @character.screen_x
    self.y = @character.screen_y
    self.z = 9999
 
    # Set opacity level, blend method, and bush depth
x = $game_player.x
y = $game_player.y
 
if $game_map.priorities[$game_map.data[x, y, 1]] >= 2 && $game_map.data[x, y, 1] >= 1 
    self.opacity = @character.opacity
else    
 if $game_map.priorities[$game_map.data[x, y, 2]] >= 2 && $game_map.data[x, y, 2] >= 1 
     self.opacity = @character.opacity
 else    
     self.opacity = 0
 end   
end
 
 
    self.blend_type = @character.blend_type
    self.bush_depth = @character.bush_depth
    # Animation
    if @character.animation_id != 0
      animation = $data_animations[@character.animation_id]
      animation(animation, true)
      @character.animation_id = 0
    end
  end
 
 
end
highlight to read


Danke Revito! :D

Wie stell ich ein, dass er Updatet, wennd er ICG das Charset wechselt? Er scheint das nicht zu raffen, wenn ich zum Bsp in den Rennenmodus gehe, belässt er den Umriss einfach auf dem Charset, dass ich beim Betreten der Map hatte :)
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

This post has been edited 1 times, last edit by "Josey" (Apr 17th 2019, 11:09pm)


Revito

Rekrut

Motto: Verschwendet ist das Leben viel zu kurz.

  • Send private message

15

Thursday, April 18th 2019, 2:30pm

Erst einmal, ich denke der Animations-Teil ganz unten im Skript wird nicht gebraucht.

Und zum anderen, zeichnet er ein Charset mit der Umrandung ein einziges mal, wenn eine neue Instanz der Outline_Charakter-Klasse erstellt wird.
Wenn du mehr möchtest, dann wäre es evtl ganz gut das in eine eigene Methode auszulagern und die Umrandungen zu cachen und bei jeder Änderung
des Charsets dann einfach auf den cache zuzugreifen, oder - bei einem neuen Charset - die Umrandung neu zu zeichnen und zu cachen.

Vielleicht willst du dir das erst einmal in Ruhe anschauen und selber lösen, ehe ich mich damit weiter beschäftige. ;)
Enslaved - Von Sklaverei und Freiheit

Josey

Storyteller

  • "Josey" started this thread

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

16

Thursday, April 18th 2019, 6:30pm

Den Teil mit der Animation hab ich rausgenommen, läuft noch XD

Zum Updaten: Mit Cache kenne ich mich kein Stück aus, ich bin scfripttechnisch auf dem Level, dass ich Fehler suchen kann, if-else-Abfragen einbaue, und leichte Edits hinkrieg. Ein einfaches Menü kann ich auf die Beine stellen, da hörts schon auf XD

Mein Ansatz wäre also der: Das ICG wird immer auf Knopfdruck aufgerufen und ändert das Charset. Vielleicht kann ich genau an der Stelle, das Umrandungsscript einfach nochmal neu aufrufen?
Also jedes Mal, wenn das ICG im Common-Event aufgerufen wird ("Rennknopf" wird gedrückt), rufe ich "RPG::Sprite.Outline_Character" auf. Aber der Aufruf ist falsch. o.o
Ich weiß auch gar nicht, was eine Instanz ist und wie man sowas in eine Methode auslagert? ><
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Revito

Rekrut

Motto: Verschwendet ist das Leben viel zu kurz.

  • Send private message

17

Thursday, April 18th 2019, 8:26pm

Dann solltest du dich wohl ein wenig mehr damit beschäftigen. :P

Spoiler

Ruby Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#==============================================================================
# ** Outline_Character
#------------------------------------------------------------------------------
#  Skript, das permanent eine weiße Umrandung um den Spieler zeichnet.
#
#  Von Revito
#==============================================================================
 
class Outline_Character < RPG::Sprite
 
  attr_accessor :character
 
  def initialize(viewport, character = nil)
    super(viewport)
    @character = character
    @@outline_cache ||= Hash.new
    update
  end
 
  def update
    super
 
    if @character_name != @character.character_name then
      self.bitmap = get_outline(@character.character_name)
      @character_name = @character.character_name
    end
 
    @cw = self.bitmap.width / 4
    @ch = self.bitmap.height / 4
    self.ox = @cw / 2
    self.oy = @ch
 
    self.visible = (not @character.transparent)
 
    sx = @character.pattern * @cw
    sy = (@character.direction - 2) / 2 * @ch
    self.src_rect.set(sx, sy, @cw, @ch)
 
    self.x = @character.screen_x
    self.y = @character.screen_y
    self.z = 9999
  end
 
  def get_outline(character_name)
    if not @@outline_cache.key?(character_name) then
      bitmap = RPG::Cache.character(character_name, 0)
      outline_bitmap = bitmap.dup
      outline_bitmap.clear
      bitmap.width.times do |x|
        bitmap.height.times do |y|
          next if bitmap.get_pixel(x, y).alpha == 0
          if bitmap.get_pixel(x-1, y).alpha == 0 || bitmap.get_pixel(x+1, y).alpha == 0 || bitmap.get_pixel(x, y-1).alpha == 0 || bitmap.get_pixel(x, y+1).alpha == 0
            outline_bitmap.set_pixel(x, y, Color.new(255, 255, 255))
          end
        end
      end
      @@outline_cache[character_name] = outline_bitmap
    end
    return @@outline_cache[character_name]
  end
 
end
 
class Sprite_Character 
 
  alias trans_chars_sprite_character_initialize initialize 
  alias trans_chars_sprite_character_update update 
 
  def initialize(viewport, character = nil) 
    trans_chars_sprite_character_initialize(viewport, character) 
 
    if @character == $game_player then
      @outline_sprite = Outline_Character.new(viewport, character) 
    end
  end 
 
  def update 
    trans_chars_sprite_character_update 
 
    return if @outline_sprite == nil 
    @outline_sprite.update 
  end 
 
end
highlight to read

Nur sehr rudimentär getestet!
Enslaved - Von Sklaverei und Freiheit

Josey

Storyteller

  • "Josey" started this thread

Motto: "Was du nicht willst, das man dir tu', füge keinem And'ren zu!"

  • Send private message

18

Friday, April 19th 2019, 1:56pm

Ich geb mein Bestes! *_________*
Hab mir eben noch die opacity, blendtype und bushdepth wieder eingebaut, die du geklaut hast, find die nämlich gut! XD
Danke dir, so funktioniert es!
Muss erstmal gucken, wo und was vom alten Acount jetzt benutzt wurde XD


Spoiler: fertiges Script

Ruby Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
#==============================================================================
# ** Outline_Character
#------------------------------------------------------------------------------
#  Skript, das permanent eine weiße Umrandung um den Spieler zeichnet.
#
#  Von Revito
#==============================================================================
 
class Outline_Character < RPG::Sprite
 
  attr_accessor :character
 
  def initialize(viewport, character = nil)
    super(viewport)
    @character = character
    @@outline_cache ||= Hash.new
    update
  end
 
  def update
    super
 
    if @character_name != @character.character_name then
      self.bitmap = get_outline(@character.character_name)
      @character_name = @character.character_name
    end
 
    @cw = self.bitmap.width / 4
    @ch = self.bitmap.height / 4
    self.ox = @cw / 2
    self.oy = @ch
 
    self.visible = (not @character.transparent)
 
    sx = @character.pattern * @cw
    sy = (@character.direction - 2) / 2 * @ch
    self.src_rect.set(sx, sy, @cw, @ch)
 
    self.x = @character.screen_x
    self.y = @character.screen_y
    self.z = 9999
 
    # Set opacity level, blend method, and bush depth
    x = $game_player.x
    y = $game_player.y
 
    if $game_map.priorities[$game_map.data[x, y, 1]] >= 2 && $game_map.data[x, y, 1] >= 1 
      self.opacity = @character.opacity
    else    
      if $game_map.priorities[$game_map.data[x, y, 2]] >= 2 && $game_map.data[x, y, 2] >= 1 
       self.opacity = @character.opacity
      else    
       self.opacity = 0
      end   
    end
 
    self.blend_type = @character.blend_type
    self.bush_depth = @character.bush_depth    
 
  end
 
  def get_outline(character_name)
    if not @@outline_cache.key?(character_name) then
      bitmap = RPG::Cache.character(character_name, 0)
      outline_bitmap = bitmap.dup
      outline_bitmap.clear
      bitmap.width.times do |x|
        bitmap.height.times do |y|
          next if bitmap.get_pixel(x, y).alpha == 0
          if bitmap.get_pixel(x-1, y).alpha == 0 || bitmap.get_pixel(x+1, y).alpha == 0 || bitmap.get_pixel(x, y-1).alpha == 0 || bitmap.get_pixel(x, y+1).alpha == 0
            outline_bitmap.set_pixel(x, y, Color.new(255, 255, 255))
          end
        end
      end
      @@outline_cache[character_name] = outline_bitmap
    end
    return @@outline_cache[character_name]
  end
 
end
 
class Sprite_Character 
 
  alias trans_chars_sprite_character_initialize initialize 
  alias trans_chars_sprite_character_update update 
 
  def initialize(viewport, character = nil) 
    trans_chars_sprite_character_initialize(viewport, character) 
 
    if @character == $game_player then
      @outline_sprite = Outline_Character.new(viewport, character) 
    end
  end 
 
  def update 
    trans_chars_sprite_character_update 
 
    return if @outline_sprite == nil 
    @outline_sprite.update 
  end 
 
end
highlight to read
Notfalldiscord: Hier klicken


  • Joseys Wuselei

    • Meine Story - Pausiert
      Lust auf Abenteuer?
      So richtig mit Selbstbestimmung?
      Und mit was Spannendem? Zum Spielen? Ohne Schokolade?
      "Eines, das mit dem leistungsstärksten Grafikchip der Welt läuft? Deiner Vorstellungskraft?"
      Hier die Antwort:
      Bild
      Bild
      Hier könnt ihr euren Lieblingschar wählen ;D
      Und hier findet ihr das Minigame, das ab und an den Würfel ersetzt.
    • Meine Arbeiten
      Einige Ressourcen, vor allem Baby-Tiere, aber auch alle Requests, die ich erfüllt habe.
      Bild

      Bild

      In unregelmäßigen Abständen fasse ich alles Neue, was so im Studio passiert ist, zusammen. -Pausiert-
      Bild
    • Meine Fähigkeiten
      Maker: :rmxp: XP
      :rainbow: Pixeln: :star: :star: :star: :star: :star-empty: :star-empty:
      :image: Mappen: :star: :star: :star: :star: :star: :star-empty:
      :wrench-screwdriver: Eventen: :star: :star: :star: :star: :star-empty: :star-empty:
      :puzzle: Scripten: :star: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
      :music: Komponieren: :star-half: :star-empty: :star-empty: :star-empty: :star-empty: :star-empty:
    • (Mein) Autismus
      Ich bin im autistischen Sprektrum-
      sollte ich mich komisch verhalten, oder unhöflich wirken
      (oder mich zu oft entschuldigen, unaufmerksam sein, unsicher wirken, zum zehnten Mal nachfragen, blablabla),
      ist das nicht beabsichtigt.


      Josey. Epicgarantie.
      Nehmt das bloß nicht ernst! D:
    • Meine Welt
      Mein Ehemann Kain! :heart_full: :*
      Freund und Helfer in der Not, immer da, steht er mir mit Rat und Tat zur Seite. Meine andere Hälfte! : D
      Er verdient einfach einen Platz ( :medal: ) in meiner Signatur! XD
      :heart-half:
    • Mein Support
      Der In-Game-Charset-Generator!
      Erstelle Random-NPCs mit Charsetteilen!

      Diese Spiele finde ich toll und brauchen viel mehr Aufmerksamkeit!
      Bastelt mal Banner! : D

    • Meine beendeten Contests
      [Pixelcontest] Rund um den Kürbis
      Bild
      Abstimmung
      Siegerehrung

      Das Wunder der Berge
      Bild
      Abstimmung
      Siegerehrung
    • Meine Contests
      Bild Ein Schreibcontest in Arbeit! : D Bild
  • Joseys Spiele

    • Endless Ending
      :rmxp: Endless Ending
      (Arbeitstitel, "ernstes Projekt")

      Bild

      Eine Reise durch die Wüste.
      Sieben mächtige Gegenstände.
      Unendlich viele Aufgaben.

      Und die Götter haben die Würfel.
    • Scripted Desaster
      :rmxp: Scripted Desaster
      ("nicht ganz so ernstes Projekt")

      Ein verfressener Idiot und ein sarkastischer Workaholic treffen in einem dunklen Wald auf einen weißes Kaninchen...
      Ein Auftragskiller jagt einem Meisterdieb hinterher, wobei nicht ersichtlich ist, wer eigentlich wen jagt...
      Und eine "Kristallhöhle", sowie einen "Wald ohne Wiederkehr" gibts auch.

      Das bedeutet doch Spaß...
    • Pokémon EV
      :rmxp: Pokemon EV
      ("Zeitvertreib nebenbei - Kreatief-Helfer")

      Ist nur ein Pokemonspiel mit üblicher Story und nicht so üblicher Story.
      Ist inzwischen alles schonmal dagewesen. XD
    • Lost Island
      :rmxp: Harvest Moon - Lost Island
      (Arbeitstitel, "Eventtechnik-Projekt")

      Ist momentan mein Hauptprojekt, weil bei EE die Scripts einfach fehlen :<
      Das Spiel ist ein Harvest Moon Abklatsch. XD
      Felder funktionieren, Tiere auch, Grafiken sehen schon gut aus, Maps sind fast fertig. Man kann in die Miene, man kann einkaufen. Auf dem Papier ist alles schon durchgeplant, einiges muss noch umgesetzt werden.
  • Joseys Fortschritt

    • Endless Ending
      :hourglass: Story: 60%
      :foaf: Charas: 20%
      :leaf: Maps: 01%
      :ruby: Zeichnungen: 05%
      :color: Grafiken: 30%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      ...ist nicht viel, huh? ^^°
    • Scripted Desaster
      :hourglass: Story: 10%
      :foaf: Charas: 60%
      :leaf: Maps: 30%
      :ruby: Zeichnungen: 01%
      :color: Grafiken: 60%
      :clipboard: Scripte: 70%
      :music-beam-16: Musik: 00%
      Gut Ding...
    • Pokemon EV
      :hourglass: Story: 60%
      :foaf: Charas: 10%
      :leaf: Maps: 00%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 80%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 70%
      Nicht ernstnehmen XD Das mache ich nur, wenn woanders nix mehr geht...
    • Lost Island
      :hourglass: Story: 100%
      :foaf: Charas: 10%
      :leaf: Maps: 90%
      :ruby: Zeichnungen: 00%
      :color: Grafiken: 60%
      :clipboard: Scripte: 90%
      :music-beam-16: Musik: 00%
      Das macht richtig Spaß XD
  • Huiii

    Bitte klicken Sie weiter. Hier gibt es nichts zu sehen. Nichts. Hören Sie? Nichts.

Similar threads

Social bookmarks