RPGツクールXPスレッド ver0.02

このエントリーをはてなブックマークに追加
629名無しさん@お腹いっぱい。
そのくらい自分で直せよ

movie = 'movie/movie.avi'
movie_sec = 67
getFWindow = Win32API.new('user32.dll', 'GetForegroundWindow', '', 'i')
setWindowPos  = Win32API.new('user32.dll', 'SetWindowPos', 'lllllll', 'i')
findWindow = Win32API.new('user32.dll', 'FindWindow', 'pp', 'l')
getWindowRect = Win32API.new('user32', 'GetWindowRect', 'lp', 'i')
getMessage = Win32API.new('user32', 'GetMessage', 'plll', 'l')
dispatchMessage = Win32API.new('user32', 'DispatchMessage', 'p', 'l')
closeHandle = Win32API.new('kernel32', 'CloseHandle', 'l', 'l')

hwnd_main = getFWindow.call
rect = [0,0,0,0].pack('i4')
getWindowRect.call(hwnd_main, rect)
rect = rect.unpack('i4')
closeHandle.call(hwnd_main)
Graphics.update

Audio.se_play movie
hwnd_movie = 0
while hwnd_movie == 0
  (hwnd_movie = findWindow.call('VideoRenderer', nil)).to_s(16)
end
setWindowPos.call(hwnd_movie, 0, rect[0], rect[1], rect[2] - rect[0], rect[3] - rect[1], 0)

st = Time.now
while Time.now - st < movie_sec
  begin
    while Time.now - st < movie_sec
      msg = "\n"*100
      getMessage.call(msg, 0, 0, 0)
      dispatchMessage.call(msg)
    end
    nil
  rescue Hangup
  end
end
Audio.se_stop