Ergebnis 1 bis 20 von 98

Thema: [DynRPG] RPGSS

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Danke. Mir fällt allerdings grade auf, dass ich set_sprite_tile mit set_sprite_position verwechselt habe. Jetzt funktioniert es wenigstens so wie gedacht. x3

  2. #2
    Doppelpost, wee. ._.

    Kurze Frage: Gibt es irgendeine Möglichkeit, auf die Namen von Heros, Items oder Skills (halt irgendwas aus der Maker-DB) zuzugreifen? Ich möchte nämlich nen bestimmten String übermitteln und mir fällt grad kein anderer Weg ein, dem Maker irgendeinen Text zu geben. :0

  3. #3
    Zitat Zitat von goldenroy Beitrag anzeigen
    Danke. Mir fällt allerdings grade auf, dass ich set_sprite_tile mit set_sprite_position verwechselt habe. Jetzt funktioniert es wenigstens so wie gedacht. x3
    Ach so. :o

    Hier trotzdem eine kleine Erklärung zu der Tile-API, weil ich bis jetzt noch nichts dazu geschrieben habe:

    Mit Sprites ist es möglich nicht das ganze Bild anzuzeigen, sondern nur einen Teil davon. In der alten API konnte man ein Quellrechteck innerhalb des Bildes angeben, das angezeigt werden soll. Da das aber etwas benutzerunfreundlich war (um das Quellrechteck zu ändern musste man jedes mal die pixel-genauen Position und Abmessungen angeben), habe ich die entsprechenden Funktionen umgebaut. Die neue API sieht das Bild als eine Matrix aus gleichgroßen Sub-Images (Tiles):



    Dabei gibt es mindestens ein Tile (das Tile hat die gleichen Abmessungen wie das Bild) und maximal Image Width * Image Height Tiles (jedes Tile ist genau ein Pixel groß).

    Beim Erzeugen eines Sprites mit add_sprite werden die Tile-Abmessungen mit (Image Width, Image Height) und die Tile-Koordinaten mit (0, 0) initialisiert. Danach kann man mit set_sprite_tile_dimensions die Tile-Abmessungen (width, height) und mit set_sprite_tile die Tile-Koordinaten (x, y) setzen.

    Beim Setzen der Tile-Abmessungen ist zu beachten, dass die Abmessungen die folgenden Bedingungen erfüllen müssen:

    • Image-Breite / Tile-Breite = N, Rest 0
    • Image-Höhe / Tile-Höhe = M, Rest 0


    Wenn das Bild mit set_sprite_image geändert wird, werden automatisch auch die Tile-Koordinaten und die Tile-Abmessungen zurückgesetzt.

    Zitat Zitat von goldenroy Beitrag anzeigen
    Doppelpost, wee. ._.

    Kurze Frage: Gibt es irgendeine Möglichkeit, auf die Namen von Heros, Items oder Skills (halt irgendwas aus der Maker-DB) zuzugreifen? Ich möchte nämlich nen bestimmten String übermitteln und mir fällt grad kein anderer Weg ein, dem Maker irgendeinen Text zu geben. :0
    Auf die Namen der Heros kannst du über game.actors[id].name zugreifen (für Party-Member: game.party[id].name). Für Item- und Skill-Namen bietet DynRPG zwar entsprechend RPG::getItemName und RPG::getSkillName, aber ich habe diese Funktionen bis jetzt noch nicht in Lua offengelegt, weil ich diese Funktionen noch nicht wirklich einordnen konnte. :/ Ich bin kurz davor eine neue Version zu releasen und könnte es da einbauen, wenn du es unbedingt brauchst.

    Wie und an was (also in welche Richtung) willst du eigentlich den String übermitteln? Nur aus Interesse.

    Geändert von Kyuu (13.07.2014 um 16:59 Uhr)

  4. #4
    Zitat Zitat von Kyuu Beitrag anzeigen
    Auf die Namen der Heros kannst du über game.actors[id].name zugreifen (für Party-Member: game.party[id].name). Für Item- und Skill-Namen bietet DynRPG zwar entsprechend RPG::getItemName und RPG::getSkillName, aber ich habe diese Funktionen bis jetzt noch nicht in Lua offengelegt, weil ich diese Funktionen noch nicht wirklich einordnen konnte. :/ Ich bin kurz davor eine neue Version zu releasen und könnte es da einbauen, wenn du es unbedingt brauchst.

    Wie und an was (also in welche Richtung) willst du eigentlich den String übermitteln? Nur aus Interesse.

    Ich bastel grad an was, und wollte versuchen hinzukriegen, ein Item vom Boden aufzuheben. Beim Aufheben will ich den Namen des Objekts übermitteln und in nem Hero abspeichern, damit man in einer Messagebox einfach mit einem \n[X] darauf zugreifen kann.

    Leider funktioniert das grade nicht so ganz. Kann ich game.actors nicht verändern? Weil game.actors[2].name = "Test" spuckt bei mir no member named 'name' aus. :0

  5. #5
    game.actors (also das Actors-Array selbst) kannst du nicht ändern, nein. Aber Actor.name auf einen neuen String setzen kann ich einbauen (laut DynRPG-API). ^^

    Geändert von Kyuu (13.07.2014 um 19:26 Uhr)

  6. #6
    Zitat Zitat von Kyuu Beitrag anzeigen
    game.actors (also das Actors-Array selbst) kannst du nicht ändern, nein. Aber Actor.name setzen kann ich einbauen. ^^ DynRPG sollte da eigentlich mitspielen, laut der API.
    Das wäre super. Die Actornames haben ja ne Zeichenbegrenzung (12 Zeichen?). Würde das da Probleme geben, oder gibts die nur, wenn der Actor auch wirklich im Spiel ist? Das schlimmste was ich mir als Konsequenz vorstellen kann, ist ein abgeschnittener Name.

  7. #7
    Kein Plan. Ich teste es mal und wenn es keine Probleme macht, mache ich's in die nächste Version rein.

    Edit:




    Aber kein Crash (soweit ich getestet habe)!

    Habe mich übrigens vorhin vertan: name ist nicht das Attribut der Actor-Klasse, sondern das der Battler-Klasse. Die Klasse Monster erbt zwar ebenfalls von Battler, DynRPG bietet aber im Moment keine Möglichkeit, den Namen eines Monsters zu ändern und damit auch RPGSS.

    Geändert von Kyuu (13.07.2014 um 20:28 Uhr)

  8. #8
    Zitat Zitat von goldenroy Beitrag anzeigen
    Ich bastel grad an was, und wollte versuchen hinzukriegen, ein Item vom Boden aufzuheben. Beim Aufheben will ich den Namen des Objekts übermitteln und in nem Hero abspeichern, damit man in einer Messagebox einfach mit einem \n[X] darauf zugreifen kann.

    Leider funktioniert das grade nicht so ganz. Kann ich game.actors nicht verändern? Weil game.actors[2].name = "Test" spuckt bei mir no member named 'name' aus. :0
    Wie wäre es hiermit?
    Ist eigentlich genau das, was du suchst, denke ich. Und das ohne kompliziert extra in einen Hero-Namen zu speichern.

    PeAcE
    MorDen

  9. #9
    Zitat Zitat von Morden Beitrag anzeigen
    Wie wäre es hiermit?
    Ist eigentlich genau das, was du suchst, denke ich. Und das ohne kompliziert extra in einen Hero-Namen zu speichern.

    PeAcE
    MorDen

    Sicher, aber dafür muss ich ja auch Zugriff auf entweder Itemname/-beschreibung, Skillname/-beschreibung oder den Heldenrang haben um die anzupassen. Mit dem Eventnamen könnte es vielleicht gehen, aber dann muss ich jedes Event einzeln benennen. °-o

  10. #10
    Könntest du nicht einfach die ID des Items in eine Variable schreiben und dann im Text "\i[\v[]]" machen?
    Ansonsten scheine ich das Problem gerade nicht zu verstehen bzw. weiß ich nicht genau, was du vorhast ^^"

    PeAcE
    MorDen

  11. #11
    Zitat Zitat von Morden Beitrag anzeigen
    Könntest du nicht einfach die ID des Items in eine Variable schreiben und dann im Text "\i[\v[]]" machen?
    Ansonsten scheine ich das Problem gerade nicht zu verstehen bzw. weiß ich nicht genau, was du vorhast ^^"

    PeAcE
    MorDen
    ..Stimmt. Das wird wohl funktionieren, danke. °J°
    Trotzdem könnte kyuu das mit dem Heldennamen ja in die neue Version packen, wenn es nicht allzu kompliziert einzubauen ist. °-o

  12. #12
    Zitat Zitat von goldenroy Beitrag anzeigen
    ..Stimmt. Das wird wohl funktionieren, danke. °J°
    Trotzdem könnte kyuu das mit dem Heldennamen ja in die neue Version packen, wenn es nicht allzu kompliziert einzubauen ist. °-o
    Kein Problem.^^ Manchmal denkt man einfach komplizierter, als es sein muss xD.

    Klar sollte das noch mit rein - und ich denke nicht, dass der liebe Kyuu damit wirklich Probleme hätte^^

    PeAcE
    MorDen

  13. #13
    Zitat Zitat von Morden Beitrag anzeigen
    und ich denke nicht, dass der liebe Kyuu damit wirklich Probleme hätte^^
    Danke für das Vertrauen. :>


    Neuer Release

    rpgss-0.9.0.7z

    Code:
    Changes between 0.9.0 and 0.8.1
    -------------------------------
    
      * Optimized screen blending.
      * Added setter for Battler.name.
      * Shortened blend mode constants.
      * Added rpg.get[Item,Skill]Name.
      * Added rpg.get[Item,Skill]Description.
    
    Changes between 0.8.1 and 0.8.0
    -------------------------------
    
      * Image:drawText now uses the 'set' blend mode.
    Screen Blending wurde nun komplett in Assembler geschrieben. Leider lässt sich Screen Blending nicht mit SIMD optimieren, weil die Screen Buffer-Pixel im RGB565-Format sind und damit ungeeignet für SIMD (das Entpacken und Verpacken ist zu teuer). Dennoch ist Screen Blending in RPGSS äußerst schnell und mit der Implementierung in Assembler konnte ich größtenteils Verbesserungen von 50-100% erzielen.

    Kleiner Tipp an dieser Stelle: Wer viele und große Images jeden Frame zeichnet, kann bessere Performance erzielen, indem er die Images zuerst auf ein Image-Buffer und den Buffer dann auf den Screen zeichnet. Image-Blending ist in der Regel SIMD-optimiert und damit viel schneller als Screen-Blending.

  14. #14


    Partikel + Blend Modes = Awesome

  15. #15
    Echt genial! Die Zeichenmethoden von RPGSS sind echt hammer!
    Wird langsam echt mal Zeit für's offizielle DynRPG v0.2 ^^

    Wie sieht's mit der Performance aus, Kyuu?

    PeAcE
    MorDen

  16. #16

Berechtigungen

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