Ergebnis 1 bis 7 von 7

Thema: Movie Abspielen?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    das video darf keinen codec haben.
    und angeblich soll MPG und WMV laufen. hab ich aber noch nicht ausprobiert...

  2. #2
    ich hab meinen Beitrag editiert...

  3. #3
    Naja, es gibt auch kein Screen-Modul in der RGSS. Das Script ist entweder fehlerhaft oder unvollständig (überhaupt ergibt Screen::update für mich keinen Sinn, update ist ja offenbar eine Methode da klein geschrieben. Nur dann müsste es doch afair Screen.update heißen oO).

    Hab mal gegoogelt und eine andere Version des Scripts gefunden, wo an dieser Stelle die Graphics.update aufgerufen wurde. Ich denke das ergibt schon mehr Sinn.

    Code:
    class Scene_Movie
    
     def initialize(movie,length,exit_to_game=true)
       @readini = Win32API.new 'kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'l'
       @movie_name = Dir.getwd()+"\\Movies\\"+movie+".avi"
       @counter = length*10
       @exit_to_game = exit_to_game
       main
     end
     
     def main
       game_name = "\0" * 256
       @readini.call('Game','Title','',game_name,255,".\\Game.ini")
       game_name.delete!("\0")
       Graphics.transition
       @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
       
       @movie.call("play FILE",0,0,0)
       @counter=10*@counter
      loop do
       sleep(0.1)
       @message.call(@temp.to_i,11,0,0)
       Graphics.update if @counter%50==0
       @message.call(@temp.to_i,11,1,0)
       Input.update
       if Input.trigger?(Input::B)
         break
       end
       @counter = @counter - 1
       if @counter <= 0
         break
       end
     end
       @movie.call("close FILE",0,0,0)
       if @exit_to_game
         $scene = Scene_Map.new
       else
         $scene = nil
       end
       Graphics.freeze
       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)','')

Berechtigungen

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