Ergebnis 1 bis 6 von 6

Thema: RPG MAKER XP VIDEOS IM VOLLBILD?

  1. #1

    RPG MAKER XP VIDEOS IM VOLLBILD?

    Hi^^ leute kann mir vieleicht jemand sagn ob man mit dem RPG Maker Xp videos im Vollbild abspielen lassen kann?
    ich hab den script von Sound Spawn und im minimiertembild läuft das video einwandfrei aber im Vollbildmodus wirft mich das spiel raus...kann einer helfer?xD

  2. #2
    Ohne das Script zu sehen kann man da nicht sehr viel helfen. Du müsstest den Code einmal kopieren oder einen Link zur Quelle angeben.

  3. #3
    Einmal das was im Editor rein kommt:
    #Movie Script #Author: Sound Spawn# #Enhanced Animemage#
    ##Copy this into a new section of your game.
    ##To play a file, move the mpg file into a "movies" subdirectory
    ##(yourgame\data, yourgame\graphics, yourgame\movies).
    ##Then call '$scene = Scene_Movie.new("filename")' where filename is your movies actual filename
    ## (minus the .mpg). #exapmple Scene_Movie.new("???")
    ## If you want to play multiple movies in a row
    ##(for example before the game starts, maybe a "developed by", "produced by", "intro movie"
    ## set or something... Go to the "main" section of code and find the line "$scene = Scene_Title.new".
    ##Just after that line add:
    ##CODE
    ##Audio.bgm_play("Movies/" + 'dev_by', 100, 100) #loads movie
    ##Audio.bgm_play("Movies/" + 'pro_b', 100, 100) #loads movie
    ##Audio.bgm_play("Movies/" + 'intro', 100, 100) #loads movie
    ##Audio.bgm_stop
    ##$scene = Scene_Movie.close_scene #closes active movie window
    ##$scene = Scene_Movie.new("dev_by")
    ##$scene = Scene_Movie.new("pro_by")
    ##$scene = Scene_Movie.new("intro")
    ##$scene = Scene_Title.new
    class Scene_Movie
    def initialize(movie)
    @readini = Win32API.new 'kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'l'
    @movie_name = Dir.getwd()+"\\Movies\\"+movie+".wmv"
    main
    end

    def main

    game_name = "\0" * 256
    @readini.call('Game','Title','',game_name,255,".\\Game.ini")
    game_name.delete!("\0")
    @wnd = Win32API.new('user32','FindWindowEx','%w(l,l,p,p)','L')
    @temp = @wnd.call(0,0,nil,game_name).to_s
    movie = Win32API.new('winmm','mciSendString','%w(p,p,l,l)','V')
    movie.call("open \""+@movie_name+"\" alias FILE style 1073741824 parent " + @temp.to_s,0,0,0)
    @message = Win32API.new('user32','SendMessage','%w(l,l,l,l)','V')

    @detector = Win32API.new('user32','GetSystemMetrics','%w(l)','L')
    @width = @detector.call(0)
    if @width == 640
    fullscreen
    Graphics.update
    sleep(1)
    Graphics.update
    sleep(1)
    Graphics.update
    sleep(1)
    end

    status = " " * 255
    movie.call("play FILE",0,0,0)
    loop do
    sleep(0.1)
    @message.call(@temp.to_i,11,0,0) #Remove '#' if using RMXP
    Graphics.update #Remove '#' if using RMXP
    @message.call(@temp.to_i,11,1,0)
    Input.update
    movie.call("status FILE mode",status,255,0)
    true_status = status.unpack("aaaa")
    if true_status.to_s != "play"
    break
    end
    if Input.trigger?(Input:) #can change or add Input:
    Input.update
    break
    end
    end
    movie.call("close FILE",0,0,0)
    bail
    end

    def bail
    if @width == 640
    fullscreen
    end
    end
    end

    def fullscreen()

    $full.call(18,0,0,0)
    $full.call(13,0,0,0)
    $full.call(18,0,2,0)
    $full.call(13,0,2,0)
    end
    $full = Win32API.new('user32','keybd_event','%w(l,l,l,l)','')

    def close_scene
    $keybd = Win32API.new ('user32.dll', 'keybd_event', ['i', 'i', 'l', 'l'], 'v')
    $keybd.call 0xA4, 0, 0, 0
    $keybd.call 0x73, 0, 0, 0
    $keybd.call 0x73, 0, 2, 0
    $keybd.call 0xA4, 0, 2, 0
    end
    #End Movie Script#



    und einmal das im Ereignisfeld:

    Audio.bgm_play("Movies/" + 'wert',
    100, 100)
    Audio.bgm_stop
    $scene = Scene_Movie.close_scene
    $scene = Scene_Movie.new("wert")
    $scene = Scene_Map.new
    return


    Würde auch ein anderen Script nehmen wenn ich es damit im Vollbildschirm modus abspielen kann^^

    Geändert von Planet Zero (23.12.2010 um 19:43 Uhr)

  4. #4
    Hi,

    ich habe ein ähnliches Problem und verwende das gleiche Skript. Zusätzlich möchte ich anmerken, dass das Skript SEHR heikel in Bezug auf Dateiformat und Codec ist. Bislang konnte ich nur ein komplett unkomprimiertes Avi-Format abspielen und das wird bereits bei kleinen Videos RIESIG groß was die Dateigröße betrifft... wenn es wenigstens JPG AVI abspielen könnte, wäre das bereits ein großer Fortschritt.

    Wenn jemand ein vernünftiges, gut funktionierendes Skript (das oben angegebene ist aus genannten Gründen nicht ganz optimal) oder einen anderen Weg kennt, wie man Videos vernünftig in RMXP wiedergeben kann, wäre das grandios und für mein Projekt sehr sehr wichtig!

    Gruß,


    Alan

  5. #5
    ohne es zu testen ^,^
    http://www.youtube.com/watch?v=Vlo2S2i62Uw

    und auf rpg-studio gibt es auch noch ein-zweo Videoskripts.

    Ansonsten könnt ihr eure Videos einfach in den Soundordner kopieren und dann wird das Video beim abspielen des "Soundeffektes" geöffnet, allerdings in ein seperates Fenster.

  6. #6
    Hi,

    ich möchte dieses Thema hier nicht "an mich reißen" aber da ich dasselbe Skript verwende wie oben genannt, denke ich es passt dazu.
    Ich hab folgendes Problem: ich hab mein Video konvertiert und zwar in das Format, das vom Skript-Ersteller als kompatibel bzw. bevorzugt angegeben wird (MPEG-1 mit 640x480, 25FPS, 512kbps bitrate etc.) - das funktioniert im Fenstermodus auch prima. Allerdings kommt NACH dem Ende des Videos (egal ob man es komplett angeschaut oder mit ESC abgebrochen hat) ein zweites, schwarzes Fenster, beschriftet mit "ActiveMovie Window", das man schließen MUSS bevor das eigentliche Spiel weiterlaufen kann.

    Folgende Code-Zeile, ausgeführt nach dem Abspielen des Videos, schließt das ActiveMovie Window:
    Code:
    Scene_Movie.close_scene      #closes active movie window
    ... allerdings hat die Sache noch einen Haken: jedes Mal wenn nachher *irgendein* Soundeffekt abgespielt wird, kommt wieder dieses ActiveMovie Window daher und man MUSS es schließen. Jedes Mal. Gibt's da eine Möglichkeit wie man das unterbinden kann?



    Gruß,



    Alan



    EDIT: Ich muss mich erneut korrigieren. Und zwar erscheint dieses ActiveMovie Window nicht bei jedem Soundeffekt, sondern immer dann, wenn ein Bildschirm-Übergangs-Effekt aufgerufen wird (möglicherweise auch an anderen Punkten, aber das ist die einzige Regelmäßigkeit, die ich bisher erkennen konnte). Trotzdem ist das lästig und es sollte eine Möglichkeit geben, den Win32Api-Kernel nach einmaliger Verwendung wieder zu "schließen" oder?

    Geändert von Alan (27.12.2010 um 22:43 Uhr)

Stichworte

Berechtigungen

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